Project: Mall App Client: Maiora
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 

320 行
6.3 KiB

  1. /*
  2. * App Global CSS
  3. * ----------------------------------------------------------------------------
  4. * Put style rules here that you want to apply globally. These styles are for
  5. * the entire app and not just one component. Additionally, this file can be
  6. * used as an entry point to import other CSS/Sass files to be included in the
  7. * output CSS.
  8. * For more information on global stylesheets, visit the documentation:
  9. * https://ionicframework.com/docs/layout/global-stylesheets
  10. */
  11. /* Core CSS required for Ionic components to work properly */
  12. @import "~@ionic/angular/css/core.css"; /* Basic CSS for apps built with Ionic */
  13. @import "~@ionic/angular/css/normalize.css";
  14. @import "~@ionic/angular/css/structure.css";
  15. @import "~@ionic/angular/css/typography.css";
  16. @import '~@ionic/angular/css/display.css'; /* Optional CSS utils that can be commented out */
  17. @import "~@ionic/angular/css/padding.css";
  18. @import "~@ionic/angular/css/float-elements.css";
  19. @import "~@ionic/angular/css/text-alignment.css";
  20. @import "~@ionic/angular/css/text-transformation.css";
  21. @import "~@ionic/angular/css/flex-utils.css";
  22. ion-content {
  23. --padding-bottom: 30px;
  24. }
  25. a,
  26. button,
  27. div,
  28. input,
  29. ion-button,
  30. p {
  31. font-family: 'Roboto', sans-serif;
  32. text-transform: none;
  33. outline: none;
  34. font-weight: 500;
  35. text-decoration: none;
  36. }
  37. h1,
  38. h2,
  39. h3,
  40. h4,
  41. h5 {
  42. margin: 0;
  43. }
  44. figure {
  45. margin: 0;
  46. }
  47. * {
  48. font-family: 'M PLUS Rounded 1c', sans-serif;
  49. margin: 0;
  50. }
  51. .results-utilities-holder {
  52. display: flex;
  53. width: 100%;
  54. margin: 10px auto 0;
  55. justify-content: space-between;
  56. align-items: center;
  57. font-weight: bold;
  58. &.no-padding {
  59. margin: 0 auto;
  60. }
  61. h5 {
  62. margin: 0 0 0 10px;
  63. color: var(--brand-dark-grey);
  64. font-size: 10px;
  65. }
  66. ion-button {
  67. margin: 0;
  68. font-size: 10px;
  69. padding: 0;
  70. }
  71. }
  72. .result-list ion-item {
  73. margin: 0 0 20px;
  74. ion-label {
  75. padding: 0;
  76. margin: 0;
  77. }
  78. img {
  79. align-self: flex-start;
  80. width: 70px;
  81. height: 70px;
  82. object-fit: cover;
  83. margin-right: 15px;
  84. }
  85. h3 {
  86. margin: 0;
  87. color: var(--brand-dark-grey);
  88. font-weight: 500;
  89. font-size: 14px;
  90. letter-spacing: 0.5px;
  91. text-overflow: ellipsis;
  92. display: flex;
  93. justify-content: space-between;
  94. ion-icon {
  95. color: var(--brand-grey);
  96. font-size: 16px;
  97. &.active {
  98. color: var(--brand-blue);
  99. }
  100. }
  101. }
  102. .description {
  103. font-size: 10px;
  104. color: var(--brand-grey);
  105. }
  106. .offers-holder {
  107. display: flex;
  108. justify-content: space-between;
  109. color: var(--brand-yellow);
  110. letter-spacing: 0.5px;
  111. border-bottom: 1px solid #efefef;
  112. padding: 0 0 7px;
  113. margin-bottom: 7px;
  114. align-items: center;
  115. ion-icon {
  116. color: var(--brand-grey);
  117. }
  118. .offer {
  119. font-size: 11px;
  120. width: 50%;
  121. }
  122. }
  123. .utilities-holder {
  124. display: flex;
  125. justify-content: space-between;
  126. align-items: center;
  127. .container {
  128. display: flex;
  129. width: 40%;
  130. justify-content: space-between;
  131. &:last-child {
  132. justify-content: flex-end;
  133. }
  134. .utility {
  135. width: 50%;
  136. font-size: 10px;
  137. color: var(--brand-grey);
  138. font-weight: bold;
  139. }
  140. .utility-button {
  141. text-align: right;
  142. background-color: transparent;
  143. border: 0;
  144. font-size: 16px;
  145. color: var(--brand-grey);
  146. }
  147. }
  148. }
  149. }
  150. .common-semi-modal {
  151. background-color: white;
  152. position: fixed;
  153. width: 100%;
  154. bottom: 0;
  155. left: 0;
  156. box-shadow: 0 0 5px var(--brand-grey);
  157. transition: transform 0.3s, opacity 0.3s;
  158. transform: translateY(50vh);
  159. opacity: 0;
  160. pointer-events: none;
  161. z-index: 5;
  162. &.active {
  163. opacity: 1;
  164. pointer-events: all;
  165. transform: translateY(0);
  166. }
  167. header {
  168. background-color: var(--brand-blue);
  169. color: white;
  170. display: flex;
  171. justify-content: space-between;
  172. padding: 15px;
  173. font-size: 14px;
  174. align-items: center;
  175. position: sticky;
  176. position: -webkit-sticky;
  177. top: 0;
  178. z-index: 1;
  179. button {
  180. background-color: transparent;
  181. border: 1px solid white;
  182. font-size: 10px;
  183. height: 25px;
  184. padding: 0 15px;
  185. color: white;
  186. border-radius: 30px;
  187. letter-spacing: 1px;
  188. }
  189. }
  190. &.sort-holder {
  191. .sort-buttons-holder {
  192. display: flex;
  193. padding: 15px;
  194. flex-wrap: wrap;
  195. justify-content: space-around;
  196. position: relative;
  197. button {
  198. background-color: transparent;
  199. color: var(--brand-dark-grey);
  200. font-size: 10px;
  201. margin-bottom: 30px;
  202. &.active {
  203. color: var(--brand-blue);
  204. .icon-holder {
  205. border-color: var(--brand-blue);
  206. color: var(--brand-blue);
  207. }
  208. }
  209. .icon-holder {
  210. border: 1px solid var(--brand-grey);
  211. color: var(--brand-grey);
  212. width: 50px;
  213. height: 50px;
  214. margin: 0 auto 10px;
  215. display: flex;
  216. justify-content: center;
  217. align-items: center;
  218. border-radius: 50%;
  219. letter-spacing: 0.5px;
  220. font-size: 15px;
  221. ion-icon {
  222. font-size: 24px;
  223. }
  224. }
  225. }
  226. }
  227. }
  228. &.filter-holder {
  229. height: 80vh;
  230. overflow-y: auto;
  231. transform: translateY(80vh);
  232. &.active {
  233. transform: translateY(0);
  234. }
  235. &.with-border {
  236. ion-item {
  237. border-bottom: 1px solid #efefef;
  238. --padding-start: 20px;
  239. --padding-end: 20px;
  240. --padding-top: 10px;
  241. --padding-bottom: 10px;
  242. }
  243. }
  244. ion-list {
  245. ion-item {
  246. --inner-border-width: 0;
  247. --color: var(--brand-dark-grey);
  248. font-size: 14px;
  249. ion-label {
  250. padding-left: 20px;
  251. letter-spacing: 0.5px;
  252. font-weight: 500;
  253. text-transform: capitalize;
  254. .heading {
  255. font-size: 14px;
  256. font-weight: 500;
  257. }
  258. .code {
  259. font-size: 12px;
  260. margin: 3px 0;
  261. span {
  262. color: var(--brand-blue);
  263. font-weight: 600;
  264. }
  265. }
  266. a,
  267. p {
  268. color: var(--brand-grey);
  269. font-size: 12px;
  270. line-height: 1.5;
  271. }
  272. a {
  273. text-decoration: underline;
  274. }
  275. }
  276. }
  277. ion-checkbox {
  278. --background-checked: var(--brand-blue);
  279. --border-color: var(--brand-blue);
  280. --size: 16px;
  281. }
  282. ion-radio {
  283. align-self: flex-start;
  284. --color-checked: var(--brand-blue);
  285. transform: scale(0.7);
  286. }
  287. }
  288. }
  289. }
  290. .common-advertisement-banner {
  291. width: 90%;
  292. margin: 15px auto;
  293. a {
  294. display: block;
  295. border: 2px solid var(--brand-grey);
  296. border-radius: 5px;
  297. overflow: hidden;
  298. }
  299. figure {
  300. display: block;
  301. width: 100%;
  302. height: 100px;
  303. img {
  304. display: block;
  305. width: 100%;
  306. height: 100%;
  307. object-fit: cover;
  308. }
  309. }
  310. }