megatron 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +43 -2
  3. data/app/assets/javascripts/megatron/form.js +36 -0
  4. data/app/assets/javascripts/megatron/index.js +93 -0
  5. data/app/assets/javascripts/megatron/link.js +58 -0
  6. data/app/assets/javascripts/megatron/utils/auto-navigate.js +24 -0
  7. data/app/assets/javascripts/megatron/utils/form-notify.js +39 -0
  8. data/app/assets/javascripts/megatron/utils/index.js +112 -0
  9. data/app/assets/javascripts/megatron/utils/messages.js +97 -0
  10. data/app/assets/javascripts/megatron/utils/time/date-to-html.js +59 -0
  11. data/app/assets/javascripts/megatron/utils/time/time-switch.js +87 -0
  12. data/app/assets/javascripts/megatron/utils/time/timeago.js +95 -0
  13. data/app/assets/javascripts/megatron/utils/toggler.js +163 -0
  14. data/app/assets/stylesheets/_example.scss +76 -0
  15. data/app/assets/stylesheets/_grid.scss +41 -0
  16. data/app/assets/stylesheets/_typography.scss +38 -0
  17. data/app/assets/stylesheets/application.scss +19 -0
  18. data/app/assets/stylesheets/megatron/error-pages.scss +164 -0
  19. data/app/assets/stylesheets/megatron/error-pages/_animations.scss +96 -0
  20. data/app/assets/stylesheets/megatron/error-pages/_csi.scss +41 -0
  21. data/app/assets/stylesheets/megatron/error-pages/_waves.scss +36 -0
  22. data/app/assets/stylesheets/megatron/megatron.scss +3 -0
  23. data/app/assets/stylesheets/megatron/modules/_crop-height.scss +5 -0
  24. data/app/assets/stylesheets/megatron/modules/_index.scss +22 -0
  25. data/app/assets/stylesheets/megatron/modules/_logo.scss +67 -0
  26. data/app/assets/stylesheets/megatron/modules/_new-tag.scss +11 -0
  27. data/app/assets/stylesheets/megatron/modules/_progress.scss +80 -0
  28. data/app/assets/stylesheets/megatron/modules/app/_animation-classes.scss +3 -0
  29. data/app/assets/stylesheets/megatron/modules/app/_animations.scss +62 -0
  30. data/app/assets/stylesheets/megatron/modules/app/_index.scss +5 -0
  31. data/app/assets/stylesheets/megatron/modules/app/_layout.scss +261 -0
  32. data/app/assets/stylesheets/megatron/modules/app/_sizes.scss +28 -0
  33. data/app/assets/stylesheets/megatron/modules/app/_typography.scss +111 -0
  34. data/app/assets/stylesheets/megatron/modules/box/_base.scss +94 -0
  35. data/app/assets/stylesheets/megatron/modules/box/_color-box.scss +33 -0
  36. data/app/assets/stylesheets/megatron/modules/box/_deployment_box.scss +37 -0
  37. data/app/assets/stylesheets/megatron/modules/box/_index.scss +4 -0
  38. data/app/assets/stylesheets/megatron/modules/box/_placeholder.scss +6 -0
  39. data/app/assets/stylesheets/megatron/modules/buttons/_animations.scss +35 -0
  40. data/app/assets/stylesheets/megatron/modules/buttons/_buttons.scss +266 -0
  41. data/app/assets/stylesheets/megatron/modules/buttons/_index.scss +4 -0
  42. data/app/assets/stylesheets/megatron/modules/buttons/_mixins.scss +108 -0
  43. data/app/assets/stylesheets/megatron/modules/buttons/_pills.scss +44 -0
  44. data/app/assets/stylesheets/megatron/modules/code/_codemirror.scss +98 -0
  45. data/app/assets/stylesheets/megatron/modules/code/_highlighted.scss +65 -0
  46. data/app/assets/stylesheets/megatron/modules/code/_index.scss +3 -0
  47. data/app/assets/stylesheets/megatron/modules/code/_syntax.scss +18 -0
  48. data/app/assets/stylesheets/megatron/modules/core/_colored-items.scss +22 -0
  49. data/app/assets/stylesheets/megatron/modules/core/_colors.scss +163 -0
  50. data/app/assets/stylesheets/megatron/modules/core/_index.scss +3 -0
  51. data/app/assets/stylesheets/megatron/modules/core/_mixins.scss +262 -0
  52. data/app/assets/stylesheets/megatron/modules/core/_vars.scss +30 -0
  53. data/app/assets/stylesheets/megatron/modules/core/_z-index.scss +3 -0
  54. data/app/assets/stylesheets/megatron/modules/dialog/_animations.scss +48 -0
  55. data/app/assets/stylesheets/megatron/modules/dialog/_dialog.scss +81 -0
  56. data/app/assets/stylesheets/megatron/modules/dialog/_index.scss +2 -0
  57. data/app/assets/stylesheets/megatron/modules/forms/_base.scss +31 -0
  58. data/app/assets/stylesheets/megatron/modules/forms/_check-radio.scss +99 -0
  59. data/app/assets/stylesheets/megatron/modules/forms/_check-switch.scss +88 -0
  60. data/app/assets/stylesheets/megatron/modules/forms/_footer.scss +13 -0
  61. data/app/assets/stylesheets/megatron/modules/forms/_index.scss +10 -0
  62. data/app/assets/stylesheets/megatron/modules/forms/_login.scss +92 -0
  63. data/app/assets/stylesheets/megatron/modules/forms/_radio-nav.scss +62 -0
  64. data/app/assets/stylesheets/megatron/modules/forms/_select.scss +37 -0
  65. data/app/assets/stylesheets/megatron/modules/forms/_stacked-form.scss +29 -0
  66. data/app/assets/stylesheets/megatron/modules/forms/_table-form.scss +53 -0
  67. data/app/assets/stylesheets/megatron/modules/forms/_text-input.scss +118 -0
  68. data/app/assets/stylesheets/megatron/modules/grids/_alignment.scss +39 -0
  69. data/app/assets/stylesheets/megatron/modules/grids/_grid.scss +144 -0
  70. data/app/assets/stylesheets/megatron/modules/grids/_index.scss +2 -0
  71. data/app/assets/stylesheets/megatron/modules/headers/_actions.scss +10 -0
  72. data/app/assets/stylesheets/megatron/modules/headers/_base.scss +67 -0
  73. data/app/assets/stylesheets/megatron/modules/headers/_index.scss +4 -0
  74. data/app/assets/stylesheets/megatron/modules/headers/_meta.scss +10 -0
  75. data/app/assets/stylesheets/megatron/modules/headers/_site-header.scss +8 -0
  76. data/app/assets/stylesheets/megatron/modules/lib/_codemirror.scss +301 -0
  77. data/app/assets/stylesheets/megatron/modules/lists/_base.scss +13 -0
  78. data/app/assets/stylesheets/megatron/modules/lists/_box-list.scss +53 -0
  79. data/app/assets/stylesheets/megatron/modules/lists/_index.scss +2 -0
  80. data/app/assets/stylesheets/megatron/modules/messages/_index.scss +3 -0
  81. data/app/assets/stylesheets/megatron/modules/messages/_notice.scss +57 -0
  82. data/app/assets/stylesheets/megatron/modules/messages/_notifications.scss +126 -0
  83. data/app/assets/stylesheets/megatron/modules/messages/_pop-message.scss +157 -0
  84. data/app/assets/stylesheets/megatron/modules/nav/_auto-navigate.scss +7 -0
  85. data/app/assets/stylesheets/megatron/modules/nav/_breadcrumbs.scss +35 -0
  86. data/app/assets/stylesheets/megatron/modules/nav/_index.scss +8 -0
  87. data/app/assets/stylesheets/megatron/modules/nav/_main-sidebar.scss +21 -0
  88. data/app/assets/stylesheets/megatron/modules/nav/_mixins.scss +53 -0
  89. data/app/assets/stylesheets/megatron/modules/nav/_nav-toggle.scss +61 -0
  90. data/app/assets/stylesheets/megatron/modules/nav/_primary-nav.scss +120 -0
  91. data/app/assets/stylesheets/megatron/modules/nav/_secondary-nav.scss +105 -0
  92. data/app/assets/stylesheets/megatron/modules/nav/_tabs.scss +87 -0
  93. data/app/assets/stylesheets/megatron/modules/roboticons/_font.scss +62 -0
  94. data/app/assets/stylesheets/megatron/modules/roboticons/_icons.scss +219 -0
  95. data/app/assets/stylesheets/megatron/modules/roboticons/_index.scss +2 -0
  96. data/app/assets/stylesheets/megatron/modules/slider/_base.scss +49 -0
  97. data/app/assets/stylesheets/megatron/modules/slider/_index.scss +4 -0
  98. data/app/assets/stylesheets/megatron/modules/slider/_slider.scss +282 -0
  99. data/app/assets/stylesheets/megatron/modules/slider/_switch.scss +75 -0
  100. data/app/assets/stylesheets/megatron/modules/slider/_themes.scss +42 -0
  101. data/app/assets/stylesheets/megatron/modules/tables/_base.scss +170 -0
  102. data/app/assets/stylesheets/megatron/modules/tables/_border-table.scss +28 -0
  103. data/app/assets/stylesheets/megatron/modules/tables/_box-table.scss +36 -0
  104. data/app/assets/stylesheets/megatron/modules/tables/_columns.scss +8 -0
  105. data/app/assets/stylesheets/megatron/modules/tables/_doc-table.scss +22 -0
  106. data/app/assets/stylesheets/megatron/modules/tables/_icon-cell.scss +9 -0
  107. data/app/assets/stylesheets/megatron/modules/tables/_index.scss +7 -0
  108. data/app/assets/stylesheets/megatron/modules/tables/_link-cell.scss +8 -0
  109. data/app/assets/stylesheets/megatron/modules/tables/_responsive-table.scss +13 -0
  110. data/app/assets/stylesheets/megatron/modules/widgets/_index.scss +1 -0
  111. data/app/assets/stylesheets/megatron/modules/widgets/_time-switch.scss +24 -0
  112. data/lib/megatron.rb +1 -1
  113. data/lib/megatron/engine.rb +5 -0
  114. data/lib/megatron/version.rb +1 -1
  115. data/lib/tasks/megatron_tasks.rake +4 -4
  116. data/public/assets/megatron/megatron-0.0.4.css +3 -0
  117. data/public/assets/megatron/{megatron-0.0.3.css.map → megatron-0.0.4.css.map} +3 -3
  118. data/public/assets/megatron/{megatron-0.0.3.js → megatron-0.0.4.js} +1 -1
  119. data/public/assets/megatron/megatron-0.0.4.map.json +1 -0
  120. metadata +115 -6
  121. data/public/assets/megatron/megatron-0.0.3.css +0 -2
  122. data/public/assets/megatron/megatron-0.0.3.map.json +0 -1
@@ -0,0 +1,5 @@
1
+ .crop-height {
2
+ max-height: 4.7em;
3
+ overflow-y: hidden;
4
+ position: relative;
5
+ }
@@ -0,0 +1,22 @@
1
+ @import "lib/codemirror";
2
+ @import "core/index";
3
+ @import "app/index";
4
+ @import "nav/index";
5
+ @import "headers/index";
6
+ @import "grids/index";
7
+ @import "buttons/index";
8
+ @import "box/index";
9
+ @import "messages/index";
10
+ @import "dialog/index";
11
+ @import "tables/index";
12
+ @import "forms/index";
13
+ @import "roboticons/index";
14
+ @import "lists/index";
15
+ @import "code/index";
16
+ @import "slider/index";
17
+ @import "progress";
18
+ @import "logo";
19
+ @import "crop-height";
20
+ @import "widgets/index";
21
+ @import "core/colored-items";
22
+ @import "new-tag";
@@ -0,0 +1,67 @@
1
+ $cube-animation-style: 1.5s ease-out infinite;
2
+
3
+ @include tetromino-graphics(small, 14px, 17px, fff, 262B30);
4
+
5
+ .header_logo {
6
+ position: relative;
7
+ &:before, &:after {
8
+ @extend %small-tetromino;
9
+ }
10
+ .hidden_label {
11
+ &:before, &:after {
12
+ @extend %small-tetromino;
13
+ }
14
+ }
15
+ }
16
+
17
+ .header_logo .hidden_label {
18
+ position: absolute;
19
+ clip: auto;
20
+ font-size: 0;
21
+ width: 125px;
22
+ height: 24px;
23
+ background: url('data:image/svg+xml;utf-8,%3Csvg viewBox="0 0 475 135" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"%3E%3Cpath d="M0 67.65c0-18.6 13.875-33.6 33.6-33.6 12.075 0 19.35 4.05 25.575 9.825l-9.15 10.575c-5.1-4.35-10.2-7.275-16.425-7.275-10.95 0-18.6 9.15-18.6 20.1v.375c0 10.95 7.65 20.475 18.6 20.475 7.275 0 12.075-2.925 16.8-7.65l9.15 9.15c-6.6 6.9-13.875 11.7-26.25 11.7C14.25 100.875 0 86.25 0 67.65zm100.725-33.6c-19.65 0-34.275 15-34.275 33.6 0 18.225 14.175 33.225 34.275 33.225 19.65 0 34.275-15 34.275-33.225v-.375c0-18.225-14.175-33.225-34.275-33.225zm0 54.075C89.025 88.125 81 78.6 81 67.65v-.375c0-10.95 8.025-20.1 19.35-20.1 11.7 0 19.725 9.15 19.725 20.475 0 10.95-7.65 20.475-19.35 20.475zM147.45 35.175h15.3l16.8 27.375 16.8-27.375h15.3v64.65H197.4v-42L179.175 85.2h-.375l-17.85-27.375v42h-13.875l.375-64.65zM253.575 35.175h-26.25l-.075 64.275h14.25V80.1h10.95c14.25 0 25.95-7.65 25.95-22.65 0-13.125-9.525-22.275-24.825-22.275zm10.575 22.65c0 5.475-4.425 9.825-11.325 9.825v-.3H241.5V47.625h10.95c7.35 0 11.7 3.6 11.7 9.825v.375zm56.175-23.775c-19.65 0-34.275 15-34.275 33.6 0 18.225 14.625 33.225 34.275 33.225s34.275-15 34.275-33.225v-.375c0-18.225-14.175-33.225-34.275-33.225zm.075 54.075c-11.7 0-19.725-9.525-19.725-20.475v-.375c0-10.95 7.65-20.1 19.35-20.1 11.7 0 19.725 9.15 19.725 20.475 0 10.95-8.025 20.1-19.35 20.475zm42 2.175l8.4-10.2c5.85 4.725 12.075 7.65 19.35 7.65 5.85 0 9.15-2.175 9.15-6.225v-.375c0-3.675-2.175-5.475-13.125-8.025-13.125-3.3-21.525-6.9-21.525-19.725v-.375c0-11.7 9.525-19.35 22.65-19.35 9.525 0 17.55 2.925 24.075 8.025L404.1 52.275c-5.85-4.05-11.325-6.225-16.8-6.225-5.475 0-8.4 2.55-8.4 5.475v.375c0 4.35 2.925 5.475 13.875 8.4 13.125 3.3 20.475 8.025 20.475 19.35 0 12.75-9.825 20.1-23.7 20.1-9.675.75-19.5-2.55-27.15-9.45zM425.85 35.175h48.525v12.75h-34.65V61.05h30.3V73.8h-30.3v13.5h35.025v12.75h-49.275l.375-64.875z" fill="%23fff" fill-rule="nonzero"/%3E%3C/svg%3E') no-repeat right 50%;
24
+ background-size: auto 100%;
25
+ }
26
+
27
+ .header_logo {
28
+ &:before { @extend %small-tetromino-position-1 }
29
+ .hidden_label:before { @extend %small-tetromino-position-2 }
30
+ .hidden_label:after { @extend %small-tetromino-position-3 }
31
+ &:after { @extend %small-tetromino-position-4 }
32
+ }
33
+ //.nprogress-busy { //animate when site is in busy mode
34
+ .header_logo:hover {
35
+ &:before { animation: small-tetromino-animation-1 $cube-animation-style; }
36
+ .hidden_label:before { animation: small-tetromino-animation-2 $cube-animation-style; }
37
+ .hidden_label:after { animation: small-tetromino-animation-3 $cube-animation-style; z-index: 2; }
38
+ &:after { animation: small-tetromino-animation-4 $cube-animation-style; }
39
+ }
40
+
41
+ $large-width: 70px;
42
+ $large-height: $large-width * 1.173;
43
+ @include tetromino-graphics(large, $large-width, $large-height, 4a89dc, fbfbfb);
44
+
45
+ .box-message {
46
+ text-align: center;
47
+ padding: $block-margin 0 ($block-margin * 2);
48
+ margin: $block-margin 0;
49
+ }
50
+
51
+ .loading-graphic-wrapper {
52
+ position: relative;
53
+ height: $large-height * 1.7;
54
+ width: $large-width * 2.5;
55
+ padding-top: 15px;
56
+ text-align: left;
57
+ margin: ($block-margin * 2.5) auto;
58
+
59
+ &:before, &:after,
60
+ .loading-graphic:before,
61
+ .loading-graphic:after { @extend %large-tetromino; }
62
+
63
+ &:before { animation: large-tetromino-animation-1 $cube-animation-style; }
64
+ .loading-graphic:before { animation: large-tetromino-animation-2 $cube-animation-style; }
65
+ .loading-graphic:after { animation: large-tetromino-animation-3 $cube-animation-style; z-index: 2; }
66
+ &:after { animation: large-tetromino-animation-4 $cube-animation-style; }
67
+ }
@@ -0,0 +1,11 @@
1
+ .new-tag {
2
+ font-size: .6em;
3
+ background: $blue;
4
+ color: rgba($white, .85);
5
+ border-radius: 4px;
6
+ line-height: 1.5em;
7
+ padding: 2px 4px;
8
+ vertical-align: middle;
9
+ font-weight: bold;
10
+ text-transform: uppercase;
11
+ }
@@ -0,0 +1,80 @@
1
+ @keyframes slide-bg-x {
2
+ 0% { background-position: 0 0; }
3
+ 100% { background-position: 100% 0; }
4
+ }
5
+
6
+ @keyframes slide-down-progress {
7
+ 0% { transform: translateY(-5px); }
8
+ 100% { transform: translateY(0px); }
9
+ }
10
+
11
+ @keyframes slide-up-progress {
12
+ 0% { transform: translateY(0px); }
13
+ 100% { transform: translateY(-5px); }
14
+ }
15
+
16
+ .progress_bar {
17
+ position: fixed;
18
+ top: 0; left: 0;
19
+ height: 5px;
20
+ width: 100%;
21
+ overflow-x: hidden;
22
+ animation: slide-down-progress .3s ease-out;
23
+
24
+ &.out {
25
+ animation: slide-up-progress .3s ease-out;
26
+ }
27
+
28
+ &:after {
29
+ content: "";
30
+ animation: slide-bg-x 1.4s linear infinite;
31
+ position: absolute;
32
+ left: 0;
33
+ top: 0;
34
+ width: 300%;
35
+ height: 5px;
36
+ background: {
37
+ image: linear-gradient(to right, $blue, $base-bg, $blue);
38
+ repeat: repeat-x;
39
+ position: 0px 0px;
40
+ size: 50% 100%;
41
+ }
42
+ }
43
+ }
44
+
45
+ @keyframes ripple {
46
+ 0% {
47
+ opacity: .1;
48
+ border-width: 20px;
49
+ transform: scale3d(.1, .1, 1);
50
+ }
51
+ 100% {
52
+ opacity: .2;
53
+ border-width: 0px;
54
+ transform: scale3d(1, 1, 1);
55
+ }
56
+ }
57
+
58
+ .progress_drop {
59
+ position: relative;
60
+ width: 40px;
61
+ height: 40px;
62
+ margin: 0 auto;
63
+
64
+ &:before, &:after {
65
+ left: 0; top: 0;
66
+ position: absolute;
67
+ content: "";
68
+ width: 40px;
69
+ height: 40px;
70
+ border-radius: 30px;
71
+ border: 1px solid $blue;
72
+ animation: ripple 1.5s linear infinite;
73
+ box-sizing: border-box;
74
+ }
75
+
76
+ &:after {
77
+ opacity: 0;
78
+ animation-delay: .75s;
79
+ }
80
+ }
@@ -0,0 +1,3 @@
1
+ .appear {
2
+ animation: fade-in .4s ease-in;
3
+ }
@@ -0,0 +1,62 @@
1
+ @keyframes slide-down {
2
+ 0% {
3
+ opacity: 0;
4
+ transform: translateY(-40px) }
5
+ 100% {
6
+ opacity: 1;
7
+ transform: translateY(0) }
8
+ }
9
+
10
+ @keyframes slide-up {
11
+ 0% {
12
+ opacity: 1;
13
+ transform: translateY(0) }
14
+ 100% {
15
+ opacity: 0;
16
+ transform: translateY(-40px) }
17
+ }
18
+
19
+ @keyframes fade-in {
20
+ 0% {
21
+ opacity: 0;
22
+ }
23
+ 100% {
24
+ opacity: 1;
25
+ }
26
+ }
27
+
28
+ @keyframes fade-out {
29
+ 0% {
30
+ opacity: 1;
31
+ }
32
+ 100% {
33
+ opacity: 0;
34
+ }
35
+ }
36
+
37
+ @keyframes spin {
38
+ 0% {
39
+ transform: rotate(0deg);
40
+ }
41
+ 100% {
42
+ transform: rotate(360deg);
43
+ }
44
+ }
45
+
46
+ @keyframes half-spin {
47
+ 0% {
48
+ transform: rotate(-180deg);
49
+ }
50
+ 100% {
51
+ transform: rotate(0deg);
52
+ }
53
+ }
54
+
55
+ @keyframes zoom-in {
56
+ 0% {
57
+ transform: scale(.8, .8);
58
+ }
59
+ 100% {
60
+ transform: scale(1,1);
61
+ }
62
+ }
@@ -0,0 +1,5 @@
1
+ @import "layout";
2
+ @import "sizes";
3
+ @import "typography";
4
+ @import "animations";
5
+ @import "animation-classes";
@@ -0,0 +1,261 @@
1
+
2
+ * { box-sizing: border-box; }
3
+
4
+ html {
5
+ height: 100%;
6
+ background: $base-bg;
7
+ color: $text-color;
8
+ }
9
+
10
+ body {
11
+ height: 100%;
12
+ padding: 0;
13
+ margin: 0;
14
+ &:after { content: ""; } // ensure HTML flows over full site.
15
+ }
16
+
17
+ a {
18
+ color: $link-color;
19
+ }
20
+
21
+ .site {
22
+ position: relative;
23
+ height: 100%;
24
+ width: 100%;
25
+ }
26
+
27
+ // Primary container layout
28
+ //
29
+ .site-content {
30
+ height: 100%;
31
+ padding-top: $page-header-height;
32
+ }
33
+
34
+ .primary_nav {
35
+ width: map-get($primary-nav-width, small);
36
+ float: left;
37
+ position: absolute;
38
+ background: $base-bg;
39
+ }
40
+
41
+ .page {
42
+ transition: transform .2s ease-out;
43
+ position: relative;
44
+ z-index: 1;
45
+ height: 100%;
46
+ width: 100%;
47
+ float: right;
48
+ border-top: 1px solid transparent;
49
+ background: $main-bg;
50
+ }
51
+
52
+ .secondary_nav {
53
+ display: table;
54
+ width: 100%;
55
+ }
56
+
57
+ .page-content {
58
+ background: $main-bg;
59
+ }
60
+
61
+ .main {
62
+ padding-top: 1px;
63
+ display: table;
64
+ table-layout: fixed;
65
+ width: 100%;
66
+ height: 100%;
67
+ vertical-align: top;
68
+ @include h-pad-box;
69
+ @include bottom-pad-box((50px, 100px));
70
+
71
+ // Allow full-height content to kill padding
72
+ &.no-v-pad {
73
+ padding-bottom: 0;
74
+ }
75
+ }
76
+
77
+ // Style .secondary_nav and .main as columns
78
+ @include at-least($small) {
79
+ .page-content {
80
+ margin-top: -$page-header-height;
81
+ padding-top: $page-header-height;
82
+ height: 100%;
83
+ display: table;
84
+ width: 100%;
85
+ }
86
+
87
+ .secondary_nav {
88
+ display: table-cell;
89
+ height: 100%;
90
+ vertical-align: top;
91
+ width: map-get($secondary-nav-width, small);
92
+ position: relative;
93
+ }
94
+ }
95
+
96
+ // Style .page and .primary_nav as columns
97
+ @include at-least($medium) {
98
+ .site-content {
99
+ display: table;
100
+ table-layout: fixed;
101
+ width: 100%;
102
+ }
103
+
104
+ .page {
105
+ float: none;
106
+ display: table-cell;
107
+ vertical-align: top;
108
+ }
109
+
110
+ .primary_nav {
111
+ width: map-get($primary-nav-width, large);
112
+ float: none;
113
+ position: static;
114
+ display: table-cell;
115
+ vertical-align: top;
116
+ z-index: $z-primary-nav;
117
+ }
118
+
119
+ .page, .page-header, .page-content {
120
+ border-top-left-radius: 5px;
121
+ }
122
+
123
+ }
124
+
125
+ @include at-least($x-large) {
126
+ .main.with-sidebar {
127
+ padding: 0;
128
+ }
129
+ .main-content {
130
+ vertical-align: top;
131
+ display: table-cell;
132
+ padding: { left: nth($h-pad-box, 2); right: nth($h-pad-box, 2); }
133
+ padding-bottom: 100px;
134
+ }
135
+
136
+ .main-sidebar {
137
+ vertical-align: top;
138
+ display: table-cell;
139
+ width: $main-sidebar-width;
140
+ @include h-pad-box;
141
+ }
142
+
143
+ .secondary_nav {
144
+ width: 1%;
145
+ }
146
+ }
147
+
148
+ @include at-least($max) {
149
+ .site {
150
+ width: $max;
151
+ }
152
+ .login-layout .site { width: auto; }
153
+
154
+ .page, .page-header, .page-content {
155
+ border-top-right-radius: 5px;
156
+ }
157
+ }
158
+
159
+ .site.small-card {
160
+ max-width: $small;
161
+ height: auto;
162
+ margin: 60px auto 0;
163
+
164
+ .main {
165
+ padding-bottom: 1em;
166
+ }
167
+
168
+ @include at-least($small) {
169
+ .page, .page-header, .page-content {
170
+ border-top-right-radius: 5px;
171
+ border-top-left-radius: 5px;
172
+ }
173
+ .page, .page-content {
174
+ border-bottom-right-radius: 5px;
175
+ border-bottom-left-radius: 5px;
176
+ }
177
+ }
178
+ }
179
+
180
+ .padded {
181
+ @include pad-box;
182
+ }
183
+
184
+ .h-padded {
185
+ @include h-pad-box;
186
+ }
187
+
188
+ .v-padded {
189
+ @include v-pad-box;
190
+ }
191
+
192
+ .block-margin {
193
+ margin: { top: $block-margin; bottom: $block-margin; }
194
+ }
195
+
196
+ .top-block-margin {
197
+ margin: { top: $block-margin; }
198
+ }
199
+
200
+ .bottom-block-margin {
201
+ margin: { bottom: $block-margin; }
202
+ }
203
+
204
+ .no-margin.no-margin {
205
+ margin: {
206
+ top: 0;
207
+ bottom: 0;
208
+ right: 0;
209
+ left: 0;
210
+ }
211
+ }
212
+
213
+ .no-padding.no-padding {
214
+ padding: {
215
+ top: 0;
216
+ bottom: 0;
217
+ right: 0;
218
+ left: 0;
219
+ }
220
+ }
221
+
222
+ .block {
223
+ display: block;
224
+ }
225
+
226
+ .no-wrap {
227
+ white-space: nowrap;
228
+ }
229
+ .center-block {
230
+ margin: { left: auto; right: auto; }
231
+ }
232
+
233
+ .no-top-margin.no-top-margin {
234
+ margin-top: 0;
235
+ }
236
+
237
+ .no-bottom-margin.no-bottom-margin {
238
+ margin-bottom: 0;
239
+ }
240
+
241
+ .short-margin {
242
+ margin: { top: $block-margin/2; bottom: $block-margin/2; }
243
+ }
244
+
245
+ .tall-margin {
246
+ margin: { top: $block-margin*2; bottom: $block-margin*2; }
247
+ }
248
+
249
+ .wide { @include invert-h-pad; }
250
+ .expand { @include invert-h-pad; }
251
+
252
+ .fill { width: 100%; max-width: 100%; }
253
+
254
+ .limit-width { max-width: 100%; }
255
+
256
+ .auto-width { width: auto; }
257
+
258
+ .hidden {
259
+ visibility: hidden;
260
+ display: none !important;
261
+ }