├── public_html └── assets │ ├── scss │ ├── components │ │ ├── _forms.scss │ │ ├── _progressbar.scss │ │ ├── _buttons.scss │ │ ├── _table.scss │ │ ├── _list.scss │ │ ├── _navbar.scss │ │ └── _pagination.scss │ ├── vendors │ │ └── bootstrap-4.3.1 │ │ │ ├── utilities │ │ │ ├── _clearfix.scss │ │ │ ├── _overflow.scss │ │ │ ├── _screenreaders.scss │ │ │ ├── _visibility.scss │ │ │ ├── _shadows.scss │ │ │ ├── _float.scss │ │ │ ├── _align.scss │ │ │ ├── _background.scss │ │ │ ├── _stretched-link.scss │ │ │ ├── _sizing.scss │ │ │ ├── _position.scss │ │ │ ├── _display.scss │ │ │ ├── _embed.scss │ │ │ ├── _borders.scss │ │ │ ├── _text.scss │ │ │ ├── _spacing.scss │ │ │ └── _flex.scss │ │ │ ├── _media.scss │ │ │ ├── mixins │ │ │ ├── _clearfix.scss │ │ │ ├── _size.scss │ │ │ ├── _lists.scss │ │ │ ├── _text-truncate.scss │ │ │ ├── _resize.scss │ │ │ ├── _visibility.scss │ │ │ ├── _alert.scss │ │ │ ├── _nav-divider.scss │ │ │ ├── _text-hide.scss │ │ │ ├── _badge.scss │ │ │ ├── _transition.scss │ │ │ ├── _float.scss │ │ │ ├── _text-emphasis.scss │ │ │ ├── _list-group.scss │ │ │ ├── _reset-text.scss │ │ │ ├── _pagination.scss │ │ │ ├── _background-variant.scss │ │ │ ├── _box-shadow.scss │ │ │ ├── _deprecate.scss │ │ │ ├── _screen-reader.scss │ │ │ ├── _hover.scss │ │ │ ├── _table-row.scss │ │ │ ├── _image.scss │ │ │ ├── _border-radius.scss │ │ │ ├── _caret.scss │ │ │ ├── _grid.scss │ │ │ ├── _grid-framework.scss │ │ │ ├── _gradients.scss │ │ │ ├── _buttons.scss │ │ │ ├── _breakpoints.scss │ │ │ └── _forms.scss │ │ │ ├── _transitions.scss │ │ │ ├── _jumbotron.scss │ │ │ ├── _utilities.scss │ │ │ ├── _root.scss │ │ │ ├── _close.scss │ │ │ ├── _toasts.scss │ │ │ ├── _code.scss │ │ │ ├── _grid.scss │ │ │ ├── _progress.scss │ │ │ ├── _mixins.scss │ │ │ ├── _spinners.scss │ │ │ ├── _images.scss │ │ │ ├── _badge.scss │ │ │ ├── _alert.scss │ │ │ ├── _breadcrumb.scss │ │ │ ├── _pagination.scss │ │ │ ├── _nav.scss │ │ │ ├── _type.scss │ │ │ ├── _functions.scss │ │ │ ├── _tooltip.scss │ │ │ ├── _buttons.scss │ │ │ ├── _print.scss │ │ │ ├── _button-group.scss │ │ │ ├── _tables.scss │ │ │ ├── _list-group.scss │ │ │ ├── _dropdown.scss │ │ │ ├── _popover.scss │ │ │ ├── _carousel.scss │ │ │ ├── _input-group.scss │ │ │ ├── _modal.scss │ │ │ ├── _card.scss │ │ │ ├── vendor │ │ │ └── _rfs.scss │ │ │ ├── _navbar.scss │ │ │ ├── _forms.scss │ │ │ └── _reboot.scss │ ├── base │ │ ├── _reset.scss │ │ └── _typography.scss │ ├── abstracts │ │ ├── _mixins.scss │ │ └── _utilities.scss │ ├── layout │ │ ├── _header.scss │ │ └── _sections.scss │ └── pigga.scss │ ├── imgs │ ├── head.PNG │ ├── about-1.jpg │ ├── about-2.jpg │ ├── about-3.jpg │ ├── about-4.jpg │ ├── avatar-1.jpg │ ├── avatar-2.jpg │ ├── avatar.jpg │ ├── chef-1.jpg │ ├── chef-2.jpg │ ├── chef-3.jpg │ ├── contact.jpg │ ├── dish-1.jpg │ ├── dish-2.jpg │ ├── dish-3.jpg │ ├── dish-4.jpg │ ├── dish-5.jpg │ ├── dish-6.jpg │ ├── header.jpg │ ├── section.jpg │ ├── style-1.png │ ├── style-2.png │ ├── style-3.png │ └── style-4.png │ ├── vendors │ ├── themify-icons │ │ └── fonts │ │ │ ├── themify.eot │ │ │ ├── themify.ttf │ │ │ └── themify.woff │ └── bootstrap │ │ └── bootstrap.affix.js │ └── js │ └── pigga.js ├── README.md ├── package.json └── gulpfile.js /public_html/assets/scss/components/_forms.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ShineTime-Template 2 | ShineTime-Template 3 | Good Simple template 4 | 5 | ##Developer: Rwema 6 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/utilities/_clearfix.scss: -------------------------------------------------------------------------------- 1 | .clearfix { 2 | @include clearfix(); 3 | } 4 | -------------------------------------------------------------------------------- /public_html/assets/imgs/head.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/head.PNG -------------------------------------------------------------------------------- /public_html/assets/imgs/about-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/about-1.jpg -------------------------------------------------------------------------------- /public_html/assets/imgs/about-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/about-2.jpg -------------------------------------------------------------------------------- /public_html/assets/imgs/about-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/about-3.jpg -------------------------------------------------------------------------------- /public_html/assets/imgs/about-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/about-4.jpg -------------------------------------------------------------------------------- /public_html/assets/imgs/avatar-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/avatar-1.jpg -------------------------------------------------------------------------------- /public_html/assets/imgs/avatar-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/avatar-2.jpg -------------------------------------------------------------------------------- /public_html/assets/imgs/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/avatar.jpg -------------------------------------------------------------------------------- /public_html/assets/imgs/chef-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/chef-1.jpg -------------------------------------------------------------------------------- /public_html/assets/imgs/chef-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/chef-2.jpg -------------------------------------------------------------------------------- /public_html/assets/imgs/chef-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/chef-3.jpg -------------------------------------------------------------------------------- /public_html/assets/imgs/contact.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/contact.jpg -------------------------------------------------------------------------------- /public_html/assets/imgs/dish-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/dish-1.jpg -------------------------------------------------------------------------------- /public_html/assets/imgs/dish-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/dish-2.jpg -------------------------------------------------------------------------------- /public_html/assets/imgs/dish-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/dish-3.jpg -------------------------------------------------------------------------------- /public_html/assets/imgs/dish-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/dish-4.jpg -------------------------------------------------------------------------------- /public_html/assets/imgs/dish-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/dish-5.jpg -------------------------------------------------------------------------------- /public_html/assets/imgs/dish-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/dish-6.jpg -------------------------------------------------------------------------------- /public_html/assets/imgs/header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/header.jpg -------------------------------------------------------------------------------- /public_html/assets/imgs/section.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/section.jpg -------------------------------------------------------------------------------- /public_html/assets/imgs/style-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/style-1.png -------------------------------------------------------------------------------- /public_html/assets/imgs/style-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/style-2.png -------------------------------------------------------------------------------- /public_html/assets/imgs/style-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/style-3.png -------------------------------------------------------------------------------- /public_html/assets/imgs/style-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/imgs/style-4.png -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_media.scss: -------------------------------------------------------------------------------- 1 | .media { 2 | display: flex; 3 | align-items: flex-start; 4 | } 5 | 6 | .media-body { 7 | flex: 1; 8 | } 9 | -------------------------------------------------------------------------------- /public_html/assets/vendors/themify-icons/fonts/themify.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/vendors/themify-icons/fonts/themify.eot -------------------------------------------------------------------------------- /public_html/assets/vendors/themify-icons/fonts/themify.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/vendors/themify-icons/fonts/themify.ttf -------------------------------------------------------------------------------- /public_html/assets/vendors/themify-icons/fonts/themify.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rwema3/ShineTime-Template/HEAD/public_html/assets/vendors/themify-icons/fonts/themify.woff -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_clearfix.scss: -------------------------------------------------------------------------------- 1 | @mixin clearfix() { 2 | &::after { 3 | display: block; 4 | clear: both; 5 | content: ""; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/utilities/_overflow.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @each $value in $overflows { 4 | .overflow-#{$value} { overflow: $value !important; } 5 | } 6 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_size.scss: -------------------------------------------------------------------------------- 1 | // Sizing shortcuts 2 | 3 | @mixin size($width, $height: $width) { 4 | width: $width; 5 | height: $height; 6 | @include deprecate("`size()`", "v4.3.0", "v5"); 7 | } 8 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/utilities/_screenreaders.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Screenreaders 3 | // 4 | 5 | .sr-only { 6 | @include sr-only(); 7 | } 8 | 9 | .sr-only-focusable { 10 | @include sr-only-focusable(); 11 | } 12 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_lists.scss: -------------------------------------------------------------------------------- 1 | // Lists 2 | 3 | // Unstyled keeps list items block level, just removes default browser padding and list-style 4 | @mixin list-unstyled { 5 | padding-left: 0; 6 | list-style: none; 7 | } 8 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_text-truncate.scss: -------------------------------------------------------------------------------- 1 | // Text truncate 2 | // Requires inline-block or block for proper styling 3 | 4 | @mixin text-truncate() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_resize.scss: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | @mixin resizable($direction) { 4 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 5 | resize: $direction; // Options: horizontal, vertical, both 6 | } 7 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_visibility.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Visibility 4 | 5 | @mixin invisible($visibility) { 6 | visibility: $visibility !important; 7 | @include deprecate("`invisible()`", "v4.3.0", "v5"); 8 | } 9 | -------------------------------------------------------------------------------- /public_html/assets/scss/base/_reset.scss: -------------------------------------------------------------------------------- 1 | ::-webkit-scrollbar { 2 | width: 5px; 3 | background: $gray-900; 4 | } 5 | ::-webkit-scrollbar-thumb { 6 | background: darken($primary,5%); 7 | border-radius: 20px; 8 | 9 | &:hover { 10 | background: $primary; 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/utilities/_visibility.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // 4 | // Visibility utilities 5 | // 6 | 7 | .visible { 8 | visibility: visible !important; 9 | } 10 | 11 | .invisible { 12 | visibility: hidden !important; 13 | } 14 | -------------------------------------------------------------------------------- /public_html/assets/scss/components/_progressbar.scss: -------------------------------------------------------------------------------- 1 | .progress { 2 | position: relative; 3 | overflow: visible; 4 | 5 | .progress-bar { 6 | border-radius: 20px; 7 | 8 | span { 9 | position: absolute; 10 | top: -26px; 11 | right: 0; 12 | color: $body-color; 13 | font-weight: 400; 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/utilities/_shadows.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | .shadow-sm { box-shadow: $box-shadow-sm !important; } 4 | .shadow { box-shadow: $box-shadow !important; } 5 | .shadow-lg { box-shadow: $box-shadow-lg !important; } 6 | .shadow-none { box-shadow: none !important; } 7 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_alert.scss: -------------------------------------------------------------------------------- 1 | @mixin alert-variant($background, $border, $color) { 2 | color: $color; 3 | @include gradient-bg($background); 4 | border-color: $border; 5 | 6 | hr { 7 | border-top-color: darken($border, 5%); 8 | } 9 | 10 | .alert-link { 11 | color: darken($color, 10%); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_nav-divider.scss: -------------------------------------------------------------------------------- 1 | // Horizontal dividers 2 | // 3 | // Dividers (basically an hr) within dropdowns and nav lists 4 | 5 | @mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y) { 6 | height: 0; 7 | margin: $margin-y 0; 8 | overflow: hidden; 9 | border-top: 1px solid $color; 10 | } 11 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_transitions.scss: -------------------------------------------------------------------------------- 1 | .fade { 2 | @include transition($transition-fade); 3 | 4 | &:not(.show) { 5 | opacity: 0; 6 | } 7 | } 8 | 9 | .collapse { 10 | &:not(.show) { 11 | display: none; 12 | } 13 | } 14 | 15 | .collapsing { 16 | position: relative; 17 | height: 0; 18 | overflow: hidden; 19 | @include transition($transition-collapse); 20 | } 21 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_text-hide.scss: -------------------------------------------------------------------------------- 1 | // CSS image replacement 2 | @mixin text-hide($ignore-warning: false) { 3 | // stylelint-disable-next-line font-family-no-missing-generic-family-keyword 4 | font: 0/0 a; 5 | color: transparent; 6 | text-shadow: none; 7 | background-color: transparent; 8 | border: 0; 9 | 10 | @include deprecate("`text-hide()`", "v4.1.0", "v5", $ignore-warning); 11 | } 12 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_badge.scss: -------------------------------------------------------------------------------- 1 | @mixin badge-variant($bg) { 2 | color: color-yiq($bg); 3 | background-color: $bg; 4 | 5 | @at-root a#{&} { 6 | @include hover-focus { 7 | color: color-yiq($bg); 8 | background-color: darken($bg, 10%); 9 | } 10 | 11 | &:focus, 12 | &.focus { 13 | outline: 0; 14 | box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/utilities/_float.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @each $breakpoint in map-keys($grid-breakpoints) { 4 | @include media-breakpoint-up($breakpoint) { 5 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 6 | 7 | .float#{$infix}-left { float: left !important; } 8 | .float#{$infix}-right { float: right !important; } 9 | .float#{$infix}-none { float: none !important; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_transition.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable property-blacklist 2 | @mixin transition($transition...) { 3 | @if $enable-transitions { 4 | @if length($transition) == 0 { 5 | transition: $transition-base; 6 | } @else { 7 | transition: $transition; 8 | } 9 | } 10 | 11 | @if $enable-prefers-reduced-motion-media-query { 12 | @media (prefers-reduced-motion: reduce) { 13 | transition: none; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_float.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @mixin float-left { 4 | float: left !important; 5 | @include deprecate("The `float-left` mixin", "v4.3.0", "v5"); 6 | } 7 | @mixin float-right { 8 | float: right !important; 9 | @include deprecate("The `float-right` mixin", "v4.3.0", "v5"); 10 | } 11 | @mixin float-none { 12 | float: none !important; 13 | @include deprecate("The `float-none` mixin", "v4.3.0", "v5"); 14 | } 15 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_text-emphasis.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Typography 4 | 5 | @mixin text-emphasis-variant($parent, $color) { 6 | #{$parent} { 7 | color: $color !important; 8 | } 9 | @if $emphasized-link-hover-darken-percentage != 0 { 10 | a#{$parent} { 11 | @include hover-focus { 12 | color: darken($color, $emphasized-link-hover-darken-percentage) !important; 13 | } 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/utilities/_align.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | .align-baseline { vertical-align: baseline !important; } // Browser default 4 | .align-top { vertical-align: top !important; } 5 | .align-middle { vertical-align: middle !important; } 6 | .align-bottom { vertical-align: bottom !important; } 7 | .align-text-bottom { vertical-align: text-bottom !important; } 8 | .align-text-top { vertical-align: text-top !important; } 9 | -------------------------------------------------------------------------------- /public_html/assets/scss/components/_buttons.scss: -------------------------------------------------------------------------------- 1 | .btn { 2 | 3 | &.rounded { 4 | border-radius: 50px !important; 5 | } 6 | 7 | &.circle { 8 | width: 40px; 9 | height: 40px; 10 | line-height: 43px; 11 | border-radius: 50%; 12 | padding: 0 !important; 13 | } 14 | 15 | &.btn-outline-light { 16 | border-color: rgba($white,.4); 17 | } 18 | 19 | &.w-sm { 20 | min-width: 80px; 21 | } 22 | 23 | &.w-md { 24 | min-width: 110px; 25 | } 26 | 27 | &.w-lg { 28 | min-width: 170px; 29 | } 30 | } -------------------------------------------------------------------------------- /public_html/assets/scss/base/_typography.scss: -------------------------------------------------------------------------------- 1 | p { 2 | font-size: calc(14px + (16 - 14) * ((100vw - 320px) / (1200 - 320))); 3 | font-weight: 400 ; 4 | opacity: .7; 5 | } 6 | 7 | pre { 8 | border: 2px solid $border-color; 9 | padding: 15px; 10 | border-radius: $border-radius; 11 | background: $gray-100; 12 | 13 | code, 14 | .code { 15 | color: $gray-600; 16 | } 17 | } 18 | 19 | @include media-breakpoint-up (lg) { 20 | 21 | p { 22 | font-size: 16px; 23 | } 24 | } 25 | 26 | 27 | hr { 28 | margin: 10px 0 25px; 29 | } -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_jumbotron.scss: -------------------------------------------------------------------------------- 1 | .jumbotron { 2 | padding: $jumbotron-padding ($jumbotron-padding / 2); 3 | margin-bottom: $jumbotron-padding; 4 | color: $jumbotron-color; 5 | background-color: $jumbotron-bg; 6 | @include border-radius($border-radius-lg); 7 | 8 | @include media-breakpoint-up(sm) { 9 | padding: ($jumbotron-padding * 2) $jumbotron-padding; 10 | } 11 | } 12 | 13 | .jumbotron-fluid { 14 | padding-right: 0; 15 | padding-left: 0; 16 | @include border-radius(0); 17 | } 18 | -------------------------------------------------------------------------------- /public_html/assets/scss/abstracts/_mixins.scss: -------------------------------------------------------------------------------- 1 | // transition 2 | @mixin custom-transition($property,$time) { 3 | -webkit-transition: $property $time + s; 4 | -o-transition: $property $time + s; 5 | transition: $property $time + s 6 | } 7 | 8 | // display flex 9 | @mixin flex() { 10 | display: -webkit-box; 11 | display: -moz-box; 12 | display: -ms-flexbox; 13 | display: -webkit-flex; 14 | display: flex; 15 | } 16 | 17 | // circle 18 | @mixin circle($wh) { 19 | width: $wh + px; 20 | height: $wh + px; 21 | border-radius: 50%; 22 | } 23 | -------------------------------------------------------------------------------- /public_html/assets/scss/components/_table.scss: -------------------------------------------------------------------------------- 1 | .table { 2 | 3 | &.v-align-center { 4 | th,td { 5 | vertical-align: middle !important; 6 | } 7 | } 8 | 9 | thead { 10 | th { 11 | border-width: 1px; 12 | } 13 | } 14 | td,th { 15 | border-top: 0; 16 | border-bottom: 1px solid $table-border-color; 17 | } 18 | 19 | &.table-striped { 20 | 21 | tbody { 22 | 23 | tr:nth-child(odd) { 24 | background: darken($gray-100,2%); 25 | } 26 | 27 | } 28 | 29 | td,th { 30 | border-width: 0; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/utilities/_background.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @each $color, $value in $theme-colors { 4 | @include bg-variant(".bg-#{$color}", $value); 5 | } 6 | 7 | @if $enable-gradients { 8 | @each $color, $value in $theme-colors { 9 | @include bg-gradient-variant(".bg-gradient-#{$color}", $value); 10 | } 11 | } 12 | 13 | .bg-white { 14 | background-color: $white !important; 15 | } 16 | 17 | .bg-transparent { 18 | background-color: transparent !important; 19 | } 20 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_list-group.scss: -------------------------------------------------------------------------------- 1 | // List Groups 2 | 3 | @mixin list-group-item-variant($state, $background, $color) { 4 | .list-group-item-#{$state} { 5 | color: $color; 6 | background-color: $background; 7 | 8 | &.list-group-item-action { 9 | @include hover-focus { 10 | color: $color; 11 | background-color: darken($background, 5%); 12 | } 13 | 14 | &.active { 15 | color: $white; 16 | background-color: $color; 17 | border-color: $color; 18 | } 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/utilities/_stretched-link.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Stretched link 3 | // 4 | 5 | .stretched-link { 6 | &::after { 7 | position: absolute; 8 | top: 0; 9 | right: 0; 10 | bottom: 0; 11 | left: 0; 12 | z-index: 1; 13 | // Just in case `pointer-events: none` is set on a parent 14 | pointer-events: auto; 15 | content: ""; 16 | // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color 17 | background-color: rgba(0, 0, 0, 0); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_reset-text.scss: -------------------------------------------------------------------------------- 1 | @mixin reset-text { 2 | font-family: $font-family-base; 3 | // We deliberately do NOT reset font-size or word-wrap. 4 | font-style: normal; 5 | font-weight: $font-weight-normal; 6 | line-height: $line-height-base; 7 | text-align: left; // Fallback for where `start` is not supported 8 | text-align: start; 9 | text-decoration: none; 10 | text-shadow: none; 11 | text-transform: none; 12 | letter-spacing: normal; 13 | word-break: normal; 14 | word-spacing: normal; 15 | white-space: normal; 16 | line-break: auto; 17 | } 18 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_pagination.scss: -------------------------------------------------------------------------------- 1 | // Pagination 2 | 3 | @mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) { 4 | .page-link { 5 | padding: $padding-y $padding-x; 6 | @include font-size($font-size); 7 | line-height: $line-height; 8 | } 9 | 10 | .page-item { 11 | &:first-child { 12 | .page-link { 13 | @include border-left-radius($border-radius); 14 | } 15 | } 16 | &:last-child { 17 | .page-link { 18 | @include border-right-radius($border-radius); 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_utilities.scss: -------------------------------------------------------------------------------- 1 | @import "utilities/align"; 2 | @import "utilities/background"; 3 | @import "utilities/borders"; 4 | @import "utilities/clearfix"; 5 | @import "utilities/display"; 6 | @import "utilities/embed"; 7 | @import "utilities/flex"; 8 | @import "utilities/float"; 9 | @import "utilities/overflow"; 10 | @import "utilities/position"; 11 | @import "utilities/screenreaders"; 12 | @import "utilities/shadows"; 13 | @import "utilities/sizing"; 14 | @import "utilities/stretched-link"; 15 | @import "utilities/spacing"; 16 | @import "utilities/text"; 17 | @import "utilities/visibility"; 18 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_background-variant.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Contextual backgrounds 4 | 5 | @mixin bg-variant($parent, $color) { 6 | #{$parent} { 7 | background-color: $color !important; 8 | } 9 | a#{$parent}, 10 | button#{$parent} { 11 | @include hover-focus { 12 | background-color: darken($color, 10%) !important; 13 | } 14 | } 15 | } 16 | 17 | @mixin bg-gradient-variant($parent, $color) { 18 | #{$parent} { 19 | background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/utilities/_sizing.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Width and height 4 | 5 | @each $prop, $abbrev in (width: w, height: h) { 6 | @each $size, $length in $sizes { 7 | .#{$abbrev}-#{$size} { #{$prop}: $length !important; } 8 | } 9 | } 10 | 11 | .mw-100 { max-width: 100% !important; } 12 | .mh-100 { max-height: 100% !important; } 13 | 14 | // Viewport additional helpers 15 | 16 | .min-vw-100 { min-width: 100vw !important; } 17 | .min-vh-100 { min-height: 100vh !important; } 18 | 19 | .vw-100 { width: 100vw !important; } 20 | .vh-100 { height: 100vh !important; } 21 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_box-shadow.scss: -------------------------------------------------------------------------------- 1 | @mixin box-shadow($shadow...) { 2 | @if $enable-shadows { 3 | $result: (); 4 | 5 | @if (length($shadow) == 1) { 6 | // We can pass `@include box-shadow(none);` 7 | $result: $shadow; 8 | } @else { 9 | // Filter to avoid invalid properties for example `box-shadow: none, 1px 1px black;` 10 | @for $i from 1 through length($shadow) { 11 | @if nth($shadow, $i) != "none" { 12 | $result: append($result, nth($shadow, $i), "comma"); 13 | } 14 | } 15 | } 16 | @if (length($result) > 0) { 17 | box-shadow: $result; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/utilities/_position.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Common values 4 | @each $position in $positions { 5 | .position-#{$position} { position: $position !important; } 6 | } 7 | 8 | // Shorthand 9 | 10 | .fixed-top { 11 | position: fixed; 12 | top: 0; 13 | right: 0; 14 | left: 0; 15 | z-index: $zindex-fixed; 16 | } 17 | 18 | .fixed-bottom { 19 | position: fixed; 20 | right: 0; 21 | bottom: 0; 22 | left: 0; 23 | z-index: $zindex-fixed; 24 | } 25 | 26 | .sticky-top { 27 | @supports (position: sticky) { 28 | position: sticky; 29 | top: 0; 30 | z-index: $zindex-sticky; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/utilities/_display.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // 4 | // Utilities for common `display` values 5 | // 6 | 7 | @each $breakpoint in map-keys($grid-breakpoints) { 8 | @include media-breakpoint-up($breakpoint) { 9 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 10 | 11 | @each $value in $displays { 12 | .d#{$infix}-#{$value} { display: $value !important; } 13 | } 14 | } 15 | } 16 | 17 | 18 | // 19 | // Utilities for toggling `display` in print 20 | // 21 | 22 | @media print { 23 | @each $value in $displays { 24 | .d-print-#{$value} { display: $value !important; } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_root.scss: -------------------------------------------------------------------------------- 1 | :root { 2 | // Custom variable values only support SassScript inside `#{}`. 3 | @each $color, $value in $colors { 4 | --#{$color}: #{$value}; 5 | } 6 | 7 | @each $color, $value in $theme-colors { 8 | --#{$color}: #{$value}; 9 | } 10 | 11 | @each $bp, $value in $grid-breakpoints { 12 | --breakpoint-#{$bp}: #{$value}; 13 | } 14 | 15 | // Use `inspect` for lists so that quoted items keep the quotes. 16 | // See https://github.com/sass/sass/issues/2383#issuecomment-336349172 17 | --font-family-sans-serif: #{inspect($font-family-sans-serif)}; 18 | --font-family-monospace: #{inspect($font-family-monospace)}; 19 | } 20 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_deprecate.scss: -------------------------------------------------------------------------------- 1 | // Deprecate mixin 2 | // 3 | // This mixin can be used to deprecate mixins or functions. 4 | // `$enable-deprecation-messages` is a global variable, `$ignore-warning` is a variable that can be passed to 5 | // some deprecated mixins to suppress the warning (for example if the mixin is still be used in the current version of Bootstrap) 6 | @mixin deprecate($name, $deprecate-version, $remove-version, $ignore-warning: false) { 7 | @if ($enable-deprecation-messages != false and $ignore-warning != true) { 8 | @warn "#{$name} has been deprecated as of #{$deprecate-version}. It will be removed entirely in #{$remove-version}."; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /public_html/assets/scss/components/_list.scss: -------------------------------------------------------------------------------- 1 | .custom-list { 2 | @include flex; 3 | color: inherit; 4 | 5 | .img-holder { 6 | width: 70px; 7 | min-width: 70px; 8 | margin-right: 10px; 9 | 10 | img { 11 | width: 100%; 12 | border-radius: 3px; 13 | } 14 | } 15 | 16 | .info { 17 | flex-grow: 1; 18 | 19 | .head { 20 | padding: 7px 0 7px 0; 21 | border-bottom: 2px dotted $border-color; 22 | 23 | .title { 24 | font-size: 14px; 25 | margin-bottom: 0; 26 | } 27 | 28 | p { 29 | margin-bottom: 0; 30 | font-weight: bold; 31 | opacity: 1; 32 | } 33 | } 34 | 35 | .body { 36 | padding: 14px 0; 37 | font-size: 14px; 38 | opacity: .7; 39 | 40 | p { 41 | font-size: 14px; 42 | opacity: 1; 43 | margin-bottom: 0; 44 | font-weight: 400; 45 | } 46 | } 47 | } 48 | 49 | } -------------------------------------------------------------------------------- /public_html/assets/scss/components/_navbar.scss: -------------------------------------------------------------------------------- 1 | .navbar { 2 | 3 | &.navbar-light { 4 | .navbar-brand { 5 | color: rgba($gray-900,.9) !important; 6 | 7 | &:hover { 8 | color: $gray-900 9 | } 10 | } 11 | } 12 | &.navbar-dark { 13 | .navbar-brand { 14 | color: rgba($gray-100,.8) !important; 15 | 16 | &:hover { 17 | color: $white; 18 | } 19 | } 20 | } 21 | 22 | .nav-link { 23 | font-size: 14px; 24 | font-weight: 500; 25 | } 26 | 27 | // First Navigation 28 | &.nav-first { 29 | padding: 3px; 30 | z-index: 99; 31 | border-bottom: 1px solid lighten($gray-900,5%); 32 | 33 | .navbar-brand { 34 | 35 | img { 36 | width: 55px; 37 | } 38 | } 39 | } 40 | 41 | // Second navigation 42 | &.nav-second { 43 | padding: 10px; 44 | 45 | .nav-link { 46 | margin-right: 15px; 47 | font-size: 13px; 48 | opacity: 1; 49 | } 50 | } 51 | } -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Only display content to screen readers 2 | // 3 | // See: https://a11yproject.com/posts/how-to-hide-content/ 4 | // See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/ 5 | 6 | @mixin sr-only { 7 | position: absolute; 8 | width: 1px; 9 | height: 1px; 10 | padding: 0; 11 | overflow: hidden; 12 | clip: rect(0, 0, 0, 0); 13 | white-space: nowrap; 14 | border: 0; 15 | } 16 | 17 | // Use in conjunction with .sr-only to only display content when it's focused. 18 | // 19 | // Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 20 | // 21 | // Credit: HTML5 Boilerplate 22 | 23 | @mixin sr-only-focusable { 24 | &:active, 25 | &:focus { 26 | position: static; 27 | width: auto; 28 | height: auto; 29 | overflow: visible; 30 | clip: auto; 31 | white-space: normal; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pigga", 3 | "version": "1.5.0", 4 | "description": "An elegant responsive bootstrap 4.x theme.", 5 | "main": "gulpfile.js", 6 | "author": "DevCRUD", 7 | "scripts": { 8 | "start": "gulp" 9 | }, 10 | "devDependencies": { 11 | "browser-sync": "^2.26.3", 12 | "gulp": "^4.0.0", 13 | "gulp-clean-css": "^4.0.0", 14 | "gulp-sass": "^4.0.2", 15 | "gulp-autoprefixer": "^6.1.0", 16 | "gulp-clean": "^0.4.0", 17 | "gulp-concat": "^2.6.1", 18 | "gulp-imagemin": "^5.0.3", 19 | "gulp-rename": "^1.4.0", 20 | "gulp-uglify": "^3.0.2", 21 | "imagemin-jpeg-recompress": "^6.0.0", 22 | "imagemin-pngquant": "^7.0.0" 23 | }, 24 | "browserslist": [ 25 | "> 1%", 26 | "ie >= 8", 27 | "edge >= 15", 28 | "ie_mob >= 10", 29 | "ff >= 45", 30 | "chrome >= 45", 31 | "safari >= 7", 32 | "opera >= 23", 33 | "ios >= 7", 34 | "android >= 4" 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_hover.scss: -------------------------------------------------------------------------------- 1 | // Hover mixin and `$enable-hover-media-query` are deprecated. 2 | // 3 | // Originally added during our alphas and maintained during betas, this mixin was 4 | // designed to prevent `:hover` stickiness on iOS-an issue where hover styles 5 | // would persist after initial touch. 6 | // 7 | // For backward compatibility, we've kept these mixins and updated them to 8 | // always return their regular pseudo-classes instead of a shimmed media query. 9 | // 10 | // Issue: https://github.com/twbs/bootstrap/issues/25195 11 | 12 | @mixin hover { 13 | &:hover { @content; } 14 | } 15 | 16 | @mixin hover-focus { 17 | &:hover, 18 | &:focus { 19 | @content; 20 | } 21 | } 22 | 23 | @mixin plain-hover-focus { 24 | &, 25 | &:hover, 26 | &:focus { 27 | @content; 28 | } 29 | } 30 | 31 | @mixin hover-focus-active { 32 | &:hover, 33 | &:focus, 34 | &:active { 35 | @content; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /public_html/assets/js/pigga.js: -------------------------------------------------------------------------------- 1 | /*! 2 | ========================================================= 3 | * Pigga Landing page 4 | ========================================================= 5 | 6 | * Copyright: 2019 DevCRUD (https://devcrud.com) 7 | * Licensed: (https://devcrud.com/licenses) 8 | * Coded by www.devcrud.com 9 | 10 | ========================================================= 11 | 12 | * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 13 | */ 14 | 15 | // smooth scroll 16 | $(document).ready(function(){ 17 | $(".navbar .nav-link").on('click', function(event) { 18 | 19 | if (this.hash !== "") { 20 | 21 | event.preventDefault(); 22 | 23 | var hash = this.hash; 24 | 25 | $('html, body').animate({ 26 | scrollTop: $(hash).offset().top 27 | }, 700, function(){ 28 | window.location.hash = hash; 29 | }); 30 | } 31 | }); 32 | }); 33 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_table-row.scss: -------------------------------------------------------------------------------- 1 | // Tables 2 | 3 | @mixin table-row-variant($state, $background, $border: null) { 4 | // Exact selectors below required to override `.table-striped` and prevent 5 | // inheritance to nested tables. 6 | .table-#{$state} { 7 | &, 8 | > th, 9 | > td { 10 | background-color: $background; 11 | } 12 | 13 | @if $border != null { 14 | th, 15 | td, 16 | thead th, 17 | tbody + tbody { 18 | border-color: $border; 19 | } 20 | } 21 | } 22 | 23 | // Hover states for `.table-hover` 24 | // Note: this is not available for cells or rows within `thead` or `tfoot`. 25 | .table-hover { 26 | $hover-background: darken($background, 5%); 27 | 28 | .table-#{$state} { 29 | @include hover { 30 | background-color: $hover-background; 31 | 32 | > td, 33 | > th { 34 | background-color: $hover-background; 35 | } 36 | } 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/utilities/_embed.scss: -------------------------------------------------------------------------------- 1 | // Credit: Nicolas Gallagher and SUIT CSS. 2 | 3 | .embed-responsive { 4 | position: relative; 5 | display: block; 6 | width: 100%; 7 | padding: 0; 8 | overflow: hidden; 9 | 10 | &::before { 11 | display: block; 12 | content: ""; 13 | } 14 | 15 | .embed-responsive-item, 16 | iframe, 17 | embed, 18 | object, 19 | video { 20 | position: absolute; 21 | top: 0; 22 | bottom: 0; 23 | left: 0; 24 | width: 100%; 25 | height: 100%; 26 | border: 0; 27 | } 28 | } 29 | 30 | @each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios { 31 | $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1); 32 | $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2); 33 | 34 | .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} { 35 | &::before { 36 | padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_close.scss: -------------------------------------------------------------------------------- 1 | .close { 2 | float: right; 3 | @include font-size($close-font-size); 4 | font-weight: $close-font-weight; 5 | line-height: 1; 6 | color: $close-color; 7 | text-shadow: $close-text-shadow; 8 | opacity: .5; 9 | 10 | // Override 's hover style 11 | @include hover { 12 | color: $close-color; 13 | text-decoration: none; 14 | } 15 | 16 | &:not(:disabled):not(.disabled) { 17 | @include hover-focus { 18 | opacity: .75; 19 | } 20 | } 21 | } 22 | 23 | // Additional properties for button version 24 | // iOS requires the button element instead of an anchor tag. 25 | // If you want the anchor version, it requires `href="#"`. 26 | // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile 27 | 28 | // stylelint-disable-next-line selector-no-qualifying-type 29 | button.close { 30 | padding: 0; 31 | background-color: transparent; 32 | border: 0; 33 | appearance: none; 34 | } 35 | 36 | // Future-proof disabling of clicks on `` elements 37 | 38 | // stylelint-disable-next-line selector-no-qualifying-type 39 | a.close.disabled { 40 | pointer-events: none; 41 | } 42 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_toasts.scss: -------------------------------------------------------------------------------- 1 | .toast { 2 | max-width: $toast-max-width; 3 | overflow: hidden; // cheap rounded corners on nested items 4 | @include font-size($toast-font-size); 5 | color: $toast-color; 6 | background-color: $toast-background-color; 7 | background-clip: padding-box; 8 | border: $toast-border-width solid $toast-border-color; 9 | box-shadow: $toast-box-shadow; 10 | backdrop-filter: blur(10px); 11 | opacity: 0; 12 | @include border-radius($toast-border-radius); 13 | 14 | &:not(:last-child) { 15 | margin-bottom: $toast-padding-x; 16 | } 17 | 18 | &.showing { 19 | opacity: 1; 20 | } 21 | 22 | &.show { 23 | display: block; 24 | opacity: 1; 25 | } 26 | 27 | &.hide { 28 | display: none; 29 | } 30 | } 31 | 32 | .toast-header { 33 | display: flex; 34 | align-items: center; 35 | padding: $toast-padding-y $toast-padding-x; 36 | color: $toast-header-color; 37 | background-color: $toast-header-background-color; 38 | background-clip: padding-box; 39 | border-bottom: $toast-border-width solid $toast-header-border-color; 40 | } 41 | 42 | .toast-body { 43 | padding: $toast-padding-x; // apply to both vertical and horizontal 44 | } 45 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_code.scss: -------------------------------------------------------------------------------- 1 | // Inline code 2 | code { 3 | @include font-size($code-font-size); 4 | color: $code-color; 5 | word-break: break-word; 6 | 7 | // Streamline the style when inside anchors to avoid broken underline and more 8 | a > & { 9 | color: inherit; 10 | } 11 | } 12 | 13 | // User input typically entered via keyboard 14 | kbd { 15 | padding: $kbd-padding-y $kbd-padding-x; 16 | @include font-size($kbd-font-size); 17 | color: $kbd-color; 18 | background-color: $kbd-bg; 19 | @include border-radius($border-radius-sm); 20 | @include box-shadow($kbd-box-shadow); 21 | 22 | kbd { 23 | padding: 0; 24 | @include font-size(100%); 25 | font-weight: $nested-kbd-font-weight; 26 | @include box-shadow(none); 27 | } 28 | } 29 | 30 | // Blocks of code 31 | pre { 32 | display: block; 33 | @include font-size($code-font-size); 34 | color: $pre-color; 35 | 36 | // Account for some code outputs that place code tags in pre tags 37 | code { 38 | @include font-size(inherit); 39 | color: inherit; 40 | word-break: normal; 41 | } 42 | } 43 | 44 | // Enable scrollable blocks of code 45 | .pre-scrollable { 46 | max-height: $pre-scrollable-max-height; 47 | overflow-y: scroll; 48 | } 49 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_grid.scss: -------------------------------------------------------------------------------- 1 | // Container widths 2 | // 3 | // Set the container width, and override it for fixed navbars in media queries. 4 | 5 | @if $enable-grid-classes { 6 | .container { 7 | @include make-container(); 8 | @include make-container-max-widths(); 9 | } 10 | } 11 | 12 | // Fluid container 13 | // 14 | // Utilizes the mixin meant for fixed width containers, but with 100% width for 15 | // fluid, full width layouts. 16 | 17 | @if $enable-grid-classes { 18 | .container-fluid { 19 | @include make-container(); 20 | } 21 | } 22 | 23 | // Row 24 | // 25 | // Rows contain and clear the floats of your columns. 26 | 27 | @if $enable-grid-classes { 28 | .row { 29 | @include make-row(); 30 | } 31 | 32 | // Remove the negative margin from default .row, then the horizontal padding 33 | // from all immediate children columns (to prevent runaway style inheritance). 34 | .no-gutters { 35 | margin-right: 0; 36 | margin-left: 0; 37 | 38 | > .col, 39 | > [class*="col-"] { 40 | padding-right: 0; 41 | padding-left: 0; 42 | } 43 | } 44 | } 45 | 46 | // Columns 47 | // 48 | // Common styles for small and large grid columns 49 | 50 | @if $enable-grid-classes { 51 | @include make-grid-columns(); 52 | } 53 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_progress.scss: -------------------------------------------------------------------------------- 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 | } 44 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Toggles 2 | // 3 | // Used in conjunction with global variables to enable certain theme features. 4 | 5 | // Vendor 6 | @import "vendor/rfs"; 7 | 8 | // Deprecate 9 | @import "mixins/deprecate"; 10 | 11 | // Utilities 12 | @import "mixins/breakpoints"; 13 | @import "mixins/hover"; 14 | @import "mixins/image"; 15 | @import "mixins/badge"; 16 | @import "mixins/resize"; 17 | @import "mixins/screen-reader"; 18 | @import "mixins/size"; 19 | @import "mixins/reset-text"; 20 | @import "mixins/text-emphasis"; 21 | @import "mixins/text-hide"; 22 | @import "mixins/text-truncate"; 23 | @import "mixins/visibility"; 24 | 25 | // // Components 26 | @import "mixins/alert"; 27 | @import "mixins/buttons"; 28 | @import "mixins/caret"; 29 | @import "mixins/pagination"; 30 | @import "mixins/lists"; 31 | @import "mixins/list-group"; 32 | @import "mixins/nav-divider"; 33 | @import "mixins/forms"; 34 | @import "mixins/table-row"; 35 | 36 | // // Skins 37 | @import "mixins/background-variant"; 38 | @import "mixins/border-radius"; 39 | @import "mixins/box-shadow"; 40 | @import "mixins/gradients"; 41 | @import "mixins/transition"; 42 | 43 | // // Layout 44 | @import "mixins/clearfix"; 45 | @import "mixins/grid-framework"; 46 | @import "mixins/grid"; 47 | @import "mixins/float"; 48 | -------------------------------------------------------------------------------- /public_html/assets/scss/components/_pagination.scss: -------------------------------------------------------------------------------- 1 | .pagination { 2 | 3 | .page-item { 4 | margin: 0 4px; 5 | 6 | &.active { 7 | 8 | a { 9 | box-shadow: 0 3px 15px rgba($gray-500,.6); 10 | } 11 | } 12 | 13 | a { 14 | height: 35px !important; 15 | width: 35px !important; 16 | border-radius: 50% !important; 17 | text-align: center; 18 | line-height: 32px; 19 | } 20 | 21 | 22 | &:first-child, 23 | &:last-child { 24 | 25 | a { 26 | border: 0; 27 | width: auto; 28 | height: auto; 29 | line-height: 38px; 30 | font-size: 10px; 31 | } 32 | } 33 | } 34 | 35 | &.pagination-sm { 36 | 37 | .page-item { 38 | 39 | .page-link { 40 | width: 28px !important; 41 | height: 28px !important; 42 | line-height: 25px; 43 | } 44 | 45 | &:first-child, 46 | &:last-child { 47 | 48 | a { 49 | line-height: 31px; 50 | font-size: 9px; 51 | } 52 | } 53 | } 54 | } 55 | 56 | &.pagination-lg { 57 | 58 | .page-item { 59 | 60 | .page-link { 61 | width: 43px !important; 62 | height: 43px !important; 63 | line-height: 39px; 64 | } 65 | 66 | &:first-child, 67 | &:last-child { 68 | 69 | a { 70 | line-height: 47px; 71 | font-size: 14px; 72 | } 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_spinners.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Rotating border 3 | // 4 | 5 | @keyframes spinner-border { 6 | to { transform: rotate(360deg); } 7 | } 8 | 9 | .spinner-border { 10 | display: inline-block; 11 | width: $spinner-width; 12 | height: $spinner-height; 13 | vertical-align: text-bottom; 14 | border: $spinner-border-width solid currentColor; 15 | border-right-color: transparent; 16 | // stylelint-disable-next-line property-blacklist 17 | border-radius: 50%; 18 | animation: spinner-border .75s linear infinite; 19 | } 20 | 21 | .spinner-border-sm { 22 | width: $spinner-width-sm; 23 | height: $spinner-height-sm; 24 | border-width: $spinner-border-width-sm; 25 | } 26 | 27 | // 28 | // Growing circle 29 | // 30 | 31 | @keyframes spinner-grow { 32 | 0% { 33 | transform: scale(0); 34 | } 35 | 50% { 36 | opacity: 1; 37 | } 38 | } 39 | 40 | .spinner-grow { 41 | display: inline-block; 42 | width: $spinner-width; 43 | height: $spinner-height; 44 | vertical-align: text-bottom; 45 | background-color: currentColor; 46 | // stylelint-disable-next-line property-blacklist 47 | border-radius: 50%; 48 | opacity: 0; 49 | animation: spinner-grow .75s linear infinite; 50 | } 51 | 52 | .spinner-grow-sm { 53 | width: $spinner-width-sm; 54 | height: $spinner-height-sm; 55 | } 56 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_image.scss: -------------------------------------------------------------------------------- 1 | // Image Mixins 2 | // - Responsive image 3 | // - Retina image 4 | 5 | 6 | // Responsive image 7 | // 8 | // Keep images from scaling beyond the width of their parents. 9 | 10 | @mixin img-fluid { 11 | // Part 1: Set a maximum relative to the parent 12 | max-width: 100%; 13 | // Part 2: Override the height to auto, otherwise images will be stretched 14 | // when setting a width and height attribute on the img element. 15 | height: auto; 16 | } 17 | 18 | 19 | // Retina image 20 | // 21 | // Short retina mixin for setting background-image and -size. 22 | 23 | @mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) { 24 | background-image: url($file-1x); 25 | 26 | // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio, 27 | // but doesn't convert dppx=>dpi. 28 | // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard. 29 | // Compatibility info: https://caniuse.com/#feat=css-media-resolution 30 | @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx 31 | only screen and (min-resolution: 2dppx) { // Standardized 32 | background-image: url($file-2x); 33 | background-size: $width-1x $height-1x; 34 | } 35 | @include deprecate("`img-retina()`", "v4.3.0", "v5"); 36 | } 37 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_images.scss: -------------------------------------------------------------------------------- 1 | // Responsive images (ensure images don't scale beyond their parents) 2 | // 3 | // This is purposefully opt-in via an explicit class rather than being the default for all ``s. 4 | // We previously tried the "images are responsive by default" approach in Bootstrap v2, 5 | // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps) 6 | // which weren't expecting the images within themselves to be involuntarily resized. 7 | // See also https://github.com/twbs/bootstrap/issues/18178 8 | .img-fluid { 9 | @include img-fluid; 10 | } 11 | 12 | 13 | // Image thumbnails 14 | .img-thumbnail { 15 | padding: $thumbnail-padding; 16 | background-color: $thumbnail-bg; 17 | border: $thumbnail-border-width solid $thumbnail-border-color; 18 | @include border-radius($thumbnail-border-radius); 19 | @include box-shadow($thumbnail-box-shadow); 20 | 21 | // Keep them at most 100% wide 22 | @include img-fluid; 23 | } 24 | 25 | // 26 | // Figures 27 | // 28 | 29 | .figure { 30 | // Ensures the caption's text aligns with the image. 31 | display: inline-block; 32 | } 33 | 34 | .figure-img { 35 | margin-bottom: $spacer / 2; 36 | line-height: 1; 37 | } 38 | 39 | .figure-caption { 40 | @include font-size($figure-caption-font-size); 41 | color: $figure-caption-color; 42 | } 43 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_badge.scss: -------------------------------------------------------------------------------- 1 | // Base class 2 | // 3 | // Requires one of the contextual, color modifier classes for `color` and 4 | // `background-color`. 5 | 6 | .badge { 7 | display: inline-block; 8 | padding: $badge-padding-y $badge-padding-x; 9 | @include font-size($badge-font-size); 10 | font-weight: $badge-font-weight; 11 | line-height: 1; 12 | text-align: center; 13 | white-space: nowrap; 14 | vertical-align: baseline; 15 | @include border-radius($badge-border-radius); 16 | @include transition($badge-transition); 17 | 18 | @at-root a#{&} { 19 | @include hover-focus { 20 | text-decoration: none; 21 | } 22 | } 23 | 24 | // Empty badges collapse automatically 25 | &:empty { 26 | display: none; 27 | } 28 | } 29 | 30 | // Quick fix for badges in buttons 31 | .btn .badge { 32 | position: relative; 33 | top: -1px; 34 | } 35 | 36 | // Pill badges 37 | // 38 | // Make them extra rounded with a modifier to replace v3's badges. 39 | 40 | .badge-pill { 41 | padding-right: $badge-pill-padding-x; 42 | padding-left: $badge-pill-padding-x; 43 | @include border-radius($badge-pill-border-radius); 44 | } 45 | 46 | // Colors 47 | // 48 | // Contextual variations (linked badges get darker on :hover). 49 | 50 | @each $color, $value in $theme-colors { 51 | .badge-#{$color} { 52 | @include badge-variant($value); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_alert.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Base styles 3 | // 4 | 5 | .alert { 6 | position: relative; 7 | padding: $alert-padding-y $alert-padding-x; 8 | margin-bottom: $alert-margin-bottom; 9 | border: $alert-border-width solid transparent; 10 | @include border-radius($alert-border-radius); 11 | } 12 | 13 | // Headings for larger alerts 14 | .alert-heading { 15 | // Specified to prevent conflicts of changing $headings-color 16 | color: inherit; 17 | } 18 | 19 | // Provide class for links that match alerts 20 | .alert-link { 21 | font-weight: $alert-link-font-weight; 22 | } 23 | 24 | 25 | // Dismissible alerts 26 | // 27 | // Expand the right padding and account for the close button's positioning. 28 | 29 | .alert-dismissible { 30 | padding-right: $close-font-size + $alert-padding-x * 2; 31 | 32 | // Adjust close link position 33 | .close { 34 | position: absolute; 35 | top: 0; 36 | right: 0; 37 | padding: $alert-padding-y $alert-padding-x; 38 | color: inherit; 39 | } 40 | } 41 | 42 | 43 | // Alternate styles 44 | // 45 | // Generate contextual modifier classes for colorizing the alert. 46 | 47 | @each $color, $value in $theme-colors { 48 | .alert-#{$color} { 49 | @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level)); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_breadcrumb.scss: -------------------------------------------------------------------------------- 1 | .breadcrumb { 2 | display: flex; 3 | flex-wrap: wrap; 4 | padding: $breadcrumb-padding-y $breadcrumb-padding-x; 5 | margin-bottom: $breadcrumb-margin-bottom; 6 | list-style: none; 7 | background-color: $breadcrumb-bg; 8 | @include border-radius($breadcrumb-border-radius); 9 | } 10 | 11 | .breadcrumb-item { 12 | // The separator between breadcrumbs (by default, a forward-slash: "/") 13 | + .breadcrumb-item { 14 | padding-left: $breadcrumb-item-padding; 15 | 16 | &::before { 17 | display: inline-block; // Suppress underlining of the separator in modern browsers 18 | padding-right: $breadcrumb-item-padding; 19 | color: $breadcrumb-divider-color; 20 | content: $breadcrumb-divider; 21 | } 22 | } 23 | 24 | // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built 25 | // without ``s. The `::before` pseudo-element generates an element 26 | // *within* the .breadcrumb-item and thereby inherits the `text-decoration`. 27 | // 28 | // To trick IE into suppressing the underline, we give the pseudo-element an 29 | // underline and then immediately remove it. 30 | + .breadcrumb-item:hover::before { 31 | text-decoration: underline; 32 | } 33 | // stylelint-disable-next-line no-duplicate-selectors 34 | + .breadcrumb-item:hover::before { 35 | text-decoration: none; 36 | } 37 | 38 | &.active { 39 | color: $breadcrumb-active-color; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_border-radius.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable property-blacklist 2 | // Single side border-radius 3 | 4 | @mixin border-radius($radius: $border-radius, $fallback-border-radius: false) { 5 | @if $enable-rounded { 6 | border-radius: $radius; 7 | } 8 | @else if $fallback-border-radius != false { 9 | border-radius: $fallback-border-radius; 10 | } 11 | } 12 | 13 | @mixin border-top-radius($radius) { 14 | @if $enable-rounded { 15 | border-top-left-radius: $radius; 16 | border-top-right-radius: $radius; 17 | } 18 | } 19 | 20 | @mixin border-right-radius($radius) { 21 | @if $enable-rounded { 22 | border-top-right-radius: $radius; 23 | border-bottom-right-radius: $radius; 24 | } 25 | } 26 | 27 | @mixin border-bottom-radius($radius) { 28 | @if $enable-rounded { 29 | border-bottom-right-radius: $radius; 30 | border-bottom-left-radius: $radius; 31 | } 32 | } 33 | 34 | @mixin border-left-radius($radius) { 35 | @if $enable-rounded { 36 | border-top-left-radius: $radius; 37 | border-bottom-left-radius: $radius; 38 | } 39 | } 40 | 41 | @mixin border-top-left-radius($radius) { 42 | @if $enable-rounded { 43 | border-top-left-radius: $radius; 44 | } 45 | } 46 | 47 | @mixin border-top-right-radius($radius) { 48 | @if $enable-rounded { 49 | border-top-right-radius: $radius; 50 | } 51 | } 52 | 53 | @mixin border-bottom-right-radius($radius) { 54 | @if $enable-rounded { 55 | border-bottom-right-radius: $radius; 56 | } 57 | } 58 | 59 | @mixin border-bottom-left-radius($radius) { 60 | @if $enable-rounded { 61 | border-bottom-left-radius: $radius; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_caret.scss: -------------------------------------------------------------------------------- 1 | @mixin caret-down { 2 | border-top: $caret-width solid; 3 | border-right: $caret-width solid transparent; 4 | border-bottom: 0; 5 | border-left: $caret-width solid transparent; 6 | } 7 | 8 | @mixin caret-up { 9 | border-top: 0; 10 | border-right: $caret-width solid transparent; 11 | border-bottom: $caret-width solid; 12 | border-left: $caret-width solid transparent; 13 | } 14 | 15 | @mixin caret-right { 16 | border-top: $caret-width solid transparent; 17 | border-right: 0; 18 | border-bottom: $caret-width solid transparent; 19 | border-left: $caret-width solid; 20 | } 21 | 22 | @mixin caret-left { 23 | border-top: $caret-width solid transparent; 24 | border-right: $caret-width solid; 25 | border-bottom: $caret-width solid transparent; 26 | } 27 | 28 | @mixin caret($direction: down) { 29 | @if $enable-caret { 30 | &::after { 31 | display: inline-block; 32 | margin-left: $caret-spacing; 33 | vertical-align: $caret-vertical-align; 34 | content: ""; 35 | @if $direction == down { 36 | @include caret-down; 37 | } @else if $direction == up { 38 | @include caret-up; 39 | } @else if $direction == right { 40 | @include caret-right; 41 | } 42 | } 43 | 44 | @if $direction == left { 45 | &::after { 46 | display: none; 47 | } 48 | 49 | &::before { 50 | display: inline-block; 51 | margin-right: $caret-spacing; 52 | vertical-align: $caret-vertical-align; 53 | content: ""; 54 | @include caret-left; 55 | } 56 | } 57 | 58 | &:empty::after { 59 | margin-left: 0; 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /public_html/assets/scss/abstracts/_utilities.scss: -------------------------------------------------------------------------------- 1 | // Dark Background 2 | .bg-dark { 3 | 4 | p { 5 | color: $white; 6 | } 7 | 8 | a { 9 | color: rgba($white,.7); 10 | 11 | &:hover { 12 | color: rgba($white,.85); 13 | } 14 | &:active { 15 | color: $white; 16 | } 17 | } 18 | } 19 | 20 | 21 | // borders 22 | .border-dark { 23 | border-color: lighten($gray-900,5%) !important; 24 | } 25 | 26 | // media object 27 | .media { 28 | img { 29 | @include circle(50); 30 | } 31 | } 32 | 33 | 34 | .ob-fitt-cover { 35 | object-fit: cover; 36 | } 37 | 38 | 39 | .dropdown-menu.form { 40 | min-width: 300px !important 41 | } 42 | 43 | 44 | 45 | .circle-120 { 46 | @include circle(150); 47 | } 48 | .border-lighter { 49 | border-color: $gray-200 !important; 50 | } 51 | 52 | .my-6 { 53 | margin-top: 70px; 54 | margin-bottom: 70px; 55 | 56 | @include media-breakpoint-down(sm) { 57 | margin-top: 30px; 58 | margin-bottom: 30px; 59 | } 60 | } 61 | .mb-6 { 62 | margin-bottom: 65px !important; 63 | } 64 | .mb-4 { 65 | margin-bottom: 30px !important 66 | } 67 | 68 | .raise-1 { position: relative !important; z-index: 1 !important; } 69 | .raise-2 { position: relative !important; z-index: 2 !important; } 70 | .raise-3 { position: relative !important; z-index: 3 !important; } 71 | .raise-4 { position: relative !important; z-index: 4 !important; } 72 | .raise-5 { position: relative !important; z-index: 5 !important; } 73 | .raise-6 { position: relative !important; z-index: 6 !important; } 74 | .raise-7 { position: relative !important; z-index: 7 !important; } 75 | .raise-8 { position: relative !important; z-index: 8 !important; } 76 | .raise-9 { position: relative !important; z-index: 9 !important; } 77 | .raise-10 { position: relative !important; z-index: 10 !important; } -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_grid.scss: -------------------------------------------------------------------------------- 1 | /// Grid system 2 | // 3 | // Generate semantic grid columns with these mixins. 4 | 5 | @mixin make-container($gutter: $grid-gutter-width) { 6 | width: 100%; 7 | padding-right: $gutter / 2; 8 | padding-left: $gutter / 2; 9 | margin-right: auto; 10 | margin-left: auto; 11 | } 12 | 13 | 14 | // For each breakpoint, define the maximum width of the container in a media query 15 | @mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) { 16 | @each $breakpoint, $container-max-width in $max-widths { 17 | @include media-breakpoint-up($breakpoint, $breakpoints) { 18 | max-width: $container-max-width; 19 | } 20 | } 21 | } 22 | 23 | @mixin make-row($gutter: $grid-gutter-width) { 24 | display: flex; 25 | flex-wrap: wrap; 26 | margin-right: -$gutter / 2; 27 | margin-left: -$gutter / 2; 28 | } 29 | 30 | @mixin make-col-ready($gutter: $grid-gutter-width) { 31 | position: relative; 32 | // Prevent columns from becoming too narrow when at smaller grid tiers by 33 | // always setting `width: 100%;`. This works because we use `flex` values 34 | // later on to override this initial width. 35 | width: 100%; 36 | padding-right: $gutter / 2; 37 | padding-left: $gutter / 2; 38 | } 39 | 40 | @mixin make-col($size, $columns: $grid-columns) { 41 | flex: 0 0 percentage($size / $columns); 42 | // Add a `max-width` to ensure content within each column does not blow out 43 | // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari 44 | // do not appear to require this. 45 | max-width: percentage($size / $columns); 46 | } 47 | 48 | @mixin make-col-offset($size, $columns: $grid-columns) { 49 | $num: $size / $columns; 50 | margin-left: if($num == 0, 0, percentage($num)); 51 | } 52 | -------------------------------------------------------------------------------- /public_html/assets/scss/layout/_header.scss: -------------------------------------------------------------------------------- 1 | .header { 2 | position: relative; 3 | min-height: 650px; 4 | background: url(../imgs/header.jpg) no-repeat center center fixed; 5 | background-size: cover; 6 | 7 | .overlay { 8 | position: absolute; 9 | left: 0; 10 | top: 0; 11 | width: 100%; 12 | height: 100%; 13 | background: rgba($gray-900,.85); 14 | color: $white; 15 | @include flex; 16 | align-items: center; 17 | flex-direction: column; 18 | justify-content: center; 19 | 20 | .logo { 21 | width: 200px; 22 | margin-bottom: 30px; 23 | filter: drop-shadow(0 0 40px rgba($gray-400,.4)); 24 | } 25 | 26 | .subtitle { 27 | font-size: calc(15px + (18 - 15) * ((100vw - 320px) / (1200 - 320))); 28 | font-weight: 700; 29 | margin-bottom: 0; 30 | } 31 | 32 | .title { 33 | font-size: calc(30px + (70 - 30) * ((100vw - 320px) / (1200 - 320))); 34 | font-weight: bold; 35 | } 36 | } 37 | 38 | &.components { 39 | min-height: 450px !important; 40 | background-position: center bottom; 41 | 42 | .title { 43 | font-size: calc(40px + (90 - 40) * ((100vw - 320px) / (1200 - 320))); 44 | font-weight: bold; 45 | 46 | } 47 | } 48 | 49 | 50 | &-title { 51 | font-size: 2.4rem; 52 | font-weight: bold; 53 | opacity: .8; 54 | color: $dark; 55 | } 56 | 57 | // header mini 58 | &-mini { 59 | min-height: 24rem; 60 | height: 24rem; 61 | display: flex; 62 | flex-direction: column; 63 | align-items: center; 64 | justify-content: center; 65 | text-align: center; 66 | padding: 1rem; 67 | background: lighten($primary, 25%) !important; 68 | } 69 | } -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_pagination.scss: -------------------------------------------------------------------------------- 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 | } 74 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/utilities/_borders.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable property-blacklist, declaration-no-important 2 | 3 | // 4 | // Border 5 | // 6 | 7 | .border { border: $border-width solid $border-color !important; } 8 | .border-top { border-top: $border-width solid $border-color !important; } 9 | .border-right { border-right: $border-width solid $border-color !important; } 10 | .border-bottom { border-bottom: $border-width solid $border-color !important; } 11 | .border-left { border-left: $border-width solid $border-color !important; } 12 | 13 | .border-0 { border: 0 !important; } 14 | .border-top-0 { border-top: 0 !important; } 15 | .border-right-0 { border-right: 0 !important; } 16 | .border-bottom-0 { border-bottom: 0 !important; } 17 | .border-left-0 { border-left: 0 !important; } 18 | 19 | @each $color, $value in $theme-colors { 20 | .border-#{$color} { 21 | border-color: $value !important; 22 | } 23 | } 24 | 25 | .border-white { 26 | border-color: $white !important; 27 | } 28 | 29 | // 30 | // Border-radius 31 | // 32 | 33 | .rounded-sm { 34 | border-radius: $border-radius-sm !important; 35 | } 36 | 37 | .rounded { 38 | border-radius: $border-radius !important; 39 | } 40 | 41 | .rounded-top { 42 | border-top-left-radius: $border-radius !important; 43 | border-top-right-radius: $border-radius !important; 44 | } 45 | 46 | .rounded-right { 47 | border-top-right-radius: $border-radius !important; 48 | border-bottom-right-radius: $border-radius !important; 49 | } 50 | 51 | .rounded-bottom { 52 | border-bottom-right-radius: $border-radius !important; 53 | border-bottom-left-radius: $border-radius !important; 54 | } 55 | 56 | .rounded-left { 57 | border-top-left-radius: $border-radius !important; 58 | border-bottom-left-radius: $border-radius !important; 59 | } 60 | 61 | .rounded-lg { 62 | border-radius: $border-radius-lg !important; 63 | } 64 | 65 | .rounded-circle { 66 | border-radius: 50% !important; 67 | } 68 | 69 | .rounded-pill { 70 | border-radius: $rounded-pill !important; 71 | } 72 | 73 | .rounded-0 { 74 | border-radius: 0 !important; 75 | } 76 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_grid-framework.scss: -------------------------------------------------------------------------------- 1 | // Framework grid generation 2 | // 3 | // Used only by Bootstrap to generate the correct number of grid classes given 4 | // any value of `$grid-columns`. 5 | 6 | @mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) { 7 | // Common properties for all breakpoints 8 | %grid-column { 9 | position: relative; 10 | width: 100%; 11 | padding-right: $gutter / 2; 12 | padding-left: $gutter / 2; 13 | } 14 | 15 | @each $breakpoint in map-keys($breakpoints) { 16 | $infix: breakpoint-infix($breakpoint, $breakpoints); 17 | 18 | // Allow columns to stretch full width below their breakpoints 19 | @for $i from 1 through $columns { 20 | .col#{$infix}-#{$i} { 21 | @extend %grid-column; 22 | } 23 | } 24 | .col#{$infix}, 25 | .col#{$infix}-auto { 26 | @extend %grid-column; 27 | } 28 | 29 | @include media-breakpoint-up($breakpoint, $breakpoints) { 30 | // Provide basic `.col-{bp}` classes for equal-width flexbox columns 31 | .col#{$infix} { 32 | flex-basis: 0; 33 | flex-grow: 1; 34 | max-width: 100%; 35 | } 36 | .col#{$infix}-auto { 37 | flex: 0 0 auto; 38 | width: auto; 39 | max-width: 100%; // Reset earlier grid tiers 40 | } 41 | 42 | @for $i from 1 through $columns { 43 | .col#{$infix}-#{$i} { 44 | @include make-col($i, $columns); 45 | } 46 | } 47 | 48 | .order#{$infix}-first { order: -1; } 49 | 50 | .order#{$infix}-last { order: $columns + 1; } 51 | 52 | @for $i from 0 through $columns { 53 | .order#{$infix}-#{$i} { order: $i; } 54 | } 55 | 56 | // `$columns - 1` because offsetting by the width of an entire row isn't possible 57 | @for $i from 0 through ($columns - 1) { 58 | @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0 59 | .offset#{$infix}-#{$i} { 60 | @include make-col-offset($i, $columns); 61 | } 62 | } 63 | } 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_gradients.scss: -------------------------------------------------------------------------------- 1 | // Gradients 2 | 3 | @mixin gradient-bg($color) { 4 | @if $enable-gradients { 5 | background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x; 6 | } @else { 7 | background-color: $color; 8 | } 9 | } 10 | 11 | // Horizontal gradient, from left to right 12 | // 13 | // Creates two color stops, start and end, by specifying a color and position for each color stop. 14 | @mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) { 15 | background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); 16 | background-repeat: repeat-x; 17 | } 18 | 19 | // Vertical gradient, from top to bottom 20 | // 21 | // Creates two color stops, start and end, by specifying a color and position for each color stop. 22 | @mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) { 23 | background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); 24 | background-repeat: repeat-x; 25 | } 26 | 27 | @mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) { 28 | background-image: linear-gradient($deg, $start-color, $end-color); 29 | background-repeat: repeat-x; 30 | } 31 | @mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) { 32 | background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color); 33 | background-repeat: no-repeat; 34 | } 35 | @mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) { 36 | background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color); 37 | background-repeat: no-repeat; 38 | } 39 | @mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) { 40 | background-image: radial-gradient(circle, $inner-color, $outer-color); 41 | background-repeat: no-repeat; 42 | } 43 | @mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) { 44 | background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent); 45 | } 46 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/utilities/_text.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // 4 | // Text 5 | // 6 | 7 | .text-monospace { font-family: $font-family-monospace !important; } 8 | 9 | // Alignment 10 | 11 | .text-justify { text-align: justify !important; } 12 | .text-wrap { white-space: normal !important; } 13 | .text-nowrap { white-space: nowrap !important; } 14 | .text-truncate { @include text-truncate; } 15 | 16 | // Responsive alignment 17 | 18 | @each $breakpoint in map-keys($grid-breakpoints) { 19 | @include media-breakpoint-up($breakpoint) { 20 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 21 | 22 | .text#{$infix}-left { text-align: left !important; } 23 | .text#{$infix}-right { text-align: right !important; } 24 | .text#{$infix}-center { text-align: center !important; } 25 | } 26 | } 27 | 28 | // Transformation 29 | 30 | .text-lowercase { text-transform: lowercase !important; } 31 | .text-uppercase { text-transform: uppercase !important; } 32 | .text-capitalize { text-transform: capitalize !important; } 33 | 34 | // Weight and italics 35 | 36 | .font-weight-light { font-weight: $font-weight-light !important; } 37 | .font-weight-lighter { font-weight: $font-weight-lighter !important; } 38 | .font-weight-normal { font-weight: $font-weight-normal !important; } 39 | .font-weight-bold { font-weight: $font-weight-bold !important; } 40 | .font-weight-bolder { font-weight: $font-weight-bolder !important; } 41 | .font-italic { font-style: italic !important; } 42 | 43 | // Contextual colors 44 | 45 | .text-white { color: $white !important; } 46 | 47 | @each $color, $value in $theme-colors { 48 | @include text-emphasis-variant(".text-#{$color}", $value); 49 | } 50 | 51 | .text-body { color: $body-color !important; } 52 | .text-muted { color: $text-muted !important; } 53 | 54 | .text-black-50 { color: rgba($black, .5) !important; } 55 | .text-white-50 { color: rgba($white, .5) !important; } 56 | 57 | // Misc 58 | 59 | .text-hide { 60 | @include text-hide($ignore-warning: true); 61 | } 62 | 63 | .text-decoration-none { text-decoration: none !important; } 64 | 65 | .text-break { 66 | word-break: break-word !important; // IE & < Edge 18 67 | overflow-wrap: break-word !important; 68 | } 69 | 70 | // Reset 71 | 72 | .text-reset { color: inherit !important; } 73 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/utilities/_spacing.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Margin and Padding 4 | 5 | @each $breakpoint in map-keys($grid-breakpoints) { 6 | @include media-breakpoint-up($breakpoint) { 7 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 8 | 9 | @each $prop, $abbrev in (margin: m, padding: p) { 10 | @each $size, $length in $spacers { 11 | .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; } 12 | .#{$abbrev}t#{$infix}-#{$size}, 13 | .#{$abbrev}y#{$infix}-#{$size} { 14 | #{$prop}-top: $length !important; 15 | } 16 | .#{$abbrev}r#{$infix}-#{$size}, 17 | .#{$abbrev}x#{$infix}-#{$size} { 18 | #{$prop}-right: $length !important; 19 | } 20 | .#{$abbrev}b#{$infix}-#{$size}, 21 | .#{$abbrev}y#{$infix}-#{$size} { 22 | #{$prop}-bottom: $length !important; 23 | } 24 | .#{$abbrev}l#{$infix}-#{$size}, 25 | .#{$abbrev}x#{$infix}-#{$size} { 26 | #{$prop}-left: $length !important; 27 | } 28 | } 29 | } 30 | 31 | // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`) 32 | @each $size, $length in $spacers { 33 | @if $size != 0 { 34 | .m#{$infix}-n#{$size} { margin: -$length !important; } 35 | .mt#{$infix}-n#{$size}, 36 | .my#{$infix}-n#{$size} { 37 | margin-top: -$length !important; 38 | } 39 | .mr#{$infix}-n#{$size}, 40 | .mx#{$infix}-n#{$size} { 41 | margin-right: -$length !important; 42 | } 43 | .mb#{$infix}-n#{$size}, 44 | .my#{$infix}-n#{$size} { 45 | margin-bottom: -$length !important; 46 | } 47 | .ml#{$infix}-n#{$size}, 48 | .mx#{$infix}-n#{$size} { 49 | margin-left: -$length !important; 50 | } 51 | } 52 | } 53 | 54 | // Some special margin utils 55 | .m#{$infix}-auto { margin: auto !important; } 56 | .mt#{$infix}-auto, 57 | .my#{$infix}-auto { 58 | margin-top: auto !important; 59 | } 60 | .mr#{$infix}-auto, 61 | .mx#{$infix}-auto { 62 | margin-right: auto !important; 63 | } 64 | .mb#{$infix}-auto, 65 | .my#{$infix}-auto { 66 | margin-bottom: auto !important; 67 | } 68 | .ml#{$infix}-auto, 69 | .mx#{$infix}-auto { 70 | margin-left: auto !important; 71 | } 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /public_html/assets/scss/layout/_sections.scss: -------------------------------------------------------------------------------- 1 | section { 2 | padding: 80px 0; 3 | 4 | &:nth-child(odd) { 5 | background: lighten($gray-200, 5%); 6 | } 7 | 8 | .section-devider { 9 | display: block; 10 | height: 1px; 11 | margin: 50px 0; 12 | 13 | &.transparent { 14 | background-color: transparent; 15 | } 16 | } 17 | 18 | &.py-sm { 19 | padding-top: 50px !important; 20 | padding-bottom: 50px !important; 21 | } 22 | &.py-lg { 23 | padding-top: 140px !important; 24 | padding-bottom: 140px !important; 25 | } 26 | 27 | &.pattern-style-1 { 28 | background-image: url(../imgs/style-1.png); 29 | } 30 | &.pattern-style-2 { 31 | background-image: url(../imgs/style-2.png); 32 | } 33 | &.pattern-style-3 { 34 | background-image: url(../imgs/style-3.png); 35 | } 36 | &.pattern-style-4 { 37 | background-image: url(../imgs/style-4.png); 38 | } 39 | 40 | &.has-overlay { 41 | position: relative; 42 | 43 | * { 44 | position: static; 45 | z-index: 9; 46 | } 47 | 48 | &:after { 49 | content: ''; 50 | display: block; 51 | position: absolute; 52 | left: 0; 53 | top: 0; 54 | width: 100%; 55 | height: 100%; 56 | background: rgba($white,.6); 57 | z-index: 1; 58 | } 59 | } 60 | 61 | &.has-img-bg { 62 | position: relative; 63 | background: url(../imgs/section.jpg) no-repeat center top fixed; 64 | background-size: cover; 65 | color: $white; 66 | 67 | * { 68 | position: relative; 69 | z-index: 100; 70 | } 71 | 72 | &:after { 73 | content: ''; 74 | position: absolute; 75 | left: 0; 76 | top: 0; 77 | width: 100%; 78 | height: 100%; 79 | background: rgba(darken($primary,50%),.7); 80 | z-index: 1; 81 | } 82 | } 83 | } 84 | 85 | .section-subtitle { 86 | font-size: calc(14px + (17 - 14) * ((100vw - 320px) / (1200 - 320))); 87 | font-weight: 400; 88 | margin-bottom: 0px; 89 | opacity: .4; 90 | 91 | @include media-breakpoint-up(lg) { 92 | font-size: 17px; 93 | } 94 | } 95 | 96 | .section-title { 97 | font-size: calc(20px + (30 - 20) * ((100vw - 320px) / (1200 - 320))) !important; 98 | margin-bottom: 15px; 99 | 100 | @include media-breakpoint-up(lg) { 101 | font-size: 30px; 102 | } 103 | } 104 | 105 | .components-section-title { 106 | font-size: calc(18px + (23 - 18) * ((100vw - 320px) / (1200 - 320))); 107 | margin-bottom: 15px; 108 | 109 | @include media-breakpoint-up(lg) { 110 | font-size: 23px; 111 | } 112 | } 113 | 114 | .section-secondary-title { 115 | font-size: 17px; 116 | opacity: .7; 117 | margin-bottom: 15px; 118 | } -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_nav.scss: -------------------------------------------------------------------------------- 1 | // Base class 2 | // 3 | // Kickstart any navigation component with a set of style resets. Works with 4 | // ``s or ``s. 5 | 6 | .nav { 7 | display: flex; 8 | flex-wrap: wrap; 9 | padding-left: 0; 10 | margin-bottom: 0; 11 | list-style: none; 12 | } 13 | 14 | .nav-link { 15 | display: block; 16 | padding: $nav-link-padding-y $nav-link-padding-x; 17 | 18 | @include hover-focus { 19 | text-decoration: none; 20 | } 21 | 22 | // Disabled state lightens text 23 | &.disabled { 24 | color: $nav-link-disabled-color; 25 | pointer-events: none; 26 | cursor: default; 27 | } 28 | } 29 | 30 | // 31 | // Tabs 32 | // 33 | 34 | .nav-tabs { 35 | border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color; 36 | 37 | .nav-item { 38 | margin-bottom: -$nav-tabs-border-width; 39 | } 40 | 41 | .nav-link { 42 | border: $nav-tabs-border-width solid transparent; 43 | @include border-top-radius($nav-tabs-border-radius); 44 | 45 | @include hover-focus { 46 | border-color: $nav-tabs-link-hover-border-color; 47 | } 48 | 49 | &.disabled { 50 | color: $nav-link-disabled-color; 51 | background-color: transparent; 52 | border-color: transparent; 53 | } 54 | } 55 | 56 | .nav-link.active, 57 | .nav-item.show .nav-link { 58 | color: $nav-tabs-link-active-color; 59 | background-color: $nav-tabs-link-active-bg; 60 | border-color: $nav-tabs-link-active-border-color; 61 | } 62 | 63 | .dropdown-menu { 64 | // Make dropdown border overlap tab border 65 | margin-top: -$nav-tabs-border-width; 66 | // Remove the top rounded corners here since there is a hard edge above the menu 67 | @include border-top-radius(0); 68 | } 69 | } 70 | 71 | 72 | // 73 | // Pills 74 | // 75 | 76 | .nav-pills { 77 | .nav-link { 78 | @include border-radius($nav-pills-border-radius); 79 | } 80 | 81 | .nav-link.active, 82 | .show > .nav-link { 83 | color: $nav-pills-link-active-color; 84 | background-color: $nav-pills-link-active-bg; 85 | } 86 | } 87 | 88 | 89 | // 90 | // Justified variants 91 | // 92 | 93 | .nav-fill { 94 | .nav-item { 95 | flex: 1 1 auto; 96 | text-align: center; 97 | } 98 | } 99 | 100 | .nav-justified { 101 | .nav-item { 102 | flex-basis: 0; 103 | flex-grow: 1; 104 | text-align: center; 105 | } 106 | } 107 | 108 | 109 | // Tabbable tabs 110 | // 111 | // Hide tabbable panes to start, show them when `.active` 112 | 113 | .tab-content { 114 | > .tab-pane { 115 | display: none; 116 | } 117 | > .active { 118 | display: block; 119 | } 120 | } 121 | -------------------------------------------------------------------------------- /public_html/assets/scss/pigga.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | ========================================================= 3 | * Pigga Landing page V 1.0 4 | ========================================================= 5 | 6 | * Copyright: 2019 DevCRUD (https://devcrud.com) 7 | * Licensed: (https://devcrud.com/licenses) 8 | * Coded by www.devcrud.com 9 | 10 | ========================================================= 11 | 12 | * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 13 | */ 14 | 15 | 16 | // Core 17 | @import "vendors/bootstrap-4.3.1/functions"; 18 | 19 | // custom variables 20 | @import "abstracts/variables"; 21 | // bootstrap variables 22 | @import "vendors/bootstrap-4.3.1/variables"; 23 | 24 | @import "vendors/bootstrap-4.3.1/mixins"; 25 | @import "abstracts/mixins"; 26 | 27 | 28 | // Bootstrap 4.3.1 29 | @import "vendors/bootstrap-4.3.1/root"; 30 | @import "vendors/bootstrap-4.3.1/reboot"; 31 | @import "vendors/bootstrap-4.3.1/type"; 32 | @import "vendors/bootstrap-4.3.1/images"; 33 | @import "vendors/bootstrap-4.3.1/code"; 34 | @import "vendors/bootstrap-4.3.1/grid"; 35 | @import "vendors/bootstrap-4.3.1/tables"; 36 | @import "vendors/bootstrap-4.3.1/forms"; 37 | @import "vendors/bootstrap-4.3.1/buttons"; 38 | @import "vendors/bootstrap-4.3.1/transitions"; 39 | @import "vendors/bootstrap-4.3.1/dropdown"; 40 | @import "vendors/bootstrap-4.3.1/button-group"; 41 | @import "vendors/bootstrap-4.3.1/input-group"; 42 | @import "vendors/bootstrap-4.3.1/custom-forms"; 43 | @import "vendors/bootstrap-4.3.1/nav"; 44 | @import "vendors/bootstrap-4.3.1/navbar"; 45 | @import "vendors/bootstrap-4.3.1/card"; 46 | @import "vendors/bootstrap-4.3.1/breadcrumb"; 47 | @import "vendors/bootstrap-4.3.1/pagination"; 48 | @import "vendors/bootstrap-4.3.1/badge"; 49 | @import "vendors/bootstrap-4.3.1/jumbotron"; 50 | @import "vendors/bootstrap-4.3.1/alert"; 51 | @import "vendors/bootstrap-4.3.1/progress"; 52 | @import "vendors/bootstrap-4.3.1/media"; 53 | @import "vendors/bootstrap-4.3.1/list-group"; 54 | @import "vendors/bootstrap-4.3.1/close"; 55 | @import "vendors/bootstrap-4.3.1/toasts"; 56 | @import "vendors/bootstrap-4.3.1/modal"; 57 | @import "vendors/bootstrap-4.3.1/tooltip"; 58 | @import "vendors/bootstrap-4.3.1/popover"; 59 | @import "vendors/bootstrap-4.3.1/carousel"; 60 | @import "vendors/bootstrap-4.3.1/spinners"; 61 | @import "vendors/bootstrap-4.3.1/utilities"; 62 | @import "vendors/bootstrap-4.3.1/print"; 63 | 64 | 65 | // custom 66 | @import "abstracts/utilities"; 67 | 68 | @import "base/reset"; 69 | @import "base/typography"; 70 | 71 | @import "components/buttons"; 72 | @import "components/forms"; 73 | @import "components/list"; 74 | @import "components/navbar"; 75 | @import "components/pagination"; 76 | @import "components/progressbar"; 77 | @import "components/table"; 78 | 79 | @import "layout/header"; 80 | @import "layout/sections"; 81 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_type.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important, selector-list-comma-newline-after 2 | 3 | // 4 | // Headings 5 | // 6 | 7 | h1, h2, h3, h4, h5, h6, 8 | .h1, .h2, .h3, .h4, .h5, .h6 { 9 | margin-bottom: $headings-margin-bottom; 10 | font-family: $headings-font-family; 11 | font-weight: $headings-font-weight; 12 | line-height: $headings-line-height; 13 | color: $headings-color; 14 | } 15 | 16 | h1, .h1 { @include font-size($h1-font-size); } 17 | h2, .h2 { @include font-size($h2-font-size); } 18 | h3, .h3 { @include font-size($h3-font-size); } 19 | h4, .h4 { @include font-size($h4-font-size); } 20 | h5, .h5 { @include font-size($h5-font-size); } 21 | h6, .h6 { @include font-size($h6-font-size); } 22 | 23 | .lead { 24 | @include font-size($lead-font-size); 25 | font-weight: $lead-font-weight; 26 | } 27 | 28 | // Type display classes 29 | .display-1 { 30 | @include font-size($display1-size); 31 | font-weight: $display1-weight; 32 | line-height: $display-line-height; 33 | } 34 | .display-2 { 35 | @include font-size($display2-size); 36 | font-weight: $display2-weight; 37 | line-height: $display-line-height; 38 | } 39 | .display-3 { 40 | @include font-size($display3-size); 41 | font-weight: $display3-weight; 42 | line-height: $display-line-height; 43 | } 44 | .display-4 { 45 | @include font-size($display4-size); 46 | font-weight: $display4-weight; 47 | line-height: $display-line-height; 48 | } 49 | 50 | 51 | // 52 | // Horizontal rules 53 | // 54 | 55 | hr { 56 | margin-top: $hr-margin-y; 57 | margin-bottom: $hr-margin-y; 58 | border: 0; 59 | border-top: $hr-border-width solid $hr-border-color; 60 | } 61 | 62 | 63 | // 64 | // Emphasis 65 | // 66 | 67 | small, 68 | .small { 69 | @include font-size($small-font-size); 70 | font-weight: $font-weight-normal; 71 | } 72 | 73 | mark, 74 | .mark { 75 | padding: $mark-padding; 76 | background-color: $mark-bg; 77 | } 78 | 79 | 80 | // 81 | // Lists 82 | // 83 | 84 | .list-unstyled { 85 | @include list-unstyled; 86 | } 87 | 88 | // Inline turns list items into inline-block 89 | .list-inline { 90 | @include list-unstyled; 91 | } 92 | .list-inline-item { 93 | display: inline-block; 94 | 95 | &:not(:last-child) { 96 | margin-right: $list-inline-padding; 97 | } 98 | } 99 | 100 | 101 | // 102 | // Misc 103 | // 104 | 105 | // Builds on `abbr` 106 | .initialism { 107 | @include font-size(90%); 108 | text-transform: uppercase; 109 | } 110 | 111 | // Blockquotes 112 | .blockquote { 113 | margin-bottom: $spacer; 114 | @include font-size($blockquote-font-size); 115 | } 116 | 117 | .blockquote-footer { 118 | display: block; 119 | @include font-size($blockquote-small-font-size); 120 | color: $blockquote-small-color; 121 | 122 | &::before { 123 | content: "\2014\00A0"; // em dash, nbsp 124 | } 125 | } 126 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/utilities/_flex.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Flex variation 4 | // 5 | // Custom styles for additional flex alignment options. 6 | 7 | @each $breakpoint in map-keys($grid-breakpoints) { 8 | @include media-breakpoint-up($breakpoint) { 9 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 10 | 11 | .flex#{$infix}-row { flex-direction: row !important; } 12 | .flex#{$infix}-column { flex-direction: column !important; } 13 | .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; } 14 | .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; } 15 | 16 | .flex#{$infix}-wrap { flex-wrap: wrap !important; } 17 | .flex#{$infix}-nowrap { flex-wrap: nowrap !important; } 18 | .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; } 19 | .flex#{$infix}-fill { flex: 1 1 auto !important; } 20 | .flex#{$infix}-grow-0 { flex-grow: 0 !important; } 21 | .flex#{$infix}-grow-1 { flex-grow: 1 !important; } 22 | .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; } 23 | .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; } 24 | 25 | .justify-content#{$infix}-start { justify-content: flex-start !important; } 26 | .justify-content#{$infix}-end { justify-content: flex-end !important; } 27 | .justify-content#{$infix}-center { justify-content: center !important; } 28 | .justify-content#{$infix}-between { justify-content: space-between !important; } 29 | .justify-content#{$infix}-around { justify-content: space-around !important; } 30 | 31 | .align-items#{$infix}-start { align-items: flex-start !important; } 32 | .align-items#{$infix}-end { align-items: flex-end !important; } 33 | .align-items#{$infix}-center { align-items: center !important; } 34 | .align-items#{$infix}-baseline { align-items: baseline !important; } 35 | .align-items#{$infix}-stretch { align-items: stretch !important; } 36 | 37 | .align-content#{$infix}-start { align-content: flex-start !important; } 38 | .align-content#{$infix}-end { align-content: flex-end !important; } 39 | .align-content#{$infix}-center { align-content: center !important; } 40 | .align-content#{$infix}-between { align-content: space-between !important; } 41 | .align-content#{$infix}-around { align-content: space-around !important; } 42 | .align-content#{$infix}-stretch { align-content: stretch !important; } 43 | 44 | .align-self#{$infix}-auto { align-self: auto !important; } 45 | .align-self#{$infix}-start { align-self: flex-start !important; } 46 | .align-self#{$infix}-end { align-self: flex-end !important; } 47 | .align-self#{$infix}-center { align-self: center !important; } 48 | .align-self#{$infix}-baseline { align-self: baseline !important; } 49 | .align-self#{$infix}-stretch { align-self: stretch !important; } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_functions.scss: -------------------------------------------------------------------------------- 1 | // Bootstrap functions 2 | // 3 | // Utility mixins and functions for evaluating source code across our variables, maps, and mixins. 4 | 5 | // Ascending 6 | // Used to evaluate Sass maps like our grid breakpoints. 7 | @mixin _assert-ascending($map, $map-name) { 8 | $prev-key: null; 9 | $prev-num: null; 10 | @each $key, $num in $map { 11 | @if $prev-num == null or unit($num) == "%" { 12 | // Do nothing 13 | } @else if not comparable($prev-num, $num) { 14 | @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !"; 15 | } @else if $prev-num >= $num { 16 | @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !"; 17 | } 18 | $prev-key: $key; 19 | $prev-num: $num; 20 | } 21 | } 22 | 23 | // Starts at zero 24 | // Used to ensure the min-width of the lowest breakpoint starts at 0. 25 | @mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") { 26 | $values: map-values($map); 27 | $first-value: nth($values, 1); 28 | @if $first-value != 0 { 29 | @warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}."; 30 | } 31 | } 32 | 33 | // Replace `$search` with `$replace` in `$string` 34 | // Used on our SVG icon backgrounds for custom forms. 35 | // 36 | // @author Hugo Giraudel 37 | // @param {String} $string - Initial string 38 | // @param {String} $search - Substring to replace 39 | // @param {String} $replace ('') - New value 40 | // @return {String} - Updated string 41 | @function str-replace($string, $search, $replace: "") { 42 | $index: str-index($string, $search); 43 | 44 | @if $index { 45 | @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace); 46 | } 47 | 48 | @return $string; 49 | } 50 | 51 | // Color contrast 52 | @function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) { 53 | $r: red($color); 54 | $g: green($color); 55 | $b: blue($color); 56 | 57 | $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000; 58 | 59 | @if ($yiq >= $yiq-contrasted-threshold) { 60 | @return $dark; 61 | } @else { 62 | @return $light; 63 | } 64 | } 65 | 66 | // Retrieve color Sass maps 67 | @function color($key: "blue") { 68 | @return map-get($colors, $key); 69 | } 70 | 71 | @function theme-color($key: "primary") { 72 | @return map-get($theme-colors, $key); 73 | } 74 | 75 | @function gray($key: "100") { 76 | @return map-get($grays, $key); 77 | } 78 | 79 | // Request a theme color level 80 | @function theme-color-level($color-name: "primary", $level: 0) { 81 | $color: theme-color($color-name); 82 | $color-base: if($level > 0, $black, $white); 83 | $level: abs($level); 84 | 85 | @return mix($color-base, $color, $level * $theme-color-interval); 86 | } 87 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_tooltip.scss: -------------------------------------------------------------------------------- 1 | // Base class 2 | .tooltip { 3 | position: absolute; 4 | z-index: $zindex-tooltip; 5 | display: block; 6 | margin: $tooltip-margin; 7 | // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element. 8 | // So reset our font and text properties to avoid inheriting weird values. 9 | @include reset-text(); 10 | @include font-size($tooltip-font-size); 11 | // Allow breaking very long words so they don't overflow the tooltip's bounds 12 | word-wrap: break-word; 13 | opacity: 0; 14 | 15 | &.show { opacity: $tooltip-opacity; } 16 | 17 | .arrow { 18 | position: absolute; 19 | display: block; 20 | width: $tooltip-arrow-width; 21 | height: $tooltip-arrow-height; 22 | 23 | &::before { 24 | position: absolute; 25 | content: ""; 26 | border-color: transparent; 27 | border-style: solid; 28 | } 29 | } 30 | } 31 | 32 | .bs-tooltip-top { 33 | padding: $tooltip-arrow-height 0; 34 | 35 | .arrow { 36 | bottom: 0; 37 | 38 | &::before { 39 | top: 0; 40 | border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0; 41 | border-top-color: $tooltip-arrow-color; 42 | } 43 | } 44 | } 45 | 46 | .bs-tooltip-right { 47 | padding: 0 $tooltip-arrow-height; 48 | 49 | .arrow { 50 | left: 0; 51 | width: $tooltip-arrow-height; 52 | height: $tooltip-arrow-width; 53 | 54 | &::before { 55 | right: 0; 56 | border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0; 57 | border-right-color: $tooltip-arrow-color; 58 | } 59 | } 60 | } 61 | 62 | .bs-tooltip-bottom { 63 | padding: $tooltip-arrow-height 0; 64 | 65 | .arrow { 66 | top: 0; 67 | 68 | &::before { 69 | bottom: 0; 70 | border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height; 71 | border-bottom-color: $tooltip-arrow-color; 72 | } 73 | } 74 | } 75 | 76 | .bs-tooltip-left { 77 | padding: 0 $tooltip-arrow-height; 78 | 79 | .arrow { 80 | right: 0; 81 | width: $tooltip-arrow-height; 82 | height: $tooltip-arrow-width; 83 | 84 | &::before { 85 | left: 0; 86 | border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height; 87 | border-left-color: $tooltip-arrow-color; 88 | } 89 | } 90 | } 91 | 92 | .bs-tooltip-auto { 93 | &[x-placement^="top"] { 94 | @extend .bs-tooltip-top; 95 | } 96 | &[x-placement^="right"] { 97 | @extend .bs-tooltip-right; 98 | } 99 | &[x-placement^="bottom"] { 100 | @extend .bs-tooltip-bottom; 101 | } 102 | &[x-placement^="left"] { 103 | @extend .bs-tooltip-left; 104 | } 105 | } 106 | 107 | // Wrapper for the tooltip content 108 | .tooltip-inner { 109 | max-width: $tooltip-max-width; 110 | padding: $tooltip-padding-y $tooltip-padding-x; 111 | color: $tooltip-color; 112 | text-align: center; 113 | background-color: $tooltip-bg; 114 | @include border-radius($tooltip-border-radius); 115 | } 116 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_buttons.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable selector-no-qualifying-type 2 | 3 | // 4 | // Base styles 5 | // 6 | 7 | .btn { 8 | display: inline-block; 9 | font-family: $btn-font-family; 10 | font-weight: $btn-font-weight; 11 | color: $body-color; 12 | text-align: center; 13 | vertical-align: middle; 14 | user-select: none; 15 | background-color: transparent; 16 | border: $btn-border-width solid transparent; 17 | @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius); 18 | @include transition($btn-transition); 19 | 20 | @include hover { 21 | color: $body-color; 22 | text-decoration: none; 23 | } 24 | 25 | &:focus, 26 | &.focus { 27 | outline: 0; 28 | box-shadow: $btn-focus-box-shadow; 29 | } 30 | 31 | // Disabled comes first so active can properly restyle 32 | &.disabled, 33 | &:disabled { 34 | opacity: $btn-disabled-opacity; 35 | @include box-shadow(none); 36 | } 37 | 38 | &:not(:disabled):not(.disabled):active, 39 | &:not(:disabled):not(.disabled).active { 40 | @include box-shadow($btn-active-box-shadow); 41 | 42 | &:focus { 43 | @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow); 44 | } 45 | } 46 | } 47 | 48 | // Future-proof disabling of clicks on `` elements 49 | a.btn.disabled, 50 | fieldset:disabled a.btn { 51 | pointer-events: none; 52 | } 53 | 54 | 55 | // 56 | // Alternate buttons 57 | // 58 | 59 | @each $color, $value in $theme-colors { 60 | .btn-#{$color} { 61 | @include button-variant($value, $value); 62 | } 63 | } 64 | 65 | @each $color, $value in $theme-colors { 66 | .btn-outline-#{$color} { 67 | @include button-outline-variant($value); 68 | } 69 | } 70 | 71 | 72 | // 73 | // Link buttons 74 | // 75 | 76 | // Make a button look and behave like a link 77 | .btn-link { 78 | font-weight: $font-weight-normal; 79 | color: $link-color; 80 | text-decoration: $link-decoration; 81 | 82 | @include hover { 83 | color: $link-hover-color; 84 | text-decoration: $link-hover-decoration; 85 | } 86 | 87 | &:focus, 88 | &.focus { 89 | text-decoration: $link-hover-decoration; 90 | box-shadow: none; 91 | } 92 | 93 | &:disabled, 94 | &.disabled { 95 | color: $btn-link-disabled-color; 96 | pointer-events: none; 97 | } 98 | 99 | // No need for an active state here 100 | } 101 | 102 | 103 | // 104 | // Button Sizes 105 | // 106 | 107 | .btn-lg { 108 | @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg); 109 | } 110 | 111 | .btn-sm { 112 | @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm); 113 | } 114 | 115 | 116 | // 117 | // Block button 118 | // 119 | 120 | .btn-block { 121 | display: block; 122 | width: 100%; 123 | 124 | // Vertically space out multiple block buttons 125 | + .btn-block { 126 | margin-top: $btn-block-spacing-y; 127 | } 128 | } 129 | 130 | // Specificity overrides 131 | input[type="submit"], 132 | input[type="reset"], 133 | input[type="button"] { 134 | &.btn-block { 135 | width: 100%; 136 | } 137 | } 138 | -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | // node.js Packages / Dependencies 2 | const gulp = require('gulp'); 3 | const sass = require('gulp-sass'); 4 | const uglify = require('gulp-uglify'); 5 | const rename = require('gulp-rename'); 6 | const concat = require('gulp-concat'); 7 | const cleanCSS = require('gulp-clean-css'); 8 | const imageMin = require('gulp-imagemin'); 9 | const pngQuint = require('imagemin-pngquant'); 10 | const browserSync = require('browser-sync').create(); 11 | const autoprefixer = require('gulp-autoprefixer'); 12 | const jpgRecompress = require('imagemin-jpeg-recompress'); 13 | const clean = require('gulp-clean'); 14 | 15 | 16 | // Paths 17 | var paths = { 18 | root: { 19 | www: './public_html' 20 | }, 21 | src: { 22 | root: 'public_html/assets', 23 | html: 'public_html/**/*.html', 24 | css: 'public_html/assets/css/*.css', 25 | js: 'public_html/assets/js/*.js', 26 | vendors: 'public_html/assets/vendors/**/*.*', 27 | imgs: 'public_html/assets/imgs/**/*.+(png|jpg|gif|svg)', 28 | scss: 'public_html/assets/scss/**/*.scss' 29 | }, 30 | dist: { 31 | root: 'public_html/dist', 32 | css: 'public_html/dist/css', 33 | js: 'public_html/dist/js', 34 | imgs: 'public_html/dist/imgs', 35 | vendors: 'public_html/dist/vendors' 36 | } 37 | } 38 | 39 | // Compile SCSS 40 | gulp.task('sass', function() { 41 | return gulp.src(paths.src.scss) 42 | .pipe(sass({outputStyle: 'expanded'}).on('error', sass.logError)) 43 | .pipe(autoprefixer()) 44 | .pipe(gulp.dest(paths.src.root + '/css')) 45 | .pipe(browserSync.stream()); 46 | }); 47 | 48 | // Minify + Combine CSS 49 | gulp.task('css', function() { 50 | return gulp.src(paths.src.css) 51 | .pipe(cleanCSS({compatibility: 'ie8'})) 52 | .pipe(concat('pigga.css')) 53 | .pipe(rename({ suffix: '.min' })) 54 | .pipe(gulp.dest(paths.dist.css)) 55 | }); 56 | 57 | // Minify + Combine JS 58 | gulp.task('js', function() { 59 | return gulp.src(paths.src.js) 60 | .pipe(uglify()) 61 | .pipe(concat('pigga.js')) 62 | .pipe(rename({ suffix: '.min' })) 63 | .pipe(gulp.dest(paths.dist.js)) 64 | .pipe(browserSync.stream()); 65 | }); 66 | 67 | // Compress (JPEG, PNG, GIF, SVG, JPG) 68 | gulp.task('img', function(){ 69 | return gulp.src(paths.src.imgs) 70 | .pipe(imageMin([ 71 | imageMin.gifsicle(), 72 | imageMin.jpegtran(), 73 | imageMin.optipng(), 74 | imageMin.svgo(), 75 | pngQuint(), 76 | jpgRecompress() 77 | ])) 78 | .pipe(gulp.dest(paths.dist.imgs)); 79 | }); 80 | 81 | // copy vendors to dist 82 | gulp.task('vendors', function(){ 83 | return gulp.src(paths.src.vendors) 84 | .pipe(gulp.dest(paths.dist.vendors)) 85 | }); 86 | 87 | // clean dist 88 | gulp.task('clean', function () { 89 | return gulp.src(paths.dist.root) 90 | .pipe(clean()); 91 | }); 92 | 93 | // Prepare all assets for production 94 | gulp.task('build', gulp.series('sass', 'css', 'js', 'vendors', 'img')); 95 | 96 | 97 | // Watch (SASS, CSS, JS, and HTML) reload browser on change 98 | gulp.task('watch', function() { 99 | browserSync.init({ 100 | server: { 101 | baseDir: paths.root.www 102 | } 103 | }) 104 | gulp.watch(paths.src.scss, gulp.series('sass')); 105 | gulp.watch(paths.src.js).on('change', browserSync.reload); 106 | gulp.watch(paths.src.html).on('change', browserSync.reload); 107 | }); -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_print.scss: -------------------------------------------------------------------------------- 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 | } 142 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_buttons.scss: -------------------------------------------------------------------------------- 1 | // Button variants 2 | // 3 | // Easily pump out default styles, as well as :hover, :focus, :active, 4 | // and disabled options for all buttons 5 | 6 | @mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) { 7 | color: color-yiq($background); 8 | @include gradient-bg($background); 9 | border-color: $border; 10 | @include box-shadow($btn-box-shadow); 11 | 12 | @include hover { 13 | color: color-yiq($hover-background); 14 | @include gradient-bg($hover-background); 15 | border-color: $hover-border; 16 | } 17 | 18 | &:focus, 19 | &.focus { 20 | // Avoid using mixin so we can pass custom focus shadow properly 21 | @if $enable-shadows { 22 | box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5); 23 | } @else { 24 | box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5); 25 | } 26 | } 27 | 28 | // Disabled comes first so active can properly restyle 29 | &.disabled, 30 | &:disabled { 31 | color: color-yiq($background); 32 | background-color: $background; 33 | border-color: $border; 34 | // Remove CSS gradients if they're enabled 35 | @if $enable-gradients { 36 | background-image: none; 37 | } 38 | } 39 | 40 | &:not(:disabled):not(.disabled):active, 41 | &:not(:disabled):not(.disabled).active, 42 | .show > &.dropdown-toggle { 43 | color: color-yiq($active-background); 44 | background-color: $active-background; 45 | @if $enable-gradients { 46 | background-image: none; // Remove the gradient for the pressed/active state 47 | } 48 | border-color: $active-border; 49 | 50 | &:focus { 51 | // Avoid using mixin so we can pass custom focus shadow properly 52 | @if $enable-shadows and $btn-active-box-shadow != none { 53 | box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5); 54 | } @else { 55 | box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5); 56 | } 57 | } 58 | } 59 | } 60 | 61 | @mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) { 62 | color: $color; 63 | border-color: $color; 64 | 65 | @include hover { 66 | color: $color-hover; 67 | background-color: $active-background; 68 | border-color: $active-border; 69 | } 70 | 71 | &:focus, 72 | &.focus { 73 | box-shadow: 0 0 0 $btn-focus-width rgba($color, .5); 74 | } 75 | 76 | &.disabled, 77 | &:disabled { 78 | color: $color; 79 | background-color: transparent; 80 | } 81 | 82 | &:not(:disabled):not(.disabled):active, 83 | &:not(:disabled):not(.disabled).active, 84 | .show > &.dropdown-toggle { 85 | color: color-yiq($active-background); 86 | background-color: $active-background; 87 | border-color: $active-border; 88 | 89 | &:focus { 90 | // Avoid using mixin so we can pass custom focus shadow properly 91 | @if $enable-shadows and $btn-active-box-shadow != none { 92 | box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5); 93 | } @else { 94 | box-shadow: 0 0 0 $btn-focus-width rgba($color, .5); 95 | } 96 | } 97 | } 98 | } 99 | 100 | // Button sizes 101 | @mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) { 102 | padding: $padding-y $padding-x; 103 | @include font-size($font-size); 104 | line-height: $line-height; 105 | // Manually declare to provide an override to the browser default 106 | @include border-radius($border-radius, 0); 107 | } 108 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_button-group.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable selector-no-qualifying-type 2 | 3 | // Make the div behave like a button 4 | .btn-group, 5 | .btn-group-vertical { 6 | position: relative; 7 | display: inline-flex; 8 | vertical-align: middle; // match .btn alignment given font-size hack above 9 | 10 | > .btn { 11 | position: relative; 12 | flex: 1 1 auto; 13 | 14 | // Bring the hover, focused, and "active" buttons to the front to overlay 15 | // the borders properly 16 | @include hover { 17 | z-index: 1; 18 | } 19 | &:focus, 20 | &:active, 21 | &.active { 22 | z-index: 1; 23 | } 24 | } 25 | } 26 | 27 | // Optional: Group multiple button groups together for a toolbar 28 | .btn-toolbar { 29 | display: flex; 30 | flex-wrap: wrap; 31 | justify-content: flex-start; 32 | 33 | .input-group { 34 | width: auto; 35 | } 36 | } 37 | 38 | .btn-group { 39 | // Prevent double borders when buttons are next to each other 40 | > .btn:not(:first-child), 41 | > .btn-group:not(:first-child) { 42 | margin-left: -$btn-border-width; 43 | } 44 | 45 | // Reset rounded corners 46 | > .btn:not(:last-child):not(.dropdown-toggle), 47 | > .btn-group:not(:last-child) > .btn { 48 | @include border-right-radius(0); 49 | } 50 | 51 | > .btn:not(:first-child), 52 | > .btn-group:not(:first-child) > .btn { 53 | @include border-left-radius(0); 54 | } 55 | } 56 | 57 | // Sizing 58 | // 59 | // Remix the default button sizing classes into new ones for easier manipulation. 60 | 61 | .btn-group-sm > .btn { @extend .btn-sm; } 62 | .btn-group-lg > .btn { @extend .btn-lg; } 63 | 64 | 65 | // 66 | // Split button dropdowns 67 | // 68 | 69 | .dropdown-toggle-split { 70 | padding-right: $btn-padding-x * .75; 71 | padding-left: $btn-padding-x * .75; 72 | 73 | &::after, 74 | .dropup &::after, 75 | .dropright &::after { 76 | margin-left: 0; 77 | } 78 | 79 | .dropleft &::before { 80 | margin-right: 0; 81 | } 82 | } 83 | 84 | .btn-sm + .dropdown-toggle-split { 85 | padding-right: $btn-padding-x-sm * .75; 86 | padding-left: $btn-padding-x-sm * .75; 87 | } 88 | 89 | .btn-lg + .dropdown-toggle-split { 90 | padding-right: $btn-padding-x-lg * .75; 91 | padding-left: $btn-padding-x-lg * .75; 92 | } 93 | 94 | 95 | // The clickable button for toggling the menu 96 | // Set the same inset shadow as the :active state 97 | .btn-group.show .dropdown-toggle { 98 | @include box-shadow($btn-active-box-shadow); 99 | 100 | // Show no shadow for `.btn-link` since it has no other button styles. 101 | &.btn-link { 102 | @include box-shadow(none); 103 | } 104 | } 105 | 106 | 107 | // 108 | // Vertical button groups 109 | // 110 | 111 | .btn-group-vertical { 112 | flex-direction: column; 113 | align-items: flex-start; 114 | justify-content: center; 115 | 116 | > .btn, 117 | > .btn-group { 118 | width: 100%; 119 | } 120 | 121 | > .btn:not(:first-child), 122 | > .btn-group:not(:first-child) { 123 | margin-top: -$btn-border-width; 124 | } 125 | 126 | // Reset rounded corners 127 | > .btn:not(:last-child):not(.dropdown-toggle), 128 | > .btn-group:not(:last-child) > .btn { 129 | @include border-bottom-radius(0); 130 | } 131 | 132 | > .btn:not(:first-child), 133 | > .btn-group:not(:first-child) > .btn { 134 | @include border-top-radius(0); 135 | } 136 | } 137 | 138 | 139 | // Checkbox and radio options 140 | // 141 | // In order to support the browser's form validation feedback, powered by the 142 | // `required` attribute, we have to "hide" the inputs via `clip`. We cannot use 143 | // `display: none;` or `visibility: hidden;` as that also hides the popover. 144 | // Simply visually hiding the inputs via `opacity` would leave them clickable in 145 | // certain cases which is prevented by using `clip` and `pointer-events`. 146 | // This way, we ensure a DOM element is visible to position the popover from. 147 | // 148 | // See https://github.com/twbs/bootstrap/pull/12794 and 149 | // https://github.com/twbs/bootstrap/pull/14559 for more information. 150 | 151 | .btn-group-toggle { 152 | > .btn, 153 | > .btn-group > .btn { 154 | margin-bottom: 0; // Override default `` value 155 | 156 | input[type="radio"], 157 | input[type="checkbox"] { 158 | position: absolute; 159 | clip: rect(0, 0, 0, 0); 160 | pointer-events: none; 161 | } 162 | } 163 | } 164 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_tables.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Basic Bootstrap table 3 | // 4 | 5 | .table { 6 | width: 100%; 7 | margin-bottom: $spacer; 8 | color: $table-color; 9 | background-color: $table-bg; // Reset for nesting within parents with `background-color`. 10 | 11 | th, 12 | td { 13 | padding: $table-cell-padding; 14 | vertical-align: top; 15 | border-top: $table-border-width solid $table-border-color; 16 | } 17 | 18 | thead th { 19 | vertical-align: bottom; 20 | border-bottom: (2 * $table-border-width) solid $table-border-color; 21 | } 22 | 23 | tbody + tbody { 24 | border-top: (2 * $table-border-width) solid $table-border-color; 25 | } 26 | } 27 | 28 | 29 | // 30 | // Condensed table w/ half padding 31 | // 32 | 33 | .table-sm { 34 | th, 35 | td { 36 | padding: $table-cell-padding-sm; 37 | } 38 | } 39 | 40 | 41 | // Border versions 42 | // 43 | // Add or remove borders all around the table and between all the columns. 44 | 45 | .table-bordered { 46 | border: $table-border-width solid $table-border-color; 47 | 48 | th, 49 | td { 50 | border: $table-border-width solid $table-border-color; 51 | } 52 | 53 | thead { 54 | th, 55 | td { 56 | border-bottom-width: 2 * $table-border-width; 57 | } 58 | } 59 | } 60 | 61 | .table-borderless { 62 | th, 63 | td, 64 | thead th, 65 | tbody + tbody { 66 | border: 0; 67 | } 68 | } 69 | 70 | // Zebra-striping 71 | // 72 | // Default zebra-stripe styles (alternating gray and transparent backgrounds) 73 | 74 | .table-striped { 75 | tbody tr:nth-of-type(#{$table-striped-order}) { 76 | background-color: $table-accent-bg; 77 | } 78 | } 79 | 80 | 81 | // Hover effect 82 | // 83 | // Placed here since it has to come after the potential zebra striping 84 | 85 | .table-hover { 86 | tbody tr { 87 | @include hover { 88 | color: $table-hover-color; 89 | background-color: $table-hover-bg; 90 | } 91 | } 92 | } 93 | 94 | 95 | // Table backgrounds 96 | // 97 | // Exact selectors below required to override `.table-striped` and prevent 98 | // inheritance to nested tables. 99 | 100 | @each $color, $value in $theme-colors { 101 | @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level)); 102 | } 103 | 104 | @include table-row-variant(active, $table-active-bg); 105 | 106 | 107 | // Dark styles 108 | // 109 | // Same table markup, but inverted color scheme: dark background and light text. 110 | 111 | // stylelint-disable-next-line no-duplicate-selectors 112 | .table { 113 | .thead-dark { 114 | th { 115 | color: $table-dark-color; 116 | background-color: $table-dark-bg; 117 | border-color: $table-dark-border-color; 118 | } 119 | } 120 | 121 | .thead-light { 122 | th { 123 | color: $table-head-color; 124 | background-color: $table-head-bg; 125 | border-color: $table-border-color; 126 | } 127 | } 128 | } 129 | 130 | .table-dark { 131 | color: $table-dark-color; 132 | background-color: $table-dark-bg; 133 | 134 | th, 135 | td, 136 | thead th { 137 | border-color: $table-dark-border-color; 138 | } 139 | 140 | &.table-bordered { 141 | border: 0; 142 | } 143 | 144 | &.table-striped { 145 | tbody tr:nth-of-type(odd) { 146 | background-color: $table-dark-accent-bg; 147 | } 148 | } 149 | 150 | &.table-hover { 151 | tbody tr { 152 | @include hover { 153 | color: $table-dark-hover-color; 154 | background-color: $table-dark-hover-bg; 155 | } 156 | } 157 | } 158 | } 159 | 160 | 161 | // Responsive tables 162 | // 163 | // Generate series of `.table-responsive-*` classes for configuring the screen 164 | // size of where your table will overflow. 165 | 166 | .table-responsive { 167 | @each $breakpoint in map-keys($grid-breakpoints) { 168 | $next: breakpoint-next($breakpoint, $grid-breakpoints); 169 | $infix: breakpoint-infix($next, $grid-breakpoints); 170 | 171 | {$infix} { 172 | @include media-breakpoint-down($breakpoint) { 173 | display: block; 174 | width: 100%; 175 | overflow-x: auto; 176 | -webkit-overflow-scrolling: touch; 177 | 178 | // Prevent double border on horizontal scroll due to use of `display: block;` 179 | > .table-bordered { 180 | border: 0; 181 | } 182 | } 183 | } 184 | } 185 | } 186 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_list-group.scss: -------------------------------------------------------------------------------- 1 | // Base class 2 | // 3 | // Easily usable on , , or . 4 | 5 | .list-group { 6 | display: flex; 7 | flex-direction: column; 8 | 9 | // No need to set list-style: none; since .list-group-item is block level 10 | padding-left: 0; // reset padding because ul and ol 11 | margin-bottom: 0; 12 | } 13 | 14 | 15 | // Interactive list items 16 | // 17 | // Use anchor or button elements instead of `li`s or `div`s to create interactive 18 | // list items. Includes an extra `.active` modifier class for selected items. 19 | 20 | .list-group-item-action { 21 | width: 100%; // For ``s (anchors become 100% by default though) 22 | color: $list-group-action-color; 23 | text-align: inherit; // For ``s (anchors inherit) 24 | 25 | // Hover state 26 | @include hover-focus { 27 | z-index: 1; // Place hover/focus items above their siblings for proper border styling 28 | color: $list-group-action-hover-color; 29 | text-decoration: none; 30 | background-color: $list-group-hover-bg; 31 | } 32 | 33 | &:active { 34 | color: $list-group-action-active-color; 35 | background-color: $list-group-action-active-bg; 36 | } 37 | } 38 | 39 | 40 | // Individual list items 41 | // 42 | // Use on `li`s or `div`s within the `.list-group` parent. 43 | 44 | .list-group-item { 45 | position: relative; 46 | display: block; 47 | padding: $list-group-item-padding-y $list-group-item-padding-x; 48 | // Place the border on the list items and negative margin up for better styling 49 | margin-bottom: -$list-group-border-width; 50 | color: $list-group-color; 51 | background-color: $list-group-bg; 52 | border: $list-group-border-width solid $list-group-border-color; 53 | 54 | &:first-child { 55 | @include border-top-radius($list-group-border-radius); 56 | } 57 | 58 | &:last-child { 59 | margin-bottom: 0; 60 | @include border-bottom-radius($list-group-border-radius); 61 | } 62 | 63 | &.disabled, 64 | &:disabled { 65 | color: $list-group-disabled-color; 66 | pointer-events: none; 67 | background-color: $list-group-disabled-bg; 68 | } 69 | 70 | // Include both here for ``s and ``s 71 | &.active { 72 | z-index: 2; // Place active items above their siblings for proper border styling 73 | color: $list-group-active-color; 74 | background-color: $list-group-active-bg; 75 | border-color: $list-group-active-border-color; 76 | } 77 | } 78 | 79 | 80 | // Horizontal 81 | // 82 | // Change the layout of list group items from vertical (default) to horizontal. 83 | 84 | @each $breakpoint in map-keys($grid-breakpoints) { 85 | @include media-breakpoint-up($breakpoint) { 86 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 87 | 88 | .list-group-horizontal#{$infix} { 89 | flex-direction: row; 90 | 91 | .list-group-item { 92 | margin-right: -$list-group-border-width; 93 | margin-bottom: 0; 94 | 95 | &:first-child { 96 | @include border-left-radius($list-group-border-radius); 97 | @include border-top-right-radius(0); 98 | } 99 | 100 | &:last-child { 101 | margin-right: 0; 102 | @include border-right-radius($list-group-border-radius); 103 | @include border-bottom-left-radius(0); 104 | } 105 | } 106 | } 107 | } 108 | } 109 | 110 | 111 | // Flush list items 112 | // 113 | // Remove borders and border-radius to keep list group items edge-to-edge. Most 114 | // useful within other components (e.g., cards). 115 | 116 | .list-group-flush { 117 | .list-group-item { 118 | border-right: 0; 119 | border-left: 0; 120 | @include border-radius(0); 121 | 122 | &:last-child { 123 | margin-bottom: -$list-group-border-width; 124 | } 125 | } 126 | 127 | &:first-child { 128 | .list-group-item:first-child { 129 | border-top: 0; 130 | } 131 | } 132 | 133 | &:last-child { 134 | .list-group-item:last-child { 135 | margin-bottom: 0; 136 | border-bottom: 0; 137 | } 138 | } 139 | } 140 | 141 | 142 | // Contextual variants 143 | // 144 | // Add modifier classes to change text and background color on individual items. 145 | // Organizationally, this must come after the `:hover` states. 146 | 147 | @each $color, $value in $theme-colors { 148 | @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6)); 149 | } 150 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_breakpoints.scss: -------------------------------------------------------------------------------- 1 | // Breakpoint viewport sizes and media queries. 2 | // 3 | // Breakpoints are defined as a map of (name: minimum width), order from small to large: 4 | // 5 | // (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px) 6 | // 7 | // The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default. 8 | 9 | // Name of the next breakpoint, or null for the last breakpoint. 10 | // 11 | // >> breakpoint-next(sm) 12 | // md 13 | // >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) 14 | // md 15 | // >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl)) 16 | // md 17 | @function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) { 18 | $n: index($breakpoint-names, $name); 19 | @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null); 20 | } 21 | 22 | // Minimum breakpoint width. Null for the smallest (first) breakpoint. 23 | // 24 | // >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) 25 | // 576px 26 | @function breakpoint-min($name, $breakpoints: $grid-breakpoints) { 27 | $min: map-get($breakpoints, $name); 28 | @return if($min != 0, $min, null); 29 | } 30 | 31 | // Maximum breakpoint width. Null for the largest (last) breakpoint. 32 | // The maximum value is calculated as the minimum of the next one less 0.02px 33 | // to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths. 34 | // See https://www.w3.org/TR/mediaqueries-4/#mq-min-max 35 | // Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari. 36 | // See https://bugs.webkit.org/show_bug.cgi?id=178261 37 | // 38 | // >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) 39 | // 767.98px 40 | @function breakpoint-max($name, $breakpoints: $grid-breakpoints) { 41 | $next: breakpoint-next($name, $breakpoints); 42 | @return if($next, breakpoint-min($next, $breakpoints) - .02, null); 43 | } 44 | 45 | // Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front. 46 | // Useful for making responsive utilities. 47 | // 48 | // >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) 49 | // "" (Returns a blank string) 50 | // >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) 51 | // "-sm" 52 | @function breakpoint-infix($name, $breakpoints: $grid-breakpoints) { 53 | @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}"); 54 | } 55 | 56 | // Media of at least the minimum breakpoint width. No query for the smallest breakpoint. 57 | // Makes the @content apply to the given breakpoint and wider. 58 | @mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) { 59 | $min: breakpoint-min($name, $breakpoints); 60 | @if $min { 61 | @media (min-width: $min) { 62 | @content; 63 | } 64 | } @else { 65 | @content; 66 | } 67 | } 68 | 69 | // Media of at most the maximum breakpoint width. No query for the largest breakpoint. 70 | // Makes the @content apply to the given breakpoint and narrower. 71 | @mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) { 72 | $max: breakpoint-max($name, $breakpoints); 73 | @if $max { 74 | @media (max-width: $max) { 75 | @content; 76 | } 77 | } @else { 78 | @content; 79 | } 80 | } 81 | 82 | // Media that spans multiple breakpoint widths. 83 | // Makes the @content apply between the min and max breakpoints 84 | @mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) { 85 | $min: breakpoint-min($lower, $breakpoints); 86 | $max: breakpoint-max($upper, $breakpoints); 87 | 88 | @if $min != null and $max != null { 89 | @media (min-width: $min) and (max-width: $max) { 90 | @content; 91 | } 92 | } @else if $max == null { 93 | @include media-breakpoint-up($lower, $breakpoints) { 94 | @content; 95 | } 96 | } @else if $min == null { 97 | @include media-breakpoint-down($upper, $breakpoints) { 98 | @content; 99 | } 100 | } 101 | } 102 | 103 | // Media between the breakpoint's minimum and maximum widths. 104 | // No minimum for the smallest breakpoint, and no maximum for the largest one. 105 | // Makes the @content apply only to the given breakpoint, not viewports any wider or narrower. 106 | @mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) { 107 | $min: breakpoint-min($name, $breakpoints); 108 | $max: breakpoint-max($name, $breakpoints); 109 | 110 | @if $min != null and $max != null { 111 | @media (min-width: $min) and (max-width: $max) { 112 | @content; 113 | } 114 | } @else if $max == null { 115 | @include media-breakpoint-up($name, $breakpoints) { 116 | @content; 117 | } 118 | } @else if $min == null { 119 | @include media-breakpoint-down($name, $breakpoints) { 120 | @content; 121 | } 122 | } 123 | } 124 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_dropdown.scss: -------------------------------------------------------------------------------- 1 | // The dropdown wrapper (``) 2 | .dropup, 3 | .dropright, 4 | .dropdown, 5 | .dropleft { 6 | position: relative; 7 | } 8 | 9 | .dropdown-toggle { 10 | white-space: nowrap; 11 | 12 | // Generate the caret automatically 13 | @include caret; 14 | } 15 | 16 | // The dropdown menu 17 | .dropdown-menu { 18 | position: absolute; 19 | top: 100%; 20 | left: 0; 21 | z-index: $zindex-dropdown; 22 | display: none; // none by default, but block on "open" of the menu 23 | float: left; 24 | min-width: $dropdown-min-width; 25 | padding: $dropdown-padding-y 0; 26 | margin: $dropdown-spacer 0 0; // override default ul 27 | @include font-size($dropdown-font-size); 28 | color: $dropdown-color; 29 | text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) 30 | list-style: none; 31 | background-color: $dropdown-bg; 32 | background-clip: padding-box; 33 | border: $dropdown-border-width solid $dropdown-border-color; 34 | @include border-radius($dropdown-border-radius); 35 | @include box-shadow($dropdown-box-shadow); 36 | } 37 | 38 | @each $breakpoint in map-keys($grid-breakpoints) { 39 | @include media-breakpoint-up($breakpoint) { 40 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 41 | 42 | .dropdown-menu#{$infix}-left { 43 | right: auto; 44 | left: 0; 45 | } 46 | 47 | .dropdown-menu#{$infix}-right { 48 | right: 0; 49 | left: auto; 50 | } 51 | } 52 | } 53 | 54 | // Allow for dropdowns to go bottom up (aka, dropup-menu) 55 | // Just add .dropup after the standard .dropdown class and you're set. 56 | .dropup { 57 | .dropdown-menu { 58 | top: auto; 59 | bottom: 100%; 60 | margin-top: 0; 61 | margin-bottom: $dropdown-spacer; 62 | } 63 | 64 | .dropdown-toggle { 65 | @include caret(up); 66 | } 67 | } 68 | 69 | .dropright { 70 | .dropdown-menu { 71 | top: 0; 72 | right: auto; 73 | left: 100%; 74 | margin-top: 0; 75 | margin-left: $dropdown-spacer; 76 | } 77 | 78 | .dropdown-toggle { 79 | @include caret(right); 80 | &::after { 81 | vertical-align: 0; 82 | } 83 | } 84 | } 85 | 86 | .dropleft { 87 | .dropdown-menu { 88 | top: 0; 89 | right: 100%; 90 | left: auto; 91 | margin-top: 0; 92 | margin-right: $dropdown-spacer; 93 | } 94 | 95 | .dropdown-toggle { 96 | @include caret(left); 97 | &::before { 98 | vertical-align: 0; 99 | } 100 | } 101 | } 102 | 103 | // When enabled Popper.js, reset basic dropdown position 104 | // stylelint-disable-next-line no-duplicate-selectors 105 | .dropdown-menu { 106 | &[x-placement^="top"], 107 | &[x-placement^="right"], 108 | &[x-placement^="bottom"], 109 | &[x-placement^="left"] { 110 | right: auto; 111 | bottom: auto; 112 | } 113 | } 114 | 115 | // Dividers (basically an ``) within the dropdown 116 | .dropdown-divider { 117 | @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y); 118 | } 119 | 120 | // Links, buttons, and more within the dropdown menu 121 | // 122 | // ``-specific styles are denoted with `// For s` 123 | .dropdown-item { 124 | display: block; 125 | width: 100%; // For ``s 126 | padding: $dropdown-item-padding-y $dropdown-item-padding-x; 127 | clear: both; 128 | font-weight: $font-weight-normal; 129 | color: $dropdown-link-color; 130 | text-align: inherit; // For ``s 131 | white-space: nowrap; // prevent links from randomly breaking onto new lines 132 | background-color: transparent; // For ``s 133 | border: 0; // For ``s 134 | 135 | // Prevent dropdown overflow if there's no padding 136 | // See https://github.com/twbs/bootstrap/pull/27703 137 | @if $dropdown-padding-y == 0 { 138 | &:first-child { 139 | @include border-top-radius($dropdown-inner-border-radius); 140 | } 141 | 142 | &:last-child { 143 | @include border-bottom-radius($dropdown-inner-border-radius); 144 | } 145 | } 146 | 147 | @include hover-focus { 148 | color: $dropdown-link-hover-color; 149 | text-decoration: none; 150 | @include gradient-bg($dropdown-link-hover-bg); 151 | } 152 | 153 | &.active, 154 | &:active { 155 | color: $dropdown-link-active-color; 156 | text-decoration: none; 157 | @include gradient-bg($dropdown-link-active-bg); 158 | } 159 | 160 | &.disabled, 161 | &:disabled { 162 | color: $dropdown-link-disabled-color; 163 | pointer-events: none; 164 | background-color: transparent; 165 | // Remove CSS gradients if they're enabled 166 | @if $enable-gradients { 167 | background-image: none; 168 | } 169 | } 170 | } 171 | 172 | .dropdown-menu.show { 173 | display: block; 174 | } 175 | 176 | // Dropdown section headers 177 | .dropdown-header { 178 | display: block; 179 | padding: $dropdown-padding-y $dropdown-item-padding-x; 180 | margin-bottom: 0; // for use with heading elements 181 | @include font-size($font-size-sm); 182 | color: $dropdown-header-color; 183 | white-space: nowrap; // as with > li > a 184 | } 185 | 186 | // Dropdown text 187 | .dropdown-item-text { 188 | display: block; 189 | padding: $dropdown-item-padding-y $dropdown-item-padding-x; 190 | color: $dropdown-link-color; 191 | } 192 | -------------------------------------------------------------------------------- /public_html/assets/vendors/bootstrap/bootstrap.affix.js: -------------------------------------------------------------------------------- 1 | /* ======================================================================== 2 | * Bootstrap: affix.js v3.3.6 3 | * http://getbootstrap.com/javascript/#affix 4 | * ======================================================================== 5 | * Copyright 2011-2015 Twitter, Inc. 6 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 7 | * ======================================================================== */ 8 | 9 | 10 | +function ($) { 11 | 'use strict'; 12 | 13 | // AFFIX CLASS DEFINITION 14 | // ====================== 15 | 16 | var Affix = function (element, options) { 17 | this.options = $.extend({}, Affix.DEFAULTS, options) 18 | 19 | this.$target = $(this.options.target) 20 | .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this)) 21 | .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)) 22 | 23 | this.$element = $(element) 24 | this.affixed = null 25 | this.unpin = null 26 | this.pinnedOffset = null 27 | 28 | this.checkPosition() 29 | } 30 | 31 | Affix.VERSION = '3.3.6' 32 | 33 | Affix.RESET = 'affix affix-top affix-bottom' 34 | 35 | Affix.DEFAULTS = { 36 | offset: 0, 37 | target: window 38 | } 39 | 40 | Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) { 41 | var scrollTop = this.$target.scrollTop() 42 | var position = this.$element.offset() 43 | var targetHeight = this.$target.height() 44 | 45 | if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false 46 | 47 | if (this.affixed == 'bottom') { 48 | if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom' 49 | return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom' 50 | } 51 | 52 | var initializing = this.affixed == null 53 | var colliderTop = initializing ? scrollTop : position.top 54 | var colliderHeight = initializing ? targetHeight : height 55 | 56 | if (offsetTop != null && scrollTop <= offsetTop) return 'top' 57 | if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom' 58 | 59 | return false 60 | } 61 | 62 | Affix.prototype.getPinnedOffset = function () { 63 | if (this.pinnedOffset) return this.pinnedOffset 64 | this.$element.removeClass(Affix.RESET).addClass('affix') 65 | var scrollTop = this.$target.scrollTop() 66 | var position = this.$element.offset() 67 | return (this.pinnedOffset = position.top - scrollTop) 68 | } 69 | 70 | Affix.prototype.checkPositionWithEventLoop = function () { 71 | setTimeout($.proxy(this.checkPosition, this), 1) 72 | } 73 | 74 | Affix.prototype.checkPosition = function () { 75 | if (!this.$element.is(':visible')) return 76 | 77 | var height = this.$element.height() 78 | var offset = this.options.offset 79 | var offsetTop = offset.top 80 | var offsetBottom = offset.bottom 81 | var scrollHeight = Math.max($(document).height(), $(document.body).height()) 82 | 83 | if (typeof offset != 'object') offsetBottom = offsetTop = offset 84 | if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element) 85 | if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element) 86 | 87 | var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom) 88 | 89 | if (this.affixed != affix) { 90 | if (this.unpin != null) this.$element.css('top', '') 91 | 92 | var affixType = 'affix' + (affix ? '-' + affix : '') 93 | var e = $.Event(affixType + '.bs.affix') 94 | 95 | this.$element.trigger(e) 96 | 97 | if (e.isDefaultPrevented()) return 98 | 99 | this.affixed = affix 100 | this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null 101 | 102 | this.$element 103 | .removeClass(Affix.RESET) 104 | .addClass(affixType) 105 | .trigger(affixType.replace('affix', 'affixed') + '.bs.affix') 106 | } 107 | 108 | if (affix == 'bottom') { 109 | this.$element.offset({ 110 | top: scrollHeight - height - offsetBottom 111 | }) 112 | } 113 | } 114 | 115 | 116 | // AFFIX PLUGIN DEFINITION 117 | // ======================= 118 | 119 | function Plugin(option) { 120 | return this.each(function () { 121 | var $this = $(this) 122 | var data = $this.data('bs.affix') 123 | var options = typeof option == 'object' && option 124 | 125 | if (!data) $this.data('bs.affix', (data = new Affix(this, options))) 126 | if (typeof option == 'string') data[option]() 127 | }) 128 | } 129 | 130 | var old = $.fn.affix 131 | 132 | $.fn.affix = Plugin 133 | $.fn.affix.Constructor = Affix 134 | 135 | 136 | // AFFIX NO CONFLICT 137 | // ================= 138 | 139 | $.fn.affix.noConflict = function () { 140 | $.fn.affix = old 141 | return this 142 | } 143 | 144 | 145 | // AFFIX DATA-API 146 | // ============== 147 | 148 | $(window).on('load', function () { 149 | $('[data-spy="affix"]').each(function () { 150 | var $spy = $(this) 151 | var data = $spy.data() 152 | 153 | data.offset = data.offset || {} 154 | 155 | if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom 156 | if (data.offsetTop != null) data.offset.top = data.offsetTop 157 | 158 | Plugin.call($spy, data) 159 | }) 160 | }) 161 | 162 | }(jQuery); 163 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_popover.scss: -------------------------------------------------------------------------------- 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 | } 172 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_carousel.scss: -------------------------------------------------------------------------------- 1 | // Notes on the classes: 2 | // 3 | // 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically) 4 | // even when their scroll action started on a carousel, but for compatibility (with Firefox) 5 | // we're preventing all actions instead 6 | // 2. The .carousel-item-left and .carousel-item-right is used to indicate where 7 | // the active slide is heading. 8 | // 3. .active.carousel-item is the current slide. 9 | // 4. .active.carousel-item-left and .active.carousel-item-right is the current 10 | // slide in its in-transition state. Only one of these occurs at a time. 11 | // 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right 12 | // is the upcoming slide in transition. 13 | 14 | .carousel { 15 | position: relative; 16 | } 17 | 18 | .carousel.pointer-event { 19 | touch-action: pan-y; 20 | } 21 | 22 | .carousel-inner { 23 | position: relative; 24 | width: 100%; 25 | overflow: hidden; 26 | @include clearfix(); 27 | } 28 | 29 | .carousel-item { 30 | position: relative; 31 | display: none; 32 | float: left; 33 | width: 100%; 34 | margin-right: -100%; 35 | backface-visibility: hidden; 36 | @include transition($carousel-transition); 37 | } 38 | 39 | .carousel-item.active, 40 | .carousel-item-next, 41 | .carousel-item-prev { 42 | display: block; 43 | } 44 | 45 | .carousel-item-next:not(.carousel-item-left), 46 | .active.carousel-item-right { 47 | transform: translateX(100%); 48 | } 49 | 50 | .carousel-item-prev:not(.carousel-item-right), 51 | .active.carousel-item-left { 52 | transform: translateX(-100%); 53 | } 54 | 55 | 56 | // 57 | // Alternate transitions 58 | // 59 | 60 | .carousel-fade { 61 | .carousel-item { 62 | opacity: 0; 63 | transition-property: opacity; 64 | transform: none; 65 | } 66 | 67 | .carousel-item.active, 68 | .carousel-item-next.carousel-item-left, 69 | .carousel-item-prev.carousel-item-right { 70 | z-index: 1; 71 | opacity: 1; 72 | } 73 | 74 | .active.carousel-item-left, 75 | .active.carousel-item-right { 76 | z-index: 0; 77 | opacity: 0; 78 | @include transition(0s $carousel-transition-duration opacity); 79 | } 80 | } 81 | 82 | 83 | // 84 | // Left/right controls for nav 85 | // 86 | 87 | .carousel-control-prev, 88 | .carousel-control-next { 89 | position: absolute; 90 | top: 0; 91 | bottom: 0; 92 | z-index: 1; 93 | // Use flex for alignment (1-3) 94 | display: flex; // 1. allow flex styles 95 | align-items: center; // 2. vertically center contents 96 | justify-content: center; // 3. horizontally center contents 97 | width: $carousel-control-width; 98 | color: $carousel-control-color; 99 | text-align: center; 100 | opacity: $carousel-control-opacity; 101 | @include transition($carousel-control-transition); 102 | 103 | // Hover/focus state 104 | @include hover-focus { 105 | color: $carousel-control-color; 106 | text-decoration: none; 107 | outline: 0; 108 | opacity: $carousel-control-hover-opacity; 109 | } 110 | } 111 | .carousel-control-prev { 112 | left: 0; 113 | @if $enable-gradients { 114 | background: linear-gradient(90deg, rgba($black, .25), rgba($black, .001)); 115 | } 116 | } 117 | .carousel-control-next { 118 | right: 0; 119 | @if $enable-gradients { 120 | background: linear-gradient(270deg, rgba($black, .25), rgba($black, .001)); 121 | } 122 | } 123 | 124 | // Icons for within 125 | .carousel-control-prev-icon, 126 | .carousel-control-next-icon { 127 | display: inline-block; 128 | width: $carousel-control-icon-width; 129 | height: $carousel-control-icon-width; 130 | background: no-repeat 50% / 100% 100%; 131 | } 132 | .carousel-control-prev-icon { 133 | background-image: $carousel-control-prev-icon-bg; 134 | } 135 | .carousel-control-next-icon { 136 | background-image: $carousel-control-next-icon-bg; 137 | } 138 | 139 | 140 | // Optional indicator pips 141 | // 142 | // Add an ordered list with the following class and add a list item for each 143 | // slide your carousel holds. 144 | 145 | .carousel-indicators { 146 | position: absolute; 147 | right: 0; 148 | bottom: 0; 149 | left: 0; 150 | z-index: 15; 151 | display: flex; 152 | justify-content: center; 153 | padding-left: 0; // override default 154 | // Use the .carousel-control's width as margin so we don't overlay those 155 | margin-right: $carousel-control-width; 156 | margin-left: $carousel-control-width; 157 | list-style: none; 158 | 159 | li { 160 | box-sizing: content-box; 161 | flex: 0 1 auto; 162 | width: $carousel-indicator-width; 163 | height: $carousel-indicator-height; 164 | margin-right: $carousel-indicator-spacer; 165 | margin-left: $carousel-indicator-spacer; 166 | text-indent: -999px; 167 | cursor: pointer; 168 | background-color: $carousel-indicator-active-bg; 169 | background-clip: padding-box; 170 | // Use transparent borders to increase the hit area by 10px on top and bottom. 171 | border-top: $carousel-indicator-hit-area-height solid transparent; 172 | border-bottom: $carousel-indicator-hit-area-height solid transparent; 173 | opacity: .5; 174 | @include transition($carousel-indicator-transition); 175 | } 176 | 177 | .active { 178 | opacity: 1; 179 | } 180 | } 181 | 182 | 183 | // Optional captions 184 | // 185 | // 186 | 187 | .carousel-caption { 188 | position: absolute; 189 | right: (100% - $carousel-caption-width) / 2; 190 | bottom: 20px; 191 | left: (100% - $carousel-caption-width) / 2; 192 | z-index: 10; 193 | padding-top: 20px; 194 | padding-bottom: 20px; 195 | color: $carousel-caption-color; 196 | text-align: center; 197 | } 198 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/mixins/_forms.scss: -------------------------------------------------------------------------------- 1 | // Form control focus state 2 | // 3 | // Generate a customized focus state and for any input with the specified color, 4 | // which defaults to the `$input-focus-border-color` variable. 5 | // 6 | // We highly encourage you to not customize the default value, but instead use 7 | // this to tweak colors on an as-needed basis. This aesthetic change is based on 8 | // WebKit's default styles, but applicable to a wider range of browsers. Its 9 | // usability and accessibility should be taken into account with any change. 10 | // 11 | // Example usage: change the default blue border and shadow to white for better 12 | // contrast against a dark gray background. 13 | @mixin form-control-focus() { 14 | &:focus { 15 | color: $input-focus-color; 16 | background-color: $input-focus-bg; 17 | border-color: $input-focus-border-color; 18 | outline: 0; 19 | // Avoid using mixin so we can pass custom focus shadow properly 20 | @if $enable-shadows { 21 | box-shadow: $input-box-shadow, $input-focus-box-shadow; 22 | } @else { 23 | box-shadow: $input-focus-box-shadow; 24 | } 25 | } 26 | } 27 | 28 | 29 | @mixin form-validation-state($state, $color, $icon) { 30 | .#{$state}-feedback { 31 | display: none; 32 | width: 100%; 33 | margin-top: $form-feedback-margin-top; 34 | @include font-size($form-feedback-font-size); 35 | color: $color; 36 | } 37 | 38 | .#{$state}-tooltip { 39 | position: absolute; 40 | top: 100%; 41 | z-index: 5; 42 | display: none; 43 | max-width: 100%; // Contain to parent when possible 44 | padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x; 45 | margin-top: .1rem; 46 | @include font-size($form-feedback-tooltip-font-size); 47 | line-height: $form-feedback-tooltip-line-height; 48 | color: color-yiq($color); 49 | background-color: rgba($color, $form-feedback-tooltip-opacity); 50 | @include border-radius($form-feedback-tooltip-border-radius); 51 | } 52 | 53 | .form-control { 54 | .was-validated &:#{$state}, 55 | &.is-#{$state} { 56 | border-color: $color; 57 | 58 | @if $enable-validation-icons { 59 | padding-right: $input-height-inner; 60 | background-image: $icon; 61 | background-repeat: no-repeat; 62 | background-position: center right $input-height-inner-quarter; 63 | background-size: $input-height-inner-half $input-height-inner-half; 64 | } 65 | 66 | &:focus { 67 | border-color: $color; 68 | box-shadow: 0 0 0 $input-focus-width rgba($color, .25); 69 | } 70 | 71 | ~ .#{$state}-feedback, 72 | ~ .#{$state}-tooltip { 73 | display: block; 74 | } 75 | } 76 | } 77 | 78 | // stylelint-disable-next-line selector-no-qualifying-type 79 | textarea.form-control { 80 | .was-validated &:#{$state}, 81 | &.is-#{$state} { 82 | @if $enable-validation-icons { 83 | padding-right: $input-height-inner; 84 | background-position: top $input-height-inner-quarter right $input-height-inner-quarter; 85 | } 86 | } 87 | } 88 | 89 | .custom-select { 90 | .was-validated &:#{$state}, 91 | &.is-#{$state} { 92 | border-color: $color; 93 | 94 | @if $enable-validation-icons { 95 | padding-right: $custom-select-feedback-icon-padding-right; 96 | background: $custom-select-background, $icon $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size; 97 | } 98 | 99 | &:focus { 100 | border-color: $color; 101 | box-shadow: 0 0 0 $input-focus-width rgba($color, .25); 102 | } 103 | 104 | ~ .#{$state}-feedback, 105 | ~ .#{$state}-tooltip { 106 | display: block; 107 | } 108 | } 109 | } 110 | 111 | 112 | .form-control-file { 113 | .was-validated &:#{$state}, 114 | &.is-#{$state} { 115 | ~ .#{$state}-feedback, 116 | ~ .#{$state}-tooltip { 117 | display: block; 118 | } 119 | } 120 | } 121 | 122 | .form-check-input { 123 | .was-validated &:#{$state}, 124 | &.is-#{$state} { 125 | ~ .form-check-label { 126 | color: $color; 127 | } 128 | 129 | ~ .#{$state}-feedback, 130 | ~ .#{$state}-tooltip { 131 | display: block; 132 | } 133 | } 134 | } 135 | 136 | .custom-control-input { 137 | .was-validated &:#{$state}, 138 | &.is-#{$state} { 139 | ~ .custom-control-label { 140 | color: $color; 141 | 142 | &::before { 143 | border-color: $color; 144 | } 145 | } 146 | 147 | ~ .#{$state}-feedback, 148 | ~ .#{$state}-tooltip { 149 | display: block; 150 | } 151 | 152 | &:checked { 153 | ~ .custom-control-label::before { 154 | border-color: lighten($color, 10%); 155 | @include gradient-bg(lighten($color, 10%)); 156 | } 157 | } 158 | 159 | &:focus { 160 | ~ .custom-control-label::before { 161 | box-shadow: 0 0 0 $input-focus-width rgba($color, .25); 162 | } 163 | 164 | &:not(:checked) ~ .custom-control-label::before { 165 | border-color: $color; 166 | } 167 | } 168 | } 169 | } 170 | 171 | // custom file 172 | .custom-file-input { 173 | .was-validated &:#{$state}, 174 | &.is-#{$state} { 175 | ~ .custom-file-label { 176 | border-color: $color; 177 | } 178 | 179 | ~ .#{$state}-feedback, 180 | ~ .#{$state}-tooltip { 181 | display: block; 182 | } 183 | 184 | &:focus { 185 | ~ .custom-file-label { 186 | border-color: $color; 187 | box-shadow: 0 0 0 $input-focus-width rgba($color, .25); 188 | } 189 | } 190 | } 191 | } 192 | } 193 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_input-group.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable selector-no-qualifying-type 2 | 3 | // 4 | // Base styles 5 | // 6 | 7 | .input-group { 8 | position: relative; 9 | display: flex; 10 | flex-wrap: wrap; // For form validation feedback 11 | align-items: stretch; 12 | width: 100%; 13 | 14 | > .form-control, 15 | > .form-control-plaintext, 16 | > .custom-select, 17 | > .custom-file { 18 | position: relative; // For focus state's z-index 19 | flex: 1 1 auto; 20 | // Add width 1% and flex-basis auto to ensure that button will not wrap out 21 | // the column. Applies to IE Edge+ and Firefox. Chrome does not require this. 22 | width: 1%; 23 | margin-bottom: 0; 24 | 25 | + .form-control, 26 | + .custom-select, 27 | + .custom-file { 28 | margin-left: -$input-border-width; 29 | } 30 | } 31 | 32 | // Bring the "active" form control to the top of surrounding elements 33 | > .form-control:focus, 34 | > .custom-select:focus, 35 | > .custom-file .custom-file-input:focus ~ .custom-file-label { 36 | z-index: 3; 37 | } 38 | 39 | // Bring the custom file input above the label 40 | > .custom-file .custom-file-input:focus { 41 | z-index: 4; 42 | } 43 | 44 | > .form-control, 45 | > .custom-select { 46 | &:not(:last-child) { @include border-right-radius(0); } 47 | &:not(:first-child) { @include border-left-radius(0); } 48 | } 49 | 50 | // Custom file inputs have more complex markup, thus requiring different 51 | // border-radius overrides. 52 | > .custom-file { 53 | display: flex; 54 | align-items: center; 55 | 56 | &:not(:last-child) .custom-file-label, 57 | &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); } 58 | &:not(:first-child) .custom-file-label { @include border-left-radius(0); } 59 | } 60 | } 61 | 62 | 63 | // Prepend and append 64 | // 65 | // While it requires one extra layer of HTML for each, dedicated prepend and 66 | // append elements allow us to 1) be less clever, 2) simplify our selectors, and 67 | // 3) support HTML5 form validation. 68 | 69 | .input-group-prepend, 70 | .input-group-append { 71 | display: flex; 72 | 73 | // Ensure buttons are always above inputs for more visually pleasing borders. 74 | // This isn't needed for `.input-group-text` since it shares the same border-color 75 | // as our inputs. 76 | .btn { 77 | position: relative; 78 | z-index: 2; 79 | 80 | &:focus { 81 | z-index: 3; 82 | } 83 | } 84 | 85 | .btn + .btn, 86 | .btn + .input-group-text, 87 | .input-group-text + .input-group-text, 88 | .input-group-text + .btn { 89 | margin-left: -$input-border-width; 90 | } 91 | } 92 | 93 | .input-group-prepend { margin-right: -$input-border-width; } 94 | .input-group-append { margin-left: -$input-border-width; } 95 | 96 | 97 | // Textual addons 98 | // 99 | // Serves as a catch-all element for any text or radio/checkbox input you wish 100 | // to prepend or append to an input. 101 | 102 | .input-group-text { 103 | display: flex; 104 | align-items: center; 105 | padding: $input-padding-y $input-padding-x; 106 | margin-bottom: 0; // Allow use of elements by overriding our default margin-bottom 107 | @include font-size($input-font-size); // Match inputs 108 | font-weight: $font-weight-normal; 109 | line-height: $input-line-height; 110 | color: $input-group-addon-color; 111 | text-align: center; 112 | white-space: nowrap; 113 | background-color: $input-group-addon-bg; 114 | border: $input-border-width solid $input-group-addon-border-color; 115 | @include border-radius($input-border-radius); 116 | 117 | // Nuke default margins from checkboxes and radios to vertically center within. 118 | input[type="radio"], 119 | input[type="checkbox"] { 120 | margin-top: 0; 121 | } 122 | } 123 | 124 | 125 | // Sizing 126 | // 127 | // Remix the default form control sizing classes into new ones for easier 128 | // manipulation. 129 | 130 | .input-group-lg > .form-control:not(textarea), 131 | .input-group-lg > .custom-select { 132 | height: $input-height-lg; 133 | } 134 | 135 | .input-group-lg > .form-control, 136 | .input-group-lg > .custom-select, 137 | .input-group-lg > .input-group-prepend > .input-group-text, 138 | .input-group-lg > .input-group-append > .input-group-text, 139 | .input-group-lg > .input-group-prepend > .btn, 140 | .input-group-lg > .input-group-append > .btn { 141 | padding: $input-padding-y-lg $input-padding-x-lg; 142 | @include font-size($input-font-size-lg); 143 | line-height: $input-line-height-lg; 144 | @include border-radius($input-border-radius-lg); 145 | } 146 | 147 | .input-group-sm > .form-control:not(textarea), 148 | .input-group-sm > .custom-select { 149 | height: $input-height-sm; 150 | } 151 | 152 | .input-group-sm > .form-control, 153 | .input-group-sm > .custom-select, 154 | .input-group-sm > .input-group-prepend > .input-group-text, 155 | .input-group-sm > .input-group-append > .input-group-text, 156 | .input-group-sm > .input-group-prepend > .btn, 157 | .input-group-sm > .input-group-append > .btn { 158 | padding: $input-padding-y-sm $input-padding-x-sm; 159 | @include font-size($input-font-size-sm); 160 | line-height: $input-line-height-sm; 161 | @include border-radius($input-border-radius-sm); 162 | } 163 | 164 | .input-group-lg > .custom-select, 165 | .input-group-sm > .custom-select { 166 | padding-right: $custom-select-padding-x + $custom-select-indicator-padding; 167 | } 168 | 169 | 170 | // Prepend and append rounded corners 171 | // 172 | // These rulesets must come after the sizing ones to properly override sm and lg 173 | // border-radius values when extending. They're more specific than we'd like 174 | // with the `.input-group >` part, but without it, we cannot override the sizing. 175 | 176 | 177 | .input-group > .input-group-prepend > .btn, 178 | .input-group > .input-group-prepend > .input-group-text, 179 | .input-group > .input-group-append:not(:last-child) > .btn, 180 | .input-group > .input-group-append:not(:last-child) > .input-group-text, 181 | .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), 182 | .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { 183 | @include border-right-radius(0); 184 | } 185 | 186 | .input-group > .input-group-append > .btn, 187 | .input-group > .input-group-append > .input-group-text, 188 | .input-group > .input-group-prepend:not(:first-child) > .btn, 189 | .input-group > .input-group-prepend:not(:first-child) > .input-group-text, 190 | .input-group > .input-group-prepend:first-child > .btn:not(:first-child), 191 | .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { 192 | @include border-left-radius(0); 193 | } 194 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_modal.scss: -------------------------------------------------------------------------------- 1 | // .modal-open - body class for killing the scroll 2 | // .modal - container to scroll within 3 | // .modal-dialog - positioning shell for the actual modal 4 | // .modal-content - actual modal w/ bg and corners and stuff 5 | 6 | 7 | .modal-open { 8 | // Kill the scroll on the body 9 | overflow: hidden; 10 | 11 | .modal { 12 | overflow-x: hidden; 13 | overflow-y: auto; 14 | } 15 | } 16 | 17 | // Container that the modal scrolls within 18 | .modal { 19 | position: fixed; 20 | top: 0; 21 | left: 0; 22 | z-index: $zindex-modal; 23 | display: none; 24 | width: 100%; 25 | height: 100%; 26 | overflow: hidden; 27 | // Prevent Chrome on Windows from adding a focus outline. For details, see 28 | // https://github.com/twbs/bootstrap/pull/10951. 29 | outline: 0; 30 | // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a 31 | // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342 32 | // See also https://github.com/twbs/bootstrap/issues/17695 33 | } 34 | 35 | // Shell div to position the modal with bottom padding 36 | .modal-dialog { 37 | position: relative; 38 | width: auto; 39 | margin: $modal-dialog-margin; 40 | // allow clicks to pass through for custom click handling to close modal 41 | pointer-events: none; 42 | 43 | // When fading in the modal, animate it to slide down 44 | .modal.fade & { 45 | @include transition($modal-transition); 46 | transform: $modal-fade-transform; 47 | } 48 | .modal.show & { 49 | transform: $modal-show-transform; 50 | } 51 | } 52 | 53 | .modal-dialog-scrollable { 54 | display: flex; // IE10/11 55 | max-height: calc(100% - #{$modal-dialog-margin * 2}); 56 | 57 | .modal-content { 58 | max-height: calc(100vh - #{$modal-dialog-margin * 2}); // IE10/11 59 | overflow: hidden; 60 | } 61 | 62 | .modal-header, 63 | .modal-footer { 64 | flex-shrink: 0; 65 | } 66 | 67 | .modal-body { 68 | overflow-y: auto; 69 | } 70 | } 71 | 72 | .modal-dialog-centered { 73 | display: flex; 74 | align-items: center; 75 | min-height: calc(100% - #{$modal-dialog-margin * 2}); 76 | 77 | // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11) 78 | &::before { 79 | display: block; // IE10 80 | height: calc(100vh - #{$modal-dialog-margin * 2}); 81 | content: ""; 82 | } 83 | 84 | // Ensure `.modal-body` shows scrollbar (IE10/11) 85 | &.modal-dialog-scrollable { 86 | flex-direction: column; 87 | justify-content: center; 88 | height: 100%; 89 | 90 | .modal-content { 91 | max-height: none; 92 | } 93 | 94 | &::before { 95 | content: none; 96 | } 97 | } 98 | } 99 | 100 | // Actual modal 101 | .modal-content { 102 | position: relative; 103 | display: flex; 104 | flex-direction: column; 105 | width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog` 106 | // counteract the pointer-events: none; in the .modal-dialog 107 | color: $modal-content-color; 108 | pointer-events: auto; 109 | background-color: $modal-content-bg; 110 | background-clip: padding-box; 111 | border: $modal-content-border-width solid $modal-content-border-color; 112 | @include border-radius($modal-content-border-radius); 113 | @include box-shadow($modal-content-box-shadow-xs); 114 | // Remove focus outline from opened modal 115 | outline: 0; 116 | } 117 | 118 | // Modal background 119 | .modal-backdrop { 120 | position: fixed; 121 | top: 0; 122 | left: 0; 123 | z-index: $zindex-modal-backdrop; 124 | width: 100vw; 125 | height: 100vh; 126 | background-color: $modal-backdrop-bg; 127 | 128 | // Fade for backdrop 129 | &.fade { opacity: 0; } 130 | &.show { opacity: $modal-backdrop-opacity; } 131 | } 132 | 133 | // Modal header 134 | // Top section of the modal w/ title and dismiss 135 | .modal-header { 136 | display: flex; 137 | align-items: flex-start; // so the close btn always stays on the upper right corner 138 | justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends 139 | padding: $modal-header-padding; 140 | border-bottom: $modal-header-border-width solid $modal-header-border-color; 141 | @include border-top-radius($modal-content-border-radius); 142 | 143 | .close { 144 | padding: $modal-header-padding; 145 | // auto on the left force icon to the right even when there is no .modal-title 146 | margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto; 147 | } 148 | } 149 | 150 | // Title text within header 151 | .modal-title { 152 | margin-bottom: 0; 153 | line-height: $modal-title-line-height; 154 | } 155 | 156 | // Modal body 157 | // Where all modal content resides (sibling of .modal-header and .modal-footer) 158 | .modal-body { 159 | position: relative; 160 | // Enable `flex-grow: 1` so that the body take up as much space as possible 161 | // when should there be a fixed height on `.modal-dialog`. 162 | flex: 1 1 auto; 163 | padding: $modal-inner-padding; 164 | } 165 | 166 | // Footer (for actions) 167 | .modal-footer { 168 | display: flex; 169 | align-items: center; // vertically center 170 | justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items 171 | padding: $modal-inner-padding; 172 | border-top: $modal-footer-border-width solid $modal-footer-border-color; 173 | @include border-bottom-radius($modal-content-border-radius); 174 | 175 | // Easily place margin between footer elements 176 | > :not(:first-child) { margin-left: .25rem; } 177 | > :not(:last-child) { margin-right: .25rem; } 178 | } 179 | 180 | // Measure scrollbar width for padding body during modal show/hide 181 | .modal-scrollbar-measure { 182 | position: absolute; 183 | top: -9999px; 184 | width: 50px; 185 | height: 50px; 186 | overflow: scroll; 187 | } 188 | 189 | // Scale up the modal 190 | @include media-breakpoint-up(sm) { 191 | // Automatically set modal's width for larger viewports 192 | .modal-dialog { 193 | max-width: $modal-md; 194 | margin: $modal-dialog-margin-y-sm-up auto; 195 | } 196 | 197 | .modal-dialog-scrollable { 198 | max-height: calc(100% - #{$modal-dialog-margin-y-sm-up * 2}); 199 | 200 | .modal-content { 201 | max-height: calc(100vh - #{$modal-dialog-margin-y-sm-up * 2}); 202 | } 203 | } 204 | 205 | .modal-dialog-centered { 206 | min-height: calc(100% - #{$modal-dialog-margin-y-sm-up * 2}); 207 | 208 | &::before { 209 | height: calc(100vh - #{$modal-dialog-margin-y-sm-up * 2}); 210 | } 211 | } 212 | 213 | .modal-content { 214 | @include box-shadow($modal-content-box-shadow-sm-up); 215 | } 216 | 217 | .modal-sm { max-width: $modal-sm; } 218 | } 219 | 220 | @include media-breakpoint-up(lg) { 221 | .modal-lg, 222 | .modal-xl { 223 | max-width: $modal-lg; 224 | } 225 | } 226 | 227 | @include media-breakpoint-up(xl) { 228 | .modal-xl { max-width: $modal-xl; } 229 | } 230 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_card.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Base styles 3 | // 4 | 5 | .card { 6 | position: relative; 7 | display: flex; 8 | flex-direction: column; 9 | min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106 10 | word-wrap: break-word; 11 | background-color: $card-bg; 12 | background-clip: border-box; 13 | border: $card-border-width solid $card-border-color; 14 | @include border-radius($card-border-radius); 15 | 16 | > hr { 17 | margin-right: 0; 18 | margin-left: 0; 19 | } 20 | 21 | > .list-group:first-child { 22 | .list-group-item:first-child { 23 | @include border-top-radius($card-border-radius); 24 | } 25 | } 26 | 27 | > .list-group:last-child { 28 | .list-group-item:last-child { 29 | @include border-bottom-radius($card-border-radius); 30 | } 31 | } 32 | } 33 | 34 | .card-body { 35 | // Enable `flex-grow: 1` for decks and groups so that card blocks take up 36 | // as much space as possible, ensuring footers are aligned to the bottom. 37 | flex: 1 1 auto; 38 | padding: $card-spacer-x; 39 | color: $card-color; 40 | } 41 | 42 | .card-title { 43 | margin-bottom: $card-spacer-y; 44 | } 45 | 46 | .card-subtitle { 47 | margin-top: -$card-spacer-y / 2; 48 | margin-bottom: 0; 49 | } 50 | 51 | .card-text:last-child { 52 | margin-bottom: 0; 53 | } 54 | 55 | .card-link { 56 | @include hover { 57 | text-decoration: none; 58 | } 59 | 60 | + .card-link { 61 | margin-left: $card-spacer-x; 62 | } 63 | } 64 | 65 | // 66 | // Optional textual caps 67 | // 68 | 69 | .card-header { 70 | padding: $card-spacer-y $card-spacer-x; 71 | margin-bottom: 0; // Removes the default margin-bottom of 72 | color: $card-cap-color; 73 | background-color: $card-cap-bg; 74 | border-bottom: $card-border-width solid $card-border-color; 75 | 76 | &:first-child { 77 | @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0); 78 | } 79 | 80 | + .list-group { 81 | .list-group-item:first-child { 82 | border-top: 0; 83 | } 84 | } 85 | } 86 | 87 | .card-footer { 88 | padding: $card-spacer-y $card-spacer-x; 89 | background-color: $card-cap-bg; 90 | border-top: $card-border-width solid $card-border-color; 91 | 92 | &:last-child { 93 | @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius); 94 | } 95 | } 96 | 97 | 98 | // 99 | // Header navs 100 | // 101 | 102 | .card-header-tabs { 103 | margin-right: -$card-spacer-x / 2; 104 | margin-bottom: -$card-spacer-y; 105 | margin-left: -$card-spacer-x / 2; 106 | border-bottom: 0; 107 | } 108 | 109 | .card-header-pills { 110 | margin-right: -$card-spacer-x / 2; 111 | margin-left: -$card-spacer-x / 2; 112 | } 113 | 114 | // Card image 115 | .card-img-overlay { 116 | position: absolute; 117 | top: 0; 118 | right: 0; 119 | bottom: 0; 120 | left: 0; 121 | padding: $card-img-overlay-padding; 122 | } 123 | 124 | .card-img { 125 | width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch 126 | @include border-radius($card-inner-border-radius); 127 | } 128 | 129 | // Card image caps 130 | .card-img-top { 131 | width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch 132 | @include border-top-radius($card-inner-border-radius); 133 | } 134 | 135 | .card-img-bottom { 136 | width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch 137 | @include border-bottom-radius($card-inner-border-radius); 138 | } 139 | 140 | 141 | // Card deck 142 | 143 | .card-deck { 144 | display: flex; 145 | flex-direction: column; 146 | 147 | .card { 148 | margin-bottom: $card-deck-margin; 149 | } 150 | 151 | @include media-breakpoint-up(sm) { 152 | flex-flow: row wrap; 153 | margin-right: -$card-deck-margin; 154 | margin-left: -$card-deck-margin; 155 | 156 | .card { 157 | display: flex; 158 | // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4 159 | flex: 1 0 0%; 160 | flex-direction: column; 161 | margin-right: $card-deck-margin; 162 | margin-bottom: 0; // Override the default 163 | margin-left: $card-deck-margin; 164 | } 165 | } 166 | } 167 | 168 | 169 | // 170 | // Card groups 171 | // 172 | 173 | .card-group { 174 | display: flex; 175 | flex-direction: column; 176 | 177 | // The child selector allows nested `.card` within `.card-group` 178 | // to display properly. 179 | > .card { 180 | margin-bottom: $card-group-margin; 181 | } 182 | 183 | @include media-breakpoint-up(sm) { 184 | flex-flow: row wrap; 185 | // The child selector allows nested `.card` within `.card-group` 186 | // to display properly. 187 | > .card { 188 | // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4 189 | flex: 1 0 0%; 190 | margin-bottom: 0; 191 | 192 | + .card { 193 | margin-left: 0; 194 | border-left: 0; 195 | } 196 | 197 | // Handle rounded corners 198 | @if $enable-rounded { 199 | &:not(:last-child) { 200 | @include border-right-radius(0); 201 | 202 | .card-img-top, 203 | .card-header { 204 | // stylelint-disable-next-line property-blacklist 205 | border-top-right-radius: 0; 206 | } 207 | .card-img-bottom, 208 | .card-footer { 209 | // stylelint-disable-next-line property-blacklist 210 | border-bottom-right-radius: 0; 211 | } 212 | } 213 | 214 | &:not(:first-child) { 215 | @include border-left-radius(0); 216 | 217 | .card-img-top, 218 | .card-header { 219 | // stylelint-disable-next-line property-blacklist 220 | border-top-left-radius: 0; 221 | } 222 | .card-img-bottom, 223 | .card-footer { 224 | // stylelint-disable-next-line property-blacklist 225 | border-bottom-left-radius: 0; 226 | } 227 | } 228 | } 229 | } 230 | } 231 | } 232 | 233 | 234 | // 235 | // Columns 236 | // 237 | 238 | .card-columns { 239 | .card { 240 | margin-bottom: $card-columns-margin; 241 | } 242 | 243 | @include media-breakpoint-up(sm) { 244 | column-count: $card-columns-count; 245 | column-gap: $card-columns-gap; 246 | orphans: 1; 247 | widows: 1; 248 | 249 | .card { 250 | display: inline-block; // Don't let them vertically span multiple columns 251 | width: 100%; // Don't let their width change 252 | } 253 | } 254 | } 255 | 256 | 257 | // 258 | // Accordion 259 | // 260 | 261 | .accordion { 262 | > .card { 263 | overflow: hidden; 264 | 265 | &:not(:first-of-type) { 266 | .card-header:first-child { 267 | @include border-radius(0); 268 | } 269 | 270 | &:not(:last-of-type) { 271 | border-bottom: 0; 272 | @include border-radius(0); 273 | } 274 | } 275 | 276 | &:first-of-type { 277 | border-bottom: 0; 278 | @include border-bottom-radius(0); 279 | } 280 | 281 | &:last-of-type { 282 | @include border-top-radius(0); 283 | } 284 | 285 | .card-header { 286 | margin-bottom: -$card-border-width; 287 | } 288 | } 289 | } 290 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/vendor/_rfs.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable property-blacklist, scss/dollar-variable-default 2 | 3 | // SCSS RFS mixin 4 | // 5 | // Automated font-resizing 6 | // 7 | // See https://github.com/twbs/rfs 8 | 9 | // Configuration 10 | 11 | // Base font size 12 | $rfs-base-font-size: 1.25rem !default; 13 | $rfs-font-size-unit: rem !default; 14 | 15 | // Breakpoint at where font-size starts decreasing if screen width is smaller 16 | $rfs-breakpoint: 1200px !default; 17 | $rfs-breakpoint-unit: px !default; 18 | 19 | // Resize font-size based on screen height and width 20 | $rfs-two-dimensional: false !default; 21 | 22 | // Factor of decrease 23 | $rfs-factor: 10 !default; 24 | 25 | @if type-of($rfs-factor) != "number" or $rfs-factor <= 1 { 26 | @error "`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1."; 27 | } 28 | 29 | // Generate enable or disable classes. Possibilities: false, "enable" or "disable" 30 | $rfs-class: false !default; 31 | 32 | // 1 rem = $rfs-rem-value px 33 | $rfs-rem-value: 16 !default; 34 | 35 | // Safari iframe resize bug: https://github.com/twbs/rfs/issues/14 36 | $rfs-safari-iframe-resize-bug-fix: false !default; 37 | 38 | // Disable RFS by setting $enable-responsive-font-sizes to false 39 | $enable-responsive-font-sizes: true !default; 40 | 41 | // Cache $rfs-base-font-size unit 42 | $rfs-base-font-size-unit: unit($rfs-base-font-size); 43 | 44 | // Remove px-unit from $rfs-base-font-size for calculations 45 | @if $rfs-base-font-size-unit == "px" { 46 | $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1); 47 | } 48 | @else if $rfs-base-font-size-unit == "rem" { 49 | $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value); 50 | } 51 | 52 | // Cache $rfs-breakpoint unit to prevent multiple calls 53 | $rfs-breakpoint-unit-cache: unit($rfs-breakpoint); 54 | 55 | // Remove unit from $rfs-breakpoint for calculations 56 | @if $rfs-breakpoint-unit-cache == "px" { 57 | $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1); 58 | } 59 | @else if $rfs-breakpoint-unit-cache == "rem" or $rfs-breakpoint-unit-cache == "em" { 60 | $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value); 61 | } 62 | 63 | // Responsive font-size mixin 64 | @mixin rfs($fs, $important: false) { 65 | // Cache $fs unit 66 | $fs-unit: if(type-of($fs) == "number", unit($fs), false); 67 | 68 | // Add !important suffix if needed 69 | $rfs-suffix: if($important, " !important", ""); 70 | 71 | // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value 72 | @if not $fs-unit or $fs-unit != "" and $fs-unit != "px" and $fs-unit != "rem" or $fs == 0 { 73 | font-size: #{$fs}#{$rfs-suffix}; 74 | } 75 | @else { 76 | // Variables for storing static and fluid rescaling 77 | $rfs-static: null; 78 | $rfs-fluid: null; 79 | 80 | // Remove px-unit from $fs for calculations 81 | @if $fs-unit == "px" { 82 | $fs: $fs / ($fs * 0 + 1); 83 | } 84 | @else if $fs-unit == "rem" { 85 | $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value); 86 | } 87 | 88 | // Set default font-size 89 | @if $rfs-font-size-unit == rem { 90 | $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix}; 91 | } 92 | @else if $rfs-font-size-unit == px { 93 | $rfs-static: #{$fs}px#{$rfs-suffix}; 94 | } 95 | @else { 96 | @error "`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`."; 97 | } 98 | 99 | // Only add media query if font-size is bigger as the minimum font-size 100 | // If $rfs-factor == 1, no rescaling will take place 101 | @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes { 102 | $min-width: null; 103 | $variable-unit: null; 104 | 105 | // Calculate minimum font-size for given font-size 106 | $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor; 107 | 108 | // Calculate difference between given font-size and minimum font-size for given font-size 109 | $fs-diff: $fs - $fs-min; 110 | 111 | // Base font-size formatting 112 | // No need to check if the unit is valid, because we did that before 113 | $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px); 114 | 115 | // If two-dimensional, use smallest of screen width and height 116 | $variable-unit: if($rfs-two-dimensional, vmin, vw); 117 | 118 | // Calculate the variable width between 0 and $rfs-breakpoint 119 | $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit}; 120 | 121 | // Set the calculated font-size. 122 | $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix}; 123 | } 124 | 125 | // Rendering 126 | @if $rfs-fluid == null { 127 | // Only render static font-size if no fluid font-size is available 128 | font-size: $rfs-static; 129 | } 130 | @else { 131 | $mq-value: null; 132 | 133 | // RFS breakpoint formatting 134 | @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem { 135 | $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit}; 136 | } 137 | @else if $rfs-breakpoint-unit == px { 138 | $mq-value: #{$rfs-breakpoint}px; 139 | } 140 | @else { 141 | @error "`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`."; 142 | } 143 | 144 | @if $rfs-class == "disable" { 145 | // Adding an extra class increases specificity, 146 | // which prevents the media query to override the font size 147 | &, 148 | .disable-responsive-font-size &, 149 | &.disable-responsive-font-size { 150 | font-size: $rfs-static; 151 | } 152 | } 153 | @else { 154 | font-size: $rfs-static; 155 | } 156 | 157 | @if $rfs-two-dimensional { 158 | @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) { 159 | @if $rfs-class == "enable" { 160 | .enable-responsive-font-size &, 161 | &.enable-responsive-font-size { 162 | font-size: $rfs-fluid; 163 | } 164 | } 165 | @else { 166 | font-size: $rfs-fluid; 167 | } 168 | 169 | @if $rfs-safari-iframe-resize-bug-fix { 170 | // stylelint-disable-next-line length-zero-no-unit 171 | min-width: 0vw; 172 | } 173 | } 174 | } 175 | @else { 176 | @media (max-width: #{$mq-value}) { 177 | @if $rfs-class == "enable" { 178 | .enable-responsive-font-size &, 179 | &.enable-responsive-font-size { 180 | font-size: $rfs-fluid; 181 | } 182 | } 183 | @else { 184 | font-size: $rfs-fluid; 185 | } 186 | 187 | @if $rfs-safari-iframe-resize-bug-fix { 188 | // stylelint-disable-next-line length-zero-no-unit 189 | min-width: 0vw; 190 | } 191 | } 192 | } 193 | } 194 | } 195 | } 196 | 197 | // The font-size & responsive-font-size mixin uses RFS to rescale font sizes 198 | @mixin font-size($fs, $important: false) { 199 | @include rfs($fs, $important); 200 | } 201 | 202 | @mixin responsive-font-size($fs, $important: false) { 203 | @include rfs($fs, $important); 204 | } 205 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_navbar.scss: -------------------------------------------------------------------------------- 1 | // Contents 2 | // 3 | // Navbar 4 | // Navbar brand 5 | // Navbar nav 6 | // Navbar text 7 | // Navbar divider 8 | // Responsive navbar 9 | // Navbar position 10 | // Navbar themes 11 | 12 | 13 | // Navbar 14 | // 15 | // Provide a static navbar from which we expand to create full-width, fixed, and 16 | // other navbar variations. 17 | 18 | .navbar { 19 | position: relative; 20 | display: flex; 21 | flex-wrap: wrap; // allow us to do the line break for collapsing content 22 | align-items: center; 23 | justify-content: space-between; // space out brand from logo 24 | padding: $navbar-padding-y $navbar-padding-x; 25 | 26 | // Because flex properties aren't inherited, we need to redeclare these first 27 | // few properties so that content nested within behave properly. 28 | > .container, 29 | > .container-fluid { 30 | display: flex; 31 | flex-wrap: wrap; 32 | align-items: center; 33 | justify-content: space-between; 34 | } 35 | } 36 | 37 | 38 | // Navbar brand 39 | // 40 | // Used for brand, project, or site names. 41 | 42 | .navbar-brand { 43 | display: inline-block; 44 | padding-top: $navbar-brand-padding-y; 45 | padding-bottom: $navbar-brand-padding-y; 46 | margin-right: $navbar-padding-x; 47 | @include font-size($navbar-brand-font-size); 48 | line-height: inherit; 49 | white-space: nowrap; 50 | 51 | @include hover-focus { 52 | text-decoration: none; 53 | } 54 | } 55 | 56 | 57 | // Navbar nav 58 | // 59 | // Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`). 60 | 61 | .navbar-nav { 62 | display: flex; 63 | flex-direction: column; // cannot use `inherit` to get the `.navbar`s value 64 | padding-left: 0; 65 | margin-bottom: 0; 66 | list-style: none; 67 | 68 | .nav-link { 69 | padding-right: 0; 70 | padding-left: 0; 71 | } 72 | 73 | .dropdown-menu { 74 | position: static; 75 | float: none; 76 | } 77 | } 78 | 79 | 80 | // Navbar text 81 | // 82 | // 83 | 84 | .navbar-text { 85 | display: inline-block; 86 | padding-top: $nav-link-padding-y; 87 | padding-bottom: $nav-link-padding-y; 88 | } 89 | 90 | 91 | // Responsive navbar 92 | // 93 | // Custom styles for responsive collapsing and toggling of navbar contents. 94 | // Powered by the collapse Bootstrap JavaScript plugin. 95 | 96 | // When collapsed, prevent the toggleable navbar contents from appearing in 97 | // the default flexbox row orientation. Requires the use of `flex-wrap: wrap` 98 | // on the `.navbar` parent. 99 | .navbar-collapse { 100 | flex-basis: 100%; 101 | flex-grow: 1; 102 | // For always expanded or extra full navbars, ensure content aligns itself 103 | // properly vertically. Can be easily overridden with flex utilities. 104 | align-items: center; 105 | } 106 | 107 | // Button for toggling the navbar when in its collapsed state 108 | .navbar-toggler { 109 | padding: $navbar-toggler-padding-y $navbar-toggler-padding-x; 110 | @include font-size($navbar-toggler-font-size); 111 | line-height: 1; 112 | background-color: transparent; // remove default button style 113 | border: $border-width solid transparent; // remove default button style 114 | @include border-radius($navbar-toggler-border-radius); 115 | 116 | @include hover-focus { 117 | text-decoration: none; 118 | } 119 | } 120 | 121 | // Keep as a separate element so folks can easily override it with another icon 122 | // or image file as needed. 123 | .navbar-toggler-icon { 124 | display: inline-block; 125 | width: 1.5em; 126 | height: 1.5em; 127 | vertical-align: middle; 128 | content: ""; 129 | background: no-repeat center center; 130 | background-size: 100% 100%; 131 | } 132 | 133 | // Generate series of `.navbar-expand-*` responsive classes for configuring 134 | // where your navbar collapses. 135 | .navbar-expand { 136 | @each $breakpoint in map-keys($grid-breakpoints) { 137 | $next: breakpoint-next($breakpoint, $grid-breakpoints); 138 | $infix: breakpoint-infix($next, $grid-breakpoints); 139 | 140 | {$infix} { 141 | @include media-breakpoint-down($breakpoint) { 142 | > .container, 143 | > .container-fluid { 144 | padding-right: 0; 145 | padding-left: 0; 146 | } 147 | } 148 | 149 | @include media-breakpoint-up($next) { 150 | flex-flow: row nowrap; 151 | justify-content: flex-start; 152 | 153 | .navbar-nav { 154 | flex-direction: row; 155 | 156 | .dropdown-menu { 157 | position: absolute; 158 | } 159 | 160 | .nav-link { 161 | padding-right: $navbar-nav-link-padding-x; 162 | padding-left: $navbar-nav-link-padding-x; 163 | } 164 | } 165 | 166 | // For nesting containers, have to redeclare for alignment purposes 167 | > .container, 168 | > .container-fluid { 169 | flex-wrap: nowrap; 170 | } 171 | 172 | .navbar-collapse { 173 | display: flex !important; // stylelint-disable-line declaration-no-important 174 | 175 | // Changes flex-bases to auto because of an IE10 bug 176 | flex-basis: auto; 177 | } 178 | 179 | .navbar-toggler { 180 | display: none; 181 | } 182 | } 183 | } 184 | } 185 | } 186 | 187 | 188 | // Navbar themes 189 | // 190 | // Styles for switching between navbars with light or dark background. 191 | 192 | // Dark links against a light background 193 | .navbar-light { 194 | .navbar-brand { 195 | color: $navbar-light-brand-color; 196 | 197 | @include hover-focus { 198 | color: $navbar-light-brand-hover-color; 199 | } 200 | } 201 | 202 | .navbar-nav { 203 | .nav-link { 204 | color: $navbar-light-color; 205 | 206 | @include hover-focus { 207 | color: $navbar-light-hover-color; 208 | } 209 | 210 | &.disabled { 211 | color: $navbar-light-disabled-color; 212 | } 213 | } 214 | 215 | .show > .nav-link, 216 | .active > .nav-link, 217 | .nav-link.show, 218 | .nav-link.active { 219 | color: $navbar-light-active-color; 220 | } 221 | } 222 | 223 | .navbar-toggler { 224 | color: $navbar-light-color; 225 | border-color: $navbar-light-toggler-border-color; 226 | } 227 | 228 | .navbar-toggler-icon { 229 | background-image: $navbar-light-toggler-icon-bg; 230 | } 231 | 232 | .navbar-text { 233 | color: $navbar-light-color; 234 | a { 235 | color: $navbar-light-active-color; 236 | 237 | @include hover-focus { 238 | color: $navbar-light-active-color; 239 | } 240 | } 241 | } 242 | } 243 | 244 | // White links against a dark background 245 | .navbar-dark { 246 | .navbar-brand { 247 | color: $navbar-dark-brand-color; 248 | 249 | @include hover-focus { 250 | color: $navbar-dark-brand-hover-color; 251 | } 252 | } 253 | 254 | .navbar-nav { 255 | .nav-link { 256 | color: $navbar-dark-color; 257 | 258 | @include hover-focus { 259 | color: $navbar-dark-hover-color; 260 | } 261 | 262 | &.disabled { 263 | color: $navbar-dark-disabled-color; 264 | } 265 | } 266 | 267 | .show > .nav-link, 268 | .active > .nav-link, 269 | .nav-link.show, 270 | .nav-link.active { 271 | color: $navbar-dark-active-color; 272 | } 273 | } 274 | 275 | .navbar-toggler { 276 | color: $navbar-dark-color; 277 | border-color: $navbar-dark-toggler-border-color; 278 | } 279 | 280 | .navbar-toggler-icon { 281 | background-image: $navbar-dark-toggler-icon-bg; 282 | } 283 | 284 | .navbar-text { 285 | color: $navbar-dark-color; 286 | a { 287 | color: $navbar-dark-active-color; 288 | 289 | @include hover-focus { 290 | color: $navbar-dark-active-color; 291 | } 292 | } 293 | } 294 | } 295 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_forms.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable selector-no-qualifying-type 2 | 3 | // 4 | // Textual form controls 5 | // 6 | 7 | .form-control { 8 | display: block; 9 | width: 100%; 10 | height: $input-height; 11 | padding: $input-padding-y $input-padding-x; 12 | font-family: $input-font-family; 13 | @include font-size($input-font-size); 14 | font-weight: $input-font-weight; 15 | line-height: $input-line-height; 16 | color: $input-color; 17 | background-color: $input-bg; 18 | background-clip: padding-box; 19 | border: $input-border-width solid $input-border-color; 20 | 21 | // Note: This has no effect on s in some browsers, due to the limited stylability of ``s in CSS. 22 | @include border-radius($input-border-radius, 0); 23 | 24 | @include box-shadow($input-box-shadow); 25 | @include transition($input-transition); 26 | 27 | // Unstyle the caret on ``s in IE10+. 28 | &::-ms-expand { 29 | background-color: transparent; 30 | border: 0; 31 | } 32 | 33 | // Customize the `:focus` state to imitate native WebKit styles. 34 | @include form-control-focus(); 35 | 36 | // Placeholder 37 | &::placeholder { 38 | color: $input-placeholder-color; 39 | // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526. 40 | opacity: 1; 41 | } 42 | 43 | // Disabled and read-only inputs 44 | // 45 | // HTML5 says that controls under a fieldset > legend:first-child won't be 46 | // disabled if the fieldset is disabled. Due to implementation difficulty, we 47 | // don't honor that edge case; we style them as disabled anyway. 48 | &:disabled, 49 | &[readonly] { 50 | background-color: $input-disabled-bg; 51 | // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655. 52 | opacity: 1; 53 | } 54 | } 55 | 56 | select.form-control { 57 | &:focus::-ms-value { 58 | // Suppress the nested default white text on blue background highlight given to 59 | // the selected option text when the (still closed) receives focus 60 | // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to 61 | // match the appearance of the native widget. 62 | // See https://github.com/twbs/bootstrap/issues/19398. 63 | color: $input-color; 64 | background-color: $input-bg; 65 | } 66 | } 67 | 68 | // Make file inputs better match text inputs by forcing them to new lines. 69 | .form-control-file, 70 | .form-control-range { 71 | display: block; 72 | width: 100%; 73 | } 74 | 75 | 76 | // 77 | // Labels 78 | // 79 | 80 | // For use with horizontal and inline forms, when you need the label (or legend) 81 | // text to align with the form controls. 82 | .col-form-label { 83 | padding-top: calc(#{$input-padding-y} + #{$input-border-width}); 84 | padding-bottom: calc(#{$input-padding-y} + #{$input-border-width}); 85 | margin-bottom: 0; // Override the `/` default 86 | @include font-size(inherit); // Override the `` default 87 | line-height: $input-line-height; 88 | } 89 | 90 | .col-form-label-lg { 91 | padding-top: calc(#{$input-padding-y-lg} + #{$input-border-width}); 92 | padding-bottom: calc(#{$input-padding-y-lg} + #{$input-border-width}); 93 | @include font-size($input-font-size-lg); 94 | line-height: $input-line-height-lg; 95 | } 96 | 97 | .col-form-label-sm { 98 | padding-top: calc(#{$input-padding-y-sm} + #{$input-border-width}); 99 | padding-bottom: calc(#{$input-padding-y-sm} + #{$input-border-width}); 100 | @include font-size($input-font-size-sm); 101 | line-height: $input-line-height-sm; 102 | } 103 | 104 | 105 | // Readonly controls as plain text 106 | // 107 | // Apply class to a readonly input to make it appear like regular plain 108 | // text (without any border, background color, focus indicator) 109 | 110 | .form-control-plaintext { 111 | display: block; 112 | width: 100%; 113 | padding-top: $input-padding-y; 114 | padding-bottom: $input-padding-y; 115 | margin-bottom: 0; // match inputs if this class comes on inputs with default margins 116 | line-height: $input-line-height; 117 | color: $input-plaintext-color; 118 | background-color: transparent; 119 | border: solid transparent; 120 | border-width: $input-border-width 0; 121 | 122 | &.form-control-sm, 123 | &.form-control-lg { 124 | padding-right: 0; 125 | padding-left: 0; 126 | } 127 | } 128 | 129 | 130 | // Form control sizing 131 | // 132 | // Build on `.form-control` with modifier classes to decrease or increase the 133 | // height and font-size of form controls. 134 | // 135 | // Repeated in `_input_group.scss` to avoid Sass extend issues. 136 | 137 | .form-control-sm { 138 | height: $input-height-sm; 139 | padding: $input-padding-y-sm $input-padding-x-sm; 140 | @include font-size($input-font-size-sm); 141 | line-height: $input-line-height-sm; 142 | @include border-radius($input-border-radius-sm); 143 | } 144 | 145 | .form-control-lg { 146 | height: $input-height-lg; 147 | padding: $input-padding-y-lg $input-padding-x-lg; 148 | @include font-size($input-font-size-lg); 149 | line-height: $input-line-height-lg; 150 | @include border-radius($input-border-radius-lg); 151 | } 152 | 153 | // stylelint-disable-next-line no-duplicate-selectors 154 | select.form-control { 155 | &[size], 156 | &[multiple] { 157 | height: auto; 158 | } 159 | } 160 | 161 | textarea.form-control { 162 | height: auto; 163 | } 164 | 165 | // Form groups 166 | // 167 | // Designed to help with the organization and spacing of vertical forms. For 168 | // horizontal forms, use the predefined grid classes. 169 | 170 | .form-group { 171 | margin-bottom: $form-group-margin-bottom; 172 | } 173 | 174 | .form-text { 175 | display: block; 176 | margin-top: $form-text-margin-top; 177 | } 178 | 179 | 180 | // Form grid 181 | // 182 | // Special replacement for our grid system's `.row` for tighter form layouts. 183 | 184 | .form-row { 185 | display: flex; 186 | flex-wrap: wrap; 187 | margin-right: -$form-grid-gutter-width / 2; 188 | margin-left: -$form-grid-gutter-width / 2; 189 | 190 | > .col, 191 | > [class*="col-"] { 192 | padding-right: $form-grid-gutter-width / 2; 193 | padding-left: $form-grid-gutter-width / 2; 194 | } 195 | } 196 | 197 | 198 | // Checkboxes and radios 199 | // 200 | // Indent the labels to position radios/checkboxes as hanging controls. 201 | 202 | .form-check { 203 | position: relative; 204 | display: block; 205 | padding-left: $form-check-input-gutter; 206 | } 207 | 208 | .form-check-input { 209 | position: absolute; 210 | margin-top: $form-check-input-margin-y; 211 | margin-left: -$form-check-input-gutter; 212 | 213 | &:disabled ~ .form-check-label { 214 | color: $text-muted; 215 | } 216 | } 217 | 218 | .form-check-label { 219 | margin-bottom: 0; // Override default `` bottom margin 220 | } 221 | 222 | .form-check-inline { 223 | display: inline-flex; 224 | align-items: center; 225 | padding-left: 0; // Override base .form-check 226 | margin-right: $form-check-inline-margin-x; 227 | 228 | // Undo .form-check-input defaults and add some `margin-right`. 229 | .form-check-input { 230 | position: static; 231 | margin-top: 0; 232 | margin-right: $form-check-inline-input-margin-x; 233 | margin-left: 0; 234 | } 235 | } 236 | 237 | 238 | // Form validation 239 | // 240 | // Provide feedback to users when form field values are valid or invalid. Works 241 | // primarily for client-side validation via scoped `:invalid` and `:valid` 242 | // pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for 243 | // server side validation. 244 | 245 | @each $state, $data in $form-validation-states { 246 | @include form-validation-state($state, map-get($data, color), map-get($data, icon)); 247 | } 248 | 249 | // Inline forms 250 | // 251 | // Make forms appear inline(-block) by adding the `.form-inline` class. Inline 252 | // forms begin stacked on extra small (mobile) devices and then go inline when 253 | // viewports reach <768px. 254 | // 255 | // Requires wrapping inputs and labels with `.form-group` for proper display of 256 | // default HTML form controls and our custom form controls (e.g., input groups). 257 | 258 | .form-inline { 259 | display: flex; 260 | flex-flow: row wrap; 261 | align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height) 262 | 263 | // Because we use flex, the initial sizing of checkboxes is collapsed and 264 | // doesn't occupy the full-width (which is what we want for xs grid tier), 265 | // so we force that here. 266 | .form-check { 267 | width: 100%; 268 | } 269 | 270 | // Kick in the inline 271 | @include media-breakpoint-up(sm) { 272 | label { 273 | display: flex; 274 | align-items: center; 275 | justify-content: center; 276 | margin-bottom: 0; 277 | } 278 | 279 | // Inline-block all the things for "inline" 280 | .form-group { 281 | display: flex; 282 | flex: 0 0 auto; 283 | flex-flow: row wrap; 284 | align-items: center; 285 | margin-bottom: 0; 286 | } 287 | 288 | // Allow folks to *not* use `.form-group` 289 | .form-control { 290 | display: inline-block; 291 | width: auto; // Prevent labels from stacking above inputs in `.form-group` 292 | vertical-align: middle; 293 | } 294 | 295 | // Make static controls behave like regular ones 296 | .form-control-plaintext { 297 | display: inline-block; 298 | } 299 | 300 | .input-group, 301 | .custom-select { 302 | width: auto; 303 | } 304 | 305 | // Remove default margin on radios/checkboxes that were used for stacking, and 306 | // then undo the floating of radios and checkboxes to match. 307 | .form-check { 308 | display: flex; 309 | align-items: center; 310 | justify-content: center; 311 | width: auto; 312 | padding-left: 0; 313 | } 314 | .form-check-input { 315 | position: relative; 316 | flex-shrink: 0; 317 | margin-top: 0; 318 | margin-right: $form-check-input-margin-x; 319 | margin-left: 0; 320 | } 321 | 322 | .custom-control { 323 | align-items: center; 324 | justify-content: center; 325 | } 326 | .custom-control-label { 327 | margin-bottom: 0; 328 | } 329 | } 330 | } 331 | -------------------------------------------------------------------------------- /public_html/assets/scss/vendors/bootstrap-4.3.1/_reboot.scss: -------------------------------------------------------------------------------- 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 `` 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, ``-`` 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 ``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 `` alignment by inheriting from the ``, 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. ``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 | } 484 | --------------------------------------------------------------------------------
`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 `