styles.scss 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437
  1. /* You can add global styles to this file, and also import other style files */
  2. /* Importing Bootstrap SCSS file. */
  3. // TODO: remove bootstrap styles
  4. @import "bootstrap/scss/bootstrap";
  5. @import url("./helpers.scss");
  6. @import url("./button-styles.scss");
  7. :root {
  8. // COLORS to use but not official
  9. // --primary: #d8ac96;
  10. --primary-light: #e8c7b5;
  11. --primary-dark: #d89777;
  12. --secondary-color: #efc8af;
  13. --secondary-color-light: #f8e1d7;
  14. --secondary-color-dark: #cfaa8c;
  15. --tertiary-color: #b9835d;
  16. --tertiary-color-light: #cfaa8c;
  17. --tertiary-color-dark: #8f5f3b;
  18. --quaternary-color: #84a36f;
  19. --quaternary-color-light: #7a9e65;
  20. --quaternary-color-dark: #6eae52;
  21. --field-background-color: #efc8af;
  22. --border-color: #8d8c8c;
  23. --border-color-active: #b76840;
  24. --modal-background: antiquewhite;
  25. --button-color: #efc8af;
  26. --header: #ffdec6;
  27. --text: #000000;
  28. // shadows
  29. --shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.5);
  30. --shadow-hover: 0px 5px 10px 0px rgba(0, 0, 0, 0.7);
  31. --shadow: 4px 4px 10px 4px rgba(0, 0, 0, 0.2);
  32. --shadow-medium: 4px 4px 10px 6px rgba(0, 0, 0, 0.2);
  33. --shadow-large: 4px 4px 10px 8px rgba(0, 0, 0, 0.2);
  34. // OFFICIAL COLORS
  35. --primary-old: #d8ac96;
  36. --primary: #b0826b;
  37. // Buttons
  38. --accept: #84a36f;
  39. --accept-hover: #6f9158;
  40. --delete: #a45a52;
  41. --delete-hover: #8f4a42;
  42. --edit: #86a5b7;
  43. --edit-hover: #6f8e9f;
  44. --neutral: #b9835d;
  45. --neutral-hover: #a76b43;
  46. --tab: #c79980;
  47. --tab-active: #bc8567;
  48. //
  49. // c28c6f
  50. // Spellcards
  51. --abjuration-background: #cab8de;
  52. --abjuration-border: 0 0 0 2px #171314, 0 0 0 5px #9586a5;
  53. --conjuration-background: #714c81;
  54. --conjuration-border: 0 0 0 2px #171314, 0 0 0 5px #744987;
  55. --divination-background: #f0e3ce;
  56. --divination-border: 0 0 0 2px #171314, 0 0 0 5px #ffffff;
  57. --enchantment-background: #629179;
  58. --enchantment-border: 0 0 0 2px #171314, 0 0 0 5px #26714a;
  59. --evocation-background: #a46a7d;
  60. --evocation-border: 0 0 0 2px #171314, 0 0 0 5px #863f57;
  61. --illusion-background: #69a;
  62. --illusion-border: 0 0 0 2px #171314, 0 0 0 5px #2d6475;
  63. --necromancy-background: #000000;
  64. --necromancy-border: 0 0 0 2px #171314, 0 0 0 5px #36353a;
  65. --transmutation-background: rgb(51, 52, 138);
  66. --transmutation-border: 0 0 0 2px #171314, 0 0 3px #8f088f, 0 0 6px #7f088f,
  67. 0 0 9px #69088f, 0 0 12px #3a088f, 0 0 15px #080a8f;
  68. // General
  69. --shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.5);
  70. --shadow-inverted: 0px -5px 10px 0px rgba(0, 0, 0, 0.5);
  71. --shadow-bottom: 0px 5px 10px 0px rgba(0, 0, 0, 0.5);
  72. --shadow-top: 0px -5px 10px 0px rgba(0, 0, 0, 0.5);
  73. --old-primary: #d8ac96;
  74. --primary-color: #a9836f;
  75. --background-color: #fff2e9;
  76. --field-background-color: #efc8af;
  77. --border-color: #8d8c8c;
  78. // --modal-background: antiquewhite;
  79. --modal-background: antiquewhite;
  80. --header: #ffdec6;
  81. --text: #000000;
  82. --items: #fff2e9;
  83. --items-hover: #f7e3d7;
  84. --border: 1px solid var(--border-color);
  85. // Responsiveness
  86. .responsive-small {
  87. display: none;
  88. }
  89. .responsive-large {
  90. display: block;
  91. }
  92. @media (width < 1640px) {
  93. .responsive-large {
  94. display: none;
  95. }
  96. .responsive-small {
  97. display: block;
  98. }
  99. }
  100. // LISTS
  101. .item-list {
  102. width: 100%;
  103. overflow: auto;
  104. }
  105. .item {
  106. background-color: var(--items);
  107. box-sizing: border-box;
  108. border: var(--border);
  109. border-radius: 10px;
  110. box-shadow: var(--shadow);
  111. cursor: move;
  112. transition: background-color 0.2s ease-in-out;
  113. &:hover {
  114. background-color: var(--items-hover);
  115. }
  116. }
  117. .empty-list {
  118. text-align: center;
  119. margin-top: 2rem;
  120. font-size: 1.25rem;
  121. font-weight: 500;
  122. }
  123. .footer {
  124. height: 5rem;
  125. width: 100%;
  126. display: flex;
  127. justify-content: center;
  128. align-items: center;
  129. border-radius: 0 0 10px 10px;
  130. box-shadow: var(--shadow-top);
  131. }
  132. // DRAG AND DROP
  133. .cdk-drag-preview {
  134. box-sizing: border-box;
  135. border-radius: 10px;
  136. background-color: var(--items-hover);
  137. box-shadow:
  138. 0 5px 5px -3px rgba(0, 0, 0, 0.2),
  139. 0 8px 10px 1px rgba(0, 0, 0, 0.14),
  140. 0 3px 14px 2px rgba(0, 0, 0, 0.12);
  141. }
  142. .cdk-drag-placeholder {
  143. opacity: 0;
  144. }
  145. .cdk-drag-animating {
  146. transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
  147. }
  148. .item-list.cdk-drop-list-dragging .item:not(.cdk-drag-placeholder) {
  149. transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
  150. }
  151. // GENERAL STYLES
  152. // Checkbox
  153. input[type="checkbox"] {
  154. accent-color: var(--accept) !important;
  155. }
  156. // Scrollbar
  157. ::-webkit-scrollbar {
  158. width: 0.5rem;
  159. margin: 0.125rem 0;
  160. height: 0.5rem;
  161. }
  162. ::-webkit-scrollbar-track {
  163. background: #f1f1f1;
  164. border-radius: 10px;
  165. }
  166. ::-webkit-scrollbar-thumb {
  167. background: #888;
  168. border-radius: 10px;
  169. }
  170. ::-webkit-scrollbar-thumb:hover {
  171. background: #555;
  172. border-radius: 10px;
  173. }
  174. }
  175. .suffix {
  176. text-align: right;
  177. padding-right: 0.5rem;
  178. color: grey;
  179. font-size: 0.75rem;
  180. }
  181. // Line styles
  182. .centered-line {
  183. display: flex;
  184. align-items: center;
  185. }
  186. // TODO: Check which of the below are still used
  187. // Info Row
  188. .info-container {
  189. display: flex;
  190. flex-direction: column;
  191. justify-content: space-between;
  192. align-items: center;
  193. border: solid 1px var(--border-color);
  194. background-color: var(--field-background-color);
  195. box-shadow: var(--shadow);
  196. border-radius: 10px;
  197. height: 6rem;
  198. @media (width > 1699px) {
  199. width: 10rem;
  200. }
  201. @media (width < 1640px) {
  202. width: 7rem;
  203. }
  204. }
  205. .info-input {
  206. border: none;
  207. outline: none;
  208. text-align: center;
  209. background-color: transparent;
  210. width: 5rem;
  211. margin-top: 0.375rem;
  212. font-size: 2rem;
  213. font-weight: 600;
  214. }
  215. .info-input::-webkit-outer-spin-button,
  216. .info-input::-webkit-inner-spin-button {
  217. -webkit-appearance: none;
  218. appearance: none;
  219. margin: 0;
  220. }
  221. .info-label {
  222. font-size: 1.25rem;
  223. font-weight: 600;
  224. text-align: center;
  225. padding: 0.25rem 0.5rem;
  226. }
  227. input[type="checkbox"] {
  228. height: 1.25rem;
  229. width: 1.25rem;
  230. }
  231. // DETAILS + MODAL
  232. .dimensions {
  233. width: 50rem;
  234. background-color: var(--modal-background);
  235. border-radius: 10px;
  236. border: 1px solid var(--border-color);
  237. padding: 0 2rem;
  238. box-shadow: var(--shadow);
  239. }
  240. .title {
  241. font-size: 2rem;
  242. font-weight: bold;
  243. margin-top: 1.5rem;
  244. text-align: center;
  245. }
  246. .heading {
  247. font-size: 1.5rem;
  248. margin-top: 1.5rem;
  249. font-weight: bold;
  250. text-align: center;
  251. }
  252. .subheading {
  253. font-size: 1.25rem;
  254. margin-top: 1.5rem;
  255. font-weight: bold;
  256. text-align: center;
  257. }
  258. .content {
  259. margin-top: 1.5rem;
  260. margin-bottom: 1.5rem;
  261. }
  262. .input-label {
  263. font-weight: 600;
  264. padding-left: 0.25rem;
  265. }
  266. .value-row {
  267. display: flex;
  268. flex-direction: row;
  269. justify-content: space-evenly;
  270. }
  271. .mat-mdc-text-field-wrapper {
  272. background-color: white !important;
  273. border-radius: 5px !important;
  274. }
  275. .flex-form {
  276. display: flex;
  277. flex-direction: column;
  278. gap: 1.5rem;
  279. .flex-row {
  280. display: flex;
  281. flex-direction: row;
  282. justify-content: space-between;
  283. gap: 2rem;
  284. }
  285. }
  286. .hint {
  287. font-size: 0.75rem;
  288. font-weight: 400;
  289. padding-left: 0.25rem;
  290. }
  291. // RICH TEXT EDITOR
  292. .ProseMirror {
  293. padding-left: 1rem !important;
  294. height: 8rem;
  295. overflow: auto;
  296. }
  297. // Used to remove the empty space under form fields
  298. .mat-mdc-form-field-subscript-wrapper {
  299. display: none;
  300. }
  301. html,
  302. body {
  303. height: 100%;
  304. margin: 0;
  305. font-family: var(--bs-body-font-family) !important;
  306. }
  307. .flex-row {
  308. display: flex;
  309. flex-direction: row;
  310. }
  311. .flex-column {
  312. display: flex;
  313. flex-direction: column;
  314. }
  315. // Overriding the default styles of angular material
  316. .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled)
  317. .mdc-list-item__primary-text {
  318. color: var(--primary) !important;
  319. }
  320. .mat-primary .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal::after,
  321. .mat-primary
  322. .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal::after {
  323. color: var(--primary) !important;
  324. }
  325. .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused
  326. .mdc-notched-outline__leading,
  327. .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused
  328. .mdc-notched-outline__notch,
  329. .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused
  330. .mdc-notched-outline__trailing {
  331. border-color: var(--primary) !important;
  332. }
  333. .mdc-text-field--outlined:not(.mdc-text-field--disabled)
  334. .mdc-text-field__input {
  335. caret-color: var(--primary) !important;
  336. }
  337. .mat-mdc-form-field.mat-focused .mat-mdc-select-arrow {
  338. color: var(--primary) !important;
  339. }
  340. .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused
  341. .mdc-floating-label,
  342. .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused
  343. .mdc-floating-label--float-above {
  344. color: var(--primary) !important;
  345. }
  346. .mat-mdc-radio-button
  347. .mdc-radio
  348. .mdc-radio__native-control:enabled:checked
  349. + .mdc-radio__background
  350. .mdc-radio__outer-circle {
  351. border-color: var(--primary) !important;
  352. }
  353. .mat-mdc-radio-button
  354. .mdc-radio
  355. .mdc-radio__native-control:enabled
  356. + .mdc-radio__background
  357. .mdc-radio__inner-circle {
  358. border-color: var(--primary) !important;
  359. }
  360. .mat-mdc-radio-button.mat-mdc-radio-checked .mat-ripple-element {
  361. background-color: var(--primary) !important;
  362. }