Dynamic tx power feature (#724)
[ExpressLRS.git] / src / html / main.css
blobce138e3aa56b2b708b95cb09c739bf99e5b2e9e4
1 /*
2 Photon by HTML5 UP
3 html5up.net | @ajlkn
4 Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
5 */
7 /* Reset */
9 html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
10 margin: 0;
11 padding: 0;
12 border: 0;
13 font-size: 100%;
14 font: inherit;
15 vertical-align: baseline;
18 article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
19 display: block;
22 body {
23 line-height: 1;
26 ol, ul {
27 list-style: none;
30 blockquote, q {
31 quotes: none;
34 blockquote:before, blockquote:after, q:before, q:after {
35 content: '';
36 content: none;
39 table {
40 border-collapse: collapse;
41 border-spacing: 0;
44 body {
45 -webkit-text-size-adjust: none;
48 progress[value] {
49 -webkit-appearance: none;
50 appearance: none;
52 width: 250px;
53 height: 20px;
56 progress[value]::-webkit-progress-bar {
57 background-color: #eee;
58 border-radius: 2px;
59 box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25) inset;
62 progress[value]::-webkit-progress-value {
63 background-image:
64 -webkit-linear-gradient(top,
65 rgba(255, 255, 255, .25),
66 rgba(0, 0, 0, .25)),
67 -webkit-linear-gradient(45deg, #9dc66b 5%, #4fa49a 30%, #4361c2);
69 border-radius: 2px;
70 background-size: 35px 20px, 100% 100%, 100% 100%;
73 /* Box Model */
75 *, *:before, *:after {
76 -moz-box-sizing: border-box;
77 -webkit-box-sizing: border-box;
78 box-sizing: border-box;
81 /* Containers */
83 .container {
84 margin-left: auto;
85 margin-right: auto;
88 .container.\31 25\25 {
89 width: 100%;
90 max-width: 75em;
91 min-width: 60em;
94 .container.\37 5\25 {
95 width: 45em;
98 .container.\35 0\25 {
99 width: 30em;
102 .container.\32 5\25 {
103 width: 15em;
106 .container {
107 width: 60em;
110 @media screen and (max-width: 1680px) {
112 .container.\31 25\25 {
113 width: 100%;
114 max-width: 75em;
115 min-width: 60em;
118 .container.\37 5\25 {
119 width: 45em;
122 .container.\35 0\25 {
123 width: 30em;
126 .container.\32 5\25 {
127 width: 15em;
130 .container {
131 width: 60em;
136 @media screen and (max-width: 1140px) {
138 .container.\31 25\25 {
139 width: 100%;
140 max-width: 112.5%;
141 min-width: 90%;
144 .container.\37 5\25 {
145 width: 67.5%;
148 .container.\35 0\25 {
149 width: 45%;
152 .container.\32 5\25 {
153 width: 22.5%;
156 .container {
157 width: 90%;
162 @media screen and (max-width: 980px) {
164 .container.\31 25\25 {
165 width: 100%;
166 max-width: 125%;
167 min-width: 100%;
170 .container.\37 5\25 {
171 width: 75%;
174 .container.\35 0\25 {
175 width: 50%;
178 .container.\32 5\25 {
179 width: 25%;
182 .container {
183 width: 100% !important;
188 @media screen and (max-width: 736px) {
190 .container.\31 25\25 {
191 width: 100%;
192 max-width: 125%;
193 min-width: 100%;
196 .container.\37 5\25 {
197 width: 75%;
200 .container.\35 0\25 {
201 width: 50%;
204 .container.\32 5\25 {
205 width: 25%;
208 .container {
209 width: 100% !important;
214 @media screen and (max-width: 480px) {
216 .container.\31 25\25 {
217 width: 100%;
218 max-width: 125%;
219 min-width: 100%;
222 .container.\37 5\25 {
223 width: 75%;
226 .container.\35 0\25 {
227 width: 50%;
230 .container.\32 5\25 {
231 width: 25%;
234 .container {
235 width: 100% !important;
240 @media screen and (max-width: 320px) {
242 .container.\31 25\25 {
243 width: 100%;
244 max-width: 125%;
245 min-width: 100%;
248 .container.\37 5\25 {
249 width: 75%;
252 .container.\35 0\25 {
253 width: 50%;
256 .container.\32 5\25 {
257 width: 25%;
260 .container {
261 width: 100% !important;
265 /*Tables */
267 th {
268 text-align: left;
272 /* Basic */
274 body {
275 background: #fff;
278 body.is-loading *, body.is-loading *:before, body.is-loading *:after {
279 -moz-animation: none !important;
280 -webkit-animation: none !important;
281 -ms-animation: none !important;
282 animation: none !important;
283 -moz-transition: none !important;
284 -webkit-transition: none !important;
285 -ms-transition: none !important;
286 transition: none !important;
289 body, input, select, textarea {
290 color: #666;
291 font-family: "Source Sans Pro", Helvetica, sans-serif;
292 font-size: 16pt;
293 font-weight: 300;
294 line-height: 1.65em;
298 -moz-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
299 -webkit-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
300 -ms-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
301 transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
302 border-bottom: dotted 1px #666;
303 color: inherit;
304 text-decoration: none;
307 a:hover {
308 border-bottom-color: transparent !important;
309 color: #6bd4c8;
312 strong, b {
313 color: #555;
314 font-weight: 400;
317 em, i {
318 font-style: italic;
322 margin: 0 0 2em 0;
325 h1, h2, h3, h4, h5, h6 {
326 color: #555;
327 line-height: 1em;
328 margin: 0 0 1em 0;
331 h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
332 color: inherit;
333 text-decoration: none;
336 h1 {
337 font-size: 2.25em;
338 line-height: 1.35em;
341 h2 {
342 font-size: 2em;
343 line-height: 1.35em;
346 h3 {
347 font-size: 1.35em;
348 line-height: 1.5em;
351 h4 {
352 font-size: 1.25em;
353 line-height: 1.5em;
356 h5 {
357 font-size: 0.9em;
358 line-height: 1.5em;
361 h6 {
362 font-size: 0.7em;
363 line-height: 1.5em;
366 sub {
367 font-size: 0.8em;
368 position: relative;
369 top: 0.5em;
372 sup {
373 font-size: 0.8em;
374 position: relative;
375 top: -0.5em;
378 hr {
379 border: 0;
380 border-bottom: solid 1px rgba(144, 144, 144, 0.5);
381 margin: 2em 0;
384 hr.major {
385 margin: 3em 0;
388 blockquote {
389 border-left: solid 4px rgba(144, 144, 144, 0.5);
390 font-style: italic;
391 margin: 0 0 2em 0;
392 padding: 0.5em 0 0.5em 2em;
395 code {
396 background: rgba(144, 144, 144, 0.075);
397 border-radius: 4px;
398 border: solid 1px rgba(144, 144, 144, 0.5);
399 font-family: "Courier New", monospace;
400 font-size: 0.9em;
401 margin: 0 0.25em;
402 padding: 0.25em 0.65em;
405 pre {
406 -webkit-overflow-scrolling: touch;
407 font-family: "Courier New", monospace;
408 font-size: 0.9em;
409 margin: 0 0 2em 0;
412 pre code {
413 display: block;
414 line-height: 1.75em;
415 padding: 1em 1.5em;
416 overflow-x: auto;
419 .align-left {
420 text-align: left;
423 .align-center {
424 text-align: center;
427 .align-right {
428 text-align: right;
432 /* Header */
434 #header {
435 padding: 9em 0 9em 0 ;
436 background-color: #4686a0;
437 color: rgba(255, 255, 255, 0.75);
438 background-attachment: fixed, fixed, fixed;
439 background-image: linear-gradient(45deg, #9dc66b 5%, #4fa49a 30%, #4361c2);
440 background-position: top left, center center, center center;
441 background-size: auto, cover, cover;
442 overflow: hidden;
443 position: relative;
444 text-align: center;
447 #header h1, #header h2, #header h3, #header h4, #header h5, #header h6, #header strong, #header b {
448 color: #ffffff;
451 /* XLarge */
453 @media screen and (max-width: 1680px) {
455 /* Basic */
457 body, input, select, textarea {
458 font-size: 14pt;
461 /* Header */
463 #header {
464 padding: 6em 0 6em 0 ;
469 /* Large */
471 @media screen and (max-width: 1140px) {
473 /* Basic */
475 body, input, select, textarea {
476 font-size: 13pt;
479 h1 br, h2 br, h3 br, h4 br, h5 br, h6 br {
480 display: none;
483 /* List */
485 ul.major-icons li {
486 padding: 2em;
489 ul.major-icons li .icon {
490 height: 8em;
491 line-height: 8em;
492 width: 8em;
495 /* Main */
497 .main {
498 padding: 4em 0 2em 0 ;
501 .main.style2 {
502 background-attachment: scroll;
505 /* Header */
507 #header {
508 padding: 5em 0 5em 0 ;
509 background-attachment: scroll;
512 #header br {
513 display: inline;
516 /* Footer */
518 #footer {
519 padding: 4em 0 4em 0 ;
520 background-attachment: scroll;
525 /* Medium */
527 @media screen and (max-width: 980px) {
529 /* List */
531 ul.major-icons li {
532 padding: 2em;
535 ul.major-icons li .icon {
536 height: 7em;
537 line-height: 7em;
538 width: 7em;
541 /* Main */
543 .main {
544 padding: 5em 3em 3em 3em ;
547 /* Header */
549 #header {
550 padding: 8em 3em 8em 3em ;
553 /* Footer */
555 #footer {
556 padding: 5em 3em 5em 3em ;
559 /* One */
561 #one {
562 text-align: center;
565 /* Two */
567 #two {
568 text-align: center;
573 /* Small */
575 @media screen and (max-width: 736px) {
577 /* Basic */
579 body, input, select, textarea {
580 font-size: 12pt;
583 h1 {
584 font-size: 1.75em;
587 h2 {
588 font-size: 1.5em;
591 h3 {
592 font-size: 1.1em;
595 h4 {
596 font-size: 1em;
599 /* List */
601 ul.major-icons li {
602 padding: 1.5em;
605 ul.major-icons li .icon {
606 height: 5em;
607 line-height: 5em;
608 width: 5em;
611 ul.major-icons li .icon:before {
612 font-size: 42px;
615 /* Icon */
617 .icon.major {
618 margin: 0 0 1em 0;
621 /* Main */
623 .main {
624 padding: 3em 1.5em 1em 1.5em ;
627 /* Header */
629 #header {
630 padding: 4em 3em 4em 3em ;
633 #header .actions {
634 margin: 2em 0 0 0;
637 /* Footer */
639 #footer {
640 padding: 3em 1.5em 3em 1.5em ;
645 /* XSmall */
647 @media screen and (max-width: 480px) {
649 /* List */
651 ul.actions {
652 margin: 0 0 2em 0;
655 ul.actions li {
656 display: block;
657 padding: 1em 0 0 0;
658 text-align: center;
659 width: 100%;
662 ul.actions li:first-child {
663 padding-top: 0;
666 ul.actions li > * {
667 margin: 0 !important;
668 width: 100%;
671 ul.actions li > *.icon:before {
672 margin-left: -2em;
675 ul.actions.small li {
676 padding: 0.5em 0 0 0;
679 ul.actions.small li:first-child {
680 padding-top: 0;
683 /* Main */
685 .main {
686 padding: 2em 1.5em 0.1em 1.5em ;
689 /* Header */
691 #header {
692 padding: 4em 2em 4em 2em ;
695 #header br {
696 display: none;
699 /* Footer */
701 #footer {
702 padding: 2em 1.5em 2em 1.5em ;
705 #footer .copyright {
706 margin: 1.5em 0 0 0;
709 #footer .copyright li {
710 border: 0;
711 display: block;
712 margin: 1em 0 0 0;
713 padding: 0;
716 #footer .copyright li:first-child {
717 margin-top: 0;
722 /* XXSmall */
724 @media screen and (max-width: 320px) {
726 /* Basic */
728 html, body {
729 min-width: 320px;
732 /* Main */
734 .main {
735 padding: 2em 1em 0.1em 1em ;
738 /* Header */
740 #header {
741 padding: 3em 1em 3em 1em ;
744 /* Footer */
746 #footer {
747 padding: 2em 1em 2em 1em ;
753 .autocomplete {
754 position: relative;
755 display: inline-block;
758 .autocomplete-items {
759 position: absolute;
760 border: 1px solid #d4d4d4;
761 border-bottom: none;
762 border-top: none;
763 z-index: 99;
764 /*position the autocomplete items to be the same width as the container:*/
765 top: 100%;
766 left: 0;
767 right: 0;
770 .autocomplete-items div {
771 padding: 10px;
772 cursor: pointer;
773 background-color: #fff;
774 border-bottom: 1px solid #d4d4d4;
777 /*when hovering an item:*/
778 .autocomplete-items div:hover {
779 background-color: #e9e9e9;
782 /*when navigating through the items using the arrow keys:*/
783 .autocomplete-active {
784 background-color: DodgerBlue !important;
785 color: #ffffff;
788 .loader {
789 margin: 4px;
790 border: 8px solid #f3f3f3;
791 border-radius: 50%;
792 border-top: 8px solid #3498db;
793 width: 32px;
794 height: 32px;
795 -webkit-animation: spin 2s linear infinite; /* Safari */
796 animation: spin 2s linear infinite;
799 /* Safari */
800 @-webkit-keyframes spin {
801 0% { -webkit-transform: rotate(0deg); }
802 100% { -webkit-transform: rotate(360deg); }
805 @keyframes spin {
806 0% { transform: rotate(0deg); }
807 100% { transform: rotate(360deg); }
810 /* Alert box design by Igor Ferrão de Souza: https://www.linkedin.com/in/igor-ferr%C3%A3o-de-souza-4122407b/ */
812 .alert-wrapper {
813 display: flex;
814 width: 100%;
815 height: 100%;
816 align-items: center;
817 justify-content: center;
818 margin: 0px auto;
819 padding: 0px auto;
820 left: 0;
821 top: 0;
822 overflow: hidden;
823 position: fixed;
824 background: rgb(0, 0, 0, 0.3);
825 z-index: 999999;
828 @keyframes open-frame {
829 0% {
830 transform: scale(1);
832 25% {
833 transform: scale(0.95);
835 50% {
836 transform: scale(0.97);
838 75% {
839 transform: scale(0.93);
841 100% {
842 transform: scale(1);
846 .alert-frame {
847 background: #fff;
848 min-height: 400px;
849 width: 300px;
850 box-shadow: 5px 5px 10px rgb(0, 0, 0, 0.2);
851 border-radius: 10px;
852 animation: open-frame 0.3s linear;
855 .alert-header {
856 display: flex;
857 flex-direction: row;
858 height: 175px;
859 border-top-left-radius: 5px;
860 border-top-right-radius: 5px;
863 .alert-img {
864 height: 80px;
865 position: absolute;
866 left: 0;
867 right: 0;
868 margin-left: auto;
869 margin-right: auto;
870 align-self: center;
873 .alert-close {
874 width: 30px;
875 height: 30px;
876 color: rgb(0, 0, 0, 0.2);
877 display: flex;
878 align-items: center;
879 justify-content: center;
880 font-family: "Dosis", sans-serif;
881 font-weight: 700;
882 font-size: 16px;
883 cursor: pointer;
884 line-height: 30px;
885 transition: color 0.5s;
886 margin-left: auto;
887 margin-right: 5px;
888 margin-top: 5px;
891 .alert-close-circle {
892 width: 30px;
893 height: 30px;
894 background: #e4eae7;
895 color: #222;
896 display: flex;
897 align-items: center;
898 justify-content: center;
899 border-radius: 17.5px;
900 margin-top: -15px;
901 margin-right: -15px;
902 font-family: "Dosis", sans-serif;
903 font-weight: 700;
904 font-size: 12px;
905 cursor: pointer;
906 line-height: 30px;
907 transition: background 0.5s;
908 margin-left: auto;
911 .alert-close-circle:hover {
912 background: #fff;
915 .alert-close:hover {
916 color: rgb(0, 0, 0, 0.5);
919 .alert-body {
920 padding: 30px 30px;
921 display: flex;
922 flex-direction: column;
923 text-align: center;
926 .alert-title {
927 font-size: 18px !important;
928 font-family: "Source Sans Pro", Helvetica, sans-serif;
929 font-weight: 700;
930 font-size: 15px;
931 margin-bottom: 35px;
932 color: #222;
933 align-self: center;
936 .alert-message {
937 font-size: 15px !important;
938 color: #666;
939 font-family: "Source Sans Pro", Helvetica, sans-serif;
940 font-weight: 400;
941 font-size: 15px;
942 text-align: center;
943 margin-bottom: 35px;
944 line-height: 1.6;
945 align-self: center;
948 .alert-button {
949 min-width: 140px;
950 height: 35px;
951 border-radius: 20px;
952 font-family: "Source Sans Pro", Helvetica, sans-serif;
953 font-weight: 400;
954 font-size: 15px;
955 color: white;
956 border: none;
957 cursor: pointer;
958 transition: background 0.5s;
959 padding: 0 15px;
960 align-self: center;
961 display: inline-flex;
962 align-items: center;
963 justify-content: center;
966 .alert-button:focus {
967 outline: 0;
970 .question-buttons {
971 display: flex;
972 flex-direction: row;
973 justify-content: center;
976 .confirm-button {
977 min-width: 100px;
978 height: 35px;
979 border-radius: 20px;
980 font-family: "Open Sans", sans-serif;
981 font-weight: 400;
982 font-size: 15px;
983 color: white;
984 border: none;
985 cursor: pointer;
986 transition: background 0.5s;
987 padding: 0 15px;
988 margin-right: 10px;
989 display: inline-flex;
990 align-items: center;
991 justify-content: center;
994 .confirm-button:focus {
995 outline: 0;
998 .cancel-button {
999 min-width: 100px;
1000 height: 35px;
1001 border-radius: 20px;
1002 font-family: "Open Sans", sans-serif;
1003 font-weight: 400;
1004 font-size: 15px;
1005 color: white;
1006 border: none;
1007 cursor: pointer;
1008 padding: 0;
1009 line-height: 1.6;
1010 transition: background 0.5s;
1011 padding: 0 15px;
1012 display: inline-flex;
1013 align-items: center;
1014 justify-content: center;
1017 .cancel-button:focus {
1018 outline: 0;
1021 @keyframes open-toast {
1022 0% {
1023 transform: scaleX(1) scaleY(1);
1025 20%,
1026 45% {
1027 transform: scaleX(1.35) scaleY(0.1);
1029 65% {
1030 transform: scaleX(0.8) scaleY(1.7);
1032 80% {
1033 transform: scaleX(0.6) scaleY(0.85);
1035 100% {
1036 transform: scaleX(1) scaleY(1);
1040 .toast-container {
1041 top: 15px;
1042 right: 15px;
1043 overflow: hidden;
1044 position: fixed;
1045 border-radius: 5px;
1046 box-shadow: 0 0 20px rgb(0, 0, 0, 0.2);
1047 animation: open-toast 0.3s linear;
1048 z-index: 999999;
1051 .toast-frame {
1052 padding: 5px 15px;
1053 display: flex;
1054 min-width: 100px;
1055 height: 60px;
1056 border-top-left-radius: 10px;
1057 border-top-right-radius: 10px;
1058 align-items: center;
1059 flex-wrap: wrap;
1062 .toast-img {
1063 height: 40px;
1066 .toast-message {
1067 font-size: 14px !important;
1068 font-family: "Open Sans", sans-serif;
1069 font-weight: 600;
1070 font-size: 15px;
1071 color: #fff;
1072 margin-left: 15px;
1075 .toast-close {
1076 font-family: "Dosis", sans-serif;
1077 color: rgb(0, 0, 0, 0.2);
1078 font-weight: 700;
1079 font-size: 16px;
1080 cursor: pointer;
1081 transition: color 0.5s;
1082 margin-left: 25px;
1085 @keyframes timer {
1086 0% {
1087 width: 100%;
1089 25% {
1090 width: 75%;
1092 50% {
1093 width: 50%;
1095 75% {
1096 width: 25%;
1098 100% {
1099 width: 1%;
1103 .toast-timer {
1104 width: 1%;
1105 height: 5px;
1108 .toast-close:hover {
1109 color: rgb(0, 0, 0, 0.5);
1112 .error-bg {
1113 background: #d85261;
1116 .success-bg {
1117 background: #2dd284;
1120 .warning-bg {
1121 background: #fada5e;
1124 .question-bg {
1125 background: #779ecb;
1128 .error-btn:hover {
1129 background: #e5a4b4;
1132 .success-btn:hover {
1133 background: #6edaa4;
1136 .warning-btn:hover {
1137 background: #fcecae;
1140 .info-btn:hover {
1141 background: #c3e6fb;
1144 .question-btn:hover {
1145 background: #bacee4;
1148 .error-timer {
1149 background: #e5a4b4;
1152 .success-timer {
1153 background: #6edaa4;
1156 .warning-timer {
1157 background: #fcecae;
1160 .info-timer {
1161 background: #c3e6fb;
1164 .info-bg {
1165 background: #88cef7;