My SMM panel
 
 
 
 
 
 

1062 lines
16 KiB

  1. @use "vars";
  2. @font-face {
  3. font-family: "PatuaOne";
  4. src: url("../PatuaOne-Regular.ttf") format("opentype");
  5. font-style: normal;
  6. font-weight: normal;
  7. }
  8. html body {
  9. font-family: 'PatuaOne', 'Times New Roman';
  10. margin: 0;
  11. }
  12. section {
  13. position: relative;
  14. padding-top: 3em;
  15. padding-bottom: 3em;
  16. overflow: hidden;
  17. }
  18. button {
  19. font-family: 'PatuaOne', 'Times New Roman';
  20. }
  21. h1 {
  22. color: white;
  23. }
  24. h2 {
  25. color: vars.getColor("brand-orange");
  26. text-align: center;
  27. }
  28. h3 {
  29. color: vars.getColor("faded-text");
  30. // text-transform: uppercase;
  31. }
  32. ul {
  33. color: vars.getColor("faded-text");
  34. list-style-type: none;
  35. padding: 0;
  36. }
  37. input {
  38. border: 2px solid black;
  39. border-radius: 20px;
  40. padding: 4px;
  41. }
  42. .services-cards li {
  43. padding-bottom: 8px;
  44. &:before {
  45. width: 30px;
  46. height: 30px;
  47. content: url("../images/green-check.svg");
  48. display: inline;
  49. margin-right: 5px;
  50. // top: 30px;
  51. }
  52. }
  53. a {
  54. text-decoration: none;
  55. }
  56. nav {
  57. position: absolute;
  58. width: 100%;
  59. top: 10px;
  60. display: flex;
  61. flex-flow: row wrap;
  62. align-items: center;
  63. justify-content: space-between;
  64. // background-color: transparent;
  65. }
  66. nav h1 {
  67. margin: 4px 0 10px 6px;
  68. display: inline-block;
  69. }
  70. nav.info-page h1 {
  71. margin: 4px 0 10px 6px;
  72. display: inline-block;
  73. color: vars.getColor('brand-orange');
  74. }
  75. .formal-font {
  76. font-family: "FreeSans";
  77. }
  78. nav #logo {
  79. margin-right: 50px;
  80. }
  81. nav form {
  82. display: flex;
  83. flex-wrap: wrap;
  84. margin-right: 20px;
  85. }
  86. nav form div {
  87. margin: 0 10px;
  88. }
  89. nav form button {
  90. min-width: 5em;
  91. }
  92. nav form p {
  93. margin-top: 0;
  94. }
  95. nav form input,label {
  96. opacity: 0.7;
  97. }
  98. nav .nav-toggle {
  99. position: absolute;
  100. right: 10px;
  101. top: 5px;
  102. display: none;
  103. height: 45px;
  104. width: 45px;
  105. margin-left: auto;
  106. background: url("../images/menu-icon.svg");
  107. background-size: 100%;
  108. background-size: cover;
  109. color: white;
  110. }
  111. nav .nav-toggle.toggled {
  112. background: url("../images/cancel-icon2.svg");
  113. width: 25px;
  114. height: 25px;
  115. background-size: 100%;
  116. background-size: cover;
  117. top: 10px;
  118. right: 15px;
  119. color: white;
  120. }
  121. div.landing-hero {
  122. top: 0;
  123. height: 50em;
  124. background-color: #ff4e00;
  125. // background-image: linear-gradient(to right bottom, #ff4e00, #fc6200, #f87200, #f58100, #f18e00, #f19507, #f09c0f, #f0a317, #f3a620, #f6a927, #f8ad2e, #fbb034);
  126. background-image: linear-gradient(315deg, #ff4e00 0%, #ec9f05 74%);
  127. z-index: 0;
  128. }
  129. div.hero-filter {
  130. width: 100%;
  131. height: 100%;
  132. }
  133. div.hero-filter h2 {
  134. color: black;
  135. opacity: 0.7;
  136. max-width: 10em;
  137. font-size: 2.4em;
  138. position: absolute;
  139. top: 3em;
  140. margin-left: 5%;
  141. }
  142. div.hero-filter p {
  143. position: absolute;
  144. top: 12em;
  145. margin-left: 5%;
  146. font-size: 20px;
  147. width: 10em;
  148. opacity: 0.7;
  149. }
  150. div.errors {
  151. background-color: #ececec;
  152. color: vars.getColor("red-alert");
  153. border: 2px solid vars.getColor("red-alert");
  154. border-radius: 4px;
  155. min-height: 50px;
  156. position: absolute;
  157. left: 50%;
  158. margin-right: -50%;
  159. top: 100px;
  160. min-width: 30em;
  161. transform: translate(-50%, -50%);
  162. }
  163. .errors ul {
  164. margin: auto;
  165. }
  166. form.login {
  167. // font-weight: bold;
  168. color: white;
  169. }
  170. .cancel-icon {
  171. width: 30px;
  172. }
  173. form.login input {
  174. margin-left: 2px;
  175. color: white;
  176. background-color: transparent;
  177. border: 2px solid white;
  178. border-radius: 2px;
  179. outline-color: orange
  180. }
  181. form.login .login-btn {
  182. @include vars.special-button("medium-blue", "dark-blue");
  183. }
  184. .hero-filter .register-btn {
  185. @include vars.transparent-button;
  186. display: block;
  187. position: relative;
  188. width: 7em;
  189. top: 60%;
  190. margin-left: auto;
  191. margin-right: auto;
  192. }
  193. div.blue-background {
  194. background-image: url("../images/black-circle.svg");
  195. background-size: 10px;
  196. background-color: #0d324d;
  197. }
  198. section.about-us {
  199. padding: 70px 0;
  200. }
  201. section.about-us p {
  202. max-width: 600px;
  203. margin-left: auto;
  204. margin-right: auto;
  205. border-top: 2px solid vars.getColor("grey");
  206. border-bottom: 2px solid vars.getColor("grey");
  207. padding: 15px;
  208. background-color: #0d324d;
  209. color: white;
  210. }
  211. section.services-cards {
  212. // margin-bottom: 0;
  213. background-color: lightgrey;
  214. padding-bottom: 4em;
  215. background: linear-gradient(to bottom right, transparent 0%, transparent 50%, #e9e9e9 50%, vars.getColor("light-grey") 100%);
  216. }
  217. section.services-cards .cards{
  218. display: flex;
  219. flex-flow: wrap;
  220. margin-top: 2em;
  221. gap: 25px;
  222. justify-content: center;
  223. max-width: 1050px;
  224. margin-left: auto;
  225. margin-right: auto;
  226. text-align: center;
  227. }
  228. section.services-cards h2 {
  229. text-align: center;
  230. padding: 10px;
  231. margin-top: 0;
  232. padding-top: 30px;
  233. color: white;
  234. }
  235. section.services-cards .card {
  236. width: 280px;
  237. height: 350px;
  238. padding: 18px 9px;
  239. border-radius: 4px;
  240. background: white;
  241. box-shadow: 7px 10px 8px rgb(156 166 175 / 22%);
  242. transition: transform 0.2s;
  243. &:hover {
  244. transform: translateY(-20px);
  245. }
  246. }
  247. section.services-cards img {
  248. width: 50px;
  249. height: 50px;
  250. }
  251. section.services-cards button {
  252. @include vars.brand-button("orange");
  253. }
  254. section.features-info {
  255. // height: fit-content;
  256. height: 60em;
  257. background: radial-gradient(ellipse at left, #fff, vars.getColor("light-grey") 80%);
  258. }
  259. .circle-prop {
  260. height: 100%;
  261. overflow: hidden;
  262. width: 100%;
  263. position: relative;
  264. // transform: translateX(-10em);
  265. }
  266. .circle-prop svg {
  267. width: 50%;
  268. }
  269. .features-info img {
  270. width: 600px;
  271. position: absolute;
  272. top: 15%;
  273. right: 4%;
  274. }
  275. div.info-cards {
  276. position: absolute;
  277. top: 10em;
  278. margin-left: 20%;
  279. width: 70%;
  280. }
  281. .info-card {
  282. margin-bottom: 40px;
  283. &:nth-of-type(2) {
  284. margin-left: 13%;
  285. }
  286. &:nth-of-type(3) {
  287. margin-left: 10%;
  288. }
  289. &:nth-of-type(4) {
  290. margin-left: 5%;
  291. }
  292. p {
  293. max-width: 20em;
  294. background: white;
  295. padding: 5px;
  296. border-radius: 4px;
  297. text-align: center;
  298. color: vars.getColor("faded-text2");
  299. // border: 2px solid vars.getColor("medium-orange");
  300. @include vars.hovering;
  301. }
  302. }
  303. section.panel-infos {
  304. min-height: 40em;
  305. margin-top: 5em;
  306. margin-bottom: 5em;
  307. display: flex;
  308. flex-flow: wrap;
  309. align-items: center;
  310. justify-content: center;
  311. gap: 20px;
  312. .panel-preview {
  313. // box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  314. @include vars.hovering;
  315. padding: 0;
  316. }
  317. }
  318. .panel-infos h2 {
  319. width: 100%;
  320. }
  321. .panel-info {
  322. width: 50%;
  323. margin-top: 4em;
  324. }
  325. .panel-info img {
  326. width: 50px;
  327. height: 50px;
  328. }
  329. .panel-info p {
  330. color: vars.getColor("faded-text2");
  331. }
  332. section.benefits-info div {
  333. margin: 1em auto;
  334. padding: 1em 1em;
  335. border-top: 2px solid vars.getColor("faded-text2");
  336. border-bottom: 2px solid vars.getColor("faded-text2");
  337. max-width: 40em;
  338. color: vars.getColor("faded-text");
  339. }
  340. .benefits-info h2 {
  341. margin-bottom: 2em;
  342. }
  343. section.faq-info {
  344. margin-bottom: 6em;
  345. margin-top: 3em;
  346. min-height: 30em;
  347. }
  348. .faq-info h2 {
  349. margin-bottom: 2em;
  350. }
  351. section.faq-info .collapsibles {
  352. display: flex;
  353. flex-flow: wrap;
  354. gap: 2em;
  355. justify-content: center;
  356. max-width: 65em;
  357. width: fit-content;
  358. margin-left: auto;
  359. margin-right: auto;
  360. align-text: center;
  361. }
  362. .faq-info .collapsible {
  363. text-align: center;
  364. width: 20em;
  365. &:not(.active) .content {
  366. display: none;
  367. }
  368. }
  369. .collapsible button {
  370. width: 95%;
  371. display: block;
  372. margin-right: auto;
  373. height: 2.5em;
  374. border: 2px solid vars.getColor("brand-orange");
  375. @include vars.button("light-grey");
  376. font-size: 17px;
  377. // font-weight: bold;
  378. }
  379. .collapsible button:after {
  380. content: '\02795'; /* Unicode character for "plus" sign (+) */
  381. font-size: 13px;
  382. color: white;
  383. float: right;
  384. margin-left: 5px;
  385. }
  386. .collapsible .content {
  387. // background-color: vars.getColor("faded-text2");
  388. border: 2px solid black;
  389. border-radius: 4px;
  390. padding: 4px;
  391. // transition: all 0.2s;
  392. // height: 1px;
  393. }
  394. footer {
  395. height: 6em;
  396. background-color: vars.getColor("dark-grey");
  397. padding: 20px;
  398. color: vars.getColor("faded-text2");
  399. }
  400. footer .foot-links {
  401. width: 20em;
  402. margin: 2em auto;
  403. text-align: center;
  404. }
  405. footer a {
  406. margin: 0 8px;
  407. color: vars.getColor("faded-text2");
  408. &:hover {
  409. color: vars.getColor("faded-text");
  410. }
  411. }
  412. .hidden {
  413. display: none;
  414. }
  415. .loading-icon {
  416. display: block;
  417. width: 50px;
  418. height: 50px;
  419. margin: auto;
  420. }
  421. .register-area p {
  422. text-align: center;
  423. }
  424. .register-area .loading-icon {
  425. margin-top: 100px;
  426. }
  427. div.register-area {
  428. overflow: hidden;
  429. height: 0px;
  430. width: 100%;
  431. z-index: 1;
  432. @include vars.hovering3;
  433. margin-bottom: 2em;
  434. position: fixed;
  435. border-radius: 0;
  436. padding: 0;
  437. opacity: 0;
  438. transition: all 0.2s;
  439. background: white;
  440. h3 {
  441. text-align: center;
  442. }
  443. label,input {
  444. color: black;
  445. display: block;
  446. border-color: black;
  447. width: 95%;
  448. }
  449. div {
  450. margin-top: 20px;
  451. margin-bottom: 20px;
  452. width: 100%;
  453. }
  454. form {
  455. width: 160px;
  456. margin: 20px auto;
  457. }
  458. .submit-btn {
  459. width: 100%;
  460. background-color: #3bb78f;
  461. @include vars.special-button("light-green", "dark-green");
  462. }
  463. .cancel-button {
  464. width: 20px;
  465. height: 20px;
  466. background: url("../images/close-icon-black.svg");
  467. background-size: cover;
  468. position: absolute;
  469. top: 20px;
  470. right: 20px;
  471. }
  472. }
  473. section.features-info {
  474. min-height: 70em;
  475. }
  476. div.register-area.active {
  477. min-height: 400px;
  478. opacity: 1;
  479. }
  480. .medium-icon {
  481. width: 50px;
  482. height: 50px;
  483. margin-left: auto;
  484. margin-right: auto;
  485. display: block;
  486. top: 50px;
  487. }
  488. // Make small screens more usable
  489. @media (max-width: 720px) {
  490. nav { display: block; }
  491. nav form {
  492. // display: none;
  493. width: 190px;
  494. margin-left: auto;
  495. margin-right: auto;
  496. align-items: center;
  497. margin-top: 5em;
  498. opacity: 0;
  499. transition: transform 0.3s;
  500. transform: translateY(-50px);
  501. }
  502. nav form.active {
  503. display: block;
  504. transform: translateX(0%);
  505. opacity: 1;
  506. // background: white;
  507. // color: black;
  508. }
  509. nav form div {
  510. margin: 10px auto;
  511. }
  512. nav div label,input {
  513. display: block;
  514. }
  515. nav .nav-toggle {
  516. display: block;
  517. }
  518. div.register-area.active {
  519. display: initial;
  520. }
  521. div.register-area h1 {
  522. font-size: 1.5rem;
  523. display: inline-block;
  524. color: vars.getColor("brand-orange");
  525. }
  526. div.register-area h3 {
  527. text-align: center;
  528. }
  529. div.register-area .login {
  530. color: vars.getColor("brand-orange");
  531. display: block;
  532. margin-left: auto;
  533. margin-right: auto;
  534. // margin-top: 1em;
  535. width: 10em;
  536. // top: 40px;
  537. // position: absolute;
  538. }
  539. div.register-area .login input {
  540. border: 2px solid black;
  541. border-color: black;
  542. color: black;
  543. }
  544. div.register-area button {
  545. margin-top: 1em;
  546. width: 6em;
  547. }
  548. div.register-area div {
  549. margin-top: 10px;
  550. margin-bottom: 5px;
  551. margin-left: auto;
  552. margin-right: auto;
  553. }
  554. .landing-hero div.hero-filter h2 {
  555. top: 4em;
  556. }
  557. .landing-hero div.hero-filter p {
  558. top: 15em;
  559. }
  560. .landing-hero div.hero-filter .register-btn {
  561. top: 75%;
  562. }
  563. }
  564. .info-heading {
  565. text-align: center;
  566. margin-top: 3em;
  567. margin-left: auto;
  568. margin-right: auto;
  569. max-width: 35em;
  570. padding: 3em;
  571. height: 30em;
  572. button {
  573. display: block;
  574. margin: 3em auto;
  575. width: 6em;
  576. @include vars.special-button("light-green", "dark-green");
  577. }
  578. }
  579. main.panel {
  580. min-height: 750px;
  581. height: 90vh;
  582. // max-height: 100vh;
  583. background-image: linear-gradient(315deg, #ff4e00 0%, #ec9f05 74%);
  584. }
  585. #panel {
  586. top: 50px;
  587. padding: 10px;
  588. margin: auto;
  589. position: relative;
  590. max-width: 450px;
  591. height: 600px;
  592. display: flex;
  593. gap: 10px;
  594. }
  595. #sidebar {
  596. position: relative;
  597. width: 35px;
  598. height: 50%;
  599. color: white;
  600. background: transparent;
  601. display: block;
  602. flex-shrink: 0;
  603. a {
  604. display: block;
  605. margin: 20px 0;
  606. }
  607. svg {
  608. width: 35px;
  609. height: 35px;
  610. color: white;
  611. }
  612. a.selected svg {
  613. color: vars.getColor("brand-orange");
  614. }
  615. }
  616. #panel #main {
  617. height: 100%;
  618. background: white;
  619. width: 100%;
  620. flex-shrink: 1;
  621. margin-left: auto;
  622. position: relative;
  623. // opacity: 1;
  624. @include vars.hovering3;
  625. transition: opacity 0.5s ease;
  626. vertical-align: middle;
  627. overflow: scroll;
  628. // text-align: center;
  629. section {
  630. padding: 5px;
  631. border-radius: 4px;
  632. min-height: 3em;
  633. margin-bottom: 1em;
  634. }
  635. h4 {
  636. margin: 4px;
  637. color: vars.getColor("dark-grey");
  638. }
  639. p {
  640. margin: 0;
  641. }
  642. .icon {
  643. width: 25px;
  644. margin: 10px;
  645. }
  646. .welcome-pane {
  647. text-align: center;
  648. }
  649. .credits-pane {
  650. border: 3px solid vars.getColor("alt-blue-medium");
  651. background: vars.getColor("alt-blue-light");
  652. > * {
  653. display: inline;
  654. vertical-align: middle;
  655. }
  656. }
  657. .alerts-pane {
  658. border: 3px solid vars.getColor("grey");
  659. padding: 1em;
  660. }
  661. }
  662. .fade-enter-from, .fade-leave-to {
  663. opacity: 0;
  664. }
  665. .recent-pane, .history-pane{
  666. table {
  667. border-spacing: 4px;
  668. margin: auto;
  669. text-align: center;
  670. }
  671. th {
  672. font-weight: normal;
  673. color: vars.getColor("light2-grey");
  674. }
  675. tr {
  676. border-bottom: 3px solid black;
  677. }
  678. td {
  679. border-bottom: 2px solid vars.getColor("grey");
  680. // color: vars.getColor("light3-grey");
  681. // font-size: 1rem;
  682. font-size: 0.8rem;
  683. }
  684. td.completed span {
  685. background: vars.getColor('green');
  686. color: vars.darkenColor('green');
  687. border-radius: 4px;
  688. padding: 2px;
  689. }
  690. td.processing {
  691. color: vars.getColor('light-blue');
  692. }
  693. td.canceled {
  694. color: vars.getColor('red-alert');
  695. }
  696. }
  697. .pending-pane {
  698. .pending-heading {
  699. position: relative;
  700. border-bottom: 1px solid vars.getColor('light2-grey');
  701. // background-color: vars.getColor('light-grey');
  702. &:hover {
  703. color: vars.darkenColor('text-blue-medium');
  704. }
  705. }
  706. .pending-content {
  707. color: grey;
  708. height: 0;
  709. overflow: hidden;
  710. transition: all 0.2s;
  711. }
  712. .selected .pending-content {
  713. height: fit-content;
  714. }
  715. li {
  716. margin: 10px 0;
  717. display: inline-block;
  718. width: 15em;
  719. }
  720. img {
  721. // border: 2px solid vars.getColor('light2-grey');
  722. padding: 4px;
  723. // border-radius: 50%;
  724. margin-top: 5px;
  725. width: 25px;
  726. display: inline-block;
  727. margin-bottom: 3px;
  728. margin-left: 2px;
  729. position: absolute;
  730. transition: all 0.2s;
  731. }
  732. .selected img {
  733. transform: rotate(180deg);
  734. }
  735. }
  736. .history-pane {
  737. overflow: visible;
  738. transition: all 0.2s;
  739. .nav-btn {
  740. width: 1.5em;
  741. transform: translateY(1.5em);
  742. }
  743. .nav-btn.right {
  744. bottom: 0px;
  745. right: 1em;
  746. position: absolute;
  747. display: block;
  748. margin-left: auto;
  749. }
  750. .nav-btn.left {
  751. bottom: 0px;
  752. left: 1em;
  753. position: absolute;
  754. display: block;
  755. margin-right: auto;
  756. }
  757. .nav-legend {
  758. color: grey;
  759. transform: translateX(-1.5em);
  760. text-align: center;
  761. position: absolute;
  762. width: 3em;
  763. left: 50%;
  764. }
  765. }
  766. .actions {
  767. margin-bottom: 1em;
  768. }
  769. .actions a {
  770. color: vars.getColor('brand-orange');
  771. margin: 1em;
  772. margin-bottom: 2em;
  773. padding: 3px;
  774. }
  775. .actions a:hover {
  776. color: vars.darkenColor('brand-orange');
  777. }
  778. .logout-pane {
  779. margin-top: 25%;
  780. text-align: center;
  781. height: 10em;
  782. a {
  783. display: block;
  784. // vertical-align: center;
  785. margin: auto;
  786. margin-top: 2em;
  787. height: 1.3em;
  788. width: 5em;
  789. @include vars.inverting-button(black, white);
  790. }
  791. }
  792. .settings-page {
  793. h3 {
  794. text-align: center;
  795. }
  796. h5 {
  797. display: inline-block;
  798. margin-right: 2em;
  799. margin-top: 0;
  800. margin-bottom: 0.5em;
  801. color: vars.getColor('brand-orange');
  802. }
  803. input {
  804. display: block;
  805. margin-bottom: 1em;
  806. right: 2px;
  807. position: relative;
  808. }
  809. button {
  810. &>*{vertical-align: middle;}
  811. margin-right: 10px;
  812. display: inline-block;
  813. @include vars.inverting-button(vars.getColor('text-blue-medium'), white);
  814. }
  815. .loading-icon {
  816. width: 1.5em;
  817. height: 1.5em;
  818. display: none;
  819. color: white;
  820. margin-left: 0.5em;
  821. margin-right: 0.5em;
  822. }
  823. .loading .loading-icon {
  824. display: inline;
  825. }
  826. .completed span {
  827. color: vars.getColor('green');
  828. }
  829. .error span {
  830. color: vars.getColor('red-alert');
  831. }
  832. }
  833. .services-legend {
  834. display: flex;
  835. justify-content: space-between;
  836. margin-top: 20px;
  837. border-top: 1px solid darkgrey;
  838. border-bottom: 1px solid darkgrey;
  839. height: 2em;
  840. background-color: rgb(239, 239, 239);
  841. color: rgb(118, 118, 118);
  842. padding-right: 30px;
  843. h5 {
  844. display: inline-block;
  845. margin: auto;
  846. text-align: center;
  847. width: 20%;
  848. // max-width: 25%;
  849. }
  850. :nth-child(1) {
  851. width: 30%;
  852. }
  853. }
  854. .services-menu {
  855. display: flex;
  856. justify-content: center;
  857. flex-basis: 50%;
  858. margin-top: 1em;
  859. flex-flow: wrap;
  860. gap: 10px;
  861. button {
  862. width: 25%;
  863. font-size: 1.1rem;
  864. background: none;
  865. border: none;
  866. color: grey;
  867. }
  868. .selected {
  869. color: black;
  870. }
  871. }
  872. .menu-slider {
  873. width: 55%;
  874. div {
  875. // margin-left: auto;
  876. width: 50%;
  877. border-bottom: 2px solid black;
  878. }
  879. }
  880. .services-pane {
  881. li {
  882. display: flex;
  883. // gap: 0.5em;
  884. justify-content: space-between;
  885. align-items: center;
  886. border-top: 1px solid grey;
  887. border-bottom: 1px solid grey;
  888. padding: 6px 0;
  889. }
  890. li span {
  891. // width: 10%;
  892. text-align:center;
  893. vertical-align: middle;
  894. }
  895. li :nth-child(1) {
  896. width: 30%;
  897. }
  898. li:hover span {
  899. color: vars.darkenColor('faded-text');
  900. }
  901. svg {
  902. width: 25px;
  903. height: 25px;
  904. color: vars.getColor('brand-orange');
  905. }
  906. svg:hover {
  907. color: vars.getColor('dark-orange');
  908. }
  909. }