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.
 
 
 
 
 
 

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