Working on cleaning Boostrap

This commit is contained in:
Claudio Maradonna 2021-08-20 16:48:07 +02:00
parent d9bd025f0d
commit dd093fe8aa
Signed by untrusted user who does not match committer: claudiomaradonna
GPG key ID: 0CBA58694C5680D9
261 changed files with 7191 additions and 18985 deletions

1
.ignore Normal file
View file

@ -0,0 +1 @@
_site

View file

@ -4,8 +4,8 @@ layout: default
<style type="text/css" media="screen">
.container {
margin: 10px auto;
max-width: 600px;
/* margin: 10px auto; */
/* max-width: 600px; */
text-align: center;
}
h1 {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 588 B

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -27,13 +27,6 @@ figure {
body {
font: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family;
color: $text-color;
background-color: $background-color;
-webkit-text-size-adjust: 100%;
-webkit-font-feature-settings: 'kern' 1;
-moz-font-feature-settings: 'kern' 1;
-o-font-feature-settings: 'kern' 1;
font-feature-settings: 'kern' 1;
font-kerning: normal;
}
/**
@ -234,32 +227,6 @@ blockquote {
}
}
/**
* Code formatting
*/
pre,
code {
font-size: 15px;
border: 1px solid $grey-color-light;
border-radius: 3px;
background-color: #eef;
}
code {
padding: 1px 5px;
}
pre {
padding: 8px 12px;
overflow-x: auto;
> code {
border: 0;
padding-right: 0;
padding-left: 0;
}
}
/**
* Clearfix
*/

View file

@ -5,26 +5,26 @@
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@import 'bootstrap/functions';
@import 'bootstrap/variables';
@import 'bootstrap-custom/functions';
@import 'bootstrap-custom/variables';
@import 'bootstrap/mixins';
@import 'bootstrap/root';
@import 'bootstrap/reboot';
@import 'bootstrap-custom/reboot';
@import 'bootstrap/type';
// @import 'bootstrap/images';
@import 'bootstrap/code';
@import 'bootstrap/grid';
@import 'bootstrap-custom/code';
@import 'bootstrap-custom/grid';
// @import 'bootstrap/tables';
@import 'bootstrap/forms';
@import 'bootstrap/buttons';
@import 'bootstrap-custom/forms';
@import 'bootstrap-custom/buttons';
// @import 'bootstrap/transitions';
@import 'bootstrap/dropdown';
@import 'bootstrap-custom/dropdown';
// @import 'bootstrap/button-group';
@import 'bootstrap/input-group';
@import 'bootstrap-custom/input-group';
// @import 'bootstrap/custom-forms';
// @import 'bootstrap/nav';
@import 'bootstrap/navbar';
@import 'bootstrap/card';
@import 'bootstrap-custom/navbar';
@import 'bootstrap-custom/card';
// @import 'bootstrap/breadcrumb';
// @import 'bootstrap/pagination';
// @import 'bootstrap/badge';
@ -32,7 +32,7 @@
// @import 'bootstrap/alert';
// @import 'bootstrap/progress';
// @import 'bootstrap/media';
// @import 'bootstrap/list-group';
@import 'bootstrap-custom/list-group';
// @import 'bootstrap/close';
// @import 'bootstrap/toasts';
// @import 'bootstrap/modal';
@ -40,5 +40,5 @@
// @import 'bootstrap/popover';
// @import 'bootstrap/carousel';
// @import 'bootstrap/spinners';
@import 'bootstrap/utilities';
@import 'bootstrap-custom/utilities';
// @import 'bootstrap/print';

File diff suppressed because one or more lines are too long

View file

@ -36,14 +36,14 @@
line-height: 1.3;
background-color: #222;
border-top: 3px dashed $background-color;
border-top: 3px dashed $body-bg;
box-shadow: 0px 180px #222;
}
.footer-heading {
font-size: 18px;
margin-bottom: $spacing-unit / 2;
}
// .footer-heading {
// font-size: 18px;
// margin-bottom: $spacing-unit / 2;
// }
ul.social-buttons {
margin-bottom: 0;
@ -65,7 +65,7 @@ ul.social-buttons li a {
ul.social-buttons li a:active,
ul.social-buttons li a:focus,
ul.social-buttons li a:hover {
background-color: #4087c7;
background-color: $brand-color-secondary-hover;
}
/**
@ -249,22 +249,18 @@ aside.aside {
}
}
.card {
line-height: 1.5;
}
// .card td.img {
// width: 220px;
.card td.img {
width: 220px;
// background-size: cover;
// background-repeat: no-repeat;
// }
background-size: cover;
background-repeat: no-repeat;
}
// .btn {
// transition: box-shadow 0.3s ease-out, border-color 0.2s ease-out, color 0.3s ease-out;
.btn {
transition: box-shadow 0.3s ease-out, border-color 0.2s ease-out, color 0.3s ease-out;
text-decoration: none;
}
// text-decoration: none;
// }
.btn-secondary {
background-color: transparent;
@ -314,7 +310,7 @@ aside.aside {
.btn-primary {
background-color: transparent;
border-color: $brand-color;
box-shadow: inset 0px -0.3rem 0 $brand-color, $shadow;
box-shadow: inset 0px -0.3rem 0 $brand-color, $box-shadow;
color: $text-color;
@ -342,7 +338,7 @@ aside.aside {
.btn-success {
background-color: transparent;
border-color: $success-color;
box-shadow: inset 0px -0.3rem 0 $success-color, $shadow;
box-shadow: inset 0px -0.3rem 0 $success-color, $box-shadow;
color: $text-color;
@ -367,42 +363,38 @@ aside.aside {
}
}
.bg-primary {
background-color: $brand-color !important;
}
// .bg-primary {
// background-color: $brand-color !important;
// }
.border-primary {
border-color: $brand-color !important;
}
// .border-primary {
// border-color: $brand-color !important;
// }
.border-secondary {
border-color: $brand-color-secondary !important;
}
// .border-secondary {
// border-color: $brand-color-secondary !important;
// }
.text-primary {
color: $brand-color !important;
}
// .text-primary {
// color: $brand-color !important;
// }
.card-columns {
@media (max-width: 1199.98px) {
column-count: 2;
}
@media (max-width: 991.98px) {
column-count: 1;
}
}
// .card-columns {
// @media (max-width: 1199.98px) {
// column-count: 2;
// }
// @media (max-width: 991.98px) {
// column-count: 1;
// }
// }
.dropdown-toggle:after {
content: none;
}
// .dropdown-toggle:after {
// content: none;
// }
.list-inline-item:not(:last-child) {
margin-right: 0.25rem;
}
.min-height-100 {
min-height: 100vh;
}
// .list-inline-item:not(:last-child) {
// margin-right: 0.25rem;
// }
.content-bottom {
background-color: rgba(0, 0, 0, 0.65);
@ -411,9 +403,9 @@ aside.aside {
padding: 100px 15px 100px;
}
.shadow {
box-shadow: $shadow !important;
}
// .shadow {
// box-shadow: $box-shadow !important;
// }
.header-index {
min-height: 55vh;

View file

@ -10,7 +10,7 @@
font-weight: $btn-font-weight;
color: $body-color;
text-align: center;
text-decoration: if($link-decoration == none, null, none);
text-decoration: none;
white-space: $btn-white-space;
vertical-align: middle;
user-select: none;
@ -80,29 +80,29 @@ fieldset:disabled a.btn {
//
// Make a button look and behave like a link
.btn-link {
font-weight: $font-weight-normal;
color: $link-color;
text-decoration: $link-decoration;
// .btn-link {
// font-weight: $font-weight-normal;
// color: $link-color;
// text-decoration: $link-decoration;
@include hover() {
color: $link-hover-color;
text-decoration: $link-hover-decoration;
}
// @include hover() {
// color: $link-hover-color;
// text-decoration: $link-hover-decoration;
// }
&:focus,
&.focus {
text-decoration: $link-hover-decoration;
}
// &:focus,
// &.focus {
// text-decoration: $link-hover-decoration;
// }
&:disabled,
&.disabled {
color: $btn-link-disabled-color;
pointer-events: none;
}
// &:disabled,
// &.disabled {
// color: $btn-link-disabled-color;
// pointer-events: none;
// }
// No need for an active state here
}
// // No need for an active state here
// }
//
@ -122,15 +122,15 @@ fieldset:disabled a.btn {
// Block button
//
.btn-block {
display: block;
width: 100%;
// .btn-block {
// display: block;
// width: 100%;
// Vertically space out multiple block buttons
+ .btn-block {
margin-top: $btn-block-spacing-y;
}
}
// // Vertically space out multiple block buttons
// + .btn-block {
// margin-top: $btn-block-spacing-y;
// }
// }
// Specificity overrides
input[type="submit"],

View file

@ -1,7 +1,3 @@
//
// Base styles
//
.card {
position: relative;
display: flex;
@ -12,6 +8,7 @@
background-color: $card-bg;
background-clip: border-box;
border: $card-border-width solid $card-border-color;
line-height: 1.5;
@include border-radius($card-border-radius);
> hr {
@ -40,6 +37,16 @@
> .list-group + .card-footer {
border-top: 0;
}
> td {
> img {
width: 220px;
background-size: cover;
background-repeat: no-repeat;
}
}
}
.card-body {
@ -256,6 +263,10 @@
width: 100%; // Don't let their width change
}
}
@include media-breakpoint-up(xs) {
column-count: 1;
}
}
@ -263,24 +274,24 @@
// Accordion
//
.accordion {
overflow-anchor: none;
// .accordion {
// overflow-anchor: none;
> .card {
overflow: hidden;
// > .card {
// overflow: hidden;
&:not(:last-of-type) {
border-bottom: 0;
@include border-bottom-radius(0);
}
// &:not(:last-of-type) {
// border-bottom: 0;
// @include border-bottom-radius(0);
// }
&:not(:first-of-type) {
@include border-top-radius(0);
}
// &:not(:first-of-type) {
// @include border-top-radius(0);
// }
> .card-header {
@include border-radius(0);
margin-bottom: -$card-border-width;
}
}
}
// > .card-header {
// @include border-radius(0);
// margin-bottom: -$card-border-width;
// }
// }
// }

View file

@ -11,21 +11,21 @@ code {
}
// User input typically entered via keyboard
kbd {
padding: $kbd-padding-y $kbd-padding-x;
@include font-size($kbd-font-size);
color: $kbd-color;
background-color: $kbd-bg;
@include border-radius($border-radius-sm);
@include box-shadow($kbd-box-shadow);
// kbd {
// padding: $kbd-padding-y $kbd-padding-x;
// @include font-size($kbd-font-size);
// color: $kbd-color;
// background-color: $kbd-bg;
// @include border-radius($border-radius-sm);
// @include box-shadow($kbd-box-shadow);
kbd {
padding: 0;
@include font-size(100%);
font-weight: $nested-kbd-font-weight;
@include box-shadow(none);
}
}
// kbd {
// padding: 0;
// @include font-size(100%);
// font-weight: $nested-kbd-font-weight;
// @include box-shadow(none);
// }
// }
// Blocks of code
pre {
@ -33,16 +33,20 @@ pre {
@include font-size($code-font-size);
color: $pre-color;
background-color: $gray-300;
// Account for some code outputs that place code tags in pre tags
code {
@include font-size(inherit);
color: inherit;
word-break: normal;
background-color: $gray-300;
}
}
// Enable scrollable blocks of code
.pre-scrollable {
max-height: $pre-scrollable-max-height;
overflow-y: scroll;
}
// .pre-scrollable {
// max-height: $pre-scrollable-max-height;
// overflow-y: scroll;
// }

View file

@ -1,17 +1,17 @@
// The dropdown wrapper (`<div>`)
.dropup,
.dropright,
// .dropup,
// .dropright,
.dropdown,
.dropleft {
position: relative;
}
.dropdown-toggle {
white-space: nowrap;
// .dropdown-toggle {
// white-space: nowrap;
// Generate the caret automatically
@include caret();
}
// // Generate the caret automatically
// @include caret();
// }
// The dropdown menu
.dropdown-menu {
@ -35,70 +35,70 @@
@include box-shadow($dropdown-box-shadow);
}
@each $breakpoint in map-keys($grid-breakpoints) {
@include media-breakpoint-up($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
// @each $breakpoint in map-keys($grid-breakpoints) {
// @include media-breakpoint-up($breakpoint) {
// $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
.dropdown-menu#{$infix}-left {
right: auto;
left: 0;
}
// .dropdown-menu#{$infix}-left {
// right: auto;
// left: 0;
// }
.dropdown-menu#{$infix}-right {
right: 0;
left: auto;
}
}
}
// .dropdown-menu#{$infix}-right {
// right: 0;
// left: auto;
// }
// }
// }
// Allow for dropdowns to go bottom up (aka, dropup-menu)
// Just add .dropup after the standard .dropdown class and you're set.
.dropup {
.dropdown-menu {
top: auto;
bottom: 100%;
margin-top: 0;
margin-bottom: $dropdown-spacer;
}
// .dropup {
// .dropdown-menu {
// top: auto;
// bottom: 100%;
// margin-top: 0;
// margin-bottom: $dropdown-spacer;
// }
.dropdown-toggle {
@include caret(up);
}
}
// .dropdown-toggle {
// @include caret(up);
// }
// }
.dropright {
.dropdown-menu {
top: 0;
right: auto;
left: 100%;
margin-top: 0;
margin-left: $dropdown-spacer;
}
// .dropright {
// .dropdown-menu {
// top: 0;
// right: auto;
// left: 100%;
// margin-top: 0;
// margin-left: $dropdown-spacer;
// }
.dropdown-toggle {
@include caret(right);
&::after {
vertical-align: 0;
}
}
}
// .dropdown-toggle {
// @include caret(right);
// &::after {
// vertical-align: 0;
// }
// }
// }
.dropleft {
.dropdown-menu {
top: 0;
right: 100%;
left: auto;
margin-top: 0;
margin-right: $dropdown-spacer;
}
// .dropleft {
// .dropdown-menu {
// top: 0;
// right: 100%;
// left: auto;
// margin-top: 0;
// margin-right: $dropdown-spacer;
// }
.dropdown-toggle {
@include caret(left);
&::before {
vertical-align: 0;
}
}
}
// .dropdown-toggle {
// @include caret(left);
// &::before {
// vertical-align: 0;
// }
// }
// }
// When Popper is enabled, reset the basic dropdown position
// stylelint-disable-next-line no-duplicate-selectors

View file

@ -0,0 +1,341 @@
.form-control {
display: block;
width: 100%;
height: $input-height;
padding: $input-padding-y $input-padding-x;
font-family: $input-font-family;
@include font-size($input-font-size);
font-weight: $input-font-weight;
line-height: $input-line-height;
color: $input-color;
background-color: $input-bg;
background-clip: padding-box;
border: $input-border-width solid $input-border-color;
// Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.
@include border-radius($input-border-radius, 0);
@include box-shadow($input-box-shadow);
@include transition($input-transition);
// Unstyle the caret on `<select>`s in IE10+.
&::-ms-expand {
background-color: transparent;
border: 0;
}
// Remove select outline from select box in FF
&:-moz-focusring {
color: transparent;
text-shadow: 0 0 0 $input-color;
}
// Customize the `:focus` state to imitate native WebKit styles.
@include form-control-focus($ignore-warning: true);
// Placeholder
&::placeholder {
color: $input-placeholder-color;
// Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.
opacity: 1;
}
// Disabled and read-only inputs
//
// HTML5 says that controls under a fieldset > legend:first-child won't be
// disabled if the fieldset is disabled. Due to implementation difficulty, we
// don't honor that edge case; we style them as disabled anyway.
&:disabled,
&[readonly] {
background-color: $input-disabled-bg;
// iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.
opacity: 1;
}
}
// input[type="date"],
// input[type="time"],
// input[type="datetime-local"],
// input[type="month"] {
// &.form-control {
// appearance: none; // Fix appearance for date inputs in Safari
// }
// }
// select.form-control {
// &:focus::-ms-value {
// // Suppress the nested default white text on blue background highlight given to
// // the selected option text when the (still closed) <select> receives focus
// // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to
// // match the appearance of the native widget.
// // See https://github.com/twbs/bootstrap/issues/19398.
// color: $input-color;
// background-color: $input-bg;
// }
// }
// Make file inputs better match text inputs by forcing them to new lines.
// .form-control-file,
// .form-control-range {
// display: block;
// width: 100%;
// }
//
// Labels
//
// For use with horizontal and inline forms, when you need the label (or legend)
// text to align with the form controls.
// .col-form-label {
// padding-top: add($input-padding-y, $input-border-width);
// padding-bottom: add($input-padding-y, $input-border-width);
// margin-bottom: 0; // Override the `<label>/<legend>` default
// @include font-size(inherit); // Override the `<legend>` default
// line-height: $input-line-height;
// }
// .col-form-label-lg {
// padding-top: add($input-padding-y-lg, $input-border-width);
// padding-bottom: add($input-padding-y-lg, $input-border-width);
// @include font-size($input-font-size-lg);
// line-height: $input-line-height-lg;
// }
// .col-form-label-sm {
// padding-top: add($input-padding-y-sm, $input-border-width);
// padding-bottom: add($input-padding-y-sm, $input-border-width);
// @include font-size($input-font-size-sm);
// line-height: $input-line-height-sm;
// }
// Readonly controls as plain text
//
// Apply class to a readonly input to make it appear like regular plain
// text (without any border, background color, focus indicator)
// .form-control-plaintext {
// display: block;
// width: 100%;
// padding: $input-padding-y 0;
// margin-bottom: 0; // match inputs if this class comes on inputs with default margins
// @include font-size($input-font-size);
// line-height: $input-line-height;
// color: $input-plaintext-color;
// background-color: transparent;
// border: solid transparent;
// border-width: $input-border-width 0;
// &.form-control-sm,
// &.form-control-lg {
// padding-right: 0;
// padding-left: 0;
// }
// }
// Form control sizing
//
// Build on `.form-control` with modifier classes to decrease or increase the
// height and font-size of form controls.
//
// Repeated in `_input_group.scss` to avoid Sass extend issues.
// .form-control-sm {
// height: $input-height-sm;
// padding: $input-padding-y-sm $input-padding-x-sm;
// @include font-size($input-font-size-sm);
// line-height: $input-line-height-sm;
// @include border-radius($input-border-radius-sm);
// }
// .form-control-lg {
// height: $input-height-lg;
// padding: $input-padding-y-lg $input-padding-x-lg;
// @include font-size($input-font-size-lg);
// line-height: $input-line-height-lg;
// @include border-radius($input-border-radius-lg);
// }
// stylelint-disable-next-line no-duplicate-selectors
// select.form-control {
// &[size],
// &[multiple] {
// height: auto;
// }
// }
// textarea.form-control {
// height: auto;
// }
// Form groups
//
// Designed to help with the organization and spacing of vertical forms. For
// horizontal forms, use the predefined grid classes.
// .form-group {
// margin-bottom: $form-group-margin-bottom;
// }
// .form-text {
// display: block;
// margin-top: $form-text-margin-top;
// }
// Form grid
//
// Special replacement for our grid system's `.row` for tighter form layouts.
// .form-row {
// display: flex;
// flex-wrap: wrap;
// margin-right: -$form-grid-gutter-width / 2;
// margin-left: -$form-grid-gutter-width / 2;
// > .col,
// > [class*="col-"] {
// padding-right: $form-grid-gutter-width / 2;
// padding-left: $form-grid-gutter-width / 2;
// }
// }
// Checkboxes and radios
//
// Indent the labels to position radios/checkboxes as hanging controls.
// .form-check {
// position: relative;
// display: block;
// padding-left: $form-check-input-gutter;
// }
// .form-check-input {
// position: absolute;
// margin-top: $form-check-input-margin-y;
// margin-left: -$form-check-input-gutter;
// // Use [disabled] and :disabled for workaround https://github.com/twbs/bootstrap/issues/28247
// &[disabled] ~ .form-check-label,
// &:disabled ~ .form-check-label {
// color: $text-muted;
// }
// }
// .form-check-label {
// margin-bottom: 0; // Override default `<label>` bottom margin
// }
// .form-check-inline {
// display: inline-flex;
// align-items: center;
// padding-left: 0; // Override base .form-check
// margin-right: $form-check-inline-margin-x;
// // Undo .form-check-input defaults and add some `margin-right`.
// .form-check-input {
// position: static;
// margin-top: 0;
// margin-right: $form-check-inline-input-margin-x;
// margin-left: 0;
// }
// }
// Form validation
//
// Provide feedback to users when form field values are valid or invalid. Works
// primarily for client-side validation via scoped `:invalid` and `:valid`
// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for
// server side validation.
// @each $state, $data in $form-validation-states {
// @include form-validation-state($state, map-get($data, color), map-get($data, icon));
// }
// Inline forms
//
// Make forms appear inline(-block) by adding the `.form-inline` class. Inline
// forms begin stacked on extra small (mobile) devices and then go inline when
// viewports reach <768px.
//
// Requires wrapping inputs and labels with `.form-group` for proper display of
// default HTML form controls and our custom form controls (e.g., input groups).
// .form-inline {
// display: flex;
// flex-flow: row wrap;
// align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)
// // Because we use flex, the initial sizing of checkboxes is collapsed and
// // doesn't occupy the full-width (which is what we want for xs grid tier),
// // so we force that here.
// .form-check {
// width: 100%;
// }
// // Kick in the inline
// @include media-breakpoint-up(sm) {
// label {
// display: flex;
// align-items: center;
// justify-content: center;
// margin-bottom: 0;
// }
// // Inline-block all the things for "inline"
// .form-group {
// display: flex;
// flex: 0 0 auto;
// flex-flow: row wrap;
// align-items: center;
// margin-bottom: 0;
// }
// // Allow folks to *not* use `.form-group`
// .form-control {
// display: inline-block;
// width: auto; // Prevent labels from stacking above inputs in `.form-group`
// vertical-align: middle;
// }
// // Make static controls behave like regular ones
// .form-control-plaintext {
// display: inline-block;
// }
// .input-group,
// .custom-select {
// width: auto;
// }
// // Remove default margin on radios/checkboxes that were used for stacking, and
// // then undo the floating of radios and checkboxes to match.
// .form-check {
// display: flex;
// align-items: center;
// justify-content: center;
// width: auto;
// padding-left: 0;
// }
// .form-check-input {
// position: relative;
// flex-shrink: 0;
// margin-top: 0;
// margin-right: $form-check-input-margin-x;
// margin-left: 0;
// }
// .custom-control {
// align-items: center;
// justify-content: center;
// }
// .custom-control-label {
// margin-bottom: 0;
// }
// }
// }

View file

@ -52,16 +52,16 @@
// Remove the negative margin from default .row, then the horizontal padding
// from all immediate children columns (to prevent runaway style inheritance).
.no-gutters {
margin-right: 0;
margin-left: 0;
// .no-gutters {
// margin-right: 0;
// margin-left: 0;
> .col,
> [class*="col-"] {
padding-right: 0;
padding-left: 0;
}
}
// > .col,
// > [class*="col-"] {
// padding-right: 0;
// padding-left: 0;
// }
// }
}
// Columns

View file

@ -36,9 +36,9 @@
}
// Bring the custom file input above the label
> .custom-file .custom-file-input:focus {
z-index: 4;
}
// > .custom-file .custom-file-input:focus {
// z-index: 4;
// }
> .form-control,
> .custom-select {
@ -47,29 +47,29 @@
// Custom file inputs have more complex markup, thus requiring different
// border-radius overrides.
> .custom-file {
display: flex;
align-items: center;
// > .custom-file {
// display: flex;
// align-items: center;
&:not(:last-child) .custom-file-label,
&:not(:first-child) .custom-file-label { @include border-left-radius(0); }
}
// &:not(:last-child) .custom-file-label,
// &:not(:first-child) .custom-file-label { @include border-left-radius(0); }
// }
&:not(.has-validation) {
> .form-control:not(:last-child),
> .custom-select:not(:last-child),
> .custom-file:not(:last-child) .custom-file-label::after {
@include border-right-radius(0);
}
}
// &:not(.has-validation) {
// > .form-control:not(:last-child),
// > .custom-select:not(:last-child),
// > .custom-file:not(:last-child) .custom-file-label::after {
// @include border-right-radius(0);
// }
// }
&.has-validation {
> .form-control:nth-last-child(n + 3),
> .custom-select:nth-last-child(n + 3),
> .custom-file:nth-last-child(n + 3) .custom-file-label::after {
@include border-right-radius(0);
}
}
// &.has-validation {
// > .form-control:nth-last-child(n + 3),
// > .custom-select:nth-last-child(n + 3),
// > .custom-file:nth-last-child(n + 3) .custom-file-label::after {
// @include border-right-radius(0);
// }
// }
}
@ -103,7 +103,7 @@
}
}
.input-group-prepend { margin-right: -$input-border-width; }
// .input-group-prepend { margin-right: -$input-border-width; }
.input-group-append { margin-left: -$input-border-width; }
@ -112,27 +112,27 @@
// Serves as a catch-all element for any text or radio/checkbox input you wish
// to prepend or append to an input.
.input-group-text {
display: flex;
align-items: center;
padding: $input-padding-y $input-padding-x;
margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom
@include font-size($input-font-size); // Match inputs
font-weight: $font-weight-normal;
line-height: $input-line-height;
color: $input-group-addon-color;
text-align: center;
white-space: nowrap;
background-color: $input-group-addon-bg;
border: $input-border-width solid $input-group-addon-border-color;
@include border-radius($input-border-radius);
// .input-group-text {
// display: flex;
// align-items: center;
// padding: $input-padding-y $input-padding-x;
// margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom
// @include font-size($input-font-size); // Match inputs
// font-weight: $font-weight-normal;
// line-height: $input-line-height;
// color: $input-group-addon-color;
// text-align: center;
// white-space: nowrap;
// background-color: $input-group-addon-bg;
// border: $input-border-width solid $input-group-addon-border-color;
// @include border-radius($input-border-radius);
// Nuke default margins from checkboxes and radios to vertically center within.
input[type="radio"],
input[type="checkbox"] {
margin-top: 0;
}
}
// // Nuke default margins from checkboxes and radios to vertically center within.
// input[type="radio"],
// input[type="checkbox"] {
// margin-top: 0;
// }
// }
// Sizing
@ -140,44 +140,44 @@
// Remix the default form control sizing classes into new ones for easier
// manipulation.
.input-group-lg > .form-control:not(textarea),
.input-group-lg > .custom-select {
height: $input-height-lg;
}
// .input-group-lg > .form-control:not(textarea),
// .input-group-lg > .custom-select {
// height: $input-height-lg;
// }
.input-group-lg > .form-control,
.input-group-lg > .custom-select,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.input-group-lg > .input-group-append > .btn {
padding: $input-padding-y-lg $input-padding-x-lg;
@include font-size($input-font-size-lg);
line-height: $input-line-height-lg;
@include border-radius($input-border-radius-lg);
}
// .input-group-lg > .form-control,
// .input-group-lg > .custom-select,
// .input-group-lg > .input-group-prepend > .input-group-text,
// .input-group-lg > .input-group-append > .input-group-text,
// .input-group-lg > .input-group-prepend > .btn,
// .input-group-lg > .input-group-append > .btn {
// padding: $input-padding-y-lg $input-padding-x-lg;
// @include font-size($input-font-size-lg);
// line-height: $input-line-height-lg;
// @include border-radius($input-border-radius-lg);
// }
.input-group-sm > .form-control:not(textarea),
.input-group-sm > .custom-select {
height: $input-height-sm;
}
// .input-group-sm > .form-control:not(textarea),
// .input-group-sm > .custom-select {
// height: $input-height-sm;
// }
.input-group-sm > .form-control,
.input-group-sm > .custom-select,
.input-group-sm > .input-group-prepend > .input-group-text,
.input-group-sm > .input-group-append > .input-group-text,
.input-group-sm > .input-group-prepend > .btn,
.input-group-sm > .input-group-append > .btn {
padding: $input-padding-y-sm $input-padding-x-sm;
@include font-size($input-font-size-sm);
line-height: $input-line-height-sm;
@include border-radius($input-border-radius-sm);
}
// .input-group-sm > .form-control,
// .input-group-sm > .custom-select,
// .input-group-sm > .input-group-prepend > .input-group-text,
// .input-group-sm > .input-group-append > .input-group-text,
// .input-group-sm > .input-group-prepend > .btn,
// .input-group-sm > .input-group-append > .btn {
// padding: $input-padding-y-sm $input-padding-x-sm;
// @include font-size($input-font-size-sm);
// line-height: $input-line-height-sm;
// @include border-radius($input-border-radius-sm);
// }
.input-group-lg > .custom-select,
.input-group-sm > .custom-select {
padding-right: $custom-select-padding-x + $custom-select-indicator-padding;
}
// .input-group-lg > .custom-select,
// .input-group-sm > .custom-select {
// padding-right: $custom-select-padding-x + $custom-select-indicator-padding;
// }
// Prepend and append rounded corners

View file

@ -0,0 +1,154 @@
// Base class
//
// Easily usable on <ul>, <ol>, or <div>.
.list-group {
display: flex;
flex-direction: column;
// No need to set list-style: none; since .list-group-item is block level
padding-left: 0; // reset padding because ul and ol
margin-bottom: 0;
@include border-radius($list-group-border-radius);
}
// Interactive list items
//
// Use anchor or button elements instead of `li`s or `div`s to create interactive
// list items. Includes an extra `.active` modifier class for selected items.
// .list-group-item-action {
// width: 100%; // For `<button>`s (anchors become 100% by default though)
// color: $list-group-action-color;
// text-align: inherit; // For `<button>`s (anchors inherit)
// // Hover state
// @include hover-focus() {
// z-index: 1; // Place hover/focus items above their siblings for proper border styling
// color: $list-group-action-hover-color;
// text-decoration: none;
// background-color: $list-group-hover-bg;
// }
// &:active {
// color: $list-group-action-active-color;
// background-color: $list-group-action-active-bg;
// }
// }
// Individual list items
//
// Use on `li`s or `div`s within the `.list-group` parent.
.list-group-item {
position: relative;
display: block;
padding: $list-group-item-padding-y $list-group-item-padding-x;
color: $list-group-color;
text-decoration: if($link-decoration == none, null, none);
background-color: $list-group-bg;
border: $list-group-border-width solid $list-group-border-color;
&:first-child {
@include border-top-radius(inherit);
}
&:last-child {
@include border-bottom-radius(inherit);
}
&.disabled,
&:disabled {
color: $list-group-disabled-color;
pointer-events: none;
background-color: $list-group-disabled-bg;
}
// Include both here for `<a>`s and `<button>`s
&.active {
z-index: 2; // Place active items above their siblings for proper border styling
color: $list-group-active-color;
background-color: $list-group-active-bg;
border-color: $list-group-active-border-color;
}
& + & {
border-top-width: 0;
&.active {
margin-top: -$list-group-border-width;
border-top-width: $list-group-border-width;
}
}
}
// Horizontal
//
// Change the layout of list group items from vertical (default) to horizontal.
@each $breakpoint in map-keys($grid-breakpoints) {
@include media-breakpoint-up($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
.list-group-horizontal#{$infix} {
flex-direction: row;
> .list-group-item {
&:first-child {
@include border-bottom-left-radius($list-group-border-radius);
@include border-top-right-radius(0);
}
&:last-child {
@include border-top-right-radius($list-group-border-radius);
@include border-bottom-left-radius(0);
}
&.active {
margin-top: 0;
}
+ .list-group-item {
border-top-width: $list-group-border-width;
border-left-width: 0;
&.active {
margin-left: -$list-group-border-width;
border-left-width: $list-group-border-width;
}
}
}
}
}
}
// Flush list items
//
// Remove borders and border-radius to keep list group items edge-to-edge. Most
// useful within other components (e.g., cards).
.list-group-flush {
@include border-radius(0);
> .list-group-item {
border-width: 0 0 $list-group-border-width;
&:last-child {
border-bottom-width: 0;
}
}
}
// Contextual variants
//
// Add modifier classes to change text and background color on individual items.
// Organizationally, this must come after the `:hover` states.
@each $color, $value in $theme-colors {
@include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));
}

View file

@ -0,0 +1,332 @@
// Contents
//
// Navbar
// Navbar brand
// Navbar nav
// Navbar text
// Navbar divider
// Responsive navbar
// Navbar position
// Navbar themes
// Navbar
//
// Provide a static navbar from which we expand to create full-width, fixed, and
// other navbar variations.
.navbar {
position: relative;
display: flex;
flex-wrap: wrap; // allow us to do the line break for collapsing content
align-items: center;
justify-content: space-between; // space out brand from logo
padding: $navbar-padding-y $navbar-padding-x;
// Because flex properties aren't inherited, we need to redeclare these first
// few properties so that content nested within behave properly.
%container-flex-properties {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
}
.container,
.container-fluid {
@extend %container-flex-properties;
}
@each $breakpoint, $container-max-width in $container-max-widths {
> .container#{breakpoint-infix($breakpoint, $container-max-widths)} {
@extend %container-flex-properties;
}
}
}
// Navbar brand
//
// Used for brand, project, or site names.
// .navbar-brand {
// display: inline-block;
// padding-top: $navbar-brand-padding-y;
// padding-bottom: $navbar-brand-padding-y;
// margin-right: $navbar-padding-x;
// @include font-size($navbar-brand-font-size);
// line-height: inherit;
// white-space: nowrap;
// @include hover-focus() {
// text-decoration: none;
// }
// }
// Navbar nav
//
// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).
// .navbar-nav {
// display: flex;
// flex-direction: column; // cannot use `inherit` to get the `.navbar`s value
// padding-left: 0;
// margin-bottom: 0;
// list-style: none;
// .nav-link {
// padding-right: 0;
// padding-left: 0;
// }
// .dropdown-menu {
// position: static;
// float: none;
// }
// }
// Navbar text
//
//
// .navbar-text {
// display: inline-block;
// padding-top: $nav-link-padding-y;
// padding-bottom: $nav-link-padding-y;
// }
// Responsive navbar
//
// Custom styles for responsive collapsing and toggling of navbar contents.
// Powered by the collapse Bootstrap JavaScript plugin.
// When collapsed, prevent the toggleable navbar contents from appearing in
// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`
// on the `.navbar` parent.
// .navbar-collapse {
// flex-basis: 100%;
// flex-grow: 1;
// // For always expanded or extra full navbars, ensure content aligns itself
// // properly vertically. Can be easily overridden with flex utilities.
// align-items: center;
// }
// Button for toggling the navbar when in its collapsed state
// .navbar-toggler {
// padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;
// @include font-size($navbar-toggler-font-size);
// line-height: 1;
// background-color: transparent; // remove default button style
// border: $border-width solid transparent; // remove default button style
// @include border-radius($navbar-toggler-border-radius);
// @include hover-focus() {
// text-decoration: none;
// }
// }
// Keep as a separate element so folks can easily override it with another icon
// or image file as needed.
// .navbar-toggler-icon {
// display: inline-block;
// width: 1.5em;
// height: 1.5em;
// vertical-align: middle;
// content: "";
// background: 50% / 100% 100% no-repeat;
// }
// .navbar-nav-scroll {
// max-height: $navbar-nav-scroll-max-height;
// overflow-y: auto;
// }
// Generate series of `.navbar-expand-*` responsive classes for configuring
// where your navbar collapses.
// .navbar-expand {
// @each $breakpoint in map-keys($grid-breakpoints) {
// $next: breakpoint-next($breakpoint, $grid-breakpoints);
// $infix: breakpoint-infix($next, $grid-breakpoints);
// &#{$infix} {
// @include media-breakpoint-down($breakpoint) {
// %container-navbar-expand-#{$breakpoint} {
// padding-right: 0;
// padding-left: 0;
// }
// > .container,
// > .container-fluid {
// @extend %container-navbar-expand-#{$breakpoint};
// }
// @each $size, $container-max-width in $container-max-widths {
// > .container#{breakpoint-infix($size, $container-max-widths)} {
// @extend %container-navbar-expand-#{$breakpoint};
// }
// }
// }
// @include media-breakpoint-up($next) {
// flex-flow: row nowrap;
// justify-content: flex-start;
// .navbar-nav {
// flex-direction: row;
// .dropdown-menu {
// position: absolute;
// }
// .nav-link {
// padding-right: $navbar-nav-link-padding-x;
// padding-left: $navbar-nav-link-padding-x;
// }
// }
// // For nesting containers, have to redeclare for alignment purposes
// %container-nesting-#{$breakpoint} {
// flex-wrap: nowrap;
// }
// > .container,
// > .container-fluid {
// @extend %container-nesting-#{$breakpoint};
// }
// @each $size, $container-max-width in $container-max-widths {
// > .container#{breakpoint-infix($size, $container-max-widths)} {
// @extend %container-nesting-#{$breakpoint};
// }
// }
// .navbar-nav-scroll {
// overflow: visible;
// }
// .navbar-collapse {
// display: flex !important; // stylelint-disable-line declaration-no-important
// // Changes flex-bases to auto because of an IE10 bug
// flex-basis: auto;
// }
// .navbar-toggler {
// display: none;
// }
// }
// }
// }
// }
// Navbar themes
//
// Styles for switching between navbars with light or dark background.
// Dark links against a light background
// .navbar-light {
// .navbar-brand {
// color: $navbar-light-brand-color;
// @include hover-focus() {
// color: $navbar-light-brand-hover-color;
// }
// }
// .navbar-nav {
// .nav-link {
// color: $navbar-light-color;
// @include hover-focus() {
// color: $navbar-light-hover-color;
// }
// &.disabled {
// color: $navbar-light-disabled-color;
// }
// }
// .show > .nav-link,
// .active > .nav-link,
// .nav-link.show,
// .nav-link.active {
// color: $navbar-light-active-color;
// }
// }
// .navbar-toggler {
// color: $navbar-light-color;
// border-color: $navbar-light-toggler-border-color;
// }
// .navbar-toggler-icon {
// background-image: escape-svg($navbar-light-toggler-icon-bg);
// }
// .navbar-text {
// color: $navbar-light-color;
// a {
// color: $navbar-light-active-color;
// @include hover-focus() {
// color: $navbar-light-active-color;
// }
// }
// }
// }
// // White links against a dark background
// .navbar-dark {
// .navbar-brand {
// color: $navbar-dark-brand-color;
// @include hover-focus() {
// color: $navbar-dark-brand-hover-color;
// }
// }
// .navbar-nav {
// .nav-link {
// color: $navbar-dark-color;
// @include hover-focus() {
// color: $navbar-dark-hover-color;
// }
// &.disabled {
// color: $navbar-dark-disabled-color;
// }
// }
// .show > .nav-link,
// .active > .nav-link,
// .nav-link.show,
// .nav-link.active {
// color: $navbar-dark-active-color;
// }
// }
// .navbar-toggler {
// color: $navbar-dark-color;
// border-color: $navbar-dark-toggler-border-color;
// }
// .navbar-toggler-icon {
// background-image: escape-svg($navbar-dark-toggler-icon-bg);
// }
// .navbar-text {
// color: $navbar-dark-color;
// a {
// color: $navbar-dark-active-color;
// @include hover-focus() {
// color: $navbar-dark-active-color;
// }
// }
// }
// }

View file

@ -52,6 +52,13 @@ body {
color: $body-color;
text-align: left; // 3
background-color: $body-bg; // 2
-webkit-text-size-adjust: 100%;
-webkit-font-feature-settings: 'kern' 1;
-moz-font-feature-settings: 'kern' 1;
-o-font-feature-settings: 'kern' 1;
font-feature-settings: 'kern' 1;
font-kerning: normal;
}
// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline
@ -411,17 +418,17 @@ fieldset {
// 1. Correct the text wrapping in Edge and IE.
// 2. Correct the color inheritance from `fieldset` elements in IE.
legend {
display: block;
width: 100%;
max-width: 100%; // 1
padding: 0;
margin-bottom: .5rem;
@include font-size(1.5rem);
line-height: inherit;
color: inherit; // 2
white-space: normal; // 1
}
// legend {
// display: block;
// width: 100%;
// max-width: 100%; // 1
// padding: 0;
// margin-bottom: .5rem;
// @include font-size(1.5rem);
// line-height: inherit;
// color: inherit; // 2
// white-space: normal; // 1
// }
progress {
vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.

View file

@ -0,0 +1,18 @@
@import "bootstrap-custom/utilities/align";
@import "bootstrap-custom/utilities/background";
@import "bootstrap-custom/utilities/borders";
@import "bootstrap-custom/utilities/clearfix";
@import "bootstrap-custom/utilities/display";
@import "bootstrap-custom/utilities/embed";
@import "bootstrap-custom/utilities/flex";
@import "bootstrap-custom/utilities/float";
@import "bootstrap-custom/utilities/interactions";
@import "bootstrap-custom/utilities/overflow";
@import "bootstrap-custom/utilities/position";
@import "bootstrap-custom/utilities/screenreaders";
@import "bootstrap-custom/utilities/shadows";
@import "bootstrap-custom/utilities/sizing";
@import "bootstrap-custom/utilities/spacing";
@import "bootstrap-custom/utilities/stretched-link";
@import "bootstrap-custom/utilities/text";
@import "bootstrap-custom/utilities/visibility";

View file

@ -44,6 +44,11 @@ $green: #28a745 !default;
$teal: #20c997 !default;
$cyan: #17a2b8 !default;
$brand-color: #f39200;
$brand-color-hover: #f37700;
$brand-color-secondary: #009fe3;
$brand-color-secondary-hover: #007aae;
$colors: () !default;
$colors: map-merge(
(
@ -64,8 +69,8 @@ $colors: map-merge(
$colors
);
$primary: $blue !default;
$secondary: $gray-600 !default;
$primary: $brand-color !default;
$secondary: $brand-color-secondary !default;
$success: $green !default;
$info: $cyan !default;
$warning: $yellow !default;
@ -165,7 +170,7 @@ $sizes: map-merge(
//
// Settings for the `<body>` element.
$body-bg: $white !default;
$body-bg: #f1f1f1 !default;
$body-color: $gray-900 !default;
@ -244,7 +249,8 @@ $border-radius-sm: .2rem !default;
$rounded-pill: 50rem !default;
$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;
$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;
//$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;
$box-shadow: -0.1rem 0.2rem 0 rgba(0, 0, 0, 0.05) !default;
$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;
$component-active-color: $white !default;
@ -319,8 +325,14 @@ $display-line-height: $headings-line-height !default;
$lead-font-size: $font-size-base * 1.25 !default;
$lead-font-weight: 300 !default;
$small-font-size: 80% !default;
$base-font-family: 'Raleway', sans-serif, Baskerville, 'Book Antiqua', Georgia, Times, serif;
$base-font-size: 17px;
$base-font-weight: 400;
$base-line-height: 2;
$small-font-size: $base-font-size * 0.875;
$text-color: #363431;
$text-muted: $gray-600 !default;
$blockquote-small-color: $gray-600 !default;
@ -337,7 +349,7 @@ $dt-font-weight: $font-weight-bold !default;
$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;
$nested-kbd-font-weight: $font-weight-bold !default;
$list-inline-padding: .5rem !default;
$list-inline-padding: .25rem !default;
$mark-bg: #fcf8e3 !default;
@ -446,7 +458,8 @@ $btn-border-radius: $border-radius !default;
$btn-border-radius-lg: $border-radius-lg !default;
$btn-border-radius-sm: $border-radius-sm !default;
$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
$btn-transition: box-shadow 0.3s ease-out, border-color 0.2s ease-out, color 0.3s ease-out;
// Forms
@ -519,163 +532,163 @@ $input-group-addon-color: $input-color !default;
$input-group-addon-bg: $gray-200 !default;
$input-group-addon-border-color: $input-border-color !default;
$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
// $custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
$custom-control-gutter: .5rem !default;
$custom-control-spacer-x: 1rem !default;
$custom-control-cursor: null !default;
// $custom-control-gutter: .5rem !default;
// $custom-control-spacer-x: 1rem !default;
// $custom-control-cursor: null !default;
$custom-control-indicator-size: 1rem !default;
$custom-control-indicator-bg: $input-bg !default;
// $custom-control-indicator-size: 1rem !default;
// $custom-control-indicator-bg: $input-bg !default;
$custom-control-indicator-bg-size: 50% 50% !default;
$custom-control-indicator-box-shadow: $input-box-shadow !default;
$custom-control-indicator-border-color: $gray-500 !default;
$custom-control-indicator-border-width: $input-border-width !default;
// $custom-control-indicator-bg-size: 50% 50% !default;
// $custom-control-indicator-box-shadow: $input-box-shadow !default;
// $custom-control-indicator-border-color: $gray-500 !default;
// $custom-control-indicator-border-width: $input-border-width !default;
$custom-control-label-color: null !default;
// $custom-control-label-color: null !default;
$custom-control-indicator-disabled-bg: $input-disabled-bg !default;
$custom-control-label-disabled-color: $gray-600 !default;
// $custom-control-indicator-disabled-bg: $input-disabled-bg !default;
// $custom-control-label-disabled-color: $gray-600 !default;
$custom-control-indicator-checked-color: $component-active-color !default;
$custom-control-indicator-checked-bg: $component-active-bg !default;
$custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default;
$custom-control-indicator-checked-box-shadow: null !default;
$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;
// $custom-control-indicator-checked-color: $component-active-color !default;
// $custom-control-indicator-checked-bg: $component-active-bg !default;
// $custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default;
// $custom-control-indicator-checked-box-shadow: null !default;
// $custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;
$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;
$custom-control-indicator-focus-border-color: $input-focus-border-color !default;
// $custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;
// $custom-control-indicator-focus-border-color: $input-focus-border-color !default;
$custom-control-indicator-active-color: $component-active-color !default;
$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;
$custom-control-indicator-active-box-shadow: null !default;
$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;
// $custom-control-indicator-active-color: $component-active-color !default;
// $custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;
// $custom-control-indicator-active-box-shadow: null !default;
// $custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;
$custom-checkbox-indicator-border-radius: $border-radius !default;
$custom-checkbox-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>") !default;
// $custom-checkbox-indicator-border-radius: $border-radius !default;
// $custom-checkbox-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>") !default;
$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;
$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;
$custom-checkbox-indicator-icon-indeterminate: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>") !default;
$custom-checkbox-indicator-indeterminate-box-shadow: null !default;
$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;
// $custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;
// $custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;
// $custom-checkbox-indicator-icon-indeterminate: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>") !default;
// $custom-checkbox-indicator-indeterminate-box-shadow: null !default;
// $custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;
$custom-radio-indicator-border-radius: 50% !default;
$custom-radio-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>") !default;
// $custom-radio-indicator-border-radius: 50% !default;
// $custom-radio-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>") !default;
$custom-switch-width: $custom-control-indicator-size * 1.75 !default;
$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;
$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;
// $custom-switch-width: $custom-control-indicator-size * 1.75 !default;
// $custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;
// $custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;
$custom-select-padding-y: $input-padding-y !default;
$custom-select-padding-x: $input-padding-x !default;
$custom-select-font-family: $input-font-family !default;
$custom-select-font-size: $input-font-size !default;
$custom-select-height: $input-height !default;
$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator
$custom-select-font-weight: $input-font-weight !default;
$custom-select-line-height: $input-line-height !default;
$custom-select-color: $input-color !default;
$custom-select-disabled-color: $gray-600 !default;
$custom-select-bg: $input-bg !default;
$custom-select-disabled-bg: $gray-200 !default;
$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
$custom-select-indicator-color: $gray-800 !default;
$custom-select-indicator: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>") !default;
$custom-select-background: escape-svg($custom-select-indicator) right $custom-select-padding-x center / $custom-select-bg-size no-repeat !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)
// $custom-select-padding-y: $input-padding-y !default;
// $custom-select-padding-x: $input-padding-x !default;
// $custom-select-font-family: $input-font-family !default;
// $custom-select-font-size: $input-font-size !default;
// $custom-select-height: $input-height !default;
// $custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator
// $custom-select-font-weight: $input-font-weight !default;
// $custom-select-line-height: $input-line-height !default;
// $custom-select-color: $input-color !default;
// $custom-select-disabled-color: $gray-600 !default;
// $custom-select-bg: $input-bg !default;
// $custom-select-disabled-bg: $gray-200 !default;
// $custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
// $custom-select-indicator-color: $gray-800 !default;
// $custom-select-indicator: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>") !default;
// $custom-select-background: escape-svg($custom-select-indicator) right $custom-select-padding-x center / $custom-select-bg-size no-repeat !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)
$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;
$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;
$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;
// $custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;
// $custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;
// $custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;
$custom-select-border-width: $input-border-width !default;
$custom-select-border-color: $input-border-color !default;
$custom-select-border-radius: $border-radius !default;
$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;
// $custom-select-border-width: $input-border-width !default;
// $custom-select-border-color: $input-border-color !default;
// $custom-select-border-radius: $border-radius !default;
// $custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;
$custom-select-focus-border-color: $input-focus-border-color !default;
$custom-select-focus-width: $input-focus-width !default;
$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;
// $custom-select-focus-border-color: $input-focus-border-color !default;
// $custom-select-focus-width: $input-focus-width !default;
// $custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;
$custom-select-padding-y-sm: $input-padding-y-sm !default;
$custom-select-padding-x-sm: $input-padding-x-sm !default;
$custom-select-font-size-sm: $input-font-size-sm !default;
$custom-select-height-sm: $input-height-sm !default;
// $custom-select-padding-y-sm: $input-padding-y-sm !default;
// $custom-select-padding-x-sm: $input-padding-x-sm !default;
// $custom-select-font-size-sm: $input-font-size-sm !default;
// $custom-select-height-sm: $input-height-sm !default;
$custom-select-padding-y-lg: $input-padding-y-lg !default;
$custom-select-padding-x-lg: $input-padding-x-lg !default;
$custom-select-font-size-lg: $input-font-size-lg !default;
$custom-select-height-lg: $input-height-lg !default;
// $custom-select-padding-y-lg: $input-padding-y-lg !default;
// $custom-select-padding-x-lg: $input-padding-x-lg !default;
// $custom-select-font-size-lg: $input-font-size-lg !default;
// $custom-select-height-lg: $input-height-lg !default;
$custom-range-track-width: 100% !default;
$custom-range-track-height: .5rem !default;
$custom-range-track-cursor: pointer !default;
$custom-range-track-bg: $gray-300 !default;
$custom-range-track-border-radius: 1rem !default;
$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;
// $custom-range-track-width: 100% !default;
// $custom-range-track-height: .5rem !default;
// $custom-range-track-cursor: pointer !default;
// $custom-range-track-bg: $gray-300 !default;
// $custom-range-track-border-radius: 1rem !default;
// $custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;
$custom-range-thumb-width: 1rem !default;
$custom-range-thumb-height: $custom-range-thumb-width !default;
$custom-range-thumb-bg: $component-active-bg !default;
$custom-range-thumb-border: 0 !default;
$custom-range-thumb-border-radius: 1rem !default;
$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;
$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;
$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge
$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;
$custom-range-thumb-disabled-bg: $gray-500 !default;
// $custom-range-thumb-width: 1rem !default;
// $custom-range-thumb-height: $custom-range-thumb-width !default;
// $custom-range-thumb-bg: $component-active-bg !default;
// $custom-range-thumb-border: 0 !default;
// $custom-range-thumb-border-radius: 1rem !default;
// $custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;
// $custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;
// $custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge
// $custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;
// $custom-range-thumb-disabled-bg: $gray-500 !default;
$custom-file-height: $input-height !default;
$custom-file-height-inner: $input-height-inner !default;
$custom-file-focus-border-color: $input-focus-border-color !default;
$custom-file-focus-box-shadow: $input-focus-box-shadow !default;
$custom-file-disabled-bg: $input-disabled-bg !default;
// $custom-file-height: $input-height !default;
// $custom-file-height-inner: $input-height-inner !default;
// $custom-file-focus-border-color: $input-focus-border-color !default;
// $custom-file-focus-box-shadow: $input-focus-box-shadow !default;
// $custom-file-disabled-bg: $input-disabled-bg !default;
$custom-file-padding-y: $input-padding-y !default;
$custom-file-padding-x: $input-padding-x !default;
$custom-file-line-height: $input-line-height !default;
$custom-file-font-family: $input-font-family !default;
$custom-file-font-weight: $input-font-weight !default;
$custom-file-color: $input-color !default;
$custom-file-bg: $input-bg !default;
$custom-file-border-width: $input-border-width !default;
$custom-file-border-color: $input-border-color !default;
$custom-file-border-radius: $input-border-radius !default;
$custom-file-box-shadow: $input-box-shadow !default;
$custom-file-button-color: $custom-file-color !default;
$custom-file-button-bg: $input-group-addon-bg !default;
$custom-file-text: (
en: "Browse"
) !default;
// $custom-file-padding-y: $input-padding-y !default;
// $custom-file-padding-x: $input-padding-x !default;
// $custom-file-line-height: $input-line-height !default;
// $custom-file-font-family: $input-font-family !default;
// $custom-file-font-weight: $input-font-weight !default;
// $custom-file-color: $input-color !default;
// $custom-file-bg: $input-bg !default;
// $custom-file-border-width: $input-border-width !default;
// $custom-file-border-color: $input-border-color !default;
// $custom-file-border-radius: $input-border-radius !default;
// $custom-file-box-shadow: $input-box-shadow !default;
// $custom-file-button-color: $custom-file-color !default;
// $custom-file-button-bg: $input-group-addon-bg !default;
// $custom-file-text: (
// en: "Browse"
// ) !default;
// Form validation
$form-feedback-margin-top: $form-text-margin-top !default;
$form-feedback-font-size: $small-font-size !default;
$form-feedback-valid-color: theme-color("success") !default;
$form-feedback-invalid-color: theme-color("danger") !default;
// $form-feedback-margin-top: $form-text-margin-top !default;
// $form-feedback-font-size: $small-font-size !default;
// $form-feedback-valid-color: theme-color("success") !default;
// $form-feedback-invalid-color: theme-color("danger") !default;
$form-feedback-icon-valid-color: $form-feedback-valid-color !default;
$form-feedback-icon-valid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>") !default;
$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;
$form-feedback-icon-invalid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>") !default;
// $form-feedback-icon-valid-color: $form-feedback-valid-color !default;
// $form-feedback-icon-valid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>") !default;
// $form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;
// $form-feedback-icon-invalid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>") !default;
$form-validation-states: () !default;
$form-validation-states: map-merge(
(
"valid": (
"color": $form-feedback-valid-color,
"icon": $form-feedback-icon-valid
),
"invalid": (
"color": $form-feedback-invalid-color,
"icon": $form-feedback-icon-invalid
),
),
$form-validation-states
);
// $form-validation-states: () !default;
// $form-validation-states: map-merge(
// (
// "valid": (
// "color": $form-feedback-valid-color,
// "icon": $form-feedback-icon-valid
// ),
// "invalid": (
// "color": $form-feedback-invalid-color,
// "icon": $form-feedback-icon-invalid
// ),
// ),
// $form-validation-states
// );
// Z-index master list
//
@ -847,7 +860,7 @@ $card-img-overlay-padding: 1.25rem !default;
$card-group-margin: $grid-gutter-width / 2 !default;
$card-deck-margin: $card-group-margin !default;
$card-columns-count: 3 !default;
$card-columns-count: 2 !default;
$card-columns-gap: 1.25rem !default;
$card-columns-margin: $card-spacer-y !default;
@ -906,37 +919,37 @@ $popover-arrow-outer-color: fade-in($popover-border-color, .05) !default
// Toasts
$toast-max-width: 350px !default;
$toast-padding-x: .75rem !default;
$toast-padding-y: .25rem !default;
$toast-font-size: .875rem !default;
$toast-color: null !default;
$toast-background-color: rgba($white, .85) !default;
$toast-border-width: 1px !default;
$toast-border-color: rgba(0, 0, 0, .1) !default;
$toast-border-radius: .25rem !default;
$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;
// $toast-max-width: 350px !default;
// $toast-padding-x: .75rem !default;
// $toast-padding-y: .25rem !default;
// $toast-font-size: .875rem !default;
// $toast-color: null !default;
// $toast-background-color: rgba($white, .85) !default;
// $toast-border-width: 1px !default;
// $toast-border-color: rgba(0, 0, 0, .1) !default;
// $toast-border-radius: .25rem !default;
// $toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;
$toast-header-color: $gray-600 !default;
$toast-header-background-color: rgba($white, .85) !default;
$toast-header-border-color: rgba(0, 0, 0, .05) !default;
// $toast-header-color: $gray-600 !default;
// $toast-header-background-color: rgba($white, .85) !default;
// $toast-header-border-color: rgba(0, 0, 0, .05) !default;
// Badges
$badge-font-size: 75% !default;
$badge-font-weight: $font-weight-bold !default;
$badge-padding-y: .25em !default;
$badge-padding-x: .4em !default;
$badge-border-radius: $border-radius !default;
// $badge-font-size: 75% !default;
// $badge-font-weight: $font-weight-bold !default;
// $badge-padding-y: .25em !default;
// $badge-padding-x: .4em !default;
// $badge-border-radius: $border-radius !default;
$badge-transition: $btn-transition !default;
$badge-focus-width: $input-btn-focus-width !default;
// $badge-transition: $btn-transition !default;
// $badge-focus-width: $input-btn-focus-width !default;
$badge-pill-padding-x: .6em !default;
// Use a higher than normal value to ensure completely rounded edges when
// customizing padding or font-size on labels.
$badge-pill-border-radius: 10rem !default;
// $badge-pill-padding-x: .6em !default;
// // Use a higher than normal value to ensure completely rounded edges when
// // customizing padding or font-size on labels.
// $badge-pill-border-radius: 10rem !default;
// Modals

View file

@ -0,0 +1,8 @@
// stylelint-disable declaration-no-important
// .align-baseline { vertical-align: baseline !important; } // Browser default
// .align-top { vertical-align: top !important; }
// .align-middle { vertical-align: middle !important; }
// .align-bottom { vertical-align: bottom !important; }
// .align-text-bottom { vertical-align: text-bottom !important; }
// .align-text-top { vertical-align: text-top !important; }

View file

@ -0,0 +1,19 @@
// stylelint-disable declaration-no-important
// @each $color, $value in $theme-colors {
// @include bg-variant(".bg-#{$color}", $value, true);
// }
// @if $enable-gradients {
// @each $color, $value in $theme-colors {
// @include bg-gradient-variant(".bg-gradient-#{$color}", $value, true);
// }
// }
.bg-white {
background-color: $white !important;
}
.bg-transparent {
background-color: transparent !important;
}

View file

@ -30,46 +30,46 @@
// Border-radius
//
.rounded-sm {
border-radius: $border-radius-sm !important;
}
// .rounded-sm {
// border-radius: $border-radius-sm !important;
// }
.rounded {
border-radius: $border-radius !important;
}
.rounded-top {
border-top-left-radius: $border-radius !important;
border-top-right-radius: $border-radius !important;
}
// .rounded-top {
// border-top-left-radius: $border-radius !important;
// border-top-right-radius: $border-radius !important;
// }
.rounded-right {
border-top-right-radius: $border-radius !important;
border-bottom-right-radius: $border-radius !important;
}
.rounded-bottom {
border-bottom-right-radius: $border-radius !important;
border-bottom-left-radius: $border-radius !important;
}
// .rounded-bottom {
// border-bottom-right-radius: $border-radius !important;
// border-bottom-left-radius: $border-radius !important;
// }
.rounded-left {
border-top-left-radius: $border-radius !important;
border-bottom-left-radius: $border-radius !important;
}
// .rounded-left {
// border-top-left-radius: $border-radius !important;
// border-bottom-left-radius: $border-radius !important;
// }
.rounded-lg {
border-radius: $border-radius-lg !important;
}
// .rounded-lg {
// border-radius: $border-radius-lg !important;
// }
.rounded-circle {
border-radius: 50% !important;
}
// .rounded-circle {
// border-radius: 50% !important;
// }
.rounded-pill {
border-radius: $rounded-pill !important;
}
// .rounded-pill {
// border-radius: $rounded-pill !important;
// }
.rounded-0 {
border-radius: 0 !important;
}
// .rounded-0 {
// border-radius: 0 !important;
// }

View file

@ -19,8 +19,8 @@
// Utilities for toggling `display` in print
//
@media print {
@each $value in $displays {
.d-print-#{$value} { display: $value !important; }
}
}
// @media print {
// @each $value in $displays {
// .d-print-#{$value} { display: $value !important; }
// }
// }

View file

@ -0,0 +1,39 @@
// Credit: Nicolas Gallagher and SUIT CSS.
// .embed-responsive {
// position: relative;
// display: block;
// width: 100%;
// padding: 0;
// overflow: hidden;
// &::before {
// display: block;
// content: "";
// }
// .embed-responsive-item,
// iframe,
// embed,
// object,
// video {
// position: absolute;
// top: 0;
// bottom: 0;
// left: 0;
// width: 100%;
// height: 100%;
// border: 0;
// }
// }
// @each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios {
// $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1);
// $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2);
// .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} {
// &::before {
// padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x);
// }
// }
// }

View file

@ -0,0 +1,51 @@
// stylelint-disable declaration-no-important
// Flex variation
//
// Custom styles for additional flex alignment options.
@each $breakpoint in map-keys($grid-breakpoints) {
@include media-breakpoint-up($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
.flex#{$infix}-row { flex-direction: row !important; }
.flex#{$infix}-column { flex-direction: column !important; }
// .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }
// .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }
.flex#{$infix}-wrap { flex-wrap: wrap !important; }
.flex#{$infix}-nowrap { flex-wrap: nowrap !important; }
.flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }
.flex#{$infix}-fill { flex: 1 1 auto !important; }
.flex#{$infix}-grow-0 { flex-grow: 0 !important; }
.flex#{$infix}-grow-1 { flex-grow: 1 !important; }
.flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }
.flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }
// .justify-content#{$infix}-start { justify-content: flex-start !important; }
// .justify-content#{$infix}-end { justify-content: flex-end !important; }
// .justify-content#{$infix}-center { justify-content: center !important; }
// .justify-content#{$infix}-between { justify-content: space-between !important; }
// .justify-content#{$infix}-around { justify-content: space-around !important; }
// .align-items#{$infix}-start { align-items: flex-start !important; }
// .align-items#{$infix}-end { align-items: flex-end !important; }
// .align-items#{$infix}-center { align-items: center !important; }
// .align-items#{$infix}-baseline { align-items: baseline !important; }
// .align-items#{$infix}-stretch { align-items: stretch !important; }
// .align-content#{$infix}-start { align-content: flex-start !important; }
// .align-content#{$infix}-end { align-content: flex-end !important; }
// .align-content#{$infix}-center { align-content: center !important; }
// .align-content#{$infix}-between { align-content: space-between !important; }
// .align-content#{$infix}-around { align-content: space-around !important; }
// .align-content#{$infix}-stretch { align-content: stretch !important; }
// .align-self#{$infix}-auto { align-self: auto !important; }
// .align-self#{$infix}-start { align-self: flex-start !important; }
// .align-self#{$infix}-end { align-self: flex-end !important; }
// .align-self#{$infix}-center { align-self: center !important; }
// .align-self#{$infix}-baseline { align-self: baseline !important; }
// .align-self#{$infix}-stretch { align-self: stretch !important; }
}
}

View file

@ -4,8 +4,8 @@
@include media-breakpoint-up($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
.float#{$infix}-left { float: left !important; }
// .float#{$infix}-left { float: left !important; }
.float#{$infix}-right { float: right !important; }
.float#{$infix}-none { float: none !important; }
// .float#{$infix}-none { float: none !important; }
}
}

View file

@ -0,0 +1,5 @@
// stylelint-disable declaration-no-important
// @each $value in $user-selects {
// .user-select-#{$value} { user-select: $value !important; }
// }

View file

@ -0,0 +1,5 @@
// stylelint-disable declaration-no-important
// @each $value in $overflows {
// .overflow-#{$value} { overflow: $value !important; }
// }

View file

@ -7,21 +7,21 @@
// Shorthand
.fixed-top {
position: fixed;
top: 0;
right: 0;
left: 0;
z-index: $zindex-fixed;
}
// .fixed-top {
// position: fixed;
// top: 0;
// right: 0;
// left: 0;
// z-index: $zindex-fixed;
// }
.fixed-bottom {
position: fixed;
right: 0;
bottom: 0;
left: 0;
z-index: $zindex-fixed;
}
// .fixed-bottom {
// position: fixed;
// right: 0;
// bottom: 0;
// left: 0;
// z-index: $zindex-fixed;
// }
.sticky-top {
@supports (position: sticky) {

View file

@ -0,0 +1,11 @@
//
// Screenreaders
//
// .sr-only {
// @include sr-only();
// }
// .sr-only-focusable {
// @include sr-only-focusable();
// }

View file

@ -0,0 +1,6 @@
// stylelint-disable declaration-no-important
// .shadow-sm { box-shadow: $box-shadow-sm !important; }
.shadow { box-shadow: $box-shadow !important; }
// .shadow-lg { box-shadow: $box-shadow-lg !important; }
// .shadow-none { box-shadow: none !important; }

View file

@ -8,13 +8,13 @@
}
}
.mw-100 { max-width: 100% !important; }
.mh-100 { max-height: 100% !important; }
// .mw-100 { max-width: 100% !important; }
// .mh-100 { max-height: 100% !important; }
// Viewport additional helpers
.min-vw-100 { min-width: 100vw !important; }
// .min-vw-100 { min-width: 100vw !important; }
.min-vh-100 { min-height: 100vh !important; }
.vw-100 { width: 100vw !important; }
.vh-100 { height: 100vh !important; }
// .vw-100 { width: 100vw !important; }
// .vh-100 { height: 100vh !important; }

View file

@ -0,0 +1,19 @@
//
// Stretched link
//
// .stretched-link {
// &::after {
// position: absolute;
// top: 0;
// right: 0;
// bottom: 0;
// left: 0;
// z-index: 1;
// // Just in case `pointer-events: none` is set on a parent
// pointer-events: auto;
// content: "";
// // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color
// background-color: rgba(0, 0, 0, 0);
// }
// }

View file

@ -0,0 +1,72 @@
// stylelint-disable declaration-no-important
//
// Text
//
// // .text-monospace { font-family: $font-family-monospace !important; }
// // Alignment
// .text-justify { text-align: justify !important; }
// .text-wrap { white-space: normal !important; }
// .text-nowrap { white-space: nowrap !important; }
// .text-truncate { @include text-truncate(); }
// Responsive alignment
@each $breakpoint in map-keys($grid-breakpoints) {
@include media-breakpoint-up($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
.text#{$infix}-left { text-align: left !important; }
.text#{$infix}-right { text-align: right !important; }
.text#{$infix}-center { text-align: center !important; }
}
}
// Transformation
// .text-lowercase { text-transform: lowercase !important; }
.text-uppercase { text-transform: uppercase !important; }
// .text-capitalize { text-transform: capitalize !important; }
// Weight and italics
// .font-weight-light { font-weight: $font-weight-light !important; }
// .font-weight-lighter { font-weight: $font-weight-lighter !important; }
// .font-weight-normal { font-weight: $font-weight-normal !important; }
.font-weight-bold { font-weight: $font-weight-bold !important; }
// .font-weight-bolder { font-weight: $font-weight-bolder !important; }
// .font-italic { font-style: italic !important; }
// Contextual colors
.text-white { color: $white !important; }
@each $color, $value in $theme-colors {
@include text-emphasis-variant(".text-#{$color}", $value, true);
}
// .text-body { color: $body-color !important; }
// .text-muted { color: $text-muted !important; }
// .text-black-50 { color: rgba($black, .5) !important; }
// .text-white-50 { color: rgba($white, .5) !important; }
// Misc
// .text-hide {
// @include text-hide($ignore-warning: true);
// }
.text-decoration-none { text-decoration: none !important; }
// .text-break {
// word-break: break-word !important; // Deprecated, but avoids issues with flex containers
// word-wrap: break-word !important; // Used instead of `overflow-wrap` for IE & Edge Legacy
// }
// Reset
// .text-reset { color: inherit !important; }

View file

@ -0,0 +1,13 @@
// stylelint-disable declaration-no-important
//
// Visibility utilities
//
// .visible {
// visibility: visible !important;
// }
// .invisible {
// visibility: hidden !important;
// }

View file

@ -1,7 +1,6 @@
@charset "utf-8";
@import 'font-awesome-sprockets';
@import 'font-awesome-custom';
@import 'fontello';
@import 'bootstrap-custom';
@import 'vendor/fonts';
@import 'vendor/animate';
@ -21,23 +20,10 @@ $font-name: libretto-icons;
}
// Our variables
$base-font-family: 'Raleway', sans-serif, Baskerville, 'Book Antiqua', Georgia, Times, serif;
$base-font-size: 17px;
$base-font-weight: 400;
$base-line-height: 2;
$small-font-size: $base-font-size * 0.875;
$spacing-unit: 30px;
$brand-color: #f39200;
$brand-color-hover: #f37700;
$brand-color-secondary: #009fe3;
$brand-color-secondary-hover: #007aae;
$background-color: #f1f1f1;
$text-color: #363431;
$title-color: #009fe3;
$success-color: #28a745;
$success-color: $green;
$success-color-hover: #218838;
$grey-color: #a09a92;
@ -45,12 +31,12 @@ $grey-color-light: lighten($grey-color, 30%);
$grey-color-dark: darken($grey-color, 25%);
// Width of the content area
$content-width: 800px;
// $content-width: 800px;
$on-palm: 600px;
$on-laptop: 800px;
$shadow: -0.1rem 0.2rem 0 rgba(0, 0, 0, 0.05);
//$shadow: -0.1rem 0.2rem 0 rgba(0, 0, 0, 0.05);
@mixin media-query($device) {
@media screen and (max-width: $device) {
@ -59,4 +45,4 @@ $shadow: -0.1rem 0.2rem 0 rgba(0, 0, 0, 0.05);
}
// Import partials from `sass_dir` (defaults to `_sass`)
@import 'base', 'layout', 'sidebar', 'syntax-highlighting';
@import 'base', 'layout', 'sidebar';//, 'syntax-highlighting';

View file

@ -21,7 +21,7 @@ markdown: kramdown
collections:
pages:
output: true
permalink: /:path/
permalink: /:path
languages: ["it"]
exclude_from_localizations: ["javascript", "images", "css"]
@ -34,7 +34,7 @@ assets:
gzip: true
compress:
css: sass
js: uglifier
js: uglifier
digest: true
sources:
- _assets/images

View file

@ -15,6 +15,10 @@ meta:
libreboot: "Libreboot - Il BIOS libero"
peertube: "Partners - Peertube Italia"
news: "News"
privacy_policy: "Informativa privacy"
tags:
bot: "Tag: #bot"
descriptions:
index: "Sviluppiamo software e facciamo consulenza IT. Etica, concretezza ed avanguardia ci contraddistinguono"
@ -31,6 +35,10 @@ meta:
libreboot: "Il software libero e l'importanza di un BIOS libero. Tutto di un fiato."
peertube: "Una piattaforma libera, che supportiamo, per la diffusione di contenuti video"
news: "Le notizie che apprezziamo relative al software libero e allo sviluppo del software in generale"
privacy_policy: "La nostra informativa privacy secondo Regolamento Europeo 2016/679"
tags:
bot: "Le pagine relative al tag #bot"
buttons:
go_to_radio: "Vai alla Radio"
@ -98,7 +106,7 @@ software_technologies:
which_technologies: "Quali tecnologie usiamo?"
which_technologies_text: "Certi di garantire professionalità e qualità, non ci siamo limitati a scegliere tecnologie qualunque, ma specificamente quelle che rispettano in primis i nostri principi etici:"
licenses: "Le licenze"
licenses_text: "Proteggere la proprietà intellettuale è importante tanto quanto essere in linea con i propri principi. Per questo motivo noi sviluppiamo anche software rilasciato con licenza <a rel='nofollow' target='_blank' href='https://www.gnu.org/licenses/quick-guide-gplv3.html'> <i class='fas fa-external-link-alt fa-sm'></i> GPLv3</a> compatibile. <br> Riteniamo che contribuire alla conoscenza e rendere disponibile il sorgente sia un beneficio maggiore, contrariamente a quanto si può pensare comunemente, della segretezza/ riservatezza che si potrebbe ottenere non rilasciandolo. <br> Inoltre l'apprezzamento, il supporto da utenti appassionati e la trasparenza del prodotto potrebbero superare le aspettative iniziali."
licenses_text: "Proteggere la proprietà intellettuale è importante tanto quanto essere in linea con i propri principi. Per questo motivo noi sviluppiamo anche software rilasciato con licenza <a rel='nofollow' target='_blank' href='https://www.gnu.org/licenses/quick-guide-gplv3.html'> <i class='fas fa-link-ext fa-sm'></i> GPLv3</a> compatibile. <br> Riteniamo che contribuire alla conoscenza e rendere disponibile il sorgente sia un beneficio maggiore, contrariamente a quanto si può pensare comunemente, della segretezza/ riservatezza che si potrebbe ottenere non rilasciandolo. <br> Inoltre l'apprezzamento, il supporto da utenti appassionati e la trasparenza del prodotto potrebbero superare le aspettative iniziali."
workflow_title: "Il processo di sviluppo"
workflow_text: "Riassumiamo brevemente quelli che sono i principali passaggi che ci permettono di gestire l intero processo di sviluppo."
@ -220,10 +228,10 @@ libreboot:
title_2: "La soluzione"
p_2: "
<a rel=\"nofollow\" target=\"_blank\" href=\"https://github.com/corna/me_cleaner\">
<i class=\"fas fa-external-link-alt fa-sm\">me_cleaner</i>
<i class=\"fas fa-link-ext fa-sm\">me_cleaner</i>
</a> è il tool, realizzato inizialmente da Nicola Corna, che permette appunto di disabilitare in parte o totalmente la backdoor.<br> Ulteriormente noi suggeriamo di sostituire il BIOS OEM con <a target=\"_blank\" href=\"https://libreboot.org/\" rel=\"nofollow\">
<i class=\"fas fa-external-link-alt fa-sm\">Libreboot</i>
</a>, il BIOS libero, basato su <a target=\"_blank\" href=\"https://www.coreboot.org/\" rel=\"nofollow\"><i class=\"fas fa-external-link-alt fa-sm\">Coreboot</i></a>.<br>
<i class=\"fas fa-link-ext fa-sm\">Libreboot</i>
</a>, il BIOS libero, basato su <a target=\"_blank\" href=\"https://www.coreboot.org/\" rel=\"nofollow\"><i class=\"fas fa-link-ext fa-sm\">Coreboot</i></a>.<br>
<br>Il tool di rimozione non è completamente ultimato sulle CPU più moderne, essendo cambiata la struttura delle stesse. Il nostro suggerimento è quello di contattarci per aiutarvi su come intervenire.<br>
<br>
<small>Attuali aziende e rivenditori che iniziano a supportare Libreboot/Coreboot nativamente o offrono servizi di installazione sono Purism, System76, Ministry Of Freedom e Dell.</small>
@ -294,6 +302,7 @@ staff:
instagram_url: "https://www.instagram.com/cmaradonna/"
github_url: "https://github.com/FiloSpaTeam"
gitlab_url: "https://gitlab.com/claudiomaradonna"
gitea_url: "https://gitea.it/claudiomaradonna"
fabio_purple:
text: "Un salentino con un PhD in computer science & engineering, ma soprattutto appassionato/ fanatico/ malato di software libero, musica, fotografia e chi più ne ha più ne metta..."
instagram_url: "https://www.instagram.com/desmovalvo/"
@ -311,5 +320,84 @@ staff:
text: "Fondatore di Grafixprint, un'azienda che si occupa di stampa digitale, web design e artworks. Un professionista come pochi... e simpaticissimo!"
website_url: "https://www.grafixprint.it"
privacy_policy:
title: "Informativa e consenso al trattamento dei dati personali"
subtitle: "Regolamento UE 2016/679 del Parlamento Europeo e del Consiglio del 27 Aprile 2016"
strong_1: "PERCHÉ QUESTE INFORMAZIONI"
text_1: "Questa pagina descrive le modalità di trattamento dei dati personali degli utenti che consultano il sito web poiché a seguito della consultazione del sito possono essere trattati dati relativi a persone fisiche identificate o identificabili. Prima di comunicare qualsiasi dato personale, Unitoo, la invita a leggere con attenzione la presente “Privacy Policy”, poiché contiene informazioni importanti sulla tutela dei dati personali e sulle misure di sicurezza adottate per garantirne la riservatezza nel pieno rispetto della Normativa Applicabile."
text_2: "La presente Privacy Policy non si applica ad altri siti web eventualmente raggiungibili tramite link ipertestuali pubblicati sul Sito e si conforma alla Raccomandazione n. 2/2001 relativa ai requisiti minimi per la raccolta di dati on-line nellUnione Europea, adottata il 17 maggio 2001 dal Gruppo di Lavoro Articolo 29."
text_3: "Ai sensi dell'articolo 13 del Regolamento (UE) 2016/679 (“GDPR General Data Protection Regulation”) di seguito \"Regolamento\", il trattamento delle informazioni personali che La riguardano, dei quali entreremo in possesso, sarà improntato ai principi di correttezza, liceità, limitazione delle finalità e della conservazione, minimizzazione dei dati, esattezza, integrità e trasparenza e di tutela della Sua riservatezza e dei Suoi diritti."
text_4: "Pertanto La informiamo di quanto segue:"
pp_1_title: "IDENTITÀ E DATI DI CONTATTO DEL TITOLARE DEL TRATTAMENTO /RPD (RESPONSABILE PROTEZIONE DATI)"
pp_1_text: "Il titolare dei dati è Unitoo di Maradonna Claudio Via Circonvallazione Sud 28/A, Monteprandone (AP), 63076 - P.IVA: 02324570445 - Email: claudio@unitoo.pw- Tel: +393936320924"
pp_2_title: "FINALITÀ DEL TRATTAMENTO E TIPI DI DATI TRATTATI"
pp_2_text: "
I Dati Personali raccolti dal Sito sono i seguenti:
<br><br>
<strong>Dati di navigazione</strong>
<div>
I sistemi informatici e le procedure software preposte al funzionamento di questo sito acquisiscono, nel corso del loro normale esercizio, alcuni dati personali la cui trasmissione è implicita nell'uso dei protocolli di comunicazione di Internet.
In questa categoria di dati rientrano gli indirizzi IP o i nomi a dominio dei computer e dei terminali utilizzati dagli utenti, gli indirizzi in notazione URI/URL (Uniform Resource Identifier/Locator) delle risorse richieste, l'orario della richiesta, il metodo utilizzato nel sottoporre la richiesta al server, la dimensione del file ottenuto in risposta, il codice numerico indicante lo stato della risposta data dal server (buon fine, errore, ecc.) ed altri parametri relativi al sistema operativo e all'ambiente informatico dell'utente.
Tali dati, necessari per la fruizione dei servizi web, vengono anche trattati allo scopo di:
<ul>
<li>ricerche/ analisi statistiche su dati aggregati o anonimi, senza dunque possibilità di identificare lutente, volti a misurare il corretto funzionamento del Sito, misurare il traffico e valutare usabilità e interesse;</li>
</ul>
I dati di navigazione non persistono per più di sette giorni (salve eventuali necessità di accertamento di reati da parte dell'Autorità giudiziaria).
</div>
<br>
<strong>Dati comunicati dall'utente</strong>
<div>
L'invio facoltativo, esplicito e volontario di messaggi agli indirizzi di contatto del Titolare, i messaggi privati inviati dagli utenti ai profili/ pagine istituzionali sui social media (laddove questa possibilità sia prevista), nonché la compilazione e l'inoltro dei dati richiesti attraverso il modulo “Contatti”presenti sul sito, comportano l'acquisizione dei dati di contatto del mittente, necessari a rispondere, nonché di tutti i dati personali inclusi nelle comunicazioni. Il Titolare tratterà questi dati nel rispetto del Regolamento, assumendo che siano riferiti a Lei o a terzi soggetti che
lhanno espressamente autorizzata a conferirli in base ad unidonea base giuridica che legittima il trattamento dei dati in questione.
</div>
<br>
<strong>Cookie e altri sistemi di tracciamento</strong>
<div>
Non viene fatto uso di cookie per la profilazione degli utenti, né vengono impiegati altri metodi di tracciamento.
Viene invece fatto uso di cookie di sessione (non persistenti) in modo strettamente limitato a quanto necessario per la navigazione sicura ed efficiente dei siti. La memorizzazione dei cookie di sessione nei terminali o nei browser è sotto il controllo dell'utente, laddove sui server, al termine delle sessioni HTTP, informazioni relative ai cookie restano registrate nei log dei servizi, con tempi di conservazione comunque non superiori ai sette giorni al pari degli altri dati di navigazione.
Maggiori informazioni sulluso dei cookie e tecnologie affini sono disponibili https://www.garanteprivacy.it/cookie.
Oltre a quanto riportato nel punto 2, il trattamento dei dati da Lei forniti può essere finalizzato agli scopi di seguito specificati:
<ul>
<li>adempiere agli obblighi precontrattuali, contrattuali derivanti da rapporti con Lei in essere;</li>
<li>gestione amministrativa e contabile del rapporto obbligatoria per legge.</li>
</ul>
A tal proposito specifiche informative verranno pubblicate nelle pagine del sito predisposte per l'erogazione di determinati servizi.
</div>
"
pp_3_title: "DESTINATARI O CATEGORIE DI DESTINATARI DEI DATI"
pp_3_text: "
I dati trattati per le finalità di cui al punto 2 potranno essere comunicati a personale interno o esterno allazienda, persone giuridiche coinvolte nel processo di completamento di servizi richiesti dallinteressato, tra cui a titolo esemplificativo addetti allinvio di email e allanalisi del funzionamento del Sito, che agiscono sulla base di specifiche istruzioni fornite in ordine a finalità e modalità del trattamento medesimo.
Lelenco è disponibile presso la sede del Titolare su richiesta dellinteressato.
I Dati Personali trattati non sono trasferiti a Destinatari che si trovano al di fuori dello Spazio Economico Europeo."
pp_4_title: "PERIODO DI CONSERVAZIONE DEI DATI PERSONALI"
pp_4_text: "
Il periodo di conservazione dei dati personali inizia dal momento del conferimento degli stessi da parte dellinteressato e termina con lesercizio del diritto di cancellazione dei dati da parte dellinteressato mediante raccomandata A/R all'indirizzo Via Circonvallazione Sud 28/A, Monteprandone (AP), 63076 oppure comunicazione a mezzo pec: unitoo@pec.it"
pp_5_title: "NATURA FACOLTATIVA DEL CONFERIMENTO DATI E CONSEGUENZE DI EVENTUALE RIFIUTO"
pp_5_text: "
Il conferimento dei dati necessari all'espletamento della richiesta di contatto e/o informazioni, è facoltativo. Tuttavia, in caso di mancato conferimento dei dati richiesti linteressato non potrà ricevere le informazioni e il supporto richiesto."
pp_6_title: "BASE GIURIDICA DEL TRATTAMENTO"
pp_6_text: "
Ai sensi dellart.6 del GDPR 679/2016 il trattamento dei dati per le finalità elencate al punto 2 di questo documento, trova base giuridica sul consenso esplicito dellinteressato (art.6 lettera a); nellesecuzione di un contratto di cui linteressato è parte (art.6 lettera b) e nel legittimo interesse del titolare (art.6 lettera f) basato sulla relazione pertinente tra interessato e titolare del trattamento a condizione che non prevalgano i diritti e le libertà dellinteressato. I legittimi interessi del Titolare non prevalgono gli interessi, i diritti e le libertà dellinteressato."
pp_7_title: "DIRITTI DELLINTERESSATO"
pp_7_text: "
In ogni momento linteressato potrà esercitare i Suoi diritti nei confronti del titolare del trattamento, ai sensi degli artt.15, 16, 17, 18, 20, 21 del GDPR 679/2016. Nello specifico linteressato ha diritto:
<ul>
<li>di accesso ai dati personali facendone opportuna richiesta (art.15);</li>
<li>di ottenere la rettifica (art.16)</li>
<li>alla cancellazione degli stessi (oblio) (art.17);</li>
<li>alla limitazione del trattamento che lo riguarda (art.18);</li>
<li>alla portabilità dei dati (art.20);</li>
<li>di opporsi al trattamento (art.21);</li>
<li>di revocare il consenso senza pregiudicare la liceità del trattamento prestato prima della revoca, (art.13 par.2 let.C);
<li>di proporre reclamo ad una autorità di controllo (art.13 par.2 let.D).</li>
</ul>"
pp_8_title: "PROCESSO DECISIONALE AUTOMATIZZATO E PROFILAZIONE"
pp_8_text: "
La raccolta ed il trattamento dei dati non prevedono alcun tipo di processo decisionale automatizzato e/o di profilazione da parte del Titolare."
endtext: "
<strong>IMPORTANTE</strong>
<br>
La presente Privacy Policy è in vigore dal 25 maggio 2018. Il Titolare si riserva di modificarne o semplicemente aggiornarne il contenuto, in parte o completamente, anche a causa di variazioni del Regolamento. Invitiamo quindi a visitare con regolarità questa sezione per prendere cognizione della più recente ed aggiornata versione."
footer:
license: "Il sito (tranne i loghi) è interamente rilasciato sotto i termini della licenza AGPLv3. Puoi trovare i sorgenti qui:"

View file

@ -1,6 +1,6 @@
{% assign rawtags = "" %}
{% for post in site.posts %}
{% assign ttags = post.tags | join:'|' | append:'|' %}
{% for page in site.pages %}
{% assign ttags = page.tags | join:'|' | append:'|' %}
{% assign rawtags = rawtags | append:ttags %}
{% endfor %}
{% assign rawtags = rawtags | split:'|' | sort %}

View file

@ -13,7 +13,7 @@
<small>
{% t footer.license %}
<a target="_blank" rel="nofollow" href="https://gitea.it/Unitoo/unitoo-site">
<i class="fas fa-external-link-alt"></i> Gitea
<i class="fas fa-link-ext"></i> Gitea
</a>
<br>
</small>
@ -25,16 +25,16 @@
</li>
<li class="list-inline-item">
<a href="https://github.com/UnitooTeam" rel="nofollow" target="_blank" data-original-title=""
title=""><i class="fab fa-github" data-original-title="" title=""></i></a>
title=""><i class="fab fa-github-circled" data-original-title="" title=""></i></a>
</li>
<li class="list-inline-item">
<a href="https://mastodon.uno/@unitoo" rel="me" target="_blank" data-original-title="" title="">
<i class="fab fa-mastodon "></i>
{% asset mastodon width=20 style="margin-top: -3px;" %}
</a>
</li>
<li class="list-inline-item">
<a href="{% link _pages/news.html %}" target="_blank" data-original-title="" title="">
<i class="fab fa-telegram-plane"></i>
<i class="fab fa-telegram"></i>
</a>
</li>
<li class="list-inline-item"><a href="https://liberapay.com/Unitoo/" rel="nofollow" target="_blank" data-original-title="" title="">
@ -46,7 +46,7 @@
Unitoo di Claudio Maradonna, Via Circonvallazione Sud 28/A, Monteprandone, 63076 (AP) - 02324570445 - REA:
AP-204883 - info@unitoo.pw
<br>
<a href="/privacy.pdf">Informativa privacy</a>
<a href="{% link _pages/privacy.html %}">Informativa privacy</a>
</div>
</div>
</footer>

View file

@ -17,6 +17,6 @@
<link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
{% if site.tags != "" %}
{% include collecttags.html %}
{% include collecttags.html %}
{% endif %}
</head>

View file

@ -15,7 +15,7 @@
</nav>
<a class="d-block d-lg-none" href="javascript:openNav();">
<i class="fas fa-bars"></i>
<i class="fa-menu"></i>
</a>
</div>

View file

@ -40,7 +40,7 @@
{% t index.products.nextcloud_text %}
</p>
<a class="text-dark mr-2" href="https://www.nextcloud.com" rel="nofollow" target="_blank">
<i class="fas fa-external-link-alt"></i> {% t index.products.nextcloud_website %}
<i class="fas fa-link-ext"></i> {% t index.products.nextcloud_website %}
</a>
</div>
<div class="col text-right">
@ -60,7 +60,7 @@
{% t index.products.azuracast_text %}
</p>
<a class="text-dark mr-2" href="https://radio.unitoo.it" rel="nofollow" target="_blank">
<i class="fas fa-external-link-alt"></i> {% t index.products.azuracast_website %}
<i class="fas fa-link-ext"></i> {% t index.products.azuracast_website %}
</a>
</div>
</div>
@ -74,7 +74,7 @@
{% t index.products.pihole_text %}
</p>
<a class="text-dark mr-2" href="https://pi-hole.net/" rel="nofollow" target="_blank">
<i class="fas fa-external-link-alt"></i> {% t index.products.pihole_website %}
<i class="fas fa-link-ext"></i> {% t index.products.pihole_website %}
</a>
</div>
<div class="col text-right">

View file

@ -1,15 +1,31 @@
<div class="card border-0 shadow">
{% asset cmaradonna.webp class="card-img-top" %}
<div class="card-body">
<h5 class="card-title">Claudio Maradonna</h5>
<p class="card-text">{% t staff.cmaradonna.text %}</p>
<a rel="nofollow" target="_blank" class="mr-2" href="{% t staff.cmaradonna.mastodon_url %}"><i
class="fab fa-mastodon fa-2x"></i></a>
<a rel="nofollow" target="_blank" class="mr-2" href="{% t staff.cmaradonna.gitlab_url %}"><i
class="fab fa-gitlab fa-2x"></i></a>
<a rel="nofollow" target="_blank" class="mr-2" href="{% t staff.cmaradonna.github_url %}"><i
class="fab fa-github fa-2x"></i></a>
<a rel="nofollow" target="_blank" href="{% t staff.cmaradonna.instagram_url %}"><i
class="fab fa-instagram fa-2x"></i></a>
</div>
{% asset cmaradonna.webp class="card-img-top" %}
<div class="card-body">
<h5 class="card-title">Claudio Maradonna</h5>
<p class="card-text">{% t staff.cmaradonna.text %}</p>
</div>
<ul class="list-group list-group-flush ml-0">
<li class="list-group-item">
<a rel="nofollow" target="_blank" class="mr-2" href="{% t staff.cmaradonna.mastodon_url %}">
Mastodon
</a>
</li>
<li class="list-group-item">
<a rel="nofollow" target="_blank" href="{% t staff.cmaradonna.gitea_url %}">
Gitea
</a>
</li>
<li class="list-group-item">
<a rel="nofollow" target="_blank" href="{% t staff.cmaradonna.gitlab_url %}">
<i class="fab fa-gitlab "></i>
GitLab
</a>
</li>
<li class="list-group-item">
<a rel="nofollow" target="_blank" class="mr-2" href="{% t staff.cmaradonna.github_url %}">
<i class="fab fa-github-circled "></i>
GitHub
</a>
</li>
</ul>
</div>

View file

@ -1,9 +1,19 @@
<div class="card border-0 shadow">
{% asset fabio_purple.webp class="card-img-top" %}
<div class="card-body">
<h5 class="card-title">Fabio "Desmovalvo"</h5>
<p class="card-text">{% t staff.fabio_purple.text %}</p>
<a class="mr-2" rel="nofollow" target="_blank" href="{% t staff.fabio_purple.instagram_url %}"><i class="fab fa-instagram fa-2x"></i></a>
<a rel="nofollow" target="_blank" href="{% t staff.fabio_purple.twitter_url %}"><i class="fab fa-twitter fa-2x"></i></a>
</div>
{% asset fabio_purple.webp class="card-img-top" %}
<div class="card-body">
<h5 class="card-title">Fabio "Desmovalvo"</h5>
<p class="card-text">{% t staff.fabio_purple.text %}</p>
</div>
<ul class="list-group list-group-flush ml-0">
<li class="list-group-item">
<a rel="nofollow" target="_blank" href="{% t staff.fabio_purple.instagram_url %}"><i class="fab fa-instagram "></i>
Instagram
</a>
</li>
<li class="list-group-item">
<a rel="nofollow" target="_blank" href="{% t staff.fabio_purple.twitter_url %}"><i class="fab fa-twitter "></i>
Twitter
</a>
</li>
</ul>
</div>

View file

@ -1,9 +1,14 @@
<div class="card border-0 shadow">
{% asset stefano_amandonico.webp class="card-img-top" %}
<div class="card-body">
<h5 class="card-title">Stefano Amandonico</h5>
<p class="card-text">{% t staff.grafixprint.text %}</p>
<a rel="nofollow" target="_blank" href="{% t staff.grafixprint.website_url %}"><i
class="fas fa-globe-europe fa-2x"></i></a>
</div>
{% asset stefano_amandonico.webp class="card-img-top" %}
<div class="card-body">
<h5 class="card-title">Stefano Amandonico</h5>
<p class="card-text">{% t staff.grafixprint.text %}</p>
</div>
<ul class="list-group list-group-flush ml-0">
<li class="list-group-item">
<a rel="nofollow" target="_blank" href="{% t staff.grafixprint.website_url %}"><i class="fas fa-globe "></i>
www.grafixprint.it
</a>
</li>
</ul>
</div>

View file

@ -3,7 +3,19 @@
<div class="card-body">
<h5 class="card-title">Sara Freddoni</h5>
<p class="card-text">{% t staff.sara.text %}</p>
<a rel="nofollow" target="_blank" href="{% t staff.sara.instagram_url %}"><i class="fab fa-instagram fa-2x"></i></a>
<a class="ml-2" rel="nofollow" target="_blank" href="{% t staff.sara.facebook_url %}"><i class="fab fa-facebook fa-2x"></i></a>
</div>
<ul class="list-group list-group-flush ml-0">
<li class="list-group-item">
<a rel="nofollow" target="_blank" href="{% t staff.sara.instagram_url %}">
<i class="fab fa-instagram "></i>
Instagram
</a>
</li>
<li class="list-group-item">
<a rel="nofollow" target="_blank" href="{% t staff.sara.facebook_url %}">
<i class="fab fa-facebook "></i>
Facebook
</a>
</li>
</ul>
</div>

View file

@ -1,10 +1,24 @@
<div class="card border-0 shadow">
{% asset sydro.webp class="card-img-top" %}
<div class="card-body">
<h5 class="card-title">Angelo "Sydro"</h5>
<p class="card-text">{% t staff.sydro.text %}</p>
<a class="mr-2" rel="nofollow" target="_blank" href="{% t staff.sydro.instagram_url %}"><i class="fab fa-instagram fa-2x"></i></a>
<a class="mr-2" rel="nofollow" target="_blank" href="{% t staff.sydro.twitter_url %}"><i class="fab fa-twitter fa-2x"></i></a>
<a rel="nofollow" target="_blank" href="{% t staff.sydro.flickr_url %}"><i class="fab fa-flickr fa-2x"></i></a>
</div>
{% asset sydro.webp class="card-img-top" %}
<div class="card-body">
<h5 class="card-title">Angelo "Sydro"</h5>
<p class="card-text">{% t staff.sydro.text %}</p>
</div>
<ul class="list-group list-group-flush ml-0">
<li class="list-group-item">
<a rel="nofollow" target="_blank" href="{% t staff.sydro.instagram_url %}"><i class="fab fa-instagram "></i>
Instagram
</a>
</li>
<li class="list-group-item">
<a rel="nofollow" target="_blank" href="{% t staff.sydro.twitter_url %}"><i class="fab fa-twitter "></i>
Twitter
</a>
</li>
<li class="list-group-item">
<a rel="nofollow" target="_blank" href="{% t staff.sydro.flickr_url %}"><i class="fab fa-flickr "></i>
Flickr
</a>
</li>
</ul>
</div>

View file

@ -1,11 +1,19 @@
<div class="card border-0 shadow">
{% asset yamabiiko.webp class="card-img-top" %}
<div class="card-body">
<h5 class="card-title">Lorenzo Tucci</h5>
<p class="card-text">{% t staff.yamabiiko.text %}</p>
<a rel="nofollow" target="_blank" class="mr-2" href="{% t staff.yamabiiko.gitlab_url %}"><i
class="fab fa-gitlab fa-2x"></i></a>
<a rel="nofollow" target="_blank" class="mr-2" href="{% t staff.yamabiiko.github_url %}"><i
class="fab fa-github fa-2x"></i></a>
</div>
{% asset yamabiiko.webp class="card-img-top" %}
<div class="card-body">
<h5 class="card-title">Lorenzo Tucci</h5>
<p class="card-text">{% t staff.yamabiiko.text %}</p>
</div>
<ul class="list-group list-group-flush ml-0">
<li class="list-group-item">
<a rel="nofollow" target="_blank" href="{% t staff.yamabiiko.gitlab_url %}"><i class="fab fa-gitlab "></i>
GitLab
</a>
</li>
<li class="list-group-item">
<a rel="nofollow" target="_blank" href="{% t staff.yamabiiko.github_url %}"><i class="fab fa-github-circled "></i>
GitHub
</a>
</li>
</ul>
</div>

View file

@ -6,6 +6,7 @@ layout: default
<h1>#{{ page.tag }}</h1>
<div class="card-columns">
{{ site.tags | inspect }}
{% for post in site.tags[page.tag] %}
<div class="card">
<table>

View file

@ -2,8 +2,8 @@
layout: default
title: meta.titles.aboutus
description: meta.descriptions.aboutus
permalink: /chisiamo/
permalink_en: /aboutus/
permalink: /chisiamo
permalink_en: /aboutus
tags: unitoo aboutus chisiamo team
---
<section class="jumbotron jumbotron-fluid bg-transparent d-flex">
@ -25,7 +25,7 @@ tags: unitoo aboutus chisiamo team
</h4>
<div class="col text-lg-right">
<a class="btn btn-secondary btn-lg ml-auto" target="_blank" rel="nofollow" href="{{ site.mastodon_url }}">
<i class="fab fa-mastodon"></i>
{% asset mastodon width=20 style="margin-top: -3px;" %}
{% t buttons.know_us_on_mastodon %}
</a>
</div>

View file

@ -2,8 +2,8 @@
layout: simple
title: meta.titles.channel
description: meta.descriptions.channel
permalink: /progetti/peertube/
permalink_en: /projects/peertube/
permalink: /progetti/peertube
permalink_en: /projects/peertube
tags: video unitoo peertube freedom software freesoftware interviste
---
<div class="cover header-peertube"></div>
@ -16,7 +16,7 @@ tags: video unitoo peertube freedom software freesoftware interviste
{% t channel.p_2_2 %}
<br><br>
<a class="btn btn-primary btn-lg" href="https://peertube.uno/accounts/unitoo" rel="nofollow" target="_blank"><i class="fas fa-video"></i> {% t buttons.go_to_channel %}</a>
<a class="btn btn-primary btn-lg" href="https://peertube.uno/accounts/unitoo" rel="nofollow" target="_blank"><i class="fa-videocam"></i> {% t buttons.go_to_channel %}</a>
</p>
<hr>
<h2 class="mt-5">{% t channel.title_2 %}</h2>

View file

@ -2,8 +2,8 @@
layout: default
title: meta.titles.contacts
description: meta.descriptions.contacts
permalink: /contattaci/
permalink_en: /contactus/
permalink: /contattaci
permalink_en: /contactus
tags: unitoo contatti gnupg email contacts
---
<section class="container text-center pl-0 pr-0 pl-md-3 pr-md-3" style="min-height: 500px;">

View file

@ -2,8 +2,8 @@
layout: default
title: meta.titles.funkwhale
description: meta.descriptions.funkwhale
permalink: /partners/funkwhale/
permalink_en: /partners/funkwhale/
permalink: /partners/funkwhale
permalink_en: /partners/funkwhale
tags: unitoo partners funkwhale podcast music creativecommons freedom
---
<section class="container text-center pl-0 pr-0 pl-md-3 pr-md-3" style="min-height: 500px;">

View file

@ -2,12 +2,12 @@
layout: simple
title: meta.titles.libreboot
description: meta.description.libreboot
permalink: /progetti/libreboot/
permalink_en: /projects/libreboot/
permalink: /progetti/libreboot
permalink_en: /projects/libreboot
tags: unitoo libreboot bios freesoftware rights coreboot
---
<section id="libreboot">
<div class="cover min-height-100 position-relative header-libreboot">
<div class="cover min-vh-100 position-relative header-libreboot">
<div class="position-absolute content-bottom text-left text-light text-uppercase pt-5">
<h2>{% t libreboot.morphext_p_1 %} <span class="morphext-bounce-left text-warning morphext">
<span class="animated zoomInLeft">{% t libreboot.morphext_p_2 %}</span>

View file

@ -2,8 +2,8 @@
layout: simple
title: meta.titles.news
description: meta.descriptions.news
permalink: /news/
permalink_en: /news/
permalink: /news
permalink_en: /news
tags: unitoo news freedom software freesoftware foss telegram feed rss bot
---
<section class="jumbotron jumbotron-fluid bg-transparent">

View file

@ -2,8 +2,8 @@
layout: default
title: meta.titles.peertube
description: meta.description.peertube
permalink: /partners/peertube/
permalink_en: /partners/peertube/
permalink: /partners/peertube
permalink_en: /partners/peertube
tags: unitoo partners peertube video creativecommons freedom
---
<section class="container text-center pl-0 pr-0 pl-md-3 pr-md-3" style="min-height: 500px;">

35
_pages/privacy.html Normal file
View file

@ -0,0 +1,35 @@
---
layout: default
title: meta.titles.privacy_policy
description: meta.descriptions.privacy_policy
permalink: /privacy_policy
permalink: /privacy_policy
tags: privacy policy unitoo
---
<section class="jumbotron jumbotron-fluid bg-transparent">
<div class="container">
<h1 class="text-center mb-0">{% t privacy_policy.title %}</h1>
<div class="text-center">{% t privacy_policy.subtitle %}</div>
<hr class="border-primary mb-5 mt-5">
<p>
<strong>{% t privacy_policy.strong_1 %}</strong>
<div>{% t privacy_policy.text_1 %}</div>
<br>
<div>{% t privacy_policy.text_2 %}</div>
<br>
<div>{% t privacy_policy.text_3 %}</div>
<br>
<div>{% t privacy_policy.text_4 %}</div>
<ol>
{% for i in (1..8) %}
<li>
<strong>{% t privacy_policy.pp_{{ i }}_title %}</strong>
<br>
{% t privacy_policy.pp_{{ i }}_text %}
</li>
{% endfor %}
</ol>
{% t privacy_policy.endtext %}
</p>
</div>
</section>

View file

@ -2,8 +2,8 @@
layout: default
title: meta.titles.projects
description: meta.descriptions.projects
permalink: /progetti/
permalink_en: /projects/
permalink: /progetti
permalink_en: /projects
tags: unitoo freedom software freesoftware projects progetti
---
<section class="jumbotron jumbotron-fluid bg-transparent">

View file

@ -2,8 +2,8 @@
layout: simple
title: meta.titles.radio
description: meta.descriptions.radio
permalink: /progetti/radio/
permalink_en: /projects/radio/
permalink: /progetti/radio
permalink_en: /projects/radio
tags: radio unitoo azuracast freedom software freesoftware
---
<div class="cover header-radio"></div>
@ -15,20 +15,20 @@ tags: radio unitoo azuracast freedom software freesoftware
<p>
{% t radio.p_2 %}
<ul>
<li>AzuraCast: <a href="https://github.com/AzuraCast/AzuraCast" rel="nofollow" target="_blank"><i class="fab fa-github"></i> https://github.com/AzuraCast/AzuraCast</a></li>
<li>AzuraCast: <a href="https://github.com/AzuraCast/AzuraCast" rel="nofollow" target="_blank"><i class="fab fa-github-circled"></i> https://github.com/AzuraCast/AzuraCast</a></li>
<li>Mixxx: <a href="https://mixxx.org/" rel="nofollow" target="_blank">https://mixxx.org/</a></li>
</ul>
{% t radio.text_1 %}<a href="{% link _pages/contacts.html %}">{% t radio.text_2 %}</a>{% t radio.text_3 %}
<br><br>
<a class="btn btn-primary btn-lg" href="https://radio.unitoo.it" rel="nofollow" target="_blank"><i class="fas fa-headphones"></i> {% t buttons.go_to_radio %}</a>
<a class="btn btn-primary btn-lg" href="https://radio.unitoo.it" rel="nofollow" target="_blank"><i class="fa-music"></i> {% t buttons.go_to_radio %}</a>
</p>
<hr>
<h2 class="mt-5">{% t radio.title_3 %}</h2>
<p>
{% t radio.text_4 %} <a href="{% link _pages/funkwhale.html %}">Funkwhale</a> {% t radio.text_5 %}
<br><br>
<a class="btn btn-secondary btn-lg" href="https://funkwhale.it/@UnitooWebRadio/" rel="nofollow" target="_blank"><i class="fas fa-cloud"></i> {% t radio.title_3 %}</a>
<a class="btn btn-secondary btn-lg" href="https://funkwhale.it/@UnitooWebRadio/" rel="nofollow" target="_blank"><i class="fa-cloud"></i> {% t radio.title_3 %}</a>
<br><br>
<strong>Happy Listening :)</strong>
</p>

View file

@ -2,8 +2,8 @@
layout: default
title: meta.titles.services_and_products
description: meta.descriptions.services_and_products
permalink: /servizi_e_prodotti/
permalink_en: /services_and_products/
permalink: /servizi_e_prodotti
permalink_en: /services_and_products
tags: unitoo services products prodotti servizi nextcloud pihole dnsserver cloud filestorage calendar software development consulenza technicaladvice
---
{% include services-and-products.html %}

View file

@ -1,9 +1,9 @@
---
layout: default
title: meta.titles.software_technologies
description: meta.descriptions.software_techologies
permalink: /tecnologie_software/
permalink_en: /software_technologies/
description: meta.descriptions.software_technologies
permalink: /tecnologie_software
permalink_en: /software_technologies
tags: unitoo software development freesoftware licenses
---
<section class="jumbotron jumbotron-fluid bg-transparent">
@ -56,7 +56,7 @@ tags: unitoo software development freesoftware licenses
</h4>
<div class="col text-lg-right">
<a class="btn btn-secondary btn-lg ml-auto" href="{% link _pages/contacts.html %}">
<i class="fas fa-envelope"></i>
<i class="fa-mail"></i>
{% t buttons.contactsus %}
</a>
</div>

View file

@ -2,8 +2,8 @@
layout: default
title: meta.titles.software
description: meta.descriptions.software
permalink: /progetti/software/
permalink_en: /projects/software/
permalink: /progetti/software
permalink_en: /projects/software
tags: unitoo company rights projects freesoftware nodrm freebios libreboot coreboot
---
<section class="jumbotron jumbotron-fluid bg-transparent">
@ -31,14 +31,14 @@ tags: unitoo company rights projects freesoftware nodrm freebios libreboot coreb
<div class="card-body">
<h2 class="font-weight-bold">{% t software.freesoftware_title %}</h2>
<p>{% t software.freesoftware_text %}</p>
<a href="https://www.fsf.org/" rel="nofollow" target="_blank"><i class="fas fa-external-link-alt"></i> {% t buttons.know_more %}</a>
<a href="https://www.fsf.org/" rel="nofollow" target="_blank"><i class="fa-link-ext"></i> {% t buttons.know_more %}</a>
</div>
</div>
<div class="card">
<div class="card-body">
<h2 class="font-weight-bold">{% t software.drm_title %}</h2>
<p>{% t software.drm_text %}</p>
<a href="https://www.defectivebydesign.org/drm-free" rel="nofollow" target="_blank"><i class="fas fa-external-link-alt"></i> {% t buttons.know_more %}</a>
<a href="https://www.defectivebydesign.org/drm-free" rel="nofollow" target="_blank"><i class="fa-link-ext"></i> {% t buttons.know_more %}</a>
</div>
</div>
</div>

View file

@ -2,8 +2,8 @@
layout: default
title: meta.titles.technical_advice
description: meta.descriptions.technical_advice
permalink: /consulenza/
permalink_en: /technical_advice/
permalink: /consulenza
permalink_en: /technical_advice
tags: unitoo consulenza software hardware sicurezza informatica
---
<section class="jumbotron jumbotron-fluid bg-transparent">
@ -32,7 +32,7 @@ tags: unitoo consulenza software hardware sicurezza informatica
</h4>
<div class="col text-lg-right">
<a class="btn btn-secondary btn-lg ml-auto" target="_blank" rel="nofollow" href="https://helpdesk.unitoo.it">
<i class="fas fa-life-ring"></i>
<i class="fa-lifebuoy"></i>
{% t buttons.go_to_helpdesk %}
</a>
</div>
@ -70,7 +70,7 @@ tags: unitoo consulenza software hardware sicurezza informatica
<div class="card border-success" style="border-width: 2px;">
<div class="card-body">
<h2>{% t technical_advice.prices.second_title %}</h2>
<i class="fas fa-star fa-lg mb-4 text-warning"></i>
<i class="fa-star fa-lg mb-4 text-warning"></i>
<p>{% t technical_advice.prices.second_text %}</p>
<hr>
<br>

View file

@ -34,12 +34,12 @@
<link rel="apple-touch-icon" href="https://www.unitoo.it/apple-touch-icon.png">
<link rel="manifest" href="https://www.unitoo.it/path.webmanifest">
<link rel="stylesheet" type="text/css" href="/assets/main-297763e38613e36c8208eb097534c4652592dad1470759e4e427d3b1de27bcf1b0f98431ca456eacff2097b61957a23c7458ee3309a98d26df1630217db31de0.css">
<link rel="stylesheet" type="text/css" href="/assets/main-7a6c5c3870bb8021d17301c8a1fc95136694ee4facad16a55a3d9683c813304314fe572d1b14f3218332d4a318343d242e3171aaa9b0fd4ba8c92b3c9350bbd9.css">
<link rel="canonical" href="https://www.unitoo.it/404.html">
@ -53,10 +53,10 @@
<body>
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
<a class="btn-outline-primary" href="/chisiamo/">Chi siamo</a>
<a class="btn-outline-primary" href="/servizi_e_prodotti/">Servizi e Prodotti</a>
<a class="btn-outline-primary" href="/progetti/">Progetti</a>
<a class="btn-outline-primary" href="/contattaci/">Contattaci</a>
<a class="btn-outline-primary" href="/chisiamo">Chi siamo</a>
<a class="btn-outline-primary" href="/servizi_e_prodotti">Servizi e Prodotti</a>
<a class="btn-outline-primary" href="/progetti">Progetti</a>
<a class="btn-outline-primary" href="/contattaci">Contattaci</a>
</div>
@ -69,14 +69,14 @@
</a>
<nav class="my-2 d-none d-lg-block">
<a class="p-2 text-dark" href="/chisiamo/">Chi siamo</a>
<a class="p-2 text-dark" href="/servizi_e_prodotti/">Servizi e Prodotti</a>
<a class="p-2 text-dark" href="/progetti/">Progetti</a>
<a class="btn btn-primary ml-4" href="/contattaci/">Contattaci</a>
<a class="p-2 text-dark" href="/chisiamo">Chi siamo</a>
<a class="p-2 text-dark" href="/servizi_e_prodotti">Servizi e Prodotti</a>
<a class="p-2 text-dark" href="/progetti">Progetti</a>
<a class="btn btn-primary ml-4" href="/contattaci">Contattaci</a>
</nav>
<a class="d-block d-lg-none" href="javascript:openNav();">
<i class="fas fa-bars"></i>
<i class="fa-menu"></i>
</a>
</div>
@ -88,8 +88,8 @@
<div class="container-main">
<style type="text/css" media="screen">
.container {
margin: 10px auto;
max-width: 600px;
/* margin: 10px auto; */
/* max-width: 600px; */
text-align: center;
}
h1 {
@ -125,7 +125,7 @@
<small>
Il sito (tranne i loghi) è interamente rilasciato sotto i termini della licenza AGPLv3. Puoi trovare i sorgenti qui:
<a target="_blank" rel="nofollow" href="https://gitea.it/Unitoo/unitoo-site">
<i class="fas fa-external-link-alt"></i> Gitea
<i class="fas fa-link-ext"></i> Gitea
</a>
<br>
</small>
@ -137,16 +137,16 @@
</li>
<li class="list-inline-item">
<a href="https://github.com/UnitooTeam" rel="nofollow" target="_blank" data-original-title=""
title=""><i class="fab fa-github" data-original-title="" title=""></i></a>
title=""><i class="fab fa-github-circled" data-original-title="" title=""></i></a>
</li>
<li class="list-inline-item">
<a href="https://mastodon.uno/@unitoo" rel="me" target="_blank" data-original-title="" title="">
<i class="fab fa-mastodon "></i>
<img width="20" style="margin-top: -3px;" src="/assets/mastodon-dd74c0f2041704c990fadbd5ed8da8b22c65351a965219cc723576c5ac0c3dd1e880265eaba59b5ecfa5f7c807835374ce21e57091fa5c1630f927cfcd913b50.webp">
</a>
</li>
<li class="list-inline-item">
<a href="/news/" target="_blank" data-original-title="" title="">
<i class="fab fa-telegram-plane"></i>
<a href="/news" target="_blank" data-original-title="" title="">
<i class="fab fa-telegram"></i>
</a>
</li>
<li class="list-inline-item"><a href="https://liberapay.com/Unitoo/" rel="nofollow" target="_blank" data-original-title="" title="">
@ -158,7 +158,7 @@
Unitoo di Claudio Maradonna, Via Circonvallazione Sud 28/A, Monteprandone, 63076 (AP) - 02324570445 - REA:
AP-204883 - info@unitoo.pw
<br>
<a href="/privacy.pdf">Informativa privacy</a>
<a href="/privacy_policy">Informativa privacy</a>
</div>
</div>
</footer>

File diff suppressed because one or more lines are too long

View file

@ -27,13 +27,6 @@ figure {
body {
font: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family;
color: $text-color;
background-color: $background-color;
-webkit-text-size-adjust: 100%;
-webkit-font-feature-settings: 'kern' 1;
-moz-font-feature-settings: 'kern' 1;
-o-font-feature-settings: 'kern' 1;
font-feature-settings: 'kern' 1;
font-kerning: normal;
}
/**
@ -234,32 +227,6 @@ blockquote {
}
}
/**
* Code formatting
*/
pre,
code {
font-size: 15px;
border: 1px solid $grey-color-light;
border-radius: 3px;
background-color: #eef;
}
code {
padding: 1px 5px;
}
pre {
padding: 8px 12px;
overflow-x: auto;
> code {
border: 0;
padding-right: 0;
padding-left: 0;
}
}
/**
* Clearfix
*/

View file

@ -5,26 +5,26 @@
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@import 'bootstrap/functions';
@import 'bootstrap/variables';
@import 'bootstrap-custom/functions';
@import 'bootstrap-custom/variables';
@import 'bootstrap/mixins';
@import 'bootstrap/root';
@import 'bootstrap/reboot';
@import 'bootstrap-custom/reboot';
@import 'bootstrap/type';
// @import 'bootstrap/images';
@import 'bootstrap/code';
@import 'bootstrap/grid';
@import 'bootstrap-custom/code';
@import 'bootstrap-custom/grid';
// @import 'bootstrap/tables';
@import 'bootstrap/forms';
@import 'bootstrap/buttons';
@import 'bootstrap-custom/forms';
@import 'bootstrap-custom/buttons';
// @import 'bootstrap/transitions';
@import 'bootstrap/dropdown';
@import 'bootstrap-custom/dropdown';
// @import 'bootstrap/button-group';
@import 'bootstrap/input-group';
@import 'bootstrap-custom/input-group';
// @import 'bootstrap/custom-forms';
// @import 'bootstrap/nav';
@import 'bootstrap/navbar';
@import 'bootstrap/card';
@import 'bootstrap-custom/navbar';
@import 'bootstrap-custom/card';
// @import 'bootstrap/breadcrumb';
// @import 'bootstrap/pagination';
// @import 'bootstrap/badge';
@ -32,7 +32,7 @@
// @import 'bootstrap/alert';
// @import 'bootstrap/progress';
// @import 'bootstrap/media';
// @import 'bootstrap/list-group';
@import 'bootstrap-custom/list-group';
// @import 'bootstrap/close';
// @import 'bootstrap/toasts';
// @import 'bootstrap/modal';
@ -40,5 +40,5 @@
// @import 'bootstrap/popover';
// @import 'bootstrap/carousel';
// @import 'bootstrap/spinners';
@import 'bootstrap/utilities';
@import 'bootstrap-custom/utilities';
// @import 'bootstrap/print';

View file

@ -1,13 +0,0 @@
@import "font-awesome/variables";
@import "font-awesome/mixins";
@import "font-awesome/path";
@import "font-awesome/core";
@import "font-awesome/larger";
//@import "font-awesome/fixed-width";
//@import "font-awesome/list";
//@import "font-awesome/bordered-pulled";
//@import "font-awesome/animated";
//@import "font-awesome/rotated-flipped";
// @import "font-awesome/stacked";
@import "font-awesome/icons-custom";
//@import "font-awesome/screen-reader";

View file

@ -1,5 +0,0 @@
@function fa-font-path($path) {
@return font-path($path);
}
$fa-sass-asset-helper: true;

File diff suppressed because one or more lines are too long

View file

@ -36,14 +36,14 @@
line-height: 1.3;
background-color: #222;
border-top: 3px dashed $background-color;
border-top: 3px dashed $body-bg;
box-shadow: 0px 180px #222;
}
.footer-heading {
font-size: 18px;
margin-bottom: $spacing-unit / 2;
}
// .footer-heading {
// font-size: 18px;
// margin-bottom: $spacing-unit / 2;
// }
ul.social-buttons {
margin-bottom: 0;
@ -65,7 +65,7 @@ ul.social-buttons li a {
ul.social-buttons li a:active,
ul.social-buttons li a:focus,
ul.social-buttons li a:hover {
background-color: #4087c7;
background-color: $brand-color-secondary-hover;
}
/**
@ -249,22 +249,18 @@ aside.aside {
}
}
.card {
line-height: 1.5;
}
// .card td.img {
// width: 220px;
.card td.img {
width: 220px;
// background-size: cover;
// background-repeat: no-repeat;
// }
background-size: cover;
background-repeat: no-repeat;
}
// .btn {
// transition: box-shadow 0.3s ease-out, border-color 0.2s ease-out, color 0.3s ease-out;
.btn {
transition: box-shadow 0.3s ease-out, border-color 0.2s ease-out, color 0.3s ease-out;
text-decoration: none;
}
// text-decoration: none;
// }
.btn-secondary {
background-color: transparent;
@ -314,7 +310,7 @@ aside.aside {
.btn-primary {
background-color: transparent;
border-color: $brand-color;
box-shadow: inset 0px -0.3rem 0 $brand-color, $shadow;
box-shadow: inset 0px -0.3rem 0 $brand-color, $box-shadow;
color: $text-color;
@ -342,7 +338,7 @@ aside.aside {
.btn-success {
background-color: transparent;
border-color: $success-color;
box-shadow: inset 0px -0.3rem 0 $success-color, $shadow;
box-shadow: inset 0px -0.3rem 0 $success-color, $box-shadow;
color: $text-color;
@ -367,42 +363,38 @@ aside.aside {
}
}
.bg-primary {
background-color: $brand-color !important;
}
// .bg-primary {
// background-color: $brand-color !important;
// }
.border-primary {
border-color: $brand-color !important;
}
// .border-primary {
// border-color: $brand-color !important;
// }
.border-secondary {
border-color: $brand-color-secondary !important;
}
// .border-secondary {
// border-color: $brand-color-secondary !important;
// }
.text-primary {
color: $brand-color !important;
}
// .text-primary {
// color: $brand-color !important;
// }
.card-columns {
@media (max-width: 1199.98px) {
column-count: 2;
}
@media (max-width: 991.98px) {
column-count: 1;
}
}
// .card-columns {
// @media (max-width: 1199.98px) {
// column-count: 2;
// }
// @media (max-width: 991.98px) {
// column-count: 1;
// }
// }
.dropdown-toggle:after {
content: none;
}
// .dropdown-toggle:after {
// content: none;
// }
.list-inline-item:not(:last-child) {
margin-right: 0.25rem;
}
.min-height-100 {
min-height: 100vh;
}
// .list-inline-item:not(:last-child) {
// margin-right: 0.25rem;
// }
.content-bottom {
background-color: rgba(0, 0, 0, 0.65);
@ -411,9 +403,9 @@ aside.aside {
padding: 100px 15px 100px;
}
.shadow {
box-shadow: $shadow !important;
}
// .shadow {
// box-shadow: $box-shadow !important;
// }
.header-index {
min-height: 55vh;

View file

@ -1,204 +0,0 @@
/**
* Syntax highlighting styles
*/
.highlight {
background: #fff;
@extend %vertical-rhythm;
.highlighter-rouge & {
background: #eef;
}
.c {
color: #998;
font-style: italic;
} // Comment
.err {
color: #a61717;
background-color: #e3d2d2;
} // Error
.k {
font-weight: bold;
} // Keyword
.o {
font-weight: bold;
} // Operator
.cm {
color: #998;
font-style: italic;
} // Comment.Multiline
.cp {
color: #999;
font-weight: bold;
} // Comment.Preproc
.c1 {
color: #998;
font-style: italic;
} // Comment.Single
.cs {
color: #999;
font-weight: bold;
font-style: italic;
} // Comment.Special
.gd {
color: #000;
background-color: #fdd;
} // Generic.Deleted
.gd .x {
color: #000;
background-color: #faa;
} // Generic.Deleted.Specific
.ge {
font-style: italic;
} // Generic.Emph
.gr {
color: #a00;
} // Generic.Error
.gh {
color: #999;
} // Generic.Heading
.gi {
color: #000;
background-color: #dfd;
} // Generic.Inserted
.gi .x {
color: #000;
background-color: #afa;
} // Generic.Inserted.Specific
.go {
color: #888;
} // Generic.Output
.gp {
color: #555;
} // Generic.Prompt
.gs {
font-weight: bold;
} // Generic.Strong
.gu {
color: #aaa;
} // Generic.Subheading
.gt {
color: #a00;
} // Generic.Traceback
.kc {
font-weight: bold;
} // Keyword.Constant
.kd {
font-weight: bold;
} // Keyword.Declaration
.kp {
font-weight: bold;
} // Keyword.Pseudo
.kr {
font-weight: bold;
} // Keyword.Reserved
.kt {
color: #458;
font-weight: bold;
} // Keyword.Type
.m {
color: #099;
} // Literal.Number
.s {
color: #d14;
} // Literal.String
.na {
color: #008080;
} // Name.Attribute
.nb {
color: #0086b3;
} // Name.Builtin
.nc {
color: #458;
font-weight: bold;
} // Name.Class
.no {
color: #008080;
} // Name.Constant
.ni {
color: #800080;
} // Name.Entity
.ne {
color: #900;
font-weight: bold;
} // Name.Exception
.nf {
color: #900;
font-weight: bold;
} // Name.Function
.nn {
color: #555;
} // Name.Namespace
.nt {
color: #000080;
} // Name.Tag
.nv {
color: #008080;
} // Name.Variable
.ow {
font-weight: bold;
} // Operator.Word
.w {
color: #bbb;
} // Text.Whitespace
.mf {
color: #099;
} // Literal.Number.Float
.mh {
color: #099;
} // Literal.Number.Hex
.mi {
color: #099;
} // Literal.Number.Integer
.mo {
color: #099;
} // Literal.Number.Oct
.sb {
color: #d14;
} // Literal.String.Backtick
.sc {
color: #d14;
} // Literal.String.Char
.sd {
color: #d14;
} // Literal.String.Doc
.s2 {
color: #d14;
} // Literal.String.Double
.se {
color: #d14;
} // Literal.String.Escape
.sh {
color: #d14;
} // Literal.String.Heredoc
.si {
color: #d14;
} // Literal.String.Interpol
.sx {
color: #d14;
} // Literal.String.Other
.sr {
color: #009926;
} // Literal.String.Regex
.s1 {
color: #d14;
} // Literal.String.Single
.ss {
color: #990073;
} // Literal.String.Symbol
.bp {
color: #999;
} // Name.Builtin.Pseudo
.vc {
color: #008080;
} // Name.Variable.Class
.vg {
color: #008080;
} // Name.Variable.Global
.vi {
color: #008080;
} // Name.Variable.Instance
.il {
color: #099;
} // Literal.Number.Integer.Long
}

View file

@ -0,0 +1,142 @@
// stylelint-disable selector-no-qualifying-type
//
// Base styles
//
.btn {
display: inline-block;
font-family: $btn-font-family;
font-weight: $btn-font-weight;
color: $body-color;
text-align: center;
text-decoration: none;
white-space: $btn-white-space;
vertical-align: middle;
user-select: none;
background-color: transparent;
border: $btn-border-width solid transparent;
@include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);
@include transition($btn-transition);
@include hover() {
color: $body-color;
text-decoration: none;
}
&:focus,
&.focus {
outline: 0;
box-shadow: $btn-focus-box-shadow;
}
// Disabled comes first so active can properly restyle
&.disabled,
&:disabled {
opacity: $btn-disabled-opacity;
@include box-shadow(none);
}
&:not(:disabled):not(.disabled) {
cursor: if($enable-pointer-cursor-for-buttons, pointer, null);
&:active,
&.active {
@include box-shadow($btn-active-box-shadow);
&:focus {
@include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);
}
}
}
}
// Future-proof disabling of clicks on `<a>` elements
a.btn.disabled,
fieldset:disabled a.btn {
pointer-events: none;
}
//
// Alternate buttons
//
@each $color, $value in $theme-colors {
.btn-#{$color} {
@include button-variant($value, $value);
}
}
@each $color, $value in $theme-colors {
.btn-outline-#{$color} {
@include button-outline-variant($value);
}
}
//
// Link buttons
//
// Make a button look and behave like a link
// .btn-link {
// font-weight: $font-weight-normal;
// color: $link-color;
// text-decoration: $link-decoration;
// @include hover() {
// color: $link-hover-color;
// text-decoration: $link-hover-decoration;
// }
// &:focus,
// &.focus {
// text-decoration: $link-hover-decoration;
// }
// &:disabled,
// &.disabled {
// color: $btn-link-disabled-color;
// pointer-events: none;
// }
// // No need for an active state here
// }
//
// Button Sizes
//
.btn-lg {
@include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);
}
.btn-sm {
@include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);
}
//
// Block button
//
// .btn-block {
// display: block;
// width: 100%;
// // Vertically space out multiple block buttons
// + .btn-block {
// margin-top: $btn-block-spacing-y;
// }
// }
// Specificity overrides
input[type="submit"],
input[type="reset"],
input[type="button"] {
&.btn-block {
width: 100%;
}
}

View file

@ -0,0 +1,297 @@
.card {
position: relative;
display: flex;
flex-direction: column;
min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106
height: $card-height;
word-wrap: break-word;
background-color: $card-bg;
background-clip: border-box;
border: $card-border-width solid $card-border-color;
line-height: 1.5;
@include border-radius($card-border-radius);
> hr {
margin-right: 0;
margin-left: 0;
}
> .list-group {
border-top: inherit;
border-bottom: inherit;
&:first-child {
border-top-width: 0;
@include border-top-radius($card-inner-border-radius);
}
&:last-child {
border-bottom-width: 0;
@include border-bottom-radius($card-inner-border-radius);
}
}
// Due to specificity of the above selector (`.card > .list-group`), we must
// use a child selector here to prevent double borders.
> .card-header + .list-group,
> .list-group + .card-footer {
border-top: 0;
}
> td {
> img {
width: 220px;
background-size: cover;
background-repeat: no-repeat;
}
}
}
.card-body {
// Enable `flex-grow: 1` for decks and groups so that card blocks take up
// as much space as possible, ensuring footers are aligned to the bottom.
flex: 1 1 auto;
// Workaround for the image size bug in IE
// See: https://github.com/twbs/bootstrap/pull/28855
min-height: 1px;
padding: $card-spacer-x;
color: $card-color;
}
.card-title {
margin-bottom: $card-spacer-y;
}
.card-subtitle {
margin-top: -$card-spacer-y / 2;
margin-bottom: 0;
}
.card-text:last-child {
margin-bottom: 0;
}
.card-link {
@include hover() {
text-decoration: none;
}
+ .card-link {
margin-left: $card-spacer-x;
}
}
//
// Optional textual caps
//
.card-header {
padding: $card-spacer-y $card-spacer-x;
margin-bottom: 0; // Removes the default margin-bottom of <hN>
color: $card-cap-color;
background-color: $card-cap-bg;
border-bottom: $card-border-width solid $card-border-color;
&:first-child {
@include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);
}
}
.card-footer {
padding: $card-spacer-y $card-spacer-x;
color: $card-cap-color;
background-color: $card-cap-bg;
border-top: $card-border-width solid $card-border-color;
&:last-child {
@include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);
}
}
//
// Header navs
//
.card-header-tabs {
margin-right: -$card-spacer-x / 2;
margin-bottom: -$card-spacer-y;
margin-left: -$card-spacer-x / 2;
border-bottom: 0;
}
.card-header-pills {
margin-right: -$card-spacer-x / 2;
margin-left: -$card-spacer-x / 2;
}
// Card image
.card-img-overlay {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
padding: $card-img-overlay-padding;
@include border-radius($card-inner-border-radius);
}
.card-img,
.card-img-top,
.card-img-bottom {
flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396
width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
}
.card-img,
.card-img-top {
@include border-top-radius($card-inner-border-radius);
}
.card-img,
.card-img-bottom {
@include border-bottom-radius($card-inner-border-radius);
}
// Card deck
.card-deck {
.card {
margin-bottom: $card-deck-margin;
}
@include media-breakpoint-up(sm) {
display: flex;
flex-flow: row wrap;
margin-right: -$card-deck-margin;
margin-left: -$card-deck-margin;
.card {
// Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
flex: 1 0 0%;
margin-right: $card-deck-margin;
margin-bottom: 0; // Override the default
margin-left: $card-deck-margin;
}
}
}
//
// Card groups
//
.card-group {
// The child selector allows nested `.card` within `.card-group`
// to display properly.
> .card {
margin-bottom: $card-group-margin;
}
@include media-breakpoint-up(sm) {
display: flex;
flex-flow: row wrap;
// The child selector allows nested `.card` within `.card-group`
// to display properly.
> .card {
// Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
flex: 1 0 0%;
margin-bottom: 0;
+ .card {
margin-left: 0;
border-left: 0;
}
// Handle rounded corners
@if $enable-rounded {
&:not(:last-child) {
@include border-right-radius(0);
.card-img-top,
.card-header {
// stylelint-disable-next-line property-disallowed-list
border-top-right-radius: 0;
}
.card-img-bottom,
.card-footer {
// stylelint-disable-next-line property-disallowed-list
border-bottom-right-radius: 0;
}
}
&:not(:first-child) {
@include border-left-radius(0);
.card-img-top,
.card-header {
// stylelint-disable-next-line property-disallowed-list
border-top-left-radius: 0;
}
.card-img-bottom,
.card-footer {
// stylelint-disable-next-line property-disallowed-list
border-bottom-left-radius: 0;
}
}
}
}
}
}
//
// Columns
//
.card-columns {
.card {
margin-bottom: $card-columns-margin;
}
@include media-breakpoint-up(sm) {
column-count: $card-columns-count;
column-gap: $card-columns-gap;
orphans: 1;
widows: 1;
.card {
display: inline-block; // Don't let them vertically span multiple columns
width: 100%; // Don't let their width change
}
}
@include media-breakpoint-up(xs) {
column-count: 1;
}
}
//
// Accordion
//
// .accordion {
// overflow-anchor: none;
// > .card {
// overflow: hidden;
// &:not(:last-of-type) {
// border-bottom: 0;
// @include border-bottom-radius(0);
// }
// &:not(:first-of-type) {
// @include border-top-radius(0);
// }
// > .card-header {
// @include border-radius(0);
// margin-bottom: -$card-border-width;
// }
// }
// }

View file

@ -0,0 +1,52 @@
// Inline code
code {
@include font-size($code-font-size);
color: $code-color;
word-wrap: break-word;
// Streamline the style when inside anchors to avoid broken underline and more
a > & {
color: inherit;
}
}
// User input typically entered via keyboard
// kbd {
// padding: $kbd-padding-y $kbd-padding-x;
// @include font-size($kbd-font-size);
// color: $kbd-color;
// background-color: $kbd-bg;
// @include border-radius($border-radius-sm);
// @include box-shadow($kbd-box-shadow);
// kbd {
// padding: 0;
// @include font-size(100%);
// font-weight: $nested-kbd-font-weight;
// @include box-shadow(none);
// }
// }
// Blocks of code
pre {
display: block;
@include font-size($code-font-size);
color: $pre-color;
background-color: $gray-300;
// Account for some code outputs that place code tags in pre tags
code {
@include font-size(inherit);
color: inherit;
word-break: normal;
background-color: $gray-300;
}
}
// Enable scrollable blocks of code
// .pre-scrollable {
// max-height: $pre-scrollable-max-height;
// overflow-y: scroll;
// }

View file

@ -0,0 +1,192 @@
// The dropdown wrapper (`<div>`)
// .dropup,
// .dropright,
.dropdown,
.dropleft {
position: relative;
}
// .dropdown-toggle {
// white-space: nowrap;
// // Generate the caret automatically
// @include caret();
// }
// The dropdown menu
.dropdown-menu {
position: absolute;
top: 100%;
left: 0;
z-index: $zindex-dropdown;
display: none; // none by default, but block on "open" of the menu
float: left;
min-width: $dropdown-min-width;
padding: $dropdown-padding-y $dropdown-padding-x;
margin: $dropdown-spacer 0 0; // override default ul
@include font-size($dropdown-font-size);
color: $dropdown-color;
text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
list-style: none;
background-color: $dropdown-bg;
background-clip: padding-box;
border: $dropdown-border-width solid $dropdown-border-color;
@include border-radius($dropdown-border-radius);
@include box-shadow($dropdown-box-shadow);
}
// @each $breakpoint in map-keys($grid-breakpoints) {
// @include media-breakpoint-up($breakpoint) {
// $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
// .dropdown-menu#{$infix}-left {
// right: auto;
// left: 0;
// }
// .dropdown-menu#{$infix}-right {
// right: 0;
// left: auto;
// }
// }
// }
// Allow for dropdowns to go bottom up (aka, dropup-menu)
// Just add .dropup after the standard .dropdown class and you're set.
// .dropup {
// .dropdown-menu {
// top: auto;
// bottom: 100%;
// margin-top: 0;
// margin-bottom: $dropdown-spacer;
// }
// .dropdown-toggle {
// @include caret(up);
// }
// }
// .dropright {
// .dropdown-menu {
// top: 0;
// right: auto;
// left: 100%;
// margin-top: 0;
// margin-left: $dropdown-spacer;
// }
// .dropdown-toggle {
// @include caret(right);
// &::after {
// vertical-align: 0;
// }
// }
// }
// .dropleft {
// .dropdown-menu {
// top: 0;
// right: 100%;
// left: auto;
// margin-top: 0;
// margin-right: $dropdown-spacer;
// }
// .dropdown-toggle {
// @include caret(left);
// &::before {
// vertical-align: 0;
// }
// }
// }
// When Popper is enabled, reset the basic dropdown position
// stylelint-disable-next-line no-duplicate-selectors
.dropdown-menu {
&[x-placement^="top"],
&[x-placement^="right"],
&[x-placement^="bottom"],
&[x-placement^="left"] {
right: auto;
bottom: auto;
}
}
// Dividers (basically an `<hr>`) within the dropdown
.dropdown-divider {
@include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true);
}
// Links, buttons, and more within the dropdown menu
//
// `<button>`-specific styles are denoted with `// For <button>s`
.dropdown-item {
display: block;
width: 100%; // For `<button>`s
padding: $dropdown-item-padding-y $dropdown-item-padding-x;
clear: both;
font-weight: $font-weight-normal;
color: $dropdown-link-color;
text-align: inherit; // For `<button>`s
text-decoration: if($link-decoration == none, null, none);
white-space: nowrap; // prevent links from randomly breaking onto new lines
background-color: transparent; // For `<button>`s
border: 0; // For `<button>`s
// Prevent dropdown overflow if there's no padding
// See https://github.com/twbs/bootstrap/pull/27703
@if $dropdown-padding-y == 0 {
&:first-child {
@include border-top-radius($dropdown-inner-border-radius);
}
&:last-child {
@include border-bottom-radius($dropdown-inner-border-radius);
}
}
@include hover-focus() {
color: $dropdown-link-hover-color;
text-decoration: none;
@include gradient-bg($dropdown-link-hover-bg);
}
&.active,
&:active {
color: $dropdown-link-active-color;
text-decoration: none;
@include gradient-bg($dropdown-link-active-bg);
}
&.disabled,
&:disabled {
color: $dropdown-link-disabled-color;
pointer-events: none;
background-color: transparent;
// Remove CSS gradients if they're enabled
@if $enable-gradients {
background-image: none;
}
}
}
.dropdown-menu.show {
display: block;
}
// Dropdown section headers
.dropdown-header {
display: block;
padding: $dropdown-header-padding;
margin-bottom: 0; // for use with heading elements
@include font-size($font-size-sm);
color: $dropdown-header-color;
white-space: nowrap; // as with > li > a
}
// Dropdown text
.dropdown-item-text {
display: block;
padding: $dropdown-item-padding-y $dropdown-item-padding-x;
color: $dropdown-link-color;
}

View file

@ -0,0 +1,341 @@
.form-control {
display: block;
width: 100%;
height: $input-height;
padding: $input-padding-y $input-padding-x;
font-family: $input-font-family;
@include font-size($input-font-size);
font-weight: $input-font-weight;
line-height: $input-line-height;
color: $input-color;
background-color: $input-bg;
background-clip: padding-box;
border: $input-border-width solid $input-border-color;
// Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.
@include border-radius($input-border-radius, 0);
@include box-shadow($input-box-shadow);
@include transition($input-transition);
// Unstyle the caret on `<select>`s in IE10+.
&::-ms-expand {
background-color: transparent;
border: 0;
}
// Remove select outline from select box in FF
&:-moz-focusring {
color: transparent;
text-shadow: 0 0 0 $input-color;
}
// Customize the `:focus` state to imitate native WebKit styles.
@include form-control-focus($ignore-warning: true);
// Placeholder
&::placeholder {
color: $input-placeholder-color;
// Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.
opacity: 1;
}
// Disabled and read-only inputs
//
// HTML5 says that controls under a fieldset > legend:first-child won't be
// disabled if the fieldset is disabled. Due to implementation difficulty, we
// don't honor that edge case; we style them as disabled anyway.
&:disabled,
&[readonly] {
background-color: $input-disabled-bg;
// iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.
opacity: 1;
}
}
// input[type="date"],
// input[type="time"],
// input[type="datetime-local"],
// input[type="month"] {
// &.form-control {
// appearance: none; // Fix appearance for date inputs in Safari
// }
// }
// select.form-control {
// &:focus::-ms-value {
// // Suppress the nested default white text on blue background highlight given to
// // the selected option text when the (still closed) <select> receives focus
// // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to
// // match the appearance of the native widget.
// // See https://github.com/twbs/bootstrap/issues/19398.
// color: $input-color;
// background-color: $input-bg;
// }
// }
// Make file inputs better match text inputs by forcing them to new lines.
// .form-control-file,
// .form-control-range {
// display: block;
// width: 100%;
// }
//
// Labels
//
// For use with horizontal and inline forms, when you need the label (or legend)
// text to align with the form controls.
// .col-form-label {
// padding-top: add($input-padding-y, $input-border-width);
// padding-bottom: add($input-padding-y, $input-border-width);
// margin-bottom: 0; // Override the `<label>/<legend>` default
// @include font-size(inherit); // Override the `<legend>` default
// line-height: $input-line-height;
// }
// .col-form-label-lg {
// padding-top: add($input-padding-y-lg, $input-border-width);
// padding-bottom: add($input-padding-y-lg, $input-border-width);
// @include font-size($input-font-size-lg);
// line-height: $input-line-height-lg;
// }
// .col-form-label-sm {
// padding-top: add($input-padding-y-sm, $input-border-width);
// padding-bottom: add($input-padding-y-sm, $input-border-width);
// @include font-size($input-font-size-sm);
// line-height: $input-line-height-sm;
// }
// Readonly controls as plain text
//
// Apply class to a readonly input to make it appear like regular plain
// text (without any border, background color, focus indicator)
// .form-control-plaintext {
// display: block;
// width: 100%;
// padding: $input-padding-y 0;
// margin-bottom: 0; // match inputs if this class comes on inputs with default margins
// @include font-size($input-font-size);
// line-height: $input-line-height;
// color: $input-plaintext-color;
// background-color: transparent;
// border: solid transparent;
// border-width: $input-border-width 0;
// &.form-control-sm,
// &.form-control-lg {
// padding-right: 0;
// padding-left: 0;
// }
// }
// Form control sizing
//
// Build on `.form-control` with modifier classes to decrease or increase the
// height and font-size of form controls.
//
// Repeated in `_input_group.scss` to avoid Sass extend issues.
// .form-control-sm {
// height: $input-height-sm;
// padding: $input-padding-y-sm $input-padding-x-sm;
// @include font-size($input-font-size-sm);
// line-height: $input-line-height-sm;
// @include border-radius($input-border-radius-sm);
// }
// .form-control-lg {
// height: $input-height-lg;
// padding: $input-padding-y-lg $input-padding-x-lg;
// @include font-size($input-font-size-lg);
// line-height: $input-line-height-lg;
// @include border-radius($input-border-radius-lg);
// }
// stylelint-disable-next-line no-duplicate-selectors
// select.form-control {
// &[size],
// &[multiple] {
// height: auto;
// }
// }
// textarea.form-control {
// height: auto;
// }
// Form groups
//
// Designed to help with the organization and spacing of vertical forms. For
// horizontal forms, use the predefined grid classes.
// .form-group {
// margin-bottom: $form-group-margin-bottom;
// }
// .form-text {
// display: block;
// margin-top: $form-text-margin-top;
// }
// Form grid
//
// Special replacement for our grid system's `.row` for tighter form layouts.
// .form-row {
// display: flex;
// flex-wrap: wrap;
// margin-right: -$form-grid-gutter-width / 2;
// margin-left: -$form-grid-gutter-width / 2;
// > .col,
// > [class*="col-"] {
// padding-right: $form-grid-gutter-width / 2;
// padding-left: $form-grid-gutter-width / 2;
// }
// }
// Checkboxes and radios
//
// Indent the labels to position radios/checkboxes as hanging controls.
// .form-check {
// position: relative;
// display: block;
// padding-left: $form-check-input-gutter;
// }
// .form-check-input {
// position: absolute;
// margin-top: $form-check-input-margin-y;
// margin-left: -$form-check-input-gutter;
// // Use [disabled] and :disabled for workaround https://github.com/twbs/bootstrap/issues/28247
// &[disabled] ~ .form-check-label,
// &:disabled ~ .form-check-label {
// color: $text-muted;
// }
// }
// .form-check-label {
// margin-bottom: 0; // Override default `<label>` bottom margin
// }
// .form-check-inline {
// display: inline-flex;
// align-items: center;
// padding-left: 0; // Override base .form-check
// margin-right: $form-check-inline-margin-x;
// // Undo .form-check-input defaults and add some `margin-right`.
// .form-check-input {
// position: static;
// margin-top: 0;
// margin-right: $form-check-inline-input-margin-x;
// margin-left: 0;
// }
// }
// Form validation
//
// Provide feedback to users when form field values are valid or invalid. Works
// primarily for client-side validation via scoped `:invalid` and `:valid`
// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for
// server side validation.
// @each $state, $data in $form-validation-states {
// @include form-validation-state($state, map-get($data, color), map-get($data, icon));
// }
// Inline forms
//
// Make forms appear inline(-block) by adding the `.form-inline` class. Inline
// forms begin stacked on extra small (mobile) devices and then go inline when
// viewports reach <768px.
//
// Requires wrapping inputs and labels with `.form-group` for proper display of
// default HTML form controls and our custom form controls (e.g., input groups).
// .form-inline {
// display: flex;
// flex-flow: row wrap;
// align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)
// // Because we use flex, the initial sizing of checkboxes is collapsed and
// // doesn't occupy the full-width (which is what we want for xs grid tier),
// // so we force that here.
// .form-check {
// width: 100%;
// }
// // Kick in the inline
// @include media-breakpoint-up(sm) {
// label {
// display: flex;
// align-items: center;
// justify-content: center;
// margin-bottom: 0;
// }
// // Inline-block all the things for "inline"
// .form-group {
// display: flex;
// flex: 0 0 auto;
// flex-flow: row wrap;
// align-items: center;
// margin-bottom: 0;
// }
// // Allow folks to *not* use `.form-group`
// .form-control {
// display: inline-block;
// width: auto; // Prevent labels from stacking above inputs in `.form-group`
// vertical-align: middle;
// }
// // Make static controls behave like regular ones
// .form-control-plaintext {
// display: inline-block;
// }
// .input-group,
// .custom-select {
// width: auto;
// }
// // Remove default margin on radios/checkboxes that were used for stacking, and
// // then undo the floating of radios and checkboxes to match.
// .form-check {
// display: flex;
// align-items: center;
// justify-content: center;
// width: auto;
// padding-left: 0;
// }
// .form-check-input {
// position: relative;
// flex-shrink: 0;
// margin-top: 0;
// margin-right: $form-check-input-margin-x;
// margin-left: 0;
// }
// .custom-control {
// align-items: center;
// justify-content: center;
// }
// .custom-control-label {
// margin-bottom: 0;
// }
// }
// }

View file

@ -0,0 +1,144 @@
// Bootstrap functions
//
// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.
// Ascending
// Used to evaluate Sass maps like our grid breakpoints.
@mixin _assert-ascending($map, $map-name) {
$prev-key: null;
$prev-num: null;
@each $key, $num in $map {
@if $prev-num == null or unit($num) == "%" or unit($prev-num) == "%" {
// Do nothing
} @else if not comparable($prev-num, $num) {
@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}' !";
} @else if $prev-num >= $num {
@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}' !";
}
$prev-key: $key;
$prev-num: $num;
}
}
// Starts at zero
// Used to ensure the min-width of the lowest breakpoint starts at 0.
@mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") {
@if length($map) > 0 {
$values: map-values($map);
$first-value: nth($values, 1);
@if $first-value != 0 {
@warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.";
}
}
}
// Replace `$search` with `$replace` in `$string`
// Used on our SVG icon backgrounds for custom forms.
//
// @author Hugo Giraudel
// @param {String} $string - Initial string
// @param {String} $search - Substring to replace
// @param {String} $replace ('') - New value
// @return {String} - Updated string
@function str-replace($string, $search, $replace: "") {
$index: str-index($string, $search);
@if $index {
@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
}
@return $string;
}
// See https://codepen.io/kevinweber/pen/dXWoRw
//
// Requires the use of quotes around data URIs.
@function escape-svg($string) {
@if str-index($string, "data:image/svg+xml") {
@each $char, $encoded in $escaped-characters {
// Do not escape the url brackets
@if str-index($string, "url(") == 1 {
$string: url("#{str-replace(str-slice($string, 6, -3), $char, $encoded)}");
} @else {
$string: str-replace($string, $char, $encoded);
}
}
}
@return $string;
}
// Color contrast
@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {
$r: red($color);
$g: green($color);
$b: blue($color);
$yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;
@if ($yiq >= $yiq-contrasted-threshold) {
@return $dark;
} @else {
@return $light;
}
}
// Retrieve color Sass maps
@function color($key: "blue") {
@return map-get($colors, $key);
}
@function theme-color($key: "primary") {
@return map-get($theme-colors, $key);
}
@function gray($key: "100") {
@return map-get($grays, $key);
}
// Request a theme color level
@function theme-color-level($color-name: "primary", $level: 0) {
$color: theme-color($color-name);
$color-base: if($level > 0, $black, $white);
$level: abs($level);
@return mix($color-base, $color, $level * $theme-color-interval);
}
// Return valid calc
@function add($value1, $value2, $return-calc: true) {
@if $value1 == null {
@return $value2;
}
@if $value2 == null {
@return $value1;
}
@if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {
@return $value1 + $value2;
}
@return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(" + ") + $value2);
}
@function subtract($value1, $value2, $return-calc: true) {
@if $value1 == null and $value2 == null {
@return null;
}
@if $value1 == null {
@return -$value2;
}
@if $value2 == null {
@return $value1;
}
@if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {
@return $value1 - $value2;
}
@return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(" - ") + $value2);
}

View file

@ -0,0 +1,73 @@
// Container widths
//
// Set the container width, and override it for fixed navbars in media queries.
@if $enable-grid-classes {
// Single container class with breakpoint max-widths
.container,
// 100% wide container at all breakpoints
.container-fluid {
@include make-container();
}
// Responsive containers that are 100% wide until a breakpoint
@each $breakpoint, $container-max-width in $container-max-widths {
.container-#{$breakpoint} {
@extend .container-fluid;
}
@include media-breakpoint-up($breakpoint, $grid-breakpoints) {
%responsive-container-#{$breakpoint} {
max-width: $container-max-width;
}
// Extend each breakpoint which is smaller or equal to the current breakpoint
$extend-breakpoint: true;
@each $name, $width in $grid-breakpoints {
@if ($extend-breakpoint) {
.container#{breakpoint-infix($name, $grid-breakpoints)} {
@extend %responsive-container-#{$breakpoint};
}
// Once the current breakpoint is reached, stop extending
@if ($breakpoint == $name) {
$extend-breakpoint: false;
}
}
}
}
}
}
// Row
//
// Rows contain your columns.
@if $enable-grid-classes {
.row {
@include make-row();
}
// Remove the negative margin from default .row, then the horizontal padding
// from all immediate children columns (to prevent runaway style inheritance).
// .no-gutters {
// margin-right: 0;
// margin-left: 0;
// > .col,
// > [class*="col-"] {
// padding-right: 0;
// padding-left: 0;
// }
// }
}
// Columns
//
// Common styles for small and large grid columns
@if $enable-grid-classes {
@include make-grid-columns();
}

View file

@ -0,0 +1,208 @@
// stylelint-disable selector-no-qualifying-type
//
// Base styles
//
.input-group {
position: relative;
display: flex;
flex-wrap: wrap; // For form validation feedback
align-items: stretch;
width: 100%;
> .form-control,
> .form-control-plaintext,
> .custom-select,
> .custom-file {
position: relative; // For focus state's z-index
flex: 1 1 auto;
width: 1%;
min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size
margin-bottom: 0;
+ .form-control,
+ .custom-select,
+ .custom-file {
margin-left: -$input-border-width;
}
}
// Bring the "active" form control to the top of surrounding elements
> .form-control:focus,
> .custom-select:focus,
> .custom-file .custom-file-input:focus ~ .custom-file-label {
z-index: 3;
}
// Bring the custom file input above the label
// > .custom-file .custom-file-input:focus {
// z-index: 4;
// }
> .form-control,
> .custom-select {
&:not(:first-child) { @include border-left-radius(0); }
}
// Custom file inputs have more complex markup, thus requiring different
// border-radius overrides.
// > .custom-file {
// display: flex;
// align-items: center;
// &:not(:last-child) .custom-file-label,
// &:not(:first-child) .custom-file-label { @include border-left-radius(0); }
// }
// &:not(.has-validation) {
// > .form-control:not(:last-child),
// > .custom-select:not(:last-child),
// > .custom-file:not(:last-child) .custom-file-label::after {
// @include border-right-radius(0);
// }
// }
// &.has-validation {
// > .form-control:nth-last-child(n + 3),
// > .custom-select:nth-last-child(n + 3),
// > .custom-file:nth-last-child(n + 3) .custom-file-label::after {
// @include border-right-radius(0);
// }
// }
}
// Prepend and append
//
// While it requires one extra layer of HTML for each, dedicated prepend and
// append elements allow us to 1) be less clever, 2) simplify our selectors, and
// 3) support HTML5 form validation.
.input-group-prepend,
.input-group-append {
display: flex;
// Ensure buttons are always above inputs for more visually pleasing borders.
// This isn't needed for `.input-group-text` since it shares the same border-color
// as our inputs.
.btn {
position: relative;
z-index: 2;
&:focus {
z-index: 3;
}
}
.btn + .btn,
.btn + .input-group-text,
.input-group-text + .input-group-text,
.input-group-text + .btn {
margin-left: -$input-border-width;
}
}
// .input-group-prepend { margin-right: -$input-border-width; }
.input-group-append { margin-left: -$input-border-width; }
// Textual addons
//
// Serves as a catch-all element for any text or radio/checkbox input you wish
// to prepend or append to an input.
// .input-group-text {
// display: flex;
// align-items: center;
// padding: $input-padding-y $input-padding-x;
// margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom
// @include font-size($input-font-size); // Match inputs
// font-weight: $font-weight-normal;
// line-height: $input-line-height;
// color: $input-group-addon-color;
// text-align: center;
// white-space: nowrap;
// background-color: $input-group-addon-bg;
// border: $input-border-width solid $input-group-addon-border-color;
// @include border-radius($input-border-radius);
// // Nuke default margins from checkboxes and radios to vertically center within.
// input[type="radio"],
// input[type="checkbox"] {
// margin-top: 0;
// }
// }
// Sizing
//
// Remix the default form control sizing classes into new ones for easier
// manipulation.
// .input-group-lg > .form-control:not(textarea),
// .input-group-lg > .custom-select {
// height: $input-height-lg;
// }
// .input-group-lg > .form-control,
// .input-group-lg > .custom-select,
// .input-group-lg > .input-group-prepend > .input-group-text,
// .input-group-lg > .input-group-append > .input-group-text,
// .input-group-lg > .input-group-prepend > .btn,
// .input-group-lg > .input-group-append > .btn {
// padding: $input-padding-y-lg $input-padding-x-lg;
// @include font-size($input-font-size-lg);
// line-height: $input-line-height-lg;
// @include border-radius($input-border-radius-lg);
// }
// .input-group-sm > .form-control:not(textarea),
// .input-group-sm > .custom-select {
// height: $input-height-sm;
// }
// .input-group-sm > .form-control,
// .input-group-sm > .custom-select,
// .input-group-sm > .input-group-prepend > .input-group-text,
// .input-group-sm > .input-group-append > .input-group-text,
// .input-group-sm > .input-group-prepend > .btn,
// .input-group-sm > .input-group-append > .btn {
// padding: $input-padding-y-sm $input-padding-x-sm;
// @include font-size($input-font-size-sm);
// line-height: $input-line-height-sm;
// @include border-radius($input-border-radius-sm);
// }
// .input-group-lg > .custom-select,
// .input-group-sm > .custom-select {
// padding-right: $custom-select-padding-x + $custom-select-indicator-padding;
// }
// Prepend and append rounded corners
//
// These rulesets must come after the sizing ones to properly override sm and lg
// border-radius values when extending. They're more specific than we'd like
// with the `.input-group >` part, but without it, we cannot override the sizing.
.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text,
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,
.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn,
.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text,
.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
@include border-right-radius(0);
}
.input-group > .input-group-append > .btn,
.input-group > .input-group-append > .input-group-text,
.input-group > .input-group-prepend:not(:first-child) > .btn,
.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
@include border-left-radius(0);
}

View file

@ -0,0 +1,154 @@
// Base class
//
// Easily usable on <ul>, <ol>, or <div>.
.list-group {
display: flex;
flex-direction: column;
// No need to set list-style: none; since .list-group-item is block level
padding-left: 0; // reset padding because ul and ol
margin-bottom: 0;
@include border-radius($list-group-border-radius);
}
// Interactive list items
//
// Use anchor or button elements instead of `li`s or `div`s to create interactive
// list items. Includes an extra `.active` modifier class for selected items.
// .list-group-item-action {
// width: 100%; // For `<button>`s (anchors become 100% by default though)
// color: $list-group-action-color;
// text-align: inherit; // For `<button>`s (anchors inherit)
// // Hover state
// @include hover-focus() {
// z-index: 1; // Place hover/focus items above their siblings for proper border styling
// color: $list-group-action-hover-color;
// text-decoration: none;
// background-color: $list-group-hover-bg;
// }
// &:active {
// color: $list-group-action-active-color;
// background-color: $list-group-action-active-bg;
// }
// }
// Individual list items
//
// Use on `li`s or `div`s within the `.list-group` parent.
.list-group-item {
position: relative;
display: block;
padding: $list-group-item-padding-y $list-group-item-padding-x;
color: $list-group-color;
text-decoration: if($link-decoration == none, null, none);
background-color: $list-group-bg;
border: $list-group-border-width solid $list-group-border-color;
&:first-child {
@include border-top-radius(inherit);
}
&:last-child {
@include border-bottom-radius(inherit);
}
&.disabled,
&:disabled {
color: $list-group-disabled-color;
pointer-events: none;
background-color: $list-group-disabled-bg;
}
// Include both here for `<a>`s and `<button>`s
&.active {
z-index: 2; // Place active items above their siblings for proper border styling
color: $list-group-active-color;
background-color: $list-group-active-bg;
border-color: $list-group-active-border-color;
}
& + & {
border-top-width: 0;
&.active {
margin-top: -$list-group-border-width;
border-top-width: $list-group-border-width;
}
}
}
// Horizontal
//
// Change the layout of list group items from vertical (default) to horizontal.
@each $breakpoint in map-keys($grid-breakpoints) {
@include media-breakpoint-up($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
.list-group-horizontal#{$infix} {
flex-direction: row;
> .list-group-item {
&:first-child {
@include border-bottom-left-radius($list-group-border-radius);
@include border-top-right-radius(0);
}
&:last-child {
@include border-top-right-radius($list-group-border-radius);
@include border-bottom-left-radius(0);
}
&.active {
margin-top: 0;
}
+ .list-group-item {
border-top-width: $list-group-border-width;
border-left-width: 0;
&.active {
margin-left: -$list-group-border-width;
border-left-width: $list-group-border-width;
}
}
}
}
}
}
// Flush list items
//
// Remove borders and border-radius to keep list group items edge-to-edge. Most
// useful within other components (e.g., cards).
.list-group-flush {
@include border-radius(0);
> .list-group-item {
border-width: 0 0 $list-group-border-width;
&:last-child {
border-bottom-width: 0;
}
}
}
// Contextual variants
//
// Add modifier classes to change text and background color on individual items.
// Organizationally, this must come after the `:hover` states.
@each $color, $value in $theme-colors {
@include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));
}

View file

@ -0,0 +1,332 @@
// Contents
//
// Navbar
// Navbar brand
// Navbar nav
// Navbar text
// Navbar divider
// Responsive navbar
// Navbar position
// Navbar themes
// Navbar
//
// Provide a static navbar from which we expand to create full-width, fixed, and
// other navbar variations.
.navbar {
position: relative;
display: flex;
flex-wrap: wrap; // allow us to do the line break for collapsing content
align-items: center;
justify-content: space-between; // space out brand from logo
padding: $navbar-padding-y $navbar-padding-x;
// Because flex properties aren't inherited, we need to redeclare these first
// few properties so that content nested within behave properly.
%container-flex-properties {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
}
.container,
.container-fluid {
@extend %container-flex-properties;
}
@each $breakpoint, $container-max-width in $container-max-widths {
> .container#{breakpoint-infix($breakpoint, $container-max-widths)} {
@extend %container-flex-properties;
}
}
}
// Navbar brand
//
// Used for brand, project, or site names.
// .navbar-brand {
// display: inline-block;
// padding-top: $navbar-brand-padding-y;
// padding-bottom: $navbar-brand-padding-y;
// margin-right: $navbar-padding-x;
// @include font-size($navbar-brand-font-size);
// line-height: inherit;
// white-space: nowrap;
// @include hover-focus() {
// text-decoration: none;
// }
// }
// Navbar nav
//
// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).
// .navbar-nav {
// display: flex;
// flex-direction: column; // cannot use `inherit` to get the `.navbar`s value
// padding-left: 0;
// margin-bottom: 0;
// list-style: none;
// .nav-link {
// padding-right: 0;
// padding-left: 0;
// }
// .dropdown-menu {
// position: static;
// float: none;
// }
// }
// Navbar text
//
//
// .navbar-text {
// display: inline-block;
// padding-top: $nav-link-padding-y;
// padding-bottom: $nav-link-padding-y;
// }
// Responsive navbar
//
// Custom styles for responsive collapsing and toggling of navbar contents.
// Powered by the collapse Bootstrap JavaScript plugin.
// When collapsed, prevent the toggleable navbar contents from appearing in
// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`
// on the `.navbar` parent.
// .navbar-collapse {
// flex-basis: 100%;
// flex-grow: 1;
// // For always expanded or extra full navbars, ensure content aligns itself
// // properly vertically. Can be easily overridden with flex utilities.
// align-items: center;
// }
// Button for toggling the navbar when in its collapsed state
// .navbar-toggler {
// padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;
// @include font-size($navbar-toggler-font-size);
// line-height: 1;
// background-color: transparent; // remove default button style
// border: $border-width solid transparent; // remove default button style
// @include border-radius($navbar-toggler-border-radius);
// @include hover-focus() {
// text-decoration: none;
// }
// }
// Keep as a separate element so folks can easily override it with another icon
// or image file as needed.
// .navbar-toggler-icon {
// display: inline-block;
// width: 1.5em;
// height: 1.5em;
// vertical-align: middle;
// content: "";
// background: 50% / 100% 100% no-repeat;
// }
// .navbar-nav-scroll {
// max-height: $navbar-nav-scroll-max-height;
// overflow-y: auto;
// }
// Generate series of `.navbar-expand-*` responsive classes for configuring
// where your navbar collapses.
// .navbar-expand {
// @each $breakpoint in map-keys($grid-breakpoints) {
// $next: breakpoint-next($breakpoint, $grid-breakpoints);
// $infix: breakpoint-infix($next, $grid-breakpoints);
// &#{$infix} {
// @include media-breakpoint-down($breakpoint) {
// %container-navbar-expand-#{$breakpoint} {
// padding-right: 0;
// padding-left: 0;
// }
// > .container,
// > .container-fluid {
// @extend %container-navbar-expand-#{$breakpoint};
// }
// @each $size, $container-max-width in $container-max-widths {
// > .container#{breakpoint-infix($size, $container-max-widths)} {
// @extend %container-navbar-expand-#{$breakpoint};
// }
// }
// }
// @include media-breakpoint-up($next) {
// flex-flow: row nowrap;
// justify-content: flex-start;
// .navbar-nav {
// flex-direction: row;
// .dropdown-menu {
// position: absolute;
// }
// .nav-link {
// padding-right: $navbar-nav-link-padding-x;
// padding-left: $navbar-nav-link-padding-x;
// }
// }
// // For nesting containers, have to redeclare for alignment purposes
// %container-nesting-#{$breakpoint} {
// flex-wrap: nowrap;
// }
// > .container,
// > .container-fluid {
// @extend %container-nesting-#{$breakpoint};
// }
// @each $size, $container-max-width in $container-max-widths {
// > .container#{breakpoint-infix($size, $container-max-widths)} {
// @extend %container-nesting-#{$breakpoint};
// }
// }
// .navbar-nav-scroll {
// overflow: visible;
// }
// .navbar-collapse {
// display: flex !important; // stylelint-disable-line declaration-no-important
// // Changes flex-bases to auto because of an IE10 bug
// flex-basis: auto;
// }
// .navbar-toggler {
// display: none;
// }
// }
// }
// }
// }
// Navbar themes
//
// Styles for switching between navbars with light or dark background.
// Dark links against a light background
// .navbar-light {
// .navbar-brand {
// color: $navbar-light-brand-color;
// @include hover-focus() {
// color: $navbar-light-brand-hover-color;
// }
// }
// .navbar-nav {
// .nav-link {
// color: $navbar-light-color;
// @include hover-focus() {
// color: $navbar-light-hover-color;
// }
// &.disabled {
// color: $navbar-light-disabled-color;
// }
// }
// .show > .nav-link,
// .active > .nav-link,
// .nav-link.show,
// .nav-link.active {
// color: $navbar-light-active-color;
// }
// }
// .navbar-toggler {
// color: $navbar-light-color;
// border-color: $navbar-light-toggler-border-color;
// }
// .navbar-toggler-icon {
// background-image: escape-svg($navbar-light-toggler-icon-bg);
// }
// .navbar-text {
// color: $navbar-light-color;
// a {
// color: $navbar-light-active-color;
// @include hover-focus() {
// color: $navbar-light-active-color;
// }
// }
// }
// }
// // White links against a dark background
// .navbar-dark {
// .navbar-brand {
// color: $navbar-dark-brand-color;
// @include hover-focus() {
// color: $navbar-dark-brand-hover-color;
// }
// }
// .navbar-nav {
// .nav-link {
// color: $navbar-dark-color;
// @include hover-focus() {
// color: $navbar-dark-hover-color;
// }
// &.disabled {
// color: $navbar-dark-disabled-color;
// }
// }
// .show > .nav-link,
// .active > .nav-link,
// .nav-link.show,
// .nav-link.active {
// color: $navbar-dark-active-color;
// }
// }
// .navbar-toggler {
// color: $navbar-dark-color;
// border-color: $navbar-dark-toggler-border-color;
// }
// .navbar-toggler-icon {
// background-image: escape-svg($navbar-dark-toggler-icon-bg);
// }
// .navbar-text {
// color: $navbar-dark-color;
// a {
// color: $navbar-dark-active-color;
// @include hover-focus() {
// color: $navbar-dark-active-color;
// }
// }
// }
// }

View file

@ -0,0 +1,491 @@
// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix
// Reboot
//
// Normalization of HTML elements, manually forked from Normalize.css to remove
// styles targeting irrelevant browsers while applying new styles.
//
// Normalize is licensed MIT. https://github.com/necolas/normalize.css
// Document
//
// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.
// 2. Change the default font family in all browsers.
// 3. Correct the line height in all browsers.
// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.
// 5. Change the default tap highlight to be completely transparent in iOS.
*,
*::before,
*::after {
box-sizing: border-box; // 1
}
html {
font-family: sans-serif; // 2
line-height: 1.15; // 3
-webkit-text-size-adjust: 100%; // 4
-webkit-tap-highlight-color: rgba($black, 0); // 5
}
// Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers)
// TODO: remove in v5
// stylelint-disable-next-line selector-list-comma-newline-after
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
display: block;
}
// Body
//
// 1. Remove the margin in all browsers.
// 2. As a best practice, apply a default `background-color`.
// 3. Set an explicit initial text-align value so that we can later use
// the `inherit` value on things like `<th>` elements.
body {
margin: 0; // 1
font-family: $font-family-base;
@include font-size($font-size-base);
font-weight: $font-weight-base;
line-height: $line-height-base;
color: $body-color;
text-align: left; // 3
background-color: $body-bg; // 2
-webkit-text-size-adjust: 100%;
-webkit-font-feature-settings: 'kern' 1;
-moz-font-feature-settings: 'kern' 1;
-o-font-feature-settings: 'kern' 1;
font-feature-settings: 'kern' 1;
font-kerning: normal;
}
// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline
// on elements that programmatically receive focus but wouldn't normally show a visible
// focus outline. In general, this would mean that the outline is only applied if the
// interaction that led to the element receiving programmatic focus was a keyboard interaction,
// or the browser has somehow determined that the user is primarily a keyboard user and/or
// wants focus outlines to always be presented.
//
// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible
// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/
[tabindex="-1"]:focus:not(:focus-visible) {
outline: 0 !important;
}
// Content grouping
//
// 1. Add the correct box sizing in Firefox.
// 2. Show the overflow in Edge and IE.
hr {
box-sizing: content-box; // 1
height: 0; // 1
overflow: visible; // 2
}
//
// Typography
//
// Remove top margins from headings
//
// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top
// margin for easier control within type scales as it avoids margin collapsing.
// stylelint-disable-next-line selector-list-comma-newline-after
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: $headings-margin-bottom;
}
// Reset margins on paragraphs
//
// Similarly, the top margin on `<p>`s get reset. However, we also reset the
// bottom margin to use `rem` units instead of `em`.
p {
margin-top: 0;
margin-bottom: $paragraph-margin-bottom;
}
// Abbreviations
//
// 1. Duplicate behavior to the data-* attribute for our tooltip plugin
// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
// 3. Add explicit cursor to indicate changed behavior.
// 4. Remove the bottom border in Firefox 39-.
// 5. Prevent the text-decoration to be skipped.
abbr[title],
abbr[data-original-title] { // 1
text-decoration: underline; // 2
text-decoration: underline dotted; // 2
cursor: help; // 3
border-bottom: 0; // 4
text-decoration-skip-ink: none; // 5
}
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
dt {
font-weight: $dt-font-weight;
}
dd {
margin-bottom: .5rem;
margin-left: 0; // Undo browser default
}
blockquote {
margin: 0 0 1rem;
}
b,
strong {
font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari
}
small {
@include font-size(80%); // Add the correct font size in all browsers
}
//
// Prevent `sub` and `sup` elements from affecting the line height in
// all browsers.
//
sub,
sup {
position: relative;
@include font-size(75%);
line-height: 0;
vertical-align: baseline;
}
sub { bottom: -.25em; }
sup { top: -.5em; }
//
// Links
//
a {
color: $link-color;
text-decoration: $link-decoration;
background-color: transparent; // Remove the gray background on active links in IE 10.
@include hover() {
color: $link-hover-color;
text-decoration: $link-hover-decoration;
}
}
// And undo these styles for placeholder links/named anchors (without href).
// It would be more straightforward to just use a[href] in previous block, but that
// causes specificity issues in many other styles that are too complex to fix.
// See https://github.com/twbs/bootstrap/issues/19402
a:not([href]):not([class]) {
color: inherit;
text-decoration: none;
@include hover() {
color: inherit;
text-decoration: none;
}
}
//
// Code
//
pre,
code,
kbd,
samp {
font-family: $font-family-monospace;
@include font-size(1em); // Correct the odd `em` font sizing in all browsers.
}
pre {
// Remove browser default top margin
margin-top: 0;
// Reset browser default of `1em` to use `rem`s
margin-bottom: 1rem;
// Don't allow content to break outside
overflow: auto;
// Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,
// making it impossible to interact with the content
-ms-overflow-style: scrollbar;
}
//
// Figures
//
figure {
// Apply a consistent margin strategy (matches our type styles).
margin: 0 0 1rem;
}
//
// Images and content
//
img {
vertical-align: middle;
border-style: none; // Remove the border on images inside links in IE 10-.
}
svg {
// Workaround for the SVG overflow bug in IE10/11 is still required.
// See https://github.com/twbs/bootstrap/issues/26878
overflow: hidden;
vertical-align: middle;
}
//
// Tables
//
table {
border-collapse: collapse; // Prevent double borders
}
caption {
padding-top: $table-cell-padding;
padding-bottom: $table-cell-padding;
color: $table-caption-color;
text-align: left;
caption-side: bottom;
}
// 1. Removes font-weight bold by inheriting
// 2. Matches default `<td>` alignment by inheriting `text-align`.
// 3. Fix alignment for Safari
th {
font-weight: $table-th-font-weight; // 1
text-align: inherit; // 2
text-align: -webkit-match-parent; // 3
}
//
// Forms
//
label {
// Allow labels to use `margin` for spacing.
display: inline-block;
margin-bottom: $label-margin-bottom;
}
// Remove the default `border-radius` that macOS Chrome adds.
//
// Details at https://github.com/twbs/bootstrap/issues/24093
button {
// stylelint-disable-next-line property-disallowed-list
border-radius: 0;
}
// Explicitly remove focus outline in Chromium when it shouldn't be
// visible (e.g. as result of mouse click or touch tap). It already
// should be doing this automatically, but seems to currently be
// confused and applies its very visible two-tone outline anyway.
button:focus:not(:focus-visible) {
outline: 0;
}
input,
button,
select,
optgroup,
textarea {
margin: 0; // Remove the margin in Firefox and Safari
font-family: inherit;
@include font-size(inherit);
line-height: inherit;
}
button,
input {
overflow: visible; // Show the overflow in Edge
}
button,
select {
text-transform: none; // Remove the inheritance of text transform in Firefox
}
// Set the cursor for non-`<button>` buttons
//
// Details at https://github.com/twbs/bootstrap/pull/30562
[role="button"] {
cursor: pointer;
}
// Remove the inheritance of word-wrap in Safari.
//
// Details at https://github.com/twbs/bootstrap/issues/24990
select {
word-wrap: normal;
}
// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
// controls in Android 4.
// 2. Correct the inability to style clickable types in iOS and Safari.
button,
[type="button"], // 1
[type="reset"],
[type="submit"] {
-webkit-appearance: button; // 2
}
// Opinionated: add "hand" cursor to non-disabled button elements.
@if $enable-pointer-cursor-for-buttons {
button,
[type="button"],
[type="reset"],
[type="submit"] {
&:not(:disabled) {
cursor: pointer;
}
}
}
// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
padding: 0;
border-style: none;
}
input[type="radio"],
input[type="checkbox"] {
box-sizing: border-box; // 1. Add the correct box sizing in IE 10-
padding: 0; // 2. Remove the padding in IE 10-
}
textarea {
overflow: auto; // Remove the default vertical scrollbar in IE.
// Textareas should really only resize vertically so they don't break their (horizontal) containers.
resize: vertical;
}
fieldset {
// Browsers set a default `min-width: min-content;` on fieldsets,
// unlike e.g. `<div>`s, which have `min-width: 0;` by default.
// So we reset that to ensure fieldsets behave more like a standard block element.
// See https://github.com/twbs/bootstrap/issues/12359
// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements
min-width: 0;
// Reset the default outline behavior of fieldsets so they don't affect page layout.
padding: 0;
margin: 0;
border: 0;
}
// 1. Correct the text wrapping in Edge and IE.
// 2. Correct the color inheritance from `fieldset` elements in IE.
// legend {
// display: block;
// width: 100%;
// max-width: 100%; // 1
// padding: 0;
// margin-bottom: .5rem;
// @include font-size(1.5rem);
// line-height: inherit;
// color: inherit; // 2
// white-space: normal; // 1
// }
progress {
vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.
}
// Correct the cursor style of increment and decrement buttons in Chrome.
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
[type="search"] {
// This overrides the extra rounded corners on search inputs in iOS so that our
// `.form-control` class can properly style them. Note that this cannot simply
// be added to `.form-control` as it's not specific enough. For details, see
// https://github.com/twbs/bootstrap/issues/11586.
outline-offset: -2px; // 2. Correct the outline style in Safari.
-webkit-appearance: none;
}
//
// Remove the inner padding in Chrome and Safari on macOS.
//
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
//
// 1. Correct the inability to style clickable types in iOS and Safari.
// 2. Change font properties to `inherit` in Safari.
//
::-webkit-file-upload-button {
font: inherit; // 2
-webkit-appearance: button; // 1
}
//
// Correct element displays
//
output {
display: inline-block;
}
summary {
display: list-item; // Add the correct display in all browsers
cursor: pointer;
}
template {
display: none; // Add the correct display in IE
}
// Always hide an element with the `hidden` HTML attribute (from PureCSS).
// Needed for proper display in IE 10-.
[hidden] {
display: none !important;
}

View file

@ -0,0 +1,18 @@
@import "bootstrap-custom/utilities/align";
@import "bootstrap-custom/utilities/background";
@import "bootstrap-custom/utilities/borders";
@import "bootstrap-custom/utilities/clearfix";
@import "bootstrap-custom/utilities/display";
@import "bootstrap-custom/utilities/embed";
@import "bootstrap-custom/utilities/flex";
@import "bootstrap-custom/utilities/float";
@import "bootstrap-custom/utilities/interactions";
@import "bootstrap-custom/utilities/overflow";
@import "bootstrap-custom/utilities/position";
@import "bootstrap-custom/utilities/screenreaders";
@import "bootstrap-custom/utilities/shadows";
@import "bootstrap-custom/utilities/sizing";
@import "bootstrap-custom/utilities/spacing";
@import "bootstrap-custom/utilities/stretched-link";
@import "bootstrap-custom/utilities/text";
@import "bootstrap-custom/utilities/visibility";

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,8 @@
// stylelint-disable declaration-no-important
// .align-baseline { vertical-align: baseline !important; } // Browser default
// .align-top { vertical-align: top !important; }
// .align-middle { vertical-align: middle !important; }
// .align-bottom { vertical-align: bottom !important; }
// .align-text-bottom { vertical-align: text-bottom !important; }
// .align-text-top { vertical-align: text-top !important; }

View file

@ -0,0 +1,19 @@
// stylelint-disable declaration-no-important
// @each $color, $value in $theme-colors {
// @include bg-variant(".bg-#{$color}", $value, true);
// }
// @if $enable-gradients {
// @each $color, $value in $theme-colors {
// @include bg-gradient-variant(".bg-gradient-#{$color}", $value, true);
// }
// }
.bg-white {
background-color: $white !important;
}
.bg-transparent {
background-color: transparent !important;
}

View file

@ -0,0 +1,75 @@
// stylelint-disable property-disallowed-list, declaration-no-important
//
// Border
//
.border { border: $border-width solid $border-color !important; }
.border-top { border-top: $border-width solid $border-color !important; }
.border-right { border-right: $border-width solid $border-color !important; }
.border-bottom { border-bottom: $border-width solid $border-color !important; }
.border-left { border-left: $border-width solid $border-color !important; }
.border-0 { border: 0 !important; }
.border-top-0 { border-top: 0 !important; }
.border-right-0 { border-right: 0 !important; }
.border-bottom-0 { border-bottom: 0 !important; }
.border-left-0 { border-left: 0 !important; }
@each $color, $value in $theme-colors {
.border-#{$color} {
border-color: $value !important;
}
}
.border-white {
border-color: $white !important;
}
//
// Border-radius
//
// .rounded-sm {
// border-radius: $border-radius-sm !important;
// }
.rounded {
border-radius: $border-radius !important;
}
// .rounded-top {
// border-top-left-radius: $border-radius !important;
// border-top-right-radius: $border-radius !important;
// }
.rounded-right {
border-top-right-radius: $border-radius !important;
border-bottom-right-radius: $border-radius !important;
}
// .rounded-bottom {
// border-bottom-right-radius: $border-radius !important;
// border-bottom-left-radius: $border-radius !important;
// }
// .rounded-left {
// border-top-left-radius: $border-radius !important;
// border-bottom-left-radius: $border-radius !important;
// }
// .rounded-lg {
// border-radius: $border-radius-lg !important;
// }
// .rounded-circle {
// border-radius: 50% !important;
// }
// .rounded-pill {
// border-radius: $rounded-pill !important;
// }
// .rounded-0 {
// border-radius: 0 !important;
// }

View file

@ -0,0 +1,3 @@
.clearfix {
@include clearfix();
}

View file

@ -0,0 +1,26 @@
// stylelint-disable declaration-no-important
//
// Utilities for common `display` values
//
@each $breakpoint in map-keys($grid-breakpoints) {
@include media-breakpoint-up($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
@each $value in $displays {
.d#{$infix}-#{$value} { display: $value !important; }
}
}
}
//
// Utilities for toggling `display` in print
//
// @media print {
// @each $value in $displays {
// .d-print-#{$value} { display: $value !important; }
// }
// }

View file

@ -0,0 +1,39 @@
// Credit: Nicolas Gallagher and SUIT CSS.
// .embed-responsive {
// position: relative;
// display: block;
// width: 100%;
// padding: 0;
// overflow: hidden;
// &::before {
// display: block;
// content: "";
// }
// .embed-responsive-item,
// iframe,
// embed,
// object,
// video {
// position: absolute;
// top: 0;
// bottom: 0;
// left: 0;
// width: 100%;
// height: 100%;
// border: 0;
// }
// }
// @each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios {
// $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1);
// $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2);
// .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} {
// &::before {
// padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x);
// }
// }
// }

Some files were not shown because too many files have changed in this diff Show more