styles.scss 8.4 KB

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