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.

501 lines
6.8 KiB

  1. .column {
  2. flex-basis: 0;
  3. flex-grow: 1;
  4. flex-shrink: 1;
  5. padding: 10px;
  6. .columns.is-mobile > &.is-narrow {
  7. flex: none;
  8. }
  9. .columns.is-mobile > &.is-full {
  10. flex: none;
  11. width: 100%;
  12. }
  13. .columns.is-mobile > &.is-three-quarters {
  14. flex: none;
  15. width: 75%;
  16. }
  17. .columns.is-mobile > &.is-two-thirds {
  18. flex: none;
  19. width: 66.6666%;
  20. }
  21. .columns.is-mobile > &.is-half {
  22. flex: none;
  23. width: 50%;
  24. }
  25. .columns.is-mobile > &.is-one-third {
  26. flex: none;
  27. width: 33.3333%;
  28. }
  29. .columns.is-mobile > &.is-one-quarter {
  30. flex: none;
  31. width: 25%;
  32. }
  33. .columns.is-mobile > &.is-offset-three-quarters {
  34. margin-left: 75%;
  35. }
  36. .columns.is-mobile > &.is-offset-two-thirds {
  37. margin-left: 66.6666%;
  38. }
  39. .columns.is-mobile > &.is-offset-half {
  40. margin-left: 50%;
  41. }
  42. .columns.is-mobile > &.is-offset-one-third {
  43. margin-left: 33.3333%;
  44. }
  45. .columns.is-mobile > &.is-offset-one-quarter {
  46. margin-left: 25%;
  47. }
  48. @for $i from 1 through 12 {
  49. .columns.is-mobile > &.is-#{$i} {
  50. flex: none;
  51. width: $i / 12 * 100%;
  52. }
  53. .columns.is-mobile > &.is-offset-#{$i} {
  54. margin-left: $i / 12 * 100%;
  55. }
  56. }
  57. @include mobile {
  58. &.is-narrow-mobile {
  59. flex: none;
  60. }
  61. &.is-full-mobile {
  62. flex: none;
  63. width: 100%;
  64. }
  65. &.is-three-quarters-mobile {
  66. flex: none;
  67. width: 75%;
  68. }
  69. &.is-two-thirds-mobile {
  70. flex: none;
  71. width: 66.6666%;
  72. }
  73. &.is-half-mobile {
  74. flex: none;
  75. width: 50%;
  76. }
  77. &.is-one-third-mobile {
  78. flex: none;
  79. width: 33.3333%;
  80. }
  81. &.is-one-quarter-mobile {
  82. flex: none;
  83. width: 25%;
  84. }
  85. &.is-offset-three-quarters-mobile {
  86. margin-left: 75%;
  87. }
  88. &.is-offset-two-thirds-mobile {
  89. margin-left: 66.6666%;
  90. }
  91. &.is-offset-half-mobile {
  92. margin-left: 50%;
  93. }
  94. &.is-offset-one-third-mobile {
  95. margin-left: 33.3333%;
  96. }
  97. &.is-offset-one-quarter-mobile {
  98. margin-left: 25%;
  99. }
  100. @for $i from 1 through 12 {
  101. &.is-#{$i}-mobile {
  102. flex: none;
  103. width: $i / 12 * 100%;
  104. }
  105. &.is-offset-#{$i}-mobile {
  106. margin-left: $i / 12 * 100%;
  107. }
  108. }
  109. }
  110. @include tablet {
  111. &.is-narrow,
  112. &.is-narrow-tablet {
  113. flex: none;
  114. }
  115. &.is-full,
  116. &.is-full-tablet {
  117. flex: none;
  118. width: 100%;
  119. }
  120. &.is-three-quarters,
  121. &.is-three-quarters-tablet {
  122. flex: none;
  123. width: 75%;
  124. }
  125. &.is-two-thirds,
  126. &.is-two-thirds-tablet {
  127. flex: none;
  128. width: 66.6666%;
  129. }
  130. &.is-half,
  131. &.is-half-tablet {
  132. flex: none;
  133. width: 50%;
  134. }
  135. &.is-one-third,
  136. &.is-one-third-tablet {
  137. flex: none;
  138. width: 33.3333%;
  139. }
  140. &.is-one-quarter,
  141. &.is-one-quarter-tablet {
  142. flex: none;
  143. width: 25%;
  144. }
  145. &.is-offset-three-quarters,
  146. &.is-offset-three-quarters-tablet {
  147. margin-left: 75%;
  148. }
  149. &.is-offset-two-thirds,
  150. &.is-offset-two-thirds-tablet {
  151. margin-left: 66.6666%;
  152. }
  153. &.is-offset-half,
  154. &.is-offset-half-tablet {
  155. margin-left: 50%;
  156. }
  157. &.is-offset-one-third,
  158. &.is-offset-one-third-tablet {
  159. margin-left: 33.3333%;
  160. }
  161. &.is-offset-one-quarter,
  162. &.is-offset-one-quarter-tablet {
  163. margin-left: 25%;
  164. }
  165. @for $i from 1 through 12 {
  166. &.is-#{$i},
  167. &.is-#{$i}-tablet {
  168. flex: none;
  169. width: $i / 12 * 100%;
  170. }
  171. &.is-offset-#{$i},
  172. &.is-offset-#{$i}-tablet {
  173. margin-left: $i / 12 * 100%;
  174. }
  175. }
  176. }
  177. @include desktop {
  178. &.is-narrow-desktop {
  179. flex: none;
  180. }
  181. &.is-full-desktop {
  182. flex: none;
  183. width: 100%;
  184. }
  185. &.is-three-quarters-desktop {
  186. flex: none;
  187. width: 75%;
  188. }
  189. &.is-two-thirds-desktop {
  190. flex: none;
  191. width: 66.6666%;
  192. }
  193. &.is-half-desktop {
  194. flex: none;
  195. width: 50%;
  196. }
  197. &.is-one-third-desktop {
  198. flex: none;
  199. width: 33.3333%;
  200. }
  201. &.is-one-quarter-desktop {
  202. flex: none;
  203. width: 25%;
  204. }
  205. &.is-offset-three-quarters-desktop {
  206. margin-left: 75%;
  207. }
  208. &.is-offset-two-thirds-desktop {
  209. margin-left: 66.6666%;
  210. }
  211. &.is-offset-half-desktop {
  212. margin-left: 50%;
  213. }
  214. &.is-offset-one-third-desktop {
  215. margin-left: 33.3333%;
  216. }
  217. &.is-offset-one-quarter-desktop {
  218. margin-left: 25%;
  219. }
  220. @for $i from 1 through 12 {
  221. &.is-#{$i}-desktop {
  222. flex: none;
  223. width: $i / 12 * 100%;
  224. }
  225. &.is-offset-#{$i}-desktop {
  226. margin-left: $i / 12 * 100%;
  227. }
  228. }
  229. }
  230. @include widescreen {
  231. &.is-narrow-widescreen {
  232. flex: none;
  233. }
  234. &.is-full-widescreen {
  235. flex: none;
  236. width: 100%;
  237. }
  238. &.is-three-quarters-widescreen {
  239. flex: none;
  240. width: 75%;
  241. }
  242. &.is-two-thirds-widescreen {
  243. flex: none;
  244. width: 66.6666%;
  245. }
  246. &.is-half-widescreen {
  247. flex: none;
  248. width: 50%;
  249. }
  250. &.is-one-third-widescreen {
  251. flex: none;
  252. width: 33.3333%;
  253. }
  254. &.is-one-quarter-widescreen {
  255. flex: none;
  256. width: 25%;
  257. }
  258. &.is-offset-three-quarters-widescreen {
  259. margin-left: 75%;
  260. }
  261. &.is-offset-two-thirds-widescreen {
  262. margin-left: 66.6666%;
  263. }
  264. &.is-offset-half-widescreen {
  265. margin-left: 50%;
  266. }
  267. &.is-offset-one-third-widescreen {
  268. margin-left: 33.3333%;
  269. }
  270. &.is-offset-one-quarter-widescreen {
  271. margin-left: 25%;
  272. }
  273. @for $i from 1 through 12 {
  274. &.is-#{$i}-widescreen {
  275. flex: none;
  276. width: $i / 12 * 100%;
  277. }
  278. &.is-offset-#{$i}-widescreen {
  279. margin-left: $i / 12 * 100%;
  280. }
  281. }
  282. }
  283. }
  284. .columns {
  285. margin-left: -10px;
  286. margin-right: -10px;
  287. margin-top: -10px;
  288. &:last-child {
  289. margin-bottom: -10px;
  290. }
  291. &:not(:last-child) {
  292. margin-bottom: 10px;
  293. }
  294. // Modifiers
  295. &.is-centered {
  296. justify-content: center;
  297. }
  298. &.is-gapless {
  299. margin-left: 0;
  300. margin-right: 0;
  301. margin-top: 0;
  302. &:last-child {
  303. margin-bottom: 0;
  304. }
  305. &:not(:last-child) {
  306. margin-bottom: 20px;
  307. }
  308. & > .column {
  309. margin: 0;
  310. padding: 0;
  311. }
  312. }
  313. &.is-stretched {
  314. flex-grow: 1;
  315. align-items: stretch;
  316. align-self: stretch;
  317. }
  318. &.is-grid {
  319. // Responsiveness
  320. @include tablet {
  321. flex-wrap: wrap;
  322. & > .column {
  323. max-width: 33.3333%;
  324. padding: 10px;
  325. width: 33.3333%;
  326. & + .column {
  327. margin-left: 0;
  328. }
  329. }
  330. }
  331. }
  332. &.is-mobile {
  333. display: flex;
  334. }
  335. &.is-multiline {
  336. flex-wrap: wrap;
  337. }
  338. &.is-vcentered {
  339. align-items: center;
  340. }
  341. // Responsiveness
  342. @include tablet {
  343. &:not(.is-desktop) {
  344. display: flex;
  345. }
  346. }
  347. @include desktop {
  348. // Modifiers
  349. &.is-desktop {
  350. display: flex;
  351. }
  352. }
  353. }
  354. .tile {
  355. align-items: stretch;
  356. flex-basis: auto;
  357. flex-grow: 1;
  358. flex-shrink: 1;
  359. min-height: min-content;
  360. // Modifiers
  361. &.is-ancestor {
  362. margin-left: -10px;
  363. margin-right: -10px;
  364. margin-top: -10px;
  365. &:last-child {
  366. margin-bottom: -10px;
  367. }
  368. &:not(:last-child) {
  369. margin-bottom: 10px;
  370. }
  371. }
  372. &.is-child {
  373. margin: 0 !important;
  374. }
  375. &.is-parent {
  376. padding: 10px;
  377. }
  378. &.is-vertical {
  379. flex-direction: column;
  380. & > .tile.is-child:not(:last-child) {
  381. margin-bottom: 20px !important;
  382. }
  383. }
  384. // Responsiveness
  385. @include tablet {
  386. &:not(.is-child) {
  387. display: flex;
  388. }
  389. @for $i from 1 through 12 {
  390. &.is-#{$i} {
  391. flex: none;
  392. width: $i / 12 * 100%;
  393. }
  394. }
  395. }
  396. }
  397. .column.is-white {
  398. background-color: #FFF;
  399. }