Seasonal overlays
[wolnelektury.git] / src / wolnelektury / static / 2022 / styles / layout / _checkout.scss
1 //Support bar
2 .l-checkout__support {
3     margin-bottom: 22px;
4
5     margin-left: 16px;
6     margin-right: 16px;
7 }
8
9 .l-checkout__support__bar {
10   background: #E6F0F1 url(../images/approval.svg) center right 5px no-repeat;
11   border-radius: 10px;
12   width: 100%; height: 34px;
13   position: relative;
14   flex: 1;
15   span {
16     position: absolute;
17     top: 0; left: 0;
18     height: 100%;
19     background: #92BD39;
20     border-radius: 10px;
21     &:after {
22         white-space: nowrap;
23         color: #083F4D;
24         top: 0; left:10px; bottom: 2px;
25         @include rwd($B5) {
26             color: #FFFFFF;
27             right: 13px;
28             left: auto;
29         }
30       margin: auto;
31       position: absolute;
32       content: attr(data-label);
33       font-weight: bold;
34       font-size: 15px;
35       display: flex;
36       align-items: center;
37       justify-content: center;
38     }
39   }
40 }
41
42 .l-checkout__support__footer {
43   display: flex;
44   margin-top: 7px;
45   justify-content: space-between;
46   align-items: flex-start;
47   gap: 15px;
48   p {
49     margin: 0;
50     font-weight: normal;
51     font-size: 15px;
52     line-height: 150%;
53     color: #083F4D;
54   }
55 }
56
57 //Box
58 .l-checkout__box {
59   background: #E1F1F2;
60   border-radius: 10px;
61   padding-bottom: 30px;
62   overflow: hidden;
63   margin: 0 16px;
64 }
65
66 .l-checkout__box__header {
67     display: flex;
68     flex-direction: column;
69   background: #083F4D;
70
71   @include rwd($break-flow) {
72       flex-direction: row;
73   }
74
75   .l-checkout__box__header__img {
76       display: none;
77       background: black;
78       background-position: center;
79       background-size: cover;
80       @include rwd($break-flow) {
81           display: block;
82           width: 50%;
83       }
84
85       &.l-checkout__box__header__real {
86           display: block;
87           width: auto;
88
89           video {
90               height: 200px;
91               width: 100%;
92               display: block;
93               @include rwd($break-flow) {
94                   height: 360px;
95                   width: auto;
96               }
97           }
98       }
99   }
100 }
101
102 .l-checkout__box__header__content {
103     color: white;
104     padding: 32px 45px;
105
106     h1 {
107         font-style: italic;
108         font-weight: 300;
109         font-size: 48px;
110         line-height: 55px;
111         letter-spacing: -0.02em;
112         color: #92BD39;
113         margin: 0;
114     }
115
116     p {
117         font-weight: normal;
118         font-size: 18px;
119         line-height: 150%;
120         margin-top: 8px;
121
122         &:first-of-type {
123             font-weight: 600;
124             font-size: 21.5px;
125             line-height: 140%;
126             letter-spacing: -0.01em;
127             margin-top: 23px;
128         }
129     }
130 }
131
132
133 //Steps
134 .l-checkout__steps {
135   display: flex;
136   margin-top: -24px;
137   justify-content: space-around;
138
139   @include rwd($break-flow) {
140       padding: 0 125px;
141       justify-content: space-between;
142   }
143
144   div {
145     width: 145px;
146     display: flex;
147     flex-direction: column;
148     align-items: center;
149     justify-content: center;
150
151     span {
152       width: 46px;
153       height: 46px;
154       background: #86AD34;
155       color: white;
156       border-radius: 50%;
157       display: flex;
158       align-items: center;
159       justify-content: center;
160       font-weight: 600;
161       font-size: 21px;
162       line-height: 140%;
163       letter-spacing: -0.01em;
164     }
165
166     p {
167       margin-top: 4px;
168       font-weight: 600;
169       font-size: 21px;
170       line-height: 140%;
171       text-align: center;
172       letter-spacing: -0.01em;
173       color: #083F4D;
174       display: none;
175       @include rwd($break-flow) {
176           display: block;
177       }
178     }
179
180     &.is-completed {
181       span {
182         overflow: hidden;
183         text-indent: -999px;
184         background: #86AD34 url(../images/check.svg) center no-repeat;
185       }
186     }
187
188     &.is-inactive {
189       span {
190         background: #ffffff;
191         color: #003C3C;
192       }
193       p {
194         color: #74BDC2;
195         font-weight: normal;
196       }
197     }
198   }
199 }
200
201 //Switch
202 .l-switch__wrapper {
203   display: flex;
204   align-items: center;
205   justify-content: center;
206   margin-top: 35px;
207   width: 100%;
208 }
209
210 .l-switch {
211   background: #fff;
212   display: block;
213   position: relative;
214   height: 26px;
215   width: 77px;
216   border-radius: 4px;
217 }
218
219 .l-switch label {
220   color: #74BDC2;
221   font-weight: 600;
222   font-size: 18.5px;
223   line-height: 26px;
224   transition: color .2s ease;
225   width: 122px;
226   cursor: pointer;
227
228   @include rwd($break-flow) {
229       font-size: 21.5px;
230   }
231 }
232
233 .l-switch label:nth-of-type(1) {
234   left: -175%;
235   position: absolute;
236   text-align: right;
237 }
238
239 .l-switch label:nth-of-type(2) {
240   position: absolute;
241   right: -175%;
242   text-align: left;
243 }
244
245 .l-switch input {
246   left: 0;
247   opacity: 0;
248   position: absolute;
249   top: 0;
250   height: 26px;
251   width: 77px;
252   z-index: 2;
253 }
254
255 .toggle-input-left:checked ~ .l-switch__wrapper {
256     .toggle-for-left {
257         color: #003C3C;
258     }
259     .toggle {
260         left: 5px;
261     }
262 }
263 .toggle-input-right:checked ~ .l-switch__wrapper {
264     .toggle-for-right {
265         color: #003C3C;
266     }
267     .toggle {
268         left: 39px;
269     }
270 }
271 .l-switch input:checked~label:nth-of-type(1) { color: #003C3C; }
272 .l-switch input~:checked~label:nth-of-type(2) { color: #003C3C; }
273
274 .l-switch input:checked~.toggle {
275   left: 5px;
276 }
277
278 .l-switch input~:checked~.toggle {
279   left: 39px;
280 }
281
282 .l-switch input:checked {
283   z-index: 0;
284 }
285
286 .toggle {
287   background: #003C3C;
288   left: 0;
289   position: absolute;
290   top: 5px;
291   transition: left .2s ease;
292   height: 16px;
293   width: 33px;
294   z-index: 1;
295   border-radius: 2px;
296   cursor: pointer;
297 }
298
299 //Payments
300 .l-checkout__payments {
301     display: none;
302     padding: 0 16px;
303   margin-top: 34px;
304   margin-bottom: 0;
305   flex-wrap: wrap;
306   justify-content: flex-start;
307   flex-direction: row;
308   column-gap: 16px;
309
310   @include rwd($break-flow) {
311       //flex-direction: row;
312       padding: 0 30px;
313       column-gap: 30px;
314   }
315 }
316
317 .l-checkout__payments__box {
318   display: flex;
319   flex-direction: column;
320   background: #FFFFFF;
321   border-radius: 10px;
322   overflow: hidden;
323   transition: box-shadow $ease-out 250ms;
324   box-shadow: 0px 0px 0px rgba(55, 170, 156, 0);
325   margin-bottom: 30px;
326   width: 100%;
327
328   @include rwd($break-flow) {
329       width: calc(33.333% - 20px);
330   }
331   h3 {
332     margin: 0;
333     font-weight: bold;
334     font-size: 44px;
335     line-height: 130%;
336     letter-spacing: -0.01em;
337     color: #083F4D;
338     height: 90px;
339     display: flex;
340     align-items: center;
341     justify-content: center;
342     transition: all $ease-out 250ms;
343
344     span {
345       font-weight: 600;
346       font-size: 25px;
347       line-height: 140%;
348       letter-spacing: -0.01em;
349       color: #92BD39;
350       margin-left: 10px;
351       transition: opacity $ease-out 250ms;
352     }
353   }
354   .l-checkout__payments__box__btn-wrp {
355       padding: 20px;
356     margin-bottom: 0;
357     margin-top: auto;
358   }
359   p {
360     margin-top: 0;
361     font-weight: normal;
362     font-size: 16px;
363     line-height: 150%;
364     color: #474747;
365     padding: 20px;
366     strong {
367       font-weight: 600;
368     }
369   }
370   button {
371       margin: 0;
372       font-family: "Source Sans Pro",sans-serif;
373     font-weight: bold;
374     font-size: 44px;
375     letter-spacing: -0.01em;
376     min-height: 90px;
377     display: flex;
378     align-items: center;
379     justify-content: center;
380     transition: all $ease-out 250ms;
381
382     background: #FFFFFF;
383     border: 1px solid #92BD39;
384     border-radius: 3px;
385     width: 100%;
386     outline: 0;
387     cursor: pointer;
388     text-align: center;
389     color: #083F4D;
390
391     flex-direction: column;
392     @include rwd($break-flow) {
393         flex-direction: row;
394         line-height: 130%;
395     }
396
397     span {
398       font-weight: 600;
399       font-size: 25px;
400       letter-spacing: -0.01em;
401       color: #92BD39;
402       margin-left: 10px;
403       transition: opacity $ease-out 250ms;
404     }
405     
406     &:hover {
407       background: rgba(#92BD39, 0.75);
408     }
409   }
410   img {
411       display: none;
412       @include rwd($break-flow) {
413           display: block;
414       }
415   }
416
417   &.is-active {
418       box-shadow: 0px 0px 20px rgba(55, 170, 156, 0.35);
419       background: white;
420       color: black;
421
422     h3 {
423       color: white;
424       background: #083F4D;
425     }
426
427     button {
428       background: #92BD39;
429       &:hover {
430         background: #83AD2B;
431       }
432       span {
433           color: white;
434       }
435     }
436   }
437
438   &.l-checkout__payments__box--half {
439       width: calc(50% - 8px);
440       @include rwd($break-flow) {
441           width: calc(33.333% - 20px);
442       }
443
444       &.is-active {
445           background: #083F4D;
446           color: white;
447
448           @include rwd($break-flow) {
449               background: white;
450               color: black;
451           }
452       }
453   }
454   &.l-checkout__payments__box--bar {
455       flex-direction: row;
456       
457       @include rwd($break-flow) {
458           flex-direction: column;
459       }
460
461       &.is-active {
462           background: #083F4D;
463           color: white;
464
465           @include rwd($break-flow) {
466               background: white;
467               color: black;
468           }
469       }
470
471       h3, .l-checkout__payments__box__btn-wrp {
472           flex-grow: 1;
473       }
474   }
475   &.l-checkout__payments__box--card {
476   }
477   
478   &.l-checkout__payments__box--xl {
479       width: 100%;
480       justify-content: center;
481       min-height: 160px;
482
483       @include rwd($break-flow) {
484           width: calc(67.4% - 20px);
485           padding-left: calc(33.7% - 10px);
486           position: relative;
487
488           h3 {
489               position: absolute;
490               left: 0;
491               top: 0;
492               padding-right: 50%;
493           }
494           
495           .l-checkout__payments__box__btn-wrp {
496               margin: 0;
497
498               p {
499                   flex-wrap: wrap;
500                   max-width: 340px;
501                   margin-right: 20px;
502               }
503
504               button {
505                   position: absolute;
506                   bottom: 20px;
507                   left: 20px;
508                   width: calc(50% - 50px);
509                   align-items: center;
510                   justify-content: center;
511               }
512           }
513       }
514
515     h3 {
516       width: 100%;
517     }
518
519     .l-checkout__payments__box__btn-wrp {
520       width: 100%;
521     }
522
523     &.once {
524       h3 {
525         text-indent: 0;
526         padding-left: 0;
527       }
528     }
529   }
530   &.l-checkout__payments__box--special {
531     button {
532       border-color: #FFA500;
533       background-color: #FFA500;
534       &:hover {
535         background: darken(#FFA500, 5%);
536       }
537     }
538   }
539 }
540
541 //Amount
542 .l-checkout__amount {
543   display: flex;
544   flex-direction: column;
545   padding: 0 16px;
546   row-gap: 16px;
547
548   @include rwd($break-flow) {
549       flex-direction: row;
550       align-items: flex-end;
551       justify-content: flex-end;
552       padding-right: 30px;
553   }
554   
555   button {
556       border: none;
557     height: 56px;
558     background: #083F4D;
559     border-radius: 3px;
560     font-weight: 600;
561     font-size: 20px;
562     line-height: 25px;
563     display: flex;
564     align-items: center;
565     justify-content: center;
566     text-align: center;
567     color: #FFFFFF;
568
569     @include rwd($break-flow) {
570         margin-left: 32px;
571         width: 340px;
572     }
573
574   }
575
576   .l-checkout__input {
577       @include rwd($break-flow) {
578           width: 340px;
579       }
580   }
581 }
582
583
584
585 //Input
586 .l-checkout__input {
587   display: flex;
588   flex-direction: column;
589
590   label {
591     font-style: normal;
592     font-weight: 600;
593     font-size: 15px;
594     line-height: 160%;
595     color: #083F4D;
596     span { color: #FF4C54; }
597   }
598   input, select, textarea {
599       width: 100%;
600     height: 56px;
601     background: #FFFFFF;
602     border: 1px solid #D5ECED;
603     border-radius: 3px;
604     transition: all $ease-out 250ms;
605     padding: 10px;
606     outline: 0;
607
608     &:focus {
609       border: 1px solid #007880;
610     }
611   }
612
613   button {
614     height: 40px;
615     background: #083F4D;
616     border: none;
617     border-radius: 3px;
618     font-weight: 600;
619     font-size: 16px;
620     line-height: 25px;
621     display: flex;
622     align-items: center;
623     justify-content: center;
624     text-align: center;
625     color: #FFFFFF;
626
627     @include rwd($break-flow) {
628         height: 56px;
629         font-size: 20px;
630         width: 340px;
631         margin-left: 32px;
632     }
633   }
634 }
635
636 //Cols
637 .l-checkout__cols {
638   display: flex;
639   flex-direction: column;
640   margin-top: 50px;
641   padding: 0 16px;
642
643   @include rwd($break-flow) {
644       padding: 0 30px;
645       flex-direction: row;
646   }
647   
648   &.bt-w {
649     margin-top: 30px;
650     padding-top: 20px;
651     border-top: 1px solid white;
652   }
653 }
654
655 .l-checkout__col {
656   @include rwd($break-flow) {
657   &:nth-child(1) {
658     width: 402px;
659     padding-right: 62px;
660     .l-checkout__payments__box {
661       width: 100%;
662     }
663   }
664   &:nth-child(2) {
665     width: calc(100% - 402px);
666   }
667   &.full {
668     width: 100%;
669     padding-right: 0;
670
671     .l-checkout__form__row.full {
672       flex-direction: row;
673
674       & > h3 {
675         margin-top: 22px;
676       }
677
678       .l-checkout__info {
679         width: 100%;
680         padding-left: 100px;
681       }
682     }
683   }
684   }
685 }
686
687 .l-checkout__secure {
688     margin-top: 30px;
689     margin-right: 30px;
690     text-align: right;
691     font-size: 15px;
692     color: #888;
693
694     .l-checkout__secure__padlock {
695         margin-right: 5px;
696         vertical-align: baseline;
697     }
698     
699     .l-checkout__secure__img {
700         margin-left: 10px;
701         vertical-align: bottom;
702     }
703 }
704
705
706 //Form
707 .l-checkout__form {
708   display: flex;
709   width: 100%;
710   flex-direction: column;
711 }
712
713 .l-checkout__form__row {
714     display: flex;
715     flex-direction: column;
716     gap: 20px;
717   margin-bottom: 24px;
718
719   @include rwd($break-flow) {
720       flex-direction: row;
721   }
722   
723   &.full {
724     flex-direction: column;
725     @include rwd($break-flow) {
726         flex-direction: column;
727     }
728   }
729
730   h3 {
731     margin-top: 0;
732     font-weight: 600;
733     font-size: 21.5px;
734     line-height: 140%;
735     letter-spacing: -0.01em;
736     color: #083F4D;
737   }
738
739   .iframe {
740     margin-top: 16px;
741   }
742
743   .l-checkout__input {
744     width: 100%;
745   }
746
747   & > a {
748     font-weight: 600;
749     font-size: 20px;
750     line-height: 25px;
751     color: #74BDC2;
752     transition: all $ease-out 250ms;
753
754     &:hover {
755       color: #007880;
756     }
757   }
758
759   &.confirm {
760       display: flex;
761       flex-direction: row;
762     align-items: center;
763     justify-content: stretch;
764     width: 100%;
765     gap: 50px;
766
767     @include rwd($break-flow) {
768         justify-content: space-between;
769     }
770     
771     .l-checkout__input {
772         flex-grow: 1;
773         @include rwd($break-flow) {
774             width: auto;
775             flex-grow: 0;
776         }
777     }
778   }
779   .errorlist {
780       padding: 0;
781       margin: 0;
782       list-style: none;
783       color: #FF4C54;
784       li:before {
785           content: 'âš  ';
786       }
787   }
788 }
789
790 //Info
791 .l-checkout__info__item {
792   position: relative;
793   display: flex;
794   align-items: center;
795   justify-content: space-between;
796   transition: all $ease-out 250ms;
797   width: 100%;
798   overflow: hidden;
799   margin-top: 15px;
800
801   &:hover {
802     background-color: darken(#E1F1F2, 2%);
803   }
804
805   div {
806     font-weight: normal;
807     font-size: 15px;
808     line-height: 150%;
809     color: #083F4D;
810     width: 100px;
811   }
812
813   h3 {
814     width: 426px;
815     font-weight: 500;
816     font-size: 18px;
817     line-height: 150%;
818     color: #083F4D;
819     padding-left: 30px;
820   }
821
822   button {
823     outline: 0;
824     background: transparent;
825     border: 0;
826     cursor: pointer;
827     display: flex;
828     align-items: center;
829     justify-content: center;
830     margin-right: 0;
831     margin-left: auto;
832     &:hover {
833       opacity: 0.75;
834     }
835   }
836   input {
837     top: 0;
838     left: 0;
839     position: absolute;
840     transform: translate(-100%,-100%);
841   }
842 }
843
844 //Completed
845 .l-checkout__completed {
846   display: flex;
847   align-items: center;
848   justify-content: center;
849   flex-direction: column;
850   margin: auto;
851   padding: 140px 0;
852   background: url(../images/checkout-bg.png) no-repeat center;
853
854   .l-checkout__completed__wrapper {
855     max-width: 580px;
856     display: flex;
857     align-items: center;
858     justify-content: center;
859     flex-direction: column;
860   }
861
862   h1 {
863     margin-top: 0;
864     font-style: italic;
865     font-weight: 300;
866     font-size: 58px;
867     line-height: 55px;
868     letter-spacing: -0.02em;
869     color: #083F4D;
870   }
871   p {
872     margin-top: 30px;
873     font-weight: normal;
874     font-size: 21.5px;
875     line-height: 140%;
876     text-align: center;
877     letter-spacing: -0.01em;
878     color: #007880;
879   }
880   a {
881     margin-top: 50px;
882     font-weight: 600;
883     font-size: 20px;
884     line-height: 25px;
885     display: flex;
886     align-items: center;
887     justify-content: center;
888     background: #083F4D;
889     border-radius: 3px;
890     height: 56px;
891     text-align: center;
892     color: #FFFFFF;
893     width: 340px;
894   }
895 }
896
897 //Footer
898 .l-checkout__footer {
899   display: flex;
900   flex-wrap: wrap;
901   margin-top: 12px;
902   margin-bottom: 52px;
903   margin-left: 16px;
904   margin-right: 16px;
905 }
906
907 .l-checkout__footer > img {
908   margin-right: 0;
909   margin-left: auto;
910 }
911
912 .l-checkout__footer__content {
913   display: flex;
914   flex-direction: column;
915 }
916
917 .l-checkout__footer__content__item {
918   display: flex;
919   flex-direction: column;
920
921   @include rwd($break-flow) {
922       flex-direction: row;
923   }
924   
925   &:not(:last-child) {
926     padding-bottom: 30px;
927     margin-bottom: 30px;
928     border-bottom: 1px solid #E1F1F2;
929   }
930 }
931
932 .l-checkout__footer__content h3 {
933   @include rwd($break-flow) {
934   font-weight: 600;
935   font-size: 21.5px;
936   line-height: 140%;
937   letter-spacing: -0.01em;
938   color: #083F4D;
939   width: 318px;
940   }
941 }
942
943 .l-checkout__footer__content__item > div {
944   @include rwd($break-flow) {
945   width: 100%;
946   padding-left: 120px;
947   }
948 }
949
950 .l-checkout__footer__content__item > div p {
951   font-weight: normal;
952   font-size: 15px;
953   line-height: 150%;
954   color: #808080;
955 }
956
957 .l-checkout__footer__content__item > div p a {
958   color: #007880;
959   &:hover {
960     text-decoration: underline;
961   }
962 }
963
964 .l-checkout__footer__content {
965   .l-article__read-more {
966     margin-top: 20px;
967     font-size: 15px;
968     &:after {
969       margin-left: 5px;
970       display: inline-block;
971       transform: rotate(180deg);
972       content: $icon-arrow-up;
973       font-family: '#{$icomoon-font-family}' !important;
974       font-size: 12px;
975       speak: never;
976       font-style: normal;
977       font-weight: normal;
978       font-variant: normal;
979       text-transform: none;
980       line-height: 1;
981
982       /* Better Font Rendering =========== */
983       -webkit-font-smoothing: antialiased;
984       -moz-osx-font-smoothing: grayscale;
985     }
986   }
987
988   .l-article__overlay {
989     &:after {
990       display: none;
991     }
992     &.is-clicked {
993       & + .l-article__read-more {
994         &:after {
995           transform: none;
996         }
997       }
998     }
999   }
1000 }
1001
1002
1003
1004
1005
1006 .toggle-input{
1007     &#switch-once:checked {
1008         ~.l-switch__wrapper {
1009             label {
1010                 &:nth-of-type(1) { color: #003C3C; }
1011                 &:nth-of-type(2) { color: #74BDC2; }
1012             }
1013             .toggle {
1014                 left: 5px;
1015             }
1016         }
1017         ~.payments-once {
1018             display: flex;
1019
1020             &.wide-spot-1 ~.l-checkout__amount {
1021                 @include rwd($break-flow) {
1022                     margin-top: -110px;
1023
1024                     > div, > button {
1025                         width: calc(33.333% - 20px);
1026                     }
1027                 }
1028             }
1029             &.wide-spot-2 ~.l-checkout__amount {
1030                 @include rwd($break-flow) {
1031                     flex-direction: column;
1032                     margin-top: -182px;
1033
1034                     > div, > button {
1035                         width: calc(33.333% - 20px);
1036                     }
1037                 }
1038             }
1039         }
1040     }
1041     &#switch-monthly:checked {
1042         ~.l-switch__wrapper {
1043             label {
1044                 &:nth-of-type(1) { color: #74BDC2; }
1045                 &:nth-of-type(2) { color: #003C3C; }
1046             }
1047             .toggle {
1048                 left: 39px;
1049             }
1050         }
1051         ~.payments-recurring {
1052             display: flex;
1053
1054             &.wide-spot-1 ~.l-checkout__amount {
1055                 @include rwd($break-flow) {
1056                     margin-top: -110px;
1057
1058                     > div, > button {
1059                         width: calc(33.333% - 20px);
1060                         margin-left: 24px;
1061                     }
1062                 }
1063             }
1064             &.wide-spot-2 ~.l-checkout__amount {
1065                 @include rwd($break-flow) {
1066                     flex-direction: column;
1067                     margin-top: -182px;
1068
1069                     > div, > button {
1070                         width: calc(33.333% - 20px);
1071                     }
1072                 }
1073             }
1074         }
1075     }
1076 }
1077
1078
1079 .if-monthly { display: none; }
1080 .is-monthly {
1081     .if-monthly {
1082         display: block;
1083     }
1084     .if-not-monthly {
1085         display: none;
1086     }
1087 }
1088
1089
1090 .checkout-infobar {
1091     margin: 0 0 20px;
1092     padding: 20px;
1093     border-radius: 10px;
1094     border: 1px solid #edc016;
1095     background: #edc016;
1096 }
1097
1098
1099 .donation-more {
1100     margin-bottom:40px;
1101 }