jekyll-theme-portfolio 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.md +21 -0
  3. data/README.md +19 -0
  4. data/_includes/footer.html +57 -0
  5. data/_includes/head.html +12 -0
  6. data/_includes/header.html +43 -0
  7. data/_layouts/default.html +20 -0
  8. data/_layouts/home.html +41 -0
  9. data/_layouts/page.html +13 -0
  10. data/_layouts/portfolio.html +66 -0
  11. data/_layouts/post.html +23 -0
  12. data/_sass/_bootstrap_customization.scss +332 -0
  13. data/_sass/_syntax-highlighting.scss +74 -0
  14. data/_sass/_variables.scss +106 -0
  15. data/_sass/bootstrap-4-jekyll/_bootstrap-4-jekyll.scss +8 -0
  16. data/_sass/bootstrap/__DO_NOT_MODIFY +0 -0
  17. data/_sass/bootstrap/_alert.scss +51 -0
  18. data/_sass/bootstrap/_badge.scss +54 -0
  19. data/_sass/bootstrap/_breadcrumb.scss +41 -0
  20. data/_sass/bootstrap/_button-group.scss +163 -0
  21. data/_sass/bootstrap/_buttons.scss +137 -0
  22. data/_sass/bootstrap/_card.scss +289 -0
  23. data/_sass/bootstrap/_carousel.scss +197 -0
  24. data/_sass/bootstrap/_close.scss +41 -0
  25. data/_sass/bootstrap/_code.scss +48 -0
  26. data/_sass/bootstrap/_custom-forms.scss +507 -0
  27. data/_sass/bootstrap/_dropdown.scss +191 -0
  28. data/_sass/bootstrap/_forms.scss +330 -0
  29. data/_sass/bootstrap/_functions.scss +86 -0
  30. data/_sass/bootstrap/_grid.scss +52 -0
  31. data/_sass/bootstrap/_images.scss +42 -0
  32. data/_sass/bootstrap/_input-group.scss +193 -0
  33. data/_sass/bootstrap/_jumbotron.scss +17 -0
  34. data/_sass/bootstrap/_list-group.scss +149 -0
  35. data/_sass/bootstrap/_media.scss +8 -0
  36. data/_sass/bootstrap/_mixins.scss +47 -0
  37. data/_sass/bootstrap/_modal.scss +229 -0
  38. data/_sass/bootstrap/_nav.scss +120 -0
  39. data/_sass/bootstrap/_navbar.scss +294 -0
  40. data/_sass/bootstrap/_pagination.scss +73 -0
  41. data/_sass/bootstrap/_popover.scss +171 -0
  42. data/_sass/bootstrap/_print.scss +141 -0
  43. data/_sass/bootstrap/_progress.scss +43 -0
  44. data/_sass/bootstrap/_reboot.scss +483 -0
  45. data/_sass/bootstrap/_root.scss +19 -0
  46. data/_sass/bootstrap/_spinners.scss +55 -0
  47. data/_sass/bootstrap/_tables.scss +185 -0
  48. data/_sass/bootstrap/_toasts.scss +44 -0
  49. data/_sass/bootstrap/_tooltip.scss +115 -0
  50. data/_sass/bootstrap/_transitions.scss +20 -0
  51. data/_sass/bootstrap/_type.scss +125 -0
  52. data/_sass/bootstrap/_utilities.scss +17 -0
  53. data/_sass/bootstrap/_variables.scss +1123 -0
  54. data/_sass/bootstrap/bootstrap-grid.scss +29 -0
  55. data/_sass/bootstrap/bootstrap-reboot.scss +12 -0
  56. data/_sass/bootstrap/bootstrap.scss +44 -0
  57. data/_sass/bootstrap/mixins/_alert.scss +13 -0
  58. data/_sass/bootstrap/mixins/_background-variant.scss +21 -0
  59. data/_sass/bootstrap/mixins/_badge.scss +17 -0
  60. data/_sass/bootstrap/mixins/_border-radius.scss +63 -0
  61. data/_sass/bootstrap/mixins/_box-shadow.scss +20 -0
  62. data/_sass/bootstrap/mixins/_breakpoints.scss +123 -0
  63. data/_sass/bootstrap/mixins/_buttons.scss +107 -0
  64. data/_sass/bootstrap/mixins/_caret.scss +62 -0
  65. data/_sass/bootstrap/mixins/_clearfix.scss +7 -0
  66. data/_sass/bootstrap/mixins/_deprecate.scss +10 -0
  67. data/_sass/bootstrap/mixins/_float.scss +14 -0
  68. data/_sass/bootstrap/mixins/_forms.scss +192 -0
  69. data/_sass/bootstrap/mixins/_gradients.scss +45 -0
  70. data/_sass/bootstrap/mixins/_grid-framework.scss +66 -0
  71. data/_sass/bootstrap/mixins/_grid.scss +51 -0
  72. data/_sass/bootstrap/mixins/_hover.scss +37 -0
  73. data/_sass/bootstrap/mixins/_image.scss +36 -0
  74. data/_sass/bootstrap/mixins/_list-group.scss +21 -0
  75. data/_sass/bootstrap/mixins/_lists.scss +7 -0
  76. data/_sass/bootstrap/mixins/_nav-divider.scss +10 -0
  77. data/_sass/bootstrap/mixins/_pagination.scss +22 -0
  78. data/_sass/bootstrap/mixins/_reset-text.scss +17 -0
  79. data/_sass/bootstrap/mixins/_resize.scss +6 -0
  80. data/_sass/bootstrap/mixins/_screen-reader.scss +33 -0
  81. data/_sass/bootstrap/mixins/_size.scss +7 -0
  82. data/_sass/bootstrap/mixins/_table-row.scss +39 -0
  83. data/_sass/bootstrap/mixins/_text-emphasis.scss +16 -0
  84. data/_sass/bootstrap/mixins/_text-hide.scss +11 -0
  85. data/_sass/bootstrap/mixins/_text-truncate.scss +8 -0
  86. data/_sass/bootstrap/mixins/_transition.scss +16 -0
  87. data/_sass/bootstrap/mixins/_visibility.scss +8 -0
  88. data/_sass/bootstrap/utilities/_align.scss +8 -0
  89. data/_sass/bootstrap/utilities/_background.scss +19 -0
  90. data/_sass/bootstrap/utilities/_borders.scss +75 -0
  91. data/_sass/bootstrap/utilities/_clearfix.scss +3 -0
  92. data/_sass/bootstrap/utilities/_display.scss +26 -0
  93. data/_sass/bootstrap/utilities/_embed.scss +39 -0
  94. data/_sass/bootstrap/utilities/_flex.scss +51 -0
  95. data/_sass/bootstrap/utilities/_float.scss +11 -0
  96. data/_sass/bootstrap/utilities/_overflow.scss +5 -0
  97. data/_sass/bootstrap/utilities/_position.scss +32 -0
  98. data/_sass/bootstrap/utilities/_screenreaders.scss +11 -0
  99. data/_sass/bootstrap/utilities/_shadows.scss +6 -0
  100. data/_sass/bootstrap/utilities/_sizing.scss +20 -0
  101. data/_sass/bootstrap/utilities/_spacing.scss +73 -0
  102. data/_sass/bootstrap/utilities/_stretched-link.scss +19 -0
  103. data/_sass/bootstrap/utilities/_text.scss +72 -0
  104. data/_sass/bootstrap/utilities/_visibility.scss +13 -0
  105. data/_sass/bootstrap/vendor/_rfs.scss +204 -0
  106. data/assets/images/projects/nativescript.png +0 -0
  107. data/assets/images/projects/puppet.png +0 -0
  108. data/assets/javascript/bootstrap/__DO_NOT_MODIFY +0 -0
  109. data/assets/javascript/bootstrap/bootstrap.bundle.min.js +7 -0
  110. data/assets/javascript/bootstrap/bootstrap.bundle.min.js.map +1 -0
  111. data/assets/javascript/bootstrap/jquery.min.js +2 -0
  112. data/assets/javascript/bootstrap/jquery.min.map +1 -0
  113. data/assets/main.scss +9 -0
  114. metadata +219 -0
@@ -0,0 +1,73 @@
1
+ .pagination {
2
+ display: flex;
3
+ @include list-unstyled();
4
+ @include border-radius();
5
+ }
6
+
7
+ .page-link {
8
+ position: relative;
9
+ display: block;
10
+ padding: $pagination-padding-y $pagination-padding-x;
11
+ margin-left: -$pagination-border-width;
12
+ line-height: $pagination-line-height;
13
+ color: $pagination-color;
14
+ background-color: $pagination-bg;
15
+ border: $pagination-border-width solid $pagination-border-color;
16
+
17
+ &:hover {
18
+ z-index: 2;
19
+ color: $pagination-hover-color;
20
+ text-decoration: none;
21
+ background-color: $pagination-hover-bg;
22
+ border-color: $pagination-hover-border-color;
23
+ }
24
+
25
+ &:focus {
26
+ z-index: 2;
27
+ outline: $pagination-focus-outline;
28
+ box-shadow: $pagination-focus-box-shadow;
29
+ }
30
+ }
31
+
32
+ .page-item {
33
+ &:first-child {
34
+ .page-link {
35
+ margin-left: 0;
36
+ @include border-left-radius($border-radius);
37
+ }
38
+ }
39
+ &:last-child {
40
+ .page-link {
41
+ @include border-right-radius($border-radius);
42
+ }
43
+ }
44
+
45
+ &.active .page-link {
46
+ z-index: 1;
47
+ color: $pagination-active-color;
48
+ background-color: $pagination-active-bg;
49
+ border-color: $pagination-active-border-color;
50
+ }
51
+
52
+ &.disabled .page-link {
53
+ color: $pagination-disabled-color;
54
+ pointer-events: none;
55
+ // Opinionated: remove the "hand" cursor set previously for .page-link
56
+ cursor: auto;
57
+ background-color: $pagination-disabled-bg;
58
+ border-color: $pagination-disabled-border-color;
59
+ }
60
+ }
61
+
62
+
63
+ //
64
+ // Sizing
65
+ //
66
+
67
+ .pagination-lg {
68
+ @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);
69
+ }
70
+
71
+ .pagination-sm {
72
+ @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);
73
+ }
@@ -0,0 +1,171 @@
1
+ .popover {
2
+ position: absolute;
3
+ top: 0;
4
+ left: 0;
5
+ z-index: $zindex-popover;
6
+ display: block;
7
+ max-width: $popover-max-width;
8
+ // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
9
+ // So reset our font and text properties to avoid inheriting weird values.
10
+ @include reset-text();
11
+ @include font-size($popover-font-size);
12
+ // Allow breaking very long words so they don't overflow the popover's bounds
13
+ word-wrap: break-word;
14
+ background-color: $popover-bg;
15
+ background-clip: padding-box;
16
+ border: $popover-border-width solid $popover-border-color;
17
+ @include border-radius($popover-border-radius);
18
+ @include box-shadow($popover-box-shadow);
19
+
20
+ .arrow {
21
+ position: absolute;
22
+ display: block;
23
+ width: $popover-arrow-width;
24
+ height: $popover-arrow-height;
25
+ margin: 0 $border-radius-lg;
26
+
27
+ &::before,
28
+ &::after {
29
+ position: absolute;
30
+ display: block;
31
+ content: "";
32
+ border-color: transparent;
33
+ border-style: solid;
34
+ }
35
+ }
36
+ }
37
+
38
+ .bs-popover-top {
39
+ margin-bottom: $popover-arrow-height;
40
+
41
+ > .arrow {
42
+ bottom: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
43
+
44
+ &::before {
45
+ bottom: 0;
46
+ border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;
47
+ border-top-color: $popover-arrow-outer-color;
48
+ }
49
+
50
+ &::after {
51
+ bottom: $popover-border-width;
52
+ border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;
53
+ border-top-color: $popover-arrow-color;
54
+ }
55
+ }
56
+ }
57
+
58
+ .bs-popover-right {
59
+ margin-left: $popover-arrow-height;
60
+
61
+ > .arrow {
62
+ left: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
63
+ width: $popover-arrow-height;
64
+ height: $popover-arrow-width;
65
+ margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners
66
+
67
+ &::before {
68
+ left: 0;
69
+ border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;
70
+ border-right-color: $popover-arrow-outer-color;
71
+ }
72
+
73
+ &::after {
74
+ left: $popover-border-width;
75
+ border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;
76
+ border-right-color: $popover-arrow-color;
77
+ }
78
+ }
79
+ }
80
+
81
+ .bs-popover-bottom {
82
+ margin-top: $popover-arrow-height;
83
+
84
+ > .arrow {
85
+ top: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
86
+
87
+ &::before {
88
+ top: 0;
89
+ border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);
90
+ border-bottom-color: $popover-arrow-outer-color;
91
+ }
92
+
93
+ &::after {
94
+ top: $popover-border-width;
95
+ border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);
96
+ border-bottom-color: $popover-arrow-color;
97
+ }
98
+ }
99
+
100
+ // This will remove the popover-header's border just below the arrow
101
+ .popover-header::before {
102
+ position: absolute;
103
+ top: 0;
104
+ left: 50%;
105
+ display: block;
106
+ width: $popover-arrow-width;
107
+ margin-left: -$popover-arrow-width / 2;
108
+ content: "";
109
+ border-bottom: $popover-border-width solid $popover-header-bg;
110
+ }
111
+ }
112
+
113
+ .bs-popover-left {
114
+ margin-right: $popover-arrow-height;
115
+
116
+ > .arrow {
117
+ right: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
118
+ width: $popover-arrow-height;
119
+ height: $popover-arrow-width;
120
+ margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners
121
+
122
+ &::before {
123
+ right: 0;
124
+ border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;
125
+ border-left-color: $popover-arrow-outer-color;
126
+ }
127
+
128
+ &::after {
129
+ right: $popover-border-width;
130
+ border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;
131
+ border-left-color: $popover-arrow-color;
132
+ }
133
+ }
134
+ }
135
+
136
+ .bs-popover-auto {
137
+ &[x-placement^="top"] {
138
+ @extend .bs-popover-top;
139
+ }
140
+ &[x-placement^="right"] {
141
+ @extend .bs-popover-right;
142
+ }
143
+ &[x-placement^="bottom"] {
144
+ @extend .bs-popover-bottom;
145
+ }
146
+ &[x-placement^="left"] {
147
+ @extend .bs-popover-left;
148
+ }
149
+ }
150
+
151
+
152
+ // Offset the popover to account for the popover arrow
153
+ .popover-header {
154
+ padding: $popover-header-padding-y $popover-header-padding-x;
155
+ margin-bottom: 0; // Reset the default from Reboot
156
+ @include font-size($font-size-base);
157
+ color: $popover-header-color;
158
+ background-color: $popover-header-bg;
159
+ border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);
160
+ $offset-border-width: calc(#{$border-radius-lg} - #{$popover-border-width});
161
+ @include border-top-radius($offset-border-width);
162
+
163
+ &:empty {
164
+ display: none;
165
+ }
166
+ }
167
+
168
+ .popover-body {
169
+ padding: $popover-body-padding-y $popover-body-padding-x;
170
+ color: $popover-body-color;
171
+ }
@@ -0,0 +1,141 @@
1
+ // stylelint-disable declaration-no-important, selector-no-qualifying-type
2
+
3
+ // Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css
4
+
5
+ // ==========================================================================
6
+ // Print styles.
7
+ // Inlined to avoid the additional HTTP request:
8
+ // https://www.phpied.com/delay-loading-your-print-css/
9
+ // ==========================================================================
10
+
11
+ @if $enable-print-styles {
12
+ @media print {
13
+ *,
14
+ *::before,
15
+ *::after {
16
+ // Bootstrap specific; comment out `color` and `background`
17
+ //color: $black !important; // Black prints faster
18
+ text-shadow: none !important;
19
+ //background: transparent !important;
20
+ box-shadow: none !important;
21
+ }
22
+
23
+ a {
24
+ &:not(.btn) {
25
+ text-decoration: underline;
26
+ }
27
+ }
28
+
29
+ // Bootstrap specific; comment the following selector out
30
+ //a[href]::after {
31
+ // content: " (" attr(href) ")";
32
+ //}
33
+
34
+ abbr[title]::after {
35
+ content: " (" attr(title) ")";
36
+ }
37
+
38
+ // Bootstrap specific; comment the following selector out
39
+ //
40
+ // Don't show links that are fragment identifiers,
41
+ // or use the `javascript:` pseudo protocol
42
+ //
43
+
44
+ //a[href^="#"]::after,
45
+ //a[href^="javascript:"]::after {
46
+ // content: "";
47
+ //}
48
+
49
+ pre {
50
+ white-space: pre-wrap !important;
51
+ }
52
+ pre,
53
+ blockquote {
54
+ border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px
55
+ page-break-inside: avoid;
56
+ }
57
+
58
+ //
59
+ // Printing Tables:
60
+ // http://css-discuss.incutio.com/wiki/Printing_Tables
61
+ //
62
+
63
+ thead {
64
+ display: table-header-group;
65
+ }
66
+
67
+ tr,
68
+ img {
69
+ page-break-inside: avoid;
70
+ }
71
+
72
+ p,
73
+ h2,
74
+ h3 {
75
+ orphans: 3;
76
+ widows: 3;
77
+ }
78
+
79
+ h2,
80
+ h3 {
81
+ page-break-after: avoid;
82
+ }
83
+
84
+ // Bootstrap specific changes start
85
+
86
+ // Specify a size and min-width to make printing closer across browsers.
87
+ // We don't set margin here because it breaks `size` in Chrome. We also
88
+ // don't use `!important` on `size` as it breaks in Chrome.
89
+ @page {
90
+ size: $print-page-size;
91
+ }
92
+ body {
93
+ min-width: $print-body-min-width !important;
94
+ }
95
+ .container {
96
+ min-width: $print-body-min-width !important;
97
+ }
98
+
99
+ // Bootstrap components
100
+ .navbar {
101
+ display: none;
102
+ }
103
+ .badge {
104
+ border: $border-width solid $black;
105
+ }
106
+
107
+ .table {
108
+ border-collapse: collapse !important;
109
+
110
+ td,
111
+ th {
112
+ background-color: $white !important;
113
+ }
114
+ }
115
+
116
+ .table-bordered {
117
+ th,
118
+ td {
119
+ border: 1px solid $gray-300 !important;
120
+ }
121
+ }
122
+
123
+ .table-dark {
124
+ color: inherit;
125
+
126
+ th,
127
+ td,
128
+ thead th,
129
+ tbody + tbody {
130
+ border-color: $table-border-color;
131
+ }
132
+ }
133
+
134
+ .table .thead-dark th {
135
+ color: inherit;
136
+ border-color: $table-border-color;
137
+ }
138
+
139
+ // Bootstrap specific changes end
140
+ }
141
+ }
@@ -0,0 +1,43 @@
1
+ // Disable animation if transitions are disabled
2
+ @if $enable-transitions {
3
+ @keyframes progress-bar-stripes {
4
+ from { background-position: $progress-height 0; }
5
+ to { background-position: 0 0; }
6
+ }
7
+ }
8
+
9
+ .progress {
10
+ display: flex;
11
+ height: $progress-height;
12
+ overflow: hidden; // force rounded corners by cropping it
13
+ @include font-size($progress-font-size);
14
+ background-color: $progress-bg;
15
+ @include border-radius($progress-border-radius);
16
+ @include box-shadow($progress-box-shadow);
17
+ }
18
+
19
+ .progress-bar {
20
+ display: flex;
21
+ flex-direction: column;
22
+ justify-content: center;
23
+ color: $progress-bar-color;
24
+ text-align: center;
25
+ white-space: nowrap;
26
+ background-color: $progress-bar-bg;
27
+ @include transition($progress-bar-transition);
28
+ }
29
+
30
+ .progress-bar-striped {
31
+ @include gradient-striped();
32
+ background-size: $progress-height $progress-height;
33
+ }
34
+
35
+ @if $enable-transitions {
36
+ .progress-bar-animated {
37
+ animation: progress-bar-stripes $progress-bar-animation-timing;
38
+
39
+ @media (prefers-reduced-motion: reduce) {
40
+ animation: none;
41
+ }
42
+ }
43
+ }
@@ -0,0 +1,483 @@
1
+ // stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix
2
+
3
+ // Reboot
4
+ //
5
+ // Normalization of HTML elements, manually forked from Normalize.css to remove
6
+ // styles targeting irrelevant browsers while applying new styles.
7
+ //
8
+ // Normalize is licensed MIT. https://github.com/necolas/normalize.css
9
+
10
+
11
+ // Document
12
+ //
13
+ // 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.
14
+ // 2. Change the default font family in all browsers.
15
+ // 3. Correct the line height in all browsers.
16
+ // 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.
17
+ // 5. Change the default tap highlight to be completely transparent in iOS.
18
+
19
+ *,
20
+ *::before,
21
+ *::after {
22
+ box-sizing: border-box; // 1
23
+ }
24
+
25
+ html {
26
+ font-family: sans-serif; // 2
27
+ line-height: 1.15; // 3
28
+ -webkit-text-size-adjust: 100%; // 4
29
+ -webkit-tap-highlight-color: rgba($black, 0); // 5
30
+ }
31
+
32
+ // Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers)
33
+ // TODO: remove in v5
34
+ // stylelint-disable-next-line selector-list-comma-newline-after
35
+ article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
36
+ display: block;
37
+ }
38
+
39
+ // Body
40
+ //
41
+ // 1. Remove the margin in all browsers.
42
+ // 2. As a best practice, apply a default `background-color`.
43
+ // 3. Set an explicit initial text-align value so that we can later use
44
+ // the `inherit` value on things like `<th>` elements.
45
+
46
+ body {
47
+ margin: 0; // 1
48
+ font-family: $font-family-base;
49
+ @include font-size($font-size-base);
50
+ font-weight: $font-weight-base;
51
+ line-height: $line-height-base;
52
+ color: $body-color;
53
+ text-align: left; // 3
54
+ background-color: $body-bg; // 2
55
+ }
56
+
57
+ // Suppress the focus outline on elements that cannot be accessed via keyboard.
58
+ // This prevents an unwanted focus outline from appearing around elements that
59
+ // might still respond to pointer events.
60
+ //
61
+ // Credit: https://github.com/suitcss/base
62
+ [tabindex="-1"]:focus {
63
+ outline: 0 !important;
64
+ }
65
+
66
+
67
+ // Content grouping
68
+ //
69
+ // 1. Add the correct box sizing in Firefox.
70
+ // 2. Show the overflow in Edge and IE.
71
+
72
+ hr {
73
+ box-sizing: content-box; // 1
74
+ height: 0; // 1
75
+ overflow: visible; // 2
76
+ }
77
+
78
+
79
+ //
80
+ // Typography
81
+ //
82
+
83
+ // Remove top margins from headings
84
+ //
85
+ // By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top
86
+ // margin for easier control within type scales as it avoids margin collapsing.
87
+ // stylelint-disable-next-line selector-list-comma-newline-after
88
+ h1, h2, h3, h4, h5, h6 {
89
+ margin-top: 0;
90
+ margin-bottom: $headings-margin-bottom;
91
+ }
92
+
93
+ // Reset margins on paragraphs
94
+ //
95
+ // Similarly, the top margin on `<p>`s get reset. However, we also reset the
96
+ // bottom margin to use `rem` units instead of `em`.
97
+ p {
98
+ margin-top: 0;
99
+ margin-bottom: $paragraph-margin-bottom;
100
+ }
101
+
102
+ // Abbreviations
103
+ //
104
+ // 1. Duplicate behavior to the data-* attribute for our tooltip plugin
105
+ // 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
106
+ // 3. Add explicit cursor to indicate changed behavior.
107
+ // 4. Remove the bottom border in Firefox 39-.
108
+ // 5. Prevent the text-decoration to be skipped.
109
+
110
+ abbr[title],
111
+ abbr[data-original-title] { // 1
112
+ text-decoration: underline; // 2
113
+ text-decoration: underline dotted; // 2
114
+ cursor: help; // 3
115
+ border-bottom: 0; // 4
116
+ text-decoration-skip-ink: none; // 5
117
+ }
118
+
119
+ address {
120
+ margin-bottom: 1rem;
121
+ font-style: normal;
122
+ line-height: inherit;
123
+ }
124
+
125
+ ol,
126
+ ul,
127
+ dl {
128
+ margin-top: 0;
129
+ margin-bottom: 1rem;
130
+ }
131
+
132
+ ol ol,
133
+ ul ul,
134
+ ol ul,
135
+ ul ol {
136
+ margin-bottom: 0;
137
+ }
138
+
139
+ dt {
140
+ font-weight: $dt-font-weight;
141
+ }
142
+
143
+ dd {
144
+ margin-bottom: .5rem;
145
+ margin-left: 0; // Undo browser default
146
+ }
147
+
148
+ blockquote {
149
+ margin: 0 0 1rem;
150
+ }
151
+
152
+ b,
153
+ strong {
154
+ font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari
155
+ }
156
+
157
+ small {
158
+ @include font-size(80%); // Add the correct font size in all browsers
159
+ }
160
+
161
+ //
162
+ // Prevent `sub` and `sup` elements from affecting the line height in
163
+ // all browsers.
164
+ //
165
+
166
+ sub,
167
+ sup {
168
+ position: relative;
169
+ @include font-size(75%);
170
+ line-height: 0;
171
+ vertical-align: baseline;
172
+ }
173
+
174
+ sub { bottom: -.25em; }
175
+ sup { top: -.5em; }
176
+
177
+
178
+ //
179
+ // Links
180
+ //
181
+
182
+ a {
183
+ color: $link-color;
184
+ text-decoration: $link-decoration;
185
+ background-color: transparent; // Remove the gray background on active links in IE 10.
186
+
187
+ @include hover {
188
+ color: $link-hover-color;
189
+ text-decoration: $link-hover-decoration;
190
+ }
191
+ }
192
+
193
+ // And undo these styles for placeholder links/named anchors (without href)
194
+ // which have not been made explicitly keyboard-focusable (without tabindex).
195
+ // It would be more straightforward to just use a[href] in previous block, but that
196
+ // causes specificity issues in many other styles that are too complex to fix.
197
+ // See https://github.com/twbs/bootstrap/issues/19402
198
+
199
+ a:not([href]):not([tabindex]) {
200
+ color: inherit;
201
+ text-decoration: none;
202
+
203
+ @include hover-focus {
204
+ color: inherit;
205
+ text-decoration: none;
206
+ }
207
+
208
+ &:focus {
209
+ outline: 0;
210
+ }
211
+ }
212
+
213
+
214
+ //
215
+ // Code
216
+ //
217
+
218
+ pre,
219
+ code,
220
+ kbd,
221
+ samp {
222
+ font-family: $font-family-monospace;
223
+ @include font-size(1em); // Correct the odd `em` font sizing in all browsers.
224
+ }
225
+
226
+ pre {
227
+ // Remove browser default top margin
228
+ margin-top: 0;
229
+ // Reset browser default of `1em` to use `rem`s
230
+ margin-bottom: 1rem;
231
+ // Don't allow content to break outside
232
+ overflow: auto;
233
+ }
234
+
235
+
236
+ //
237
+ // Figures
238
+ //
239
+
240
+ figure {
241
+ // Apply a consistent margin strategy (matches our type styles).
242
+ margin: 0 0 1rem;
243
+ }
244
+
245
+
246
+ //
247
+ // Images and content
248
+ //
249
+
250
+ img {
251
+ vertical-align: middle;
252
+ border-style: none; // Remove the border on images inside links in IE 10-.
253
+ }
254
+
255
+ svg {
256
+ // Workaround for the SVG overflow bug in IE10/11 is still required.
257
+ // See https://github.com/twbs/bootstrap/issues/26878
258
+ overflow: hidden;
259
+ vertical-align: middle;
260
+ }
261
+
262
+
263
+ //
264
+ // Tables
265
+ //
266
+
267
+ table {
268
+ border-collapse: collapse; // Prevent double borders
269
+ }
270
+
271
+ caption {
272
+ padding-top: $table-cell-padding;
273
+ padding-bottom: $table-cell-padding;
274
+ color: $table-caption-color;
275
+ text-align: left;
276
+ caption-side: bottom;
277
+ }
278
+
279
+ th {
280
+ // Matches default `<td>` alignment by inheriting from the `<body>`, or the
281
+ // closest parent with a set `text-align`.
282
+ text-align: inherit;
283
+ }
284
+
285
+
286
+ //
287
+ // Forms
288
+ //
289
+
290
+ label {
291
+ // Allow labels to use `margin` for spacing.
292
+ display: inline-block;
293
+ margin-bottom: $label-margin-bottom;
294
+ }
295
+
296
+ // Remove the default `border-radius` that macOS Chrome adds.
297
+ //
298
+ // Details at https://github.com/twbs/bootstrap/issues/24093
299
+ button {
300
+ // stylelint-disable-next-line property-blacklist
301
+ border-radius: 0;
302
+ }
303
+
304
+ // Work around a Firefox/IE bug where the transparent `button` background
305
+ // results in a loss of the default `button` focus styles.
306
+ //
307
+ // Credit: https://github.com/suitcss/base/
308
+ button:focus {
309
+ outline: 1px dotted;
310
+ outline: 5px auto -webkit-focus-ring-color;
311
+ }
312
+
313
+ input,
314
+ button,
315
+ select,
316
+ optgroup,
317
+ textarea {
318
+ margin: 0; // Remove the margin in Firefox and Safari
319
+ font-family: inherit;
320
+ @include font-size(inherit);
321
+ line-height: inherit;
322
+ }
323
+
324
+ button,
325
+ input {
326
+ overflow: visible; // Show the overflow in Edge
327
+ }
328
+
329
+ button,
330
+ select {
331
+ text-transform: none; // Remove the inheritance of text transform in Firefox
332
+ }
333
+
334
+ // Remove the inheritance of word-wrap in Safari.
335
+ //
336
+ // Details at https://github.com/twbs/bootstrap/issues/24990
337
+ select {
338
+ word-wrap: normal;
339
+ }
340
+
341
+
342
+ // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
343
+ // controls in Android 4.
344
+ // 2. Correct the inability to style clickable types in iOS and Safari.
345
+ button,
346
+ [type="button"], // 1
347
+ [type="reset"],
348
+ [type="submit"] {
349
+ -webkit-appearance: button; // 2
350
+ }
351
+
352
+ // Opinionated: add "hand" cursor to non-disabled button elements.
353
+ @if $enable-pointer-cursor-for-buttons {
354
+ button,
355
+ [type="button"],
356
+ [type="reset"],
357
+ [type="submit"] {
358
+ &:not(:disabled) {
359
+ cursor: pointer;
360
+ }
361
+ }
362
+ }
363
+
364
+ // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.
365
+ button::-moz-focus-inner,
366
+ [type="button"]::-moz-focus-inner,
367
+ [type="reset"]::-moz-focus-inner,
368
+ [type="submit"]::-moz-focus-inner {
369
+ padding: 0;
370
+ border-style: none;
371
+ }
372
+
373
+ input[type="radio"],
374
+ input[type="checkbox"] {
375
+ box-sizing: border-box; // 1. Add the correct box sizing in IE 10-
376
+ padding: 0; // 2. Remove the padding in IE 10-
377
+ }
378
+
379
+
380
+ input[type="date"],
381
+ input[type="time"],
382
+ input[type="datetime-local"],
383
+ input[type="month"] {
384
+ // Remove the default appearance of temporal inputs to avoid a Mobile Safari
385
+ // bug where setting a custom line-height prevents text from being vertically
386
+ // centered within the input.
387
+ // See https://bugs.webkit.org/show_bug.cgi?id=139848
388
+ // and https://github.com/twbs/bootstrap/issues/11266
389
+ -webkit-appearance: listbox;
390
+ }
391
+
392
+ textarea {
393
+ overflow: auto; // Remove the default vertical scrollbar in IE.
394
+ // Textareas should really only resize vertically so they don't break their (horizontal) containers.
395
+ resize: vertical;
396
+ }
397
+
398
+ fieldset {
399
+ // Browsers set a default `min-width: min-content;` on fieldsets,
400
+ // unlike e.g. `<div>`s, which have `min-width: 0;` by default.
401
+ // So we reset that to ensure fieldsets behave more like a standard block element.
402
+ // See https://github.com/twbs/bootstrap/issues/12359
403
+ // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements
404
+ min-width: 0;
405
+ // Reset the default outline behavior of fieldsets so they don't affect page layout.
406
+ padding: 0;
407
+ margin: 0;
408
+ border: 0;
409
+ }
410
+
411
+ // 1. Correct the text wrapping in Edge and IE.
412
+ // 2. Correct the color inheritance from `fieldset` elements in IE.
413
+ legend {
414
+ display: block;
415
+ width: 100%;
416
+ max-width: 100%; // 1
417
+ padding: 0;
418
+ margin-bottom: .5rem;
419
+ @include font-size(1.5rem);
420
+ line-height: inherit;
421
+ color: inherit; // 2
422
+ white-space: normal; // 1
423
+ }
424
+
425
+ progress {
426
+ vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.
427
+ }
428
+
429
+ // Correct the cursor style of increment and decrement buttons in Chrome.
430
+ [type="number"]::-webkit-inner-spin-button,
431
+ [type="number"]::-webkit-outer-spin-button {
432
+ height: auto;
433
+ }
434
+
435
+ [type="search"] {
436
+ // This overrides the extra rounded corners on search inputs in iOS so that our
437
+ // `.form-control` class can properly style them. Note that this cannot simply
438
+ // be added to `.form-control` as it's not specific enough. For details, see
439
+ // https://github.com/twbs/bootstrap/issues/11586.
440
+ outline-offset: -2px; // 2. Correct the outline style in Safari.
441
+ -webkit-appearance: none;
442
+ }
443
+
444
+ //
445
+ // Remove the inner padding in Chrome and Safari on macOS.
446
+ //
447
+
448
+ [type="search"]::-webkit-search-decoration {
449
+ -webkit-appearance: none;
450
+ }
451
+
452
+ //
453
+ // 1. Correct the inability to style clickable types in iOS and Safari.
454
+ // 2. Change font properties to `inherit` in Safari.
455
+ //
456
+
457
+ ::-webkit-file-upload-button {
458
+ font: inherit; // 2
459
+ -webkit-appearance: button; // 1
460
+ }
461
+
462
+ //
463
+ // Correct element displays
464
+ //
465
+
466
+ output {
467
+ display: inline-block;
468
+ }
469
+
470
+ summary {
471
+ display: list-item; // Add the correct display in all browsers
472
+ cursor: pointer;
473
+ }
474
+
475
+ template {
476
+ display: none; // Add the correct display in IE
477
+ }
478
+
479
+ // Always hide an element with the `hidden` HTML attribute (from PureCSS).
480
+ // Needed for proper display in IE 10-.
481
+ [hidden] {
482
+ display: none !important;
483
+ }