Skouter mortgage estimates. Web application with view written in PHP and Vue, but controller and models in Go.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

276 line
3.8 KiB

  1. :root {
  2. --primary-bg: white;
  3. --secondary-bg: #F7F9FA;
  4. --text: #4C555E;
  5. --text-light: #1D262E;
  6. --text-lighter: #28323B;
  7. --text-lightest: #A1A7AD;
  8. --outline: #DFE3E8;
  9. --brand: #0f6b4b;
  10. --shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
  11. }
  12. body {
  13. margin: 0;
  14. }
  15. h2 {
  16. color: var(--text);
  17. }
  18. label {
  19. font-size: 16px;
  20. }
  21. section.form label {
  22. display: flex;
  23. align-items: center;
  24. }
  25. .page section.form h3 {
  26. margin: 10px 0 10px 30px;
  27. }
  28. main .panel {
  29. height: 100%;
  30. width: 100%;
  31. position: absolute;
  32. display: flex;
  33. }
  34. menu.sidebar {
  35. height: calc(100% - 70px);
  36. position: relative;
  37. margin: 0;
  38. padding: 35px 0px;
  39. background: var(--secondary-bg);
  40. list-style: none;
  41. font-size: 18px;
  42. display: flex;
  43. flex-direction: column;
  44. gap: 20px;
  45. }
  46. menu.sidebar a {
  47. color: var(--text);
  48. display: flex;
  49. align-items: center;
  50. gap: 10px;
  51. text-decoration: none;
  52. padding: 10px 10px;
  53. }
  54. menu.sidebar a.active {
  55. background: var(--primary-bg);
  56. }
  57. /* The user avatar */
  58. menu.sidebar img {
  59. width: 50px;
  60. height: 50px;
  61. margin: 0 auto;
  62. border-radius: 50%;
  63. }
  64. menu.sidebar a:hover {
  65. color: var(--text-light);
  66. cursor: pointer;
  67. }
  68. menu.sidebar svg {
  69. height: 24px;
  70. width: 24px;
  71. }
  72. .spinner {
  73. animation: rotate 2s linear infinite;
  74. z-index: 2;
  75. top: 50%;
  76. left: 50%;
  77. margin: -25px 0 0 -25px;
  78. width: 50px;
  79. height: 50px;
  80. }
  81. .spinner .path {
  82. stroke: var(--text);
  83. stroke-linecap: round;
  84. animation: dash 1.5s ease-in-out infinite;
  85. }
  86. @keyframes rotate {
  87. 100% {
  88. transform: rotate(360deg);
  89. }
  90. }
  91. @keyframes dash {
  92. 0% {
  93. stroke-dasharray: 1, 150;
  94. stroke-dashoffset: 0;
  95. }
  96. 50% {
  97. stroke-dasharray: 90, 150;
  98. stroke-dashoffset: -35;
  99. }
  100. 100% {
  101. stroke-dasharray: 90, 150;
  102. stroke-dashoffset: -124;
  103. }
  104. }
  105. .page.loading {
  106. width: 100%;
  107. display: flex;
  108. justify-content: center;
  109. align-items: center;
  110. }
  111. .page {
  112. padding: 0 2%;
  113. width: 100%;
  114. overflow-y: scroll;
  115. scrollbar-width: none;
  116. }
  117. .page section {
  118. margin-top: 50px;
  119. margin: auto;
  120. margin-bottom: 40px;
  121. max-width: 700px;
  122. }
  123. #home.page section:first-of-type {
  124. margin-top: 100px;
  125. }
  126. #home .announce {
  127. min-height: 150px;
  128. border: 1px solid var(--outline);
  129. /* border-radius: 4px; */
  130. }
  131. .page section {
  132. color: var(--text);
  133. }
  134. .page section h3 {
  135. margin-left: 10px;
  136. color: var(--text-lighter);
  137. }
  138. section.loans-list {
  139. display: flex;
  140. flex-direction: column;
  141. width: fit-content;
  142. margin: 0 0 50px 0;
  143. justify-content: center;
  144. border-left: 1px solid var(--text-lightest);
  145. padding: 10px;
  146. margin-bottom: 50px;
  147. }
  148. .loans-list h3:not(.sel) {
  149. color: var(--text-lightest);
  150. }
  151. .loans-list h3 {
  152. cursor: pointer;
  153. width: fit-content;
  154. }
  155. .loans-list .add svg {
  156. width: 35px;
  157. height: 35px;
  158. margin: auto;
  159. display: block;
  160. }
  161. .loans-list .add svg:hover {
  162. color: black;
  163. }
  164. section.form input, section.form select {
  165. border: 2px solid var(--outline);
  166. border-radius: 3px;
  167. }
  168. section.radios {
  169. display: grid;
  170. grid-template-columns: 50px 1fr;
  171. justify-content: center;
  172. row-gap: 20px;
  173. max-width: 250px;
  174. }
  175. section.inputs {
  176. display: flex;
  177. flex-flow: column;
  178. max-width: 250px;
  179. row-gap: 15px;
  180. position: relative;
  181. }
  182. section.radios h3 {
  183. grid-column: 1 / 3;
  184. }
  185. .form.radios input {
  186. height: 20px;
  187. }
  188. svg.close {
  189. position: absolute;
  190. right: 10px;
  191. top: 10px;
  192. height: 50px;
  193. width: 50px;
  194. cursor: pointer;
  195. color: var(--text);
  196. }
  197. div.close-button {
  198. width: 50px;
  199. height: 50px;
  200. }
  201. div.sidebar-toggle {
  202. width: 50px;
  203. }
  204. div.sidebar-toggle svg {
  205. width: 100%;
  206. height: 60px;
  207. color: var(--text);
  208. cursor: pointer;
  209. }
  210. div.hint {
  211. position: absolute;
  212. top: 10px;
  213. right: 15%;
  214. /* margin: auto; */
  215. }
  216. div.hint img {
  217. width: 25px;
  218. height: 25px;
  219. }
  220. div.hint .tooltip {
  221. position: absolute;
  222. width: 150px;
  223. right: -2em;
  224. background: white;
  225. color: grey;
  226. padding: 10px;
  227. border-radius: 3px;
  228. box-shadow: var(--shadow);
  229. visibility: hidden;
  230. }
  231. div.hint:hover .tooltip {
  232. visibility: visible;
  233. }