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