import from la bonne adresse and first refactoring for ouidade.com
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
// Core
|
||||
@import "core";
|
||||
|
||||
// Breakpoints
|
||||
@import "breakpoints";
|
||||
|
||||
// Layout
|
||||
@import "layout";
|
||||
|
||||
// Typography
|
||||
@import "typography";
|
||||
|
||||
// Nav
|
||||
@import "nav";
|
||||
@@ -0,0 +1,16 @@
|
||||
// Media Device Breakpoints
|
||||
$large-desktop-container: 75.000em !default;
|
||||
$desktop-container: 60.000em !default;
|
||||
$tablet-container: 48.000em !default;
|
||||
$large-mobile-container: 30.000em !default;
|
||||
$mobile-container: 100% !default;
|
||||
|
||||
// Breakpoint Variables For Particles
|
||||
$media: "all" !default;
|
||||
$mobile-only: "#{$media} and (max-width:#{$tablet-container - 0.062})" !default;
|
||||
$no-mobile: "#{$media} and (min-width:#{$tablet-container})" !default;
|
||||
$small-mobile-range: "#{$media} and (max-width:#{$large-mobile-container})" !default;
|
||||
$large-mobile-range: "#{$media} and (min-width:#{$large-mobile-container + 0.063}) and (max-width:#{$tablet-container - 0.062})" !default;
|
||||
$tablet-range: "#{$media} and (min-width:#{$tablet-container}) and (max-width:#{$desktop-container - 0.062})" !default;
|
||||
$desktop-range: "#{$media} and (min-width:#{$desktop-container}) and (max-width:#{$large-desktop-container - 0.062})" !default;
|
||||
$large-desktop-range: "#{$media} and (min-width:#{$large-desktop-container})" !default;
|
||||
@@ -0,0 +1,2 @@
|
||||
// Border Radius
|
||||
$core-border-radius: rem(3) !default;
|
||||
@@ -0,0 +1,8 @@
|
||||
// Content Block Spacing Variables
|
||||
$content-margin: 0.625rem !default;
|
||||
$content-padding: 0.938rem !default;
|
||||
|
||||
// Fixed Block Variables
|
||||
$fixed-block-full: percentage(1/4) !default;
|
||||
$fixed-block-desktop: percentage(1/3) !default;
|
||||
$fixed-block-tablet: percentage(1/2) !default;
|
||||
@@ -0,0 +1,3 @@
|
||||
// Dropdowns
|
||||
$dropdown-width: 140px !default;
|
||||
$flyout-width: 140px !default;
|
||||
@@ -0,0 +1,14 @@
|
||||
// Base Sizes
|
||||
$core-font-size: 1rem !default;
|
||||
$core-line-height: 1.7 !default;
|
||||
|
||||
// Heading Sizes
|
||||
$h1-font-size: $core-font-size + 2.20 !default;
|
||||
$h2-font-size: $core-font-size + 1.50 !default;
|
||||
$h3-font-size: $core-font-size + 1.10 !default;
|
||||
$h4-font-size: $core-font-size + 0.75 !default;
|
||||
$h5-font-size: $core-font-size + 0.35 !default;
|
||||
$h6-font-size: $core-font-size - 0.15 !default;
|
||||
|
||||
// Spacing
|
||||
$leading-margin: $core-line-height * 1rem !default;
|
||||
@@ -0,0 +1,11 @@
|
||||
// Colors
|
||||
@import "colors";
|
||||
|
||||
// Typography
|
||||
@import "typography";
|
||||
|
||||
// Typography
|
||||
@import "bullets";
|
||||
|
||||
// Variables
|
||||
@import "variables";
|
||||
@@ -0,0 +1,5 @@
|
||||
$bullet-icon-size: 3.5rem;
|
||||
|
||||
$bullet-icon-color-1: $core-accent;
|
||||
$bullet-icon-color-2: adjust-hue($core-accent, -20);
|
||||
$bullet-icon-color-3: adjust-hue($core-accent, -130);
|
||||
@@ -0,0 +1,78 @@
|
||||
// Core
|
||||
$core-text: #fff;
|
||||
$core-accent: #0082BA;
|
||||
$secondary-link: #DA4B46;
|
||||
$white: #fff;
|
||||
$black: #000;
|
||||
$light-gray: #ddd;
|
||||
$border-color: #EEEEEE;
|
||||
|
||||
// Admin colors
|
||||
$page-bg: #314D5B;
|
||||
$accent-bg: #253A47;
|
||||
$accent-fg: #fff;
|
||||
$darker-accent-bg: shade($accent-bg,12%);
|
||||
$darker-accent-fg: shade($accent-fg,10%);
|
||||
$secondary-accent-bg: #349886;
|
||||
$secondary-accent-fg: #fff;
|
||||
$tertiary-accent-bg: #2693B7;
|
||||
$tertiary-accent-fg: #fff;
|
||||
$info-bg: #9055AF;
|
||||
$info-fg: #fff;
|
||||
$notice-bg: #DA4B46;
|
||||
$notice-fg: #fff;
|
||||
$content-bg: #EEEEEE;
|
||||
$content-fg: #737C81;
|
||||
|
||||
|
||||
// Borders
|
||||
$core-border-color: $light-gray;
|
||||
$core-border-color-hover: darken($core-border-color, 10);
|
||||
$core-border-color-focus: $core-accent;
|
||||
|
||||
// Shadows
|
||||
$core-box-shadow: inset 0 1px 3px hsla(0, 0%, 0%, 0.06);
|
||||
$core-box-shadow-focus: $core-box-shadow, 0 0 5px rgba(darken($core-border-color-focus, 5), 0.7);
|
||||
|
||||
|
||||
// Header
|
||||
$header-text: #FFFFFF;
|
||||
|
||||
// Nav
|
||||
$navbar-text: #75879A;
|
||||
$navbar-bg: #FFFFFF;
|
||||
|
||||
// Showcase
|
||||
$showcase-bg: lighten($core-accent, 6%);
|
||||
$showcase-text: #fff;
|
||||
|
||||
// Feature
|
||||
$feature-bg: #fff;
|
||||
|
||||
// Main Body
|
||||
$main-bg: #f7f7f7;
|
||||
$body-border: darken($main-bg, 5%);
|
||||
|
||||
// Sidebar
|
||||
$sidebar-text: #aaa;
|
||||
|
||||
// Bottom
|
||||
$bottom-bg: #f7f7f7;
|
||||
$bottom-text: $core-text;
|
||||
|
||||
// Footer
|
||||
$footer-bg: #404040;
|
||||
$footer-text: #ccc;
|
||||
|
||||
$rule-color: #F0F2F4;
|
||||
$code-text: #c7254e;
|
||||
$code-bg: #f9f2f4;
|
||||
$pre-text: #237794;
|
||||
$pre-bg: #f6f6f6;
|
||||
|
||||
// Dark Contrast variation
|
||||
$dark-navbar-text: #999;
|
||||
$dark-sidebar: #222;
|
||||
$dark-sidebar-text: #999;
|
||||
$dark-main-bg: #333;
|
||||
$dark-body-border: #666;
|
||||
@@ -0,0 +1,7 @@
|
||||
// Font Family
|
||||
$font-family-default: "Lato", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif;
|
||||
$font-family-header: "Montserrat", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif;
|
||||
$font-family-mono: "Ubuntu Mono", monospace;
|
||||
$font-family-serif: "Georgia", "Times", "Times New Roman", serif;
|
||||
|
||||
$icons: "FontAwesome";
|
||||
@@ -0,0 +1,14 @@
|
||||
// Sizes
|
||||
$header-height: 5rem;
|
||||
$footer-height: 6rem;
|
||||
$border-radius: 4px;
|
||||
|
||||
// Font Weights
|
||||
$font-weight-bold: 600;
|
||||
$font-weight-regular: 400;
|
||||
$font-weight-light:300;
|
||||
|
||||
// Global Paddings
|
||||
$padding-default: 3rem;
|
||||
$padding-horiz: 7rem;
|
||||
$padding-vert: 3rem;
|
||||
@@ -0,0 +1,27 @@
|
||||
// REQUIRED DEPENDENCIES - DO NOT CHANGE
|
||||
|
||||
// Load Third Party Libraries
|
||||
@import "vendor/bourbon/bourbon";
|
||||
|
||||
// Load Nucleus Configuration
|
||||
@import "configuration/nucleus/base";
|
||||
|
||||
// Load Nucleus Mixins and Functions
|
||||
@import "nucleus/functions/base";
|
||||
@import "nucleus/mixins/base";
|
||||
|
||||
//-------------------------------------------
|
||||
|
||||
// LOAD NUCLEUS COMPONENTS
|
||||
|
||||
// Core
|
||||
@import "nucleus/core";
|
||||
|
||||
// Flex
|
||||
@import "nucleus/flex";
|
||||
|
||||
// Typography
|
||||
@import "nucleus/typography";
|
||||
|
||||
// Forms
|
||||
@import "nucleus/forms";
|
||||
@@ -0,0 +1,217 @@
|
||||
*, *::before, *::after {
|
||||
@include box-sizing(border-box);
|
||||
}
|
||||
|
||||
@-webkit-viewport{width:device-width}
|
||||
@-moz-viewport{width:device-width}
|
||||
@-ms-viewport{width:device-width}
|
||||
@-o-viewport{width:device-width}
|
||||
@viewport{width:device-width}
|
||||
|
||||
html {
|
||||
font-size: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
article,
|
||||
aside,
|
||||
details,
|
||||
figcaption,
|
||||
figure,
|
||||
footer,
|
||||
header,
|
||||
hgroup,
|
||||
main,
|
||||
nav,
|
||||
section,
|
||||
summary {
|
||||
display: block;
|
||||
}
|
||||
|
||||
audio,
|
||||
canvas,
|
||||
progress,
|
||||
video {
|
||||
display: inline-block;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
audio:not([controls]) {
|
||||
display: none;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
[hidden],
|
||||
template {
|
||||
display: none;
|
||||
}
|
||||
|
||||
a {
|
||||
background: transparent;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:active,
|
||||
a:hover {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
abbr[title] {
|
||||
border-bottom: 1px dotted;
|
||||
}
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
dfn {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
mark {
|
||||
background: #ff0;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
sub,
|
||||
sup {
|
||||
font-size: $core-font-size - 0.250;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 1em 40px;
|
||||
}
|
||||
|
||||
hr {
|
||||
height: 0;
|
||||
}
|
||||
|
||||
pre {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
code,
|
||||
kbd,
|
||||
pre,
|
||||
samp {
|
||||
font-size: $core-font-size;
|
||||
}
|
||||
|
||||
button,
|
||||
input,
|
||||
optgroup,
|
||||
select,
|
||||
textarea {
|
||||
color: inherit;
|
||||
font: inherit;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
button {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
button,
|
||||
html input[type="button"],
|
||||
input[type="reset"],
|
||||
input[type="submit"] {
|
||||
-webkit-appearance: button;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
button[disabled],
|
||||
html input[disabled] {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
button::-moz-focus-inner,
|
||||
input::-moz-focus-inner {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
input {
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
input[type="checkbox"],
|
||||
input[type="radio"] {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
input[type="number"]::-webkit-inner-spin-button,
|
||||
input[type="number"]::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
input[type="search"] {
|
||||
-webkit-appearance: textfield;
|
||||
}
|
||||
|
||||
input[type="search"]::-webkit-search-cancel-button,
|
||||
input[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
legend {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
textarea {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
optgroup {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
table-layout: fixed;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
tr, td, th {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: ($leading-margin / 4) 0;
|
||||
}
|
||||
|
||||
th {
|
||||
text-align: left;
|
||||
}
|
||||
@@ -0,0 +1,195 @@
|
||||
// Page Container
|
||||
.container {
|
||||
width: $large-desktop-container;
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
@include breakpoint(desktop-range) {
|
||||
width: $desktop-container;
|
||||
}
|
||||
@include breakpoint(tablet-range) {
|
||||
width: $tablet-container;
|
||||
}
|
||||
@include breakpoint(large-mobile-range) {
|
||||
width: $large-mobile-container;
|
||||
}
|
||||
@include breakpoint(small-mobile-range) {
|
||||
width: $mobile-container;
|
||||
}
|
||||
}
|
||||
|
||||
// Grid Row and Column Setup
|
||||
.grid {
|
||||
@include display(flex);
|
||||
@include flex-flow(row);
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
@include breakpoint(mobile-only) {
|
||||
@include flex-flow(row wrap);
|
||||
}
|
||||
}
|
||||
|
||||
.block {
|
||||
@include flex(1);
|
||||
@include breakpoint(mobile-only) {
|
||||
@include flex(0 100%);
|
||||
}
|
||||
}
|
||||
|
||||
// Content Block Spacing
|
||||
.content {
|
||||
margin: $content-margin;
|
||||
padding: $content-padding;
|
||||
}
|
||||
|
||||
body [class*="size-"] {
|
||||
@include breakpoint(mobile-only) {
|
||||
@include flex(0 100%);
|
||||
}
|
||||
}
|
||||
|
||||
// Custom Size Modifiers
|
||||
.size-1-2 {
|
||||
@include flex(0 percentage(1/2));
|
||||
}
|
||||
|
||||
.size-1-3 {
|
||||
@include flex(0 percentage(1/3));
|
||||
}
|
||||
|
||||
.size-1-4 {
|
||||
@include flex(0 percentage(1/4));
|
||||
}
|
||||
|
||||
.size-1-5 {
|
||||
@include flex(0 percentage(1/5));
|
||||
}
|
||||
|
||||
.size-1-6 {
|
||||
@include flex(0 percentage(1/6));
|
||||
}
|
||||
|
||||
.size-1-7 {
|
||||
@include flex(0 percentage(1/7));
|
||||
}
|
||||
|
||||
.size-1-8 {
|
||||
@include flex(0 percentage(1/8));
|
||||
}
|
||||
|
||||
.size-1-9 {
|
||||
@include flex(0 percentage(1/9));
|
||||
}
|
||||
|
||||
.size-1-10 {
|
||||
@include flex(0 percentage(1/10));
|
||||
}
|
||||
|
||||
.size-1-11 {
|
||||
@include flex(0 percentage(1/11));
|
||||
}
|
||||
|
||||
.size-1-12 {
|
||||
@include flex(0 percentage(1/12));
|
||||
}
|
||||
|
||||
@include breakpoint(tablet-range) {
|
||||
.size-tablet-1-2 {
|
||||
@include flex(0 percentage(1/2));
|
||||
}
|
||||
|
||||
.size-tablet-1-3 {
|
||||
@include flex(0 percentage(1/3));
|
||||
}
|
||||
|
||||
.size-tablet-1-4 {
|
||||
@include flex(0 percentage(1/4));
|
||||
}
|
||||
|
||||
.size-tablet-1-5 {
|
||||
@include flex(0 percentage(1/5));
|
||||
}
|
||||
|
||||
.size-tablet-1-6 {
|
||||
@include flex(0 percentage(1/6));
|
||||
}
|
||||
|
||||
.size-tablet-1-7 {
|
||||
@include flex(0 percentage(1/7));
|
||||
}
|
||||
|
||||
.size-tablet-1-8 {
|
||||
@include flex(0 percentage(1/8));
|
||||
}
|
||||
|
||||
.size-tablet-1-9 {
|
||||
@include flex(0 percentage(1/9));
|
||||
}
|
||||
|
||||
.size-tablet-1-10 {
|
||||
@include flex(0 percentage(1/10));
|
||||
}
|
||||
|
||||
.size-tablet-1-11 {
|
||||
@include flex(0 percentage(1/11));
|
||||
}
|
||||
|
||||
.size-tablet-1-12 {
|
||||
@include flex(0 percentage(1/12));
|
||||
}
|
||||
}
|
||||
|
||||
// Fix for Firefox versions 27 and below
|
||||
@include breakpoint(mobile-only) {
|
||||
@supports not (flex-wrap: wrap) {
|
||||
.grid {
|
||||
display: block;
|
||||
@include flex-wrap(inherit);
|
||||
}
|
||||
.block {
|
||||
display: block;
|
||||
@include flex(inherit);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Reordering
|
||||
.first-block {
|
||||
-webkit-box-ordinal-group: 0;
|
||||
-webkit-order: -1;
|
||||
-ms-flex-order: -1;
|
||||
order: -1;
|
||||
}
|
||||
|
||||
.last-block {
|
||||
-webkit-box-ordinal-group: 2;
|
||||
-webkit-order: 1;
|
||||
-ms-flex-order: 1;
|
||||
order: 1;
|
||||
}
|
||||
|
||||
// Fixed Grid Style
|
||||
.fixed-blocks {
|
||||
@include flex-flow(row wrap);
|
||||
.block {
|
||||
@include flex(inherit);
|
||||
width: $fixed-block-full;
|
||||
@include breakpoint(desktop-range) {
|
||||
width: $fixed-block-desktop;
|
||||
}
|
||||
@include breakpoint(tablet-range) {
|
||||
width: $fixed-block-tablet;
|
||||
}
|
||||
@include breakpoint(mobile-only) {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Fix for browsers that don't support flex-wrap
|
||||
@supports not (flex-wrap: wrap) {
|
||||
.fixed-blocks {
|
||||
display: block;
|
||||
@include flex-flow(inherit);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
fieldset {
|
||||
border: 0;
|
||||
padding: $content-padding;
|
||||
margin: 0 0 $leading-margin 0;
|
||||
}
|
||||
|
||||
input,
|
||||
label,
|
||||
select {
|
||||
display: block;
|
||||
}
|
||||
|
||||
label {
|
||||
margin-bottom: $leading-margin / 4;
|
||||
|
||||
&.required:after {
|
||||
content: "*";
|
||||
}
|
||||
|
||||
abbr {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
textarea, #{$all-text-inputs}, select[multiple=multiple] {
|
||||
@include transition(border-color);
|
||||
border-radius: $core-border-radius;
|
||||
padding: ($leading-margin / 4) ($leading-margin / 4);
|
||||
width: 100%;
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
}
|
||||
}
|
||||
|
||||
textarea {
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
input[type="checkbox"], input[type="radio"] {
|
||||
display: inline;
|
||||
margin-right: $leading-margin / 4;
|
||||
}
|
||||
|
||||
input[type="file"] {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
select {
|
||||
width: auto;
|
||||
max-width: 100%;
|
||||
margin-bottom: $leading-margin;
|
||||
}
|
||||
|
||||
button,
|
||||
input[type="submit"] {
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
vertical-align: middle;
|
||||
white-space: nowrap;
|
||||
border: inherit;
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
// Body Base
|
||||
body {
|
||||
font-size: $core-font-size;
|
||||
line-height: $core-line-height;
|
||||
}
|
||||
|
||||
// Headings
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin: $leading-margin 0 $leading-margin / 2 0;
|
||||
text-rendering: optimizeLegibility;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: $h1-font-size;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: $h2-font-size;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: $h3-font-size;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: $h4-font-size;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: $h5-font-size;
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: $h6-font-size;
|
||||
}
|
||||
|
||||
// Paragraph
|
||||
p {
|
||||
margin: $leading-margin / 2 0 $leading-margin ;
|
||||
}
|
||||
|
||||
// Lists
|
||||
ul, ol {
|
||||
margin-top: $leading-margin;
|
||||
margin-bottom: $leading-margin;
|
||||
ul, ol {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Blockquote
|
||||
blockquote {
|
||||
margin: $leading-margin 0;
|
||||
padding-left: $leading-margin / 2;
|
||||
}
|
||||
|
||||
cite {
|
||||
display: block;
|
||||
font-size: $core-font-size - 0.125;
|
||||
&:before {
|
||||
content: "\2014 \0020";
|
||||
}
|
||||
}
|
||||
|
||||
// Inline and Code
|
||||
pre {
|
||||
margin: $leading-margin 0;
|
||||
padding: $content-padding;
|
||||
}
|
||||
|
||||
code {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
// Extras
|
||||
small {
|
||||
font-size: $core-font-size - 0.125;
|
||||
}
|
||||
|
||||
hr {
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
border-top: none;
|
||||
margin: $leading-margin 0;
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
@import "direction";
|
||||
@import "range";
|
||||
@@ -0,0 +1,37 @@
|
||||
@function opposite-direction($dir) {
|
||||
@if $dir == 'left' {
|
||||
@return right;
|
||||
}
|
||||
@else if $dir == 'right' {
|
||||
@return left;
|
||||
}
|
||||
@else if $dir == 'ltr' {
|
||||
@return rtl;
|
||||
}
|
||||
@else if $dir == 'rtl' {
|
||||
@return ltr;
|
||||
}
|
||||
@else if $dir == 'top' {
|
||||
@return bottom;
|
||||
}
|
||||
@else if $dir == 'bottom' {
|
||||
@return top;
|
||||
}
|
||||
@else {
|
||||
@warn "#{$dir} is not a direction! Make sure your direction is all lowercase!";
|
||||
@return false;
|
||||
}
|
||||
}
|
||||
|
||||
@function named-direction($dir) {
|
||||
@if $dir == 'ltr' {
|
||||
@return left;
|
||||
}
|
||||
@else if $dir == 'rtl' {
|
||||
@return right;
|
||||
}
|
||||
@else {
|
||||
@warn "#{$dir} is not a valid HTML direction! Make sure you are using a valid HTML direction";
|
||||
@return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
@function lower-bound($range){
|
||||
@if length($range) <= 0 {
|
||||
@return 0;
|
||||
}
|
||||
@return nth($range,1);
|
||||
}
|
||||
|
||||
@function upper-bound($range) {
|
||||
@if length($range) < 2 {
|
||||
@return 999999999999;
|
||||
}
|
||||
@return nth($range, 2);
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
@import "breakpoints";
|
||||
@import "utilities";
|
||||
@@ -0,0 +1,30 @@
|
||||
// Breakpoints
|
||||
@mixin breakpoint($breakpoints, $media: all) {
|
||||
@each $breakpoint in $breakpoints {
|
||||
@if $breakpoint == large-desktop-range {
|
||||
@media only #{$media} and (min-width: $large-desktop-container) { @content; }
|
||||
}
|
||||
@else if $breakpoint == desktop-range {
|
||||
@media only #{$media} and (min-width: $desktop-container) and (max-width: $large-desktop-container - 0.062) { @content; }
|
||||
}
|
||||
@else if $breakpoint == tablet-range {
|
||||
@media only #{$media} and (min-width: $tablet-container) and (max-width: $desktop-container - 0.062) { @content; }
|
||||
}
|
||||
@else if $breakpoint == large-mobile-range {
|
||||
@media only #{$media} and (min-width: $large-mobile-container + 0.063) and (max-width: $tablet-container - 0.062) { @content; }
|
||||
}
|
||||
@else if $breakpoint == small-mobile-range {
|
||||
@media only #{$media} and (max-width: $large-mobile-container) { @content; }
|
||||
}
|
||||
@else if $breakpoint == no-mobile {
|
||||
@media only #{$media} and (min-width: $tablet-container) { @content; }
|
||||
}
|
||||
@else if $breakpoint == mobile-only {
|
||||
@media only #{$media} and (max-width: $tablet-container - 0.062) { @content; }
|
||||
}
|
||||
@else if $breakpoint == desktop-only {
|
||||
@media only #{$media} and (max-width: $desktop-container - 0.062) { @content; }
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
|
||||
|
||||
// List Reset
|
||||
%list-reset {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
// Vertical Centering
|
||||
%vertical-align {
|
||||
position: relative;
|
||||
top: 50%;
|
||||
-webkit-transform: translateY(-50%);
|
||||
-moz-transform: translateY(-50%);
|
||||
-o-transform: translateY(-50%);
|
||||
-ms-transform: translateY(-50%);
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
// Columns
|
||||
@mixin columns($columns) {
|
||||
width: percentage(1/$columns);
|
||||
}
|
||||
|
||||
// Float with margin variable
|
||||
@mixin float($direction, $margin: 0) {
|
||||
float: $direction;
|
||||
margin-#{opposite-direction($direction)}: $margin;
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
// Alignment Classes
|
||||
$align-class-names:
|
||||
large-desktop,
|
||||
desktop,
|
||||
tablet,
|
||||
large-mobile,
|
||||
small-mobile,
|
||||
no-mobile,
|
||||
mobile-only;
|
||||
|
||||
// Breakpoints
|
||||
$align-class-breakpoints:
|
||||
$large-desktop-range,
|
||||
$desktop-range,
|
||||
$tablet-range,
|
||||
$large-mobile-range,
|
||||
$small-mobile-range,
|
||||
$no-mobile,
|
||||
$mobile-only;
|
||||
|
||||
// Create Responsive Alignment Classes
|
||||
@mixin align-classes{
|
||||
.text-left {
|
||||
text-align: left !important;
|
||||
}
|
||||
.text-right {
|
||||
text-align: right !important;
|
||||
}
|
||||
.text-center {
|
||||
text-align: center !important;
|
||||
}
|
||||
.text-justify {
|
||||
text-align: justify !important;
|
||||
}
|
||||
|
||||
@for $i from 1 through length($align-class-names) {
|
||||
@media #{(nth($align-class-breakpoints, $i))} {
|
||||
.#{(nth($align-class-names, $i))}-text-left { text-align: left !important; }
|
||||
.#{(nth($align-class-names, $i))}-text-right { text-align: right !important; }
|
||||
.#{(nth($align-class-names, $i))}-text-center { text-align: center !important; }
|
||||
.#{(nth($align-class-names, $i))}-text-justify { text-align: justify !important; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include align-classes;
|
||||
@@ -0,0 +1,80 @@
|
||||
// REQUIRED DEPENDENCIES - DO NOT CHANGE
|
||||
|
||||
// Load Third Party Libraries
|
||||
@import "vendor/bourbon/bourbon";
|
||||
|
||||
// Load Nucleus Configuration
|
||||
@import "configuration/nucleus/base";
|
||||
|
||||
// Load Template Configuration
|
||||
@import "configuration/template/base";
|
||||
|
||||
// Load Nucleus Mixins and Functions
|
||||
@import "nucleus/functions/base";
|
||||
@import "nucleus/mixins/base";
|
||||
|
||||
// Load Template Library
|
||||
@import "template/modules/base";
|
||||
|
||||
//------------------------------------------
|
||||
|
||||
// TEMPLATE COMPONENTS
|
||||
|
||||
// Core
|
||||
@import "template/core";
|
||||
@import "template/fonts";
|
||||
|
||||
// Extensions
|
||||
@import "template/extensions";
|
||||
|
||||
// Header
|
||||
@import "template/header";
|
||||
|
||||
// Typography
|
||||
@import "template/typography";
|
||||
|
||||
// Forms
|
||||
@import "template/forms";
|
||||
|
||||
// Tables
|
||||
@import "template/tables";
|
||||
|
||||
// Buttons
|
||||
@import "template/buttons";
|
||||
|
||||
// Errors
|
||||
@import "template/errors";
|
||||
|
||||
// Login
|
||||
@import "template/login";
|
||||
|
||||
// Admin
|
||||
@import "template/admin";
|
||||
|
||||
// Pages
|
||||
@import "template/pages";
|
||||
|
||||
// Remodal
|
||||
@import "template/remodal";
|
||||
|
||||
// Tabs
|
||||
@import "template/tabs";
|
||||
|
||||
// Editor
|
||||
@import "template/editor";
|
||||
|
||||
// Dropzone
|
||||
@import "template/dropzone";
|
||||
|
||||
// Toastr
|
||||
@import "template/toastr";
|
||||
|
||||
// GPM
|
||||
@import "template/gpm";
|
||||
|
||||
// PHPInfo
|
||||
@import "template/phpinfo";
|
||||
|
||||
// Custom
|
||||
@import "template/custom";
|
||||
|
||||
@@ -0,0 +1,679 @@
|
||||
$sidebar-width: 20%;
|
||||
$sidebar-padding: 2rem;
|
||||
$topbar-height: 4.2rem;
|
||||
$update-height: 3rem;
|
||||
|
||||
#admin-sidebar {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
width: $sidebar-width;
|
||||
|
||||
background: $accent-bg;
|
||||
|
||||
@include breakpoint(mobile-only) {
|
||||
display: none;
|
||||
width: 75%;
|
||||
z-index: 999999;
|
||||
}
|
||||
|
||||
a {
|
||||
color: shade($accent-fg,20%);
|
||||
&:hover {
|
||||
color: $accent-fg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#admin-logo {
|
||||
background: $darker-accent-bg;
|
||||
height: $topbar-height;
|
||||
|
||||
h3 {
|
||||
text-transform: uppercase;
|
||||
margin: 0;
|
||||
@extend %vertical-align;
|
||||
text-align: center;
|
||||
font-size: 1.2rem;
|
||||
|
||||
i {
|
||||
font-size: 1rem;
|
||||
vertical-align: middle;
|
||||
margin-top: -1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#admin-user-details {
|
||||
padding: $sidebar-padding;
|
||||
border-bottom: 1px solid $darker-accent-bg;
|
||||
overflow: hidden;
|
||||
|
||||
img {
|
||||
@include transition(all 0.5s ease);
|
||||
border-radius: 100%;
|
||||
float: left;
|
||||
|
||||
@include breakpoint(tablet-range){
|
||||
float: none;
|
||||
}
|
||||
}
|
||||
|
||||
&:hover img {
|
||||
box-shadow: 0px 0px 0 50px lighten($accent-bg,3%);
|
||||
}
|
||||
|
||||
.admin-user-names {
|
||||
margin-left: 45px;
|
||||
|
||||
@include breakpoint(tablet-range){
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
h4, h5 {
|
||||
color: darken($accent-fg,10%);
|
||||
margin: 0;
|
||||
font-size: 1rem;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-family: $font-family-default;
|
||||
color: lighten($accent-bg,55%);
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#admin-menu {
|
||||
display: block;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
|
||||
|
||||
|
||||
|
||||
li {
|
||||
font-family: $font-family-header;
|
||||
|
||||
.badges {
|
||||
float: right;
|
||||
margin-right:1rem;
|
||||
|
||||
.badge {
|
||||
display: inline-block;
|
||||
margin-right: -5px;
|
||||
|
||||
color: shade($accent-fg,10%);
|
||||
}
|
||||
|
||||
.count {
|
||||
background-color: lighten($accent-bg, 10%);
|
||||
}
|
||||
|
||||
.updates {
|
||||
background-color: $tertiary-accent-bg;
|
||||
display: none;
|
||||
}
|
||||
|
||||
&.with-updates {
|
||||
.count {
|
||||
border-bottom-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
}
|
||||
|
||||
.updates {
|
||||
border-bottom-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
@include transition(all 0.2s ease);
|
||||
display: block;
|
||||
padding-left: 25px;
|
||||
padding-top: 0.7rem;
|
||||
padding-bottom: 0.7rem;
|
||||
|
||||
color: lighten($accent-bg,65%);
|
||||
|
||||
@include breakpoint(tablet-range){
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
i {
|
||||
@include transition(all 0.2s ease);
|
||||
color: lighten($accent-bg,55%);
|
||||
margin-right: 8px;
|
||||
|
||||
@include breakpoint(tablet-range){
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: $darker-accent-bg;
|
||||
// padding-left: 30px;
|
||||
color: $accent-fg;
|
||||
|
||||
i {
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.selected {
|
||||
a {
|
||||
background: $page-bg;
|
||||
color: $accent-fg;
|
||||
padding-left: 16px;
|
||||
border-left: 9px solid $secondary-accent-bg;
|
||||
|
||||
@include breakpoint(tablet-range){
|
||||
padding-left: 11px;
|
||||
}
|
||||
|
||||
i {
|
||||
color: lighten($accent-bg,70%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#admin-main {
|
||||
margin-left: $sidebar-width;
|
||||
|
||||
@include breakpoint(mobile-only) {
|
||||
width: 100%;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.hint:after, [data-hint]:after {
|
||||
font-size: 0.9rem;
|
||||
width: 400px;
|
||||
line-height: inherit;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin: 0;
|
||||
font-size: 1.5rem;
|
||||
text-align: left;
|
||||
letter-spacing: -1px;
|
||||
}
|
||||
|
||||
.titlebar {
|
||||
position: relative;
|
||||
height: $topbar-height;
|
||||
padding: 0 $padding-default;
|
||||
|
||||
h1 {
|
||||
@extend %vertical-align;
|
||||
|
||||
@include breakpoint(mobile-only){
|
||||
> i:first-child:before {
|
||||
content: "\f0c9";
|
||||
}
|
||||
@include transform(inherit);
|
||||
top: 5px;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
}
|
||||
|
||||
.button-bar {
|
||||
@extend %vertical-align;
|
||||
padding: 0;
|
||||
|
||||
@include breakpoint(mobile-only) {
|
||||
@include transform(inherit);
|
||||
top: inherit;
|
||||
bottom: 5px;
|
||||
position: absolute;
|
||||
right: 1rem;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.preview {
|
||||
color: $secondary-accent-fg;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
.button {
|
||||
padding: 0.3rem 0.6rem;
|
||||
|
||||
@include breakpoint(mobile-only) {
|
||||
padding: 0.2rem 0.5rem;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
i {
|
||||
font-size: 13px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.admin-block .grav-update, .admin-block .alert {
|
||||
margin-top: -2rem;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.grav-update {
|
||||
@include clearfix;
|
||||
padding: 0 $padding-default;
|
||||
margin-top: -$padding-default;
|
||||
background: $info-bg;
|
||||
color: $info-fg;
|
||||
|
||||
&.plugins {
|
||||
padding-right: 1rem;
|
||||
}
|
||||
|
||||
.button {
|
||||
float: right;
|
||||
margin-top: 0.6rem;
|
||||
margin-left: 1rem;
|
||||
line-height: 1.5;
|
||||
@include button-color(shade($info-bg, 20%));
|
||||
}
|
||||
|
||||
p {
|
||||
line-height: $update-height;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
i {
|
||||
padding-right: 0.5rem;
|
||||
}
|
||||
|
||||
.less {
|
||||
color: rgba($info-fg,0.75);
|
||||
}
|
||||
|
||||
&.grav {
|
||||
margin-top: 0;
|
||||
@include transition (margin-top 0.15s ease-out);
|
||||
|
||||
@include breakpoint(mobile-only){
|
||||
position: absolute;
|
||||
z-index: 9;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
p * {
|
||||
display: none;
|
||||
}
|
||||
p {
|
||||
font-size: 0;
|
||||
button {
|
||||
width: 95%;
|
||||
display: inherit;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
margin-left: 2.5%;
|
||||
margin-right: 2.5%;
|
||||
padding-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.grav-update.grav + .content-padding {
|
||||
top: $topbar-height + $update-height;
|
||||
@include transition (top 0.15s ease-out);
|
||||
|
||||
@include breakpoint(mobile-only){
|
||||
top: 5.2rem;
|
||||
padding-bottom: 8rem;
|
||||
padding-top: 0rem;
|
||||
}
|
||||
}
|
||||
|
||||
.content-padding {
|
||||
position: absolute;
|
||||
top: $topbar-height;
|
||||
bottom: 0;
|
||||
left: $sidebar-width;
|
||||
right: 0;
|
||||
overflow-y: auto;
|
||||
padding: 2.5rem;
|
||||
|
||||
@include breakpoint(mobile-only) {
|
||||
left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.admin-block {
|
||||
background: $content-bg;
|
||||
color: $content-fg;
|
||||
padding: 2rem 0;
|
||||
|
||||
h1 {
|
||||
color: $page-bg;
|
||||
padding: 0 $padding-default 0.5rem;
|
||||
margin: 0 0 1rem;
|
||||
border-bottom: 3px solid darken($content-bg, 5%);
|
||||
|
||||
@include breakpoint(mobile-only){
|
||||
padding: 0 0 0.5rem;
|
||||
margin: 0 0 1rem !important;
|
||||
text-indent: $padding-default;
|
||||
}
|
||||
|
||||
&.no_underline {
|
||||
border-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.button-bar {
|
||||
margin-right: $padding-default;
|
||||
|
||||
@include breakpoint(mobile-only) {
|
||||
width: 100%;
|
||||
margin: -.5rem 0 1rem 0;
|
||||
text-align: center;
|
||||
|
||||
.button {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.flush-bottom {
|
||||
&.button-bar {
|
||||
margin: 1rem -2rem -1rem;
|
||||
height: 70px;
|
||||
padding: 0 1rem;
|
||||
float: none;
|
||||
|
||||
@include breakpoint(mobile-only){
|
||||
height: auto;
|
||||
padding: 2rem 1rem 0rem 1rem;
|
||||
}
|
||||
.button {
|
||||
@extend %vertical-align;
|
||||
|
||||
@include breakpoint(mobile-only) {
|
||||
margin-left: 0 !important;
|
||||
margin-bottom: .5rem;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.danger, .success {
|
||||
position: relative;
|
||||
|
||||
&.button-bar {
|
||||
margin: 2rem 0 -2rem;
|
||||
height: 70px;
|
||||
padding: 1rem;
|
||||
float: none;
|
||||
.button {
|
||||
@extend %vertical-align;
|
||||
}
|
||||
background: darken($content-bg, 2%);
|
||||
}
|
||||
}
|
||||
|
||||
.danger {
|
||||
&.button-bar {
|
||||
.button {
|
||||
@include button-color($secondary-link);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
#admin-dashboard {
|
||||
|
||||
@include clearfix;
|
||||
|
||||
.dashboard-item {
|
||||
float: left;
|
||||
width: 50%;
|
||||
margin-bottom: 2.5rem;
|
||||
|
||||
@include breakpoint(mobile-only) {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
> div {
|
||||
padding: 1rem 2rem;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
.dashboard-left {
|
||||
padding-right: 1.25rem;
|
||||
|
||||
@include breakpoint(mobile-only) {
|
||||
padding-right: 0rem;
|
||||
}
|
||||
}
|
||||
|
||||
.dashboard-right {
|
||||
padding-left: 1.25rem;
|
||||
|
||||
@include breakpoint(mobile-only) {
|
||||
padding-left: 0rem;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#updates {
|
||||
|
||||
p {
|
||||
text-align: center;
|
||||
color: rgba($white,0.96);
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.updates-chart {
|
||||
width: 50%;
|
||||
float: left;
|
||||
|
||||
}
|
||||
|
||||
.chart-wrapper {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.backups-chart {
|
||||
position: relative;
|
||||
width: 50%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
|
||||
.numeric {
|
||||
display: block;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-size: 1.7rem;
|
||||
line-height: 1;
|
||||
@extend %vertical-align;
|
||||
|
||||
|
||||
em {
|
||||
display:block;
|
||||
font-style: normal;
|
||||
font-size: 1rem;
|
||||
color: rgba($white, .85);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.admin-update-charts {
|
||||
@include clearfix;
|
||||
min-height: 191px;
|
||||
}
|
||||
|
||||
.button {
|
||||
margin-left: 0.5rem;
|
||||
@include breakpoint(tablet-range){
|
||||
width: 49%;
|
||||
padding: .3rem 0rem;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#popularity {
|
||||
p {
|
||||
text-align: center;
|
||||
color: rgba($white,0.95);
|
||||
margin: 0;
|
||||
}
|
||||
.button-bar {
|
||||
height: 100px;
|
||||
padding: 0 1rem;
|
||||
|
||||
}
|
||||
.stat {
|
||||
@extend %vertical-align;
|
||||
display:block;
|
||||
float: left;
|
||||
width: 33%;
|
||||
text-align: center;
|
||||
b {
|
||||
display: block;
|
||||
font-size: 2.5rem;
|
||||
line-height: 1;
|
||||
font-weight: 300;
|
||||
}
|
||||
i {
|
||||
display: block;
|
||||
font-style: normal;
|
||||
color: rgba($white, 0.75);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.tertiary-accent {
|
||||
@include linear-gradient($tertiary-accent-bg, lighten($tertiary-accent-bg,20%));
|
||||
}
|
||||
|
||||
.secondary-accent {
|
||||
@include linear-gradient($secondary-accent-bg, lighten($secondary-accent-bg,20%));
|
||||
}
|
||||
}
|
||||
|
||||
.no-flick{-webkit-transform:translate3d(0,0,0);}
|
||||
|
||||
.card-row {
|
||||
@include justify-content(space-between);
|
||||
}
|
||||
|
||||
.card-item {
|
||||
@extend .no-flick;
|
||||
overflow: hidden;
|
||||
padding: 1rem;
|
||||
margin: 0;
|
||||
position: relative;
|
||||
width: 31%;
|
||||
@include breakpoint(tablet-range) {
|
||||
width: 48%;
|
||||
}
|
||||
@include breakpoint(mobile-only) {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
border: 1px solid darken($content-bg, 5%);
|
||||
background: $white;
|
||||
margin-bottom: 2rem;
|
||||
|
||||
h4 {
|
||||
font-size: 1.2rem;
|
||||
line-height: 1.2;
|
||||
}
|
||||
}
|
||||
|
||||
.user-details {
|
||||
text-align: center;
|
||||
img {
|
||||
border-radius: 100%;
|
||||
}
|
||||
h2 {
|
||||
margin: 0;
|
||||
font-size: 1.8rem;
|
||||
}
|
||||
h5 {
|
||||
color: lighten($content-fg,10%);
|
||||
font-size: 1.1rem;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#footer {
|
||||
text-align: center;
|
||||
padding: 3rem 0 1rem;
|
||||
}
|
||||
|
||||
// Chart overrides
|
||||
.ct-chart {
|
||||
|
||||
.ct-series {
|
||||
.ct-bar {
|
||||
stroke-width: 20px;
|
||||
|
||||
}
|
||||
&.ct-series-a {
|
||||
.ct-bar {
|
||||
stroke: rgba($white, 0.85) !important;
|
||||
}
|
||||
.ct-slice-donut {
|
||||
stroke: $white !important;
|
||||
}
|
||||
}
|
||||
&.ct-series-b {
|
||||
.ct-slice-donut {
|
||||
stroke: rgba($white, 0.2) !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#popularity .ct-chart {
|
||||
margin: 0 -10px -10px;
|
||||
.ct-chart-bar {
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
#latest {
|
||||
.page-title, .page-route {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.last-modified {
|
||||
padding-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#overlay {
|
||||
position: fixed;
|
||||
width: 25%;
|
||||
height: 100%;
|
||||
z-index: 999999;
|
||||
left: 75%;
|
||||
top: 0;
|
||||
display: none;
|
||||
}
|
||||
@@ -0,0 +1,135 @@
|
||||
.button {
|
||||
@extend %button;
|
||||
@include button-color(lighten($secondary-accent-bg, 10%));
|
||||
|
||||
&.dropdown-toggle {
|
||||
border-left: 1px solid lighten($secondary-accent-bg, 5%);
|
||||
}
|
||||
|
||||
&.secondary {
|
||||
@include button-color(shade($secondary-accent-bg, 20%));
|
||||
|
||||
&.dropdown-toggle {
|
||||
border-left: 1px solid lighten(shade($secondary-accent-bg, 20%), 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.button-group {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
|
||||
// real button
|
||||
> .button:first-child:not(:last-child):not(.dropdown-toggle) {
|
||||
border-top-right-radius: 0 !important;
|
||||
border-bottom-right-radius: 0 !important;
|
||||
}
|
||||
|
||||
> .button:first-child {
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
|
||||
> .button {
|
||||
position: relative;
|
||||
float: left;
|
||||
}
|
||||
|
||||
// toggle caret
|
||||
> .button + .dropdown-toggle {
|
||||
text-align: center;
|
||||
padding-right: 8px;
|
||||
padding-left: 8px;
|
||||
|
||||
i {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
> .button:last-child:not(:first-child), > .dropdown-toggle:not(:first-child) {
|
||||
border-top-left-radius: 0 !important;
|
||||
border-bottom-left-radius: 0 !important;
|
||||
}
|
||||
|
||||
.button + .button, .button + .button-group, .button-group + .button, .button-group + .button-group {
|
||||
margin-left: -1px;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 1000;
|
||||
display: none;
|
||||
float: left;
|
||||
min-width: 160px;
|
||||
padding: 5px 0;
|
||||
margin: 2px 0 0;
|
||||
font-size: 14px;
|
||||
text-align: left;
|
||||
list-style: none;
|
||||
background-color: lighten($secondary-accent-bg, 10%);
|
||||
-webkit-background-clip: padding-box;
|
||||
background-clip: padding-box;
|
||||
border: 1px solid lighten($secondary-accent-bg, 5%);
|
||||
border: 1px solid rgba(0, 0, 0, .15);
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
|
||||
box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
|
||||
|
||||
&.language-switcher {
|
||||
min-width: auto;
|
||||
}
|
||||
|
||||
&.lang-switcher {
|
||||
min-width: 150px;
|
||||
left: inherit;
|
||||
button {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.divider {
|
||||
height: 1px;
|
||||
margin: 9px 0;
|
||||
overflow: hidden;
|
||||
background-color: $secondary-accent-bg;
|
||||
}
|
||||
|
||||
li > a {
|
||||
display: block;
|
||||
padding: 3px 20px;
|
||||
clear: both;
|
||||
font-weight: 400;
|
||||
line-height: 1.42857143;
|
||||
color: $white;
|
||||
white-space: nowrap;
|
||||
|
||||
&:focus, &:hover {
|
||||
color: $white;
|
||||
text-decoration: none;
|
||||
background-color: $secondary-accent-bg;
|
||||
}
|
||||
}
|
||||
|
||||
&.language-switcher {
|
||||
a.active {
|
||||
background-color: #349886
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.open > .dropdown-menu {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.dropdown-backdrop {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
z-index: 990;
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
html, body {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
background: $page-bg;
|
||||
color: $core-text;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
a {
|
||||
color: $core-accent;
|
||||
&:hover {
|
||||
color: darken($core-accent, 20%);
|
||||
}
|
||||
}
|
||||
|
||||
b, strong {
|
||||
font-weight: $font-weight-bold
|
||||
}
|
||||
|
||||
.bigger {
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
.button-bar {
|
||||
text-align: right;
|
||||
float: right;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.secondary-accent {
|
||||
background: $secondary-accent-bg;
|
||||
color: $secondary-accent-fg;
|
||||
|
||||
.button-bar {
|
||||
background: $secondary-accent-bg;
|
||||
}
|
||||
|
||||
.button {
|
||||
background: lighten($secondary-accent-bg, 10%);
|
||||
}
|
||||
}
|
||||
|
||||
.tertiary-accent {
|
||||
background: $tertiary-accent-bg;
|
||||
color: $tertiary-accent-fg;
|
||||
|
||||
.button-bar {
|
||||
background: $tertiary-accent-bg;
|
||||
}
|
||||
|
||||
.button {
|
||||
background: lighten($tertiary-accent-bg, 5%);
|
||||
@include button-color(lighten($tertiary-accent-bg, 10%));
|
||||
}
|
||||
}
|
||||
|
||||
.alert {
|
||||
font-size: 1.1rem;
|
||||
padding: 1rem $padding-default;
|
||||
}
|
||||
|
||||
.info {
|
||||
background: $info-bg;
|
||||
color: $info-fg;
|
||||
a {
|
||||
color: darken($info-fg, 10%);
|
||||
&:hover {
|
||||
color: $info-fg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.info-reverse {
|
||||
color: $info-bg;
|
||||
}
|
||||
|
||||
.notice {
|
||||
background: $tertiary-accent-bg;
|
||||
color: $tertiary-accent-fg;
|
||||
a {
|
||||
color: darken($tertiary-accent-fg, 10%);
|
||||
&:hover {
|
||||
color: $tertiary-accent-fg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.error {
|
||||
background: $notice-bg;
|
||||
color: $notice-fg;
|
||||
a {
|
||||
color: darken($notice-fg, 10%);
|
||||
&:hover {
|
||||
color: $notice-fg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.badge {
|
||||
display: inline-block;
|
||||
font-size: 0.9rem;
|
||||
font-family: $font-family-default;
|
||||
font-weight: 700;
|
||||
border-radius: 10px;
|
||||
padding: 0px 6px;
|
||||
min-width: 20px;
|
||||
line-height: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
// Your custom SCSS should be written here...
|
||||
|
||||
@@ -0,0 +1,234 @@
|
||||
/* The MIT License */
|
||||
|
||||
$preview-width: 150px;
|
||||
$preview-height: 100px;
|
||||
$success-color: lighten($secondary-accent-bg,10%);
|
||||
$error-color: #D55A4E;
|
||||
|
||||
.form-uploads-wrapper h3 {
|
||||
font-size: 1rem;
|
||||
margin: 2rem 0 0.5rem 0;
|
||||
}
|
||||
|
||||
.dropzone {
|
||||
position: relative;
|
||||
border: 1px $form-border solid;
|
||||
border-radius: $form-border-radius;
|
||||
min-height: 4rem;
|
||||
background: $white;
|
||||
|
||||
&.dz-clickable {
|
||||
cursor: pointer;
|
||||
}
|
||||
&.dz-drag-hover {
|
||||
border-color: rgba(0,0,0,0.15);
|
||||
background: rgba(0,0,0,0.04);
|
||||
}
|
||||
&.dz-started .dz-message {
|
||||
display: none;
|
||||
}
|
||||
.dz-message {
|
||||
opacity: 1;
|
||||
-ms-filter: none;
|
||||
filter: none;
|
||||
}
|
||||
.dz-preview {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
margin: 1rem;
|
||||
vertical-align: top;
|
||||
|
||||
&.dz-file-preview [data-dz-thumbnail] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&.dz-error .dz-error-mark {
|
||||
display: block;
|
||||
}
|
||||
|
||||
&.dz-success .dz-success-mark {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.dz-success-mark, .dz-error-mark {
|
||||
color: $white;
|
||||
font-family: FontAwesome;
|
||||
display: none;
|
||||
position: absolute;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
font-size: 18px;
|
||||
line-height: 25px;
|
||||
border-radius: 100%;
|
||||
text-align: center;
|
||||
right: 2px;
|
||||
top: 2px;
|
||||
span {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
&:hover {
|
||||
.dz-success-mark, .dz-error-mark {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.dz-success-mark {
|
||||
background-color: $success-color;
|
||||
&::after {
|
||||
content: '\f00c';
|
||||
}
|
||||
}
|
||||
|
||||
.dz-error-mark {
|
||||
background-color: $error-color;
|
||||
&::after {
|
||||
content: '\f12a';
|
||||
}
|
||||
}
|
||||
|
||||
.dz-progress {
|
||||
position: absolute;
|
||||
top: $preview-height;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
height: 4px;
|
||||
background: #d7d7d7;
|
||||
display: none;
|
||||
|
||||
.dz-upload {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 0%;
|
||||
background-color: $success-color;
|
||||
}
|
||||
}
|
||||
|
||||
.dz-error-message {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
font-size: 0.9rem;
|
||||
line-height: 1.2;
|
||||
padding: 8px 10px;
|
||||
background: lighten($content-bg,3%);
|
||||
color: $error-color;
|
||||
z-index: 500;
|
||||
}
|
||||
|
||||
&.dz-processing .dz-progress {
|
||||
display: block;
|
||||
}
|
||||
|
||||
&:hover:not(.hide-backface) .dz-details img {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&:hover.dz-error .dz-error-message {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.dz-remove, .dz-insert {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&:hover .dz-remove, &:hover .dz-insert {
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 22px;
|
||||
border:1px solid darken($content-bg,5%);
|
||||
width: 50%;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
font-size: 0.8rem;
|
||||
&:hover {
|
||||
background: $content-bg;
|
||||
}
|
||||
}
|
||||
|
||||
&:hover .dz-remove {
|
||||
left: inherit;
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
&:hover .dz-insert {
|
||||
right: inherit;
|
||||
}
|
||||
|
||||
&.dz-processing {
|
||||
.dz-details {
|
||||
overflow: hidden;
|
||||
|
||||
img {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
height: auto;
|
||||
width: 100%;
|
||||
-webkit-transform: translate(-50%,-50%);
|
||||
-ms-transform: translate(-50%,-50%);
|
||||
transform: translate(-50%,-50%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.dz-details {
|
||||
width: $preview-width;
|
||||
height: $preview-height;
|
||||
position: relative;
|
||||
background: lighten($content-bg,3%);
|
||||
border:1px solid darken($content-bg,5%);
|
||||
font-size: 0.8rem;
|
||||
padding: 5px;
|
||||
margin-bottom: 22px;
|
||||
|
||||
.dz-filename {
|
||||
line-height: 1.2;
|
||||
overflow: hidden;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
img {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: $preview-width;
|
||||
height: $preview-height;
|
||||
}
|
||||
|
||||
.dz-size {
|
||||
position: absolute;
|
||||
bottom: -28px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
text-align: center;
|
||||
font-size: 0.8rem;
|
||||
height: 28px;
|
||||
line-height: 28px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
&.dz-clickable {
|
||||
.dz-message, .dz-message span {
|
||||
cursor: pointer;
|
||||
color: lighten($content-fg,30%);
|
||||
text-align: center;
|
||||
font-size: 1.4rem;
|
||||
line-height: 4rem;
|
||||
}
|
||||
}
|
||||
* {
|
||||
cursor: default;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,239 @@
|
||||
// Grav Editor
|
||||
.grav-mdeditor {
|
||||
|
||||
.CodeMirror-scroll {
|
||||
margin-right: -36px;
|
||||
padding-bottom: 36px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.grav-mdeditor-fullscreen {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
z-index: 1500;
|
||||
|
||||
.grav-mdeditor-content, .grav-mdeditor-code, .CodeMirror-wrap, .grav-mdeditor-preview {
|
||||
height: 100% !important;
|
||||
}
|
||||
|
||||
.grav-mdeditor-navbar, .grav-mdeditor-navbar ul li:first-child a, .grav-mdeditor-navbar-flip ul li:last-child a {
|
||||
border-radius: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.grav-mdeditor-navbar {
|
||||
@include clearfix;
|
||||
border: 1px solid $form-border;
|
||||
border-top-right-radius: $form-border-radius;
|
||||
border-top-left-radius: $form-border-radius;
|
||||
background: lighten($content-bg,5%);
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
|
||||
|
||||
li {
|
||||
float: left;
|
||||
&:first-child a {
|
||||
border-top-left-radius: 4px;
|
||||
}
|
||||
}
|
||||
.mdeditor-active a {
|
||||
background: white;
|
||||
cursor: auto;
|
||||
border-left: 1px solid $form-border;
|
||||
border-right: 1px solid $form-border;
|
||||
&:hover {
|
||||
background: $white;
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
line-height: 3rem;
|
||||
height: 3rem;
|
||||
padding: 0 1rem;
|
||||
color: $content-fg;
|
||||
|
||||
&:hover {
|
||||
background: lighten($content-bg,2%);
|
||||
color: darken($content-fg,10%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
.grav-mdeditor-navbar-nav {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.grav-mdeditor-navbar-flip {
|
||||
float: right;
|
||||
ul li:last-child a {
|
||||
border-top-right-radius: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.grav-mdeditor-content {
|
||||
|
||||
@include clearfix;
|
||||
border: 1px solid $form-border;
|
||||
border-top: 0;
|
||||
border-bottom-right-radius: $form-border-radius;
|
||||
border-bottom-left-radius: $form-border-radius;
|
||||
}
|
||||
|
||||
.grav-mdeditor-code {
|
||||
|
||||
|
||||
|
||||
.CodeMirror {
|
||||
padding: 10px 20px 20px 20px;
|
||||
border-bottom-left-radius: $form-border-radius;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.grav-mdeditor-preview {
|
||||
padding: 20px;
|
||||
overflow-y: scroll;
|
||||
position: relative;
|
||||
background: #fbfbfb;
|
||||
border-bottom-right-radius: $form-border-radius;
|
||||
}
|
||||
|
||||
.grav-mdeditor-navbar {
|
||||
p {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
padding-left: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
#admin-main {
|
||||
.grav-mdeditor-preview {
|
||||
font-family: $font-family-default;
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: darken($content-fg, 10%);
|
||||
}
|
||||
h1 {
|
||||
font-size: 2rem;
|
||||
border: 0;
|
||||
}
|
||||
h2 {
|
||||
font-size: 1.6rem;
|
||||
}
|
||||
h3 {
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
h4 {
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
h5 {
|
||||
font-size: 1.1rem
|
||||
}
|
||||
p, h1 {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[data-mode=tab] {
|
||||
&[data-active-tab=code] .grav-mdeditor-preview, &[data-active-tab=preview] .grav-mdeditor-code {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
[data-mode=split] {
|
||||
.grav-mdeditor-button-code, .grav-mdeditor-button-preview {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.grav-mdeditor-code {
|
||||
border-right: 1px solid $form-border;
|
||||
|
||||
&, .grav-mdeditor-preview {
|
||||
float: left;
|
||||
width: 50%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// CodeMirror Theme
|
||||
.cm-s-paper {
|
||||
|
||||
$paper-fg: darken($content-fg,5%);
|
||||
$tag: #349886;
|
||||
|
||||
&.CodeMirror {
|
||||
color: $paper-fg;
|
||||
font-size: 14px;
|
||||
line-height: 1.4;
|
||||
|
||||
pre {
|
||||
font-family: "DejaVu Sans Mono", Menlo, Monaco, Consolas, Courier, monospace;
|
||||
}
|
||||
}
|
||||
|
||||
.cm-link {color: darken($core-accent, 10%);}
|
||||
.cm-comment {color: lighten($paper-fg,10%);}
|
||||
.cm-header {color: darken($paper-fg,10%);}
|
||||
.cm-strong {color: darken($paper-fg,5%);}
|
||||
.cm-em {color: darken($paper-fg, 10%);}
|
||||
.cm-string {color: $core-accent;}
|
||||
.cm-tag {color: $tag}
|
||||
.cm-bracket {color: lighten($tag, 10%);}
|
||||
.cm-variable {color: darken($paper-fg,10%);}
|
||||
.cm-variable-2 {color: lighten($paper-fg,10%);}
|
||||
.cm-variable-3 {color: lighten($paper-fg,15%);}
|
||||
.cm-hr {color: lighten($paper-fg,40%);font-weight: bold;}
|
||||
|
||||
.cm-keyword {color: $core-accent;}
|
||||
.cm-atom {color: $info-bg;}
|
||||
.cm-meta {color: $paper-fg;}
|
||||
|
||||
.cm-number {color: #7f8c8d;}
|
||||
.cm-def {color: #00f;}
|
||||
.cm-variable {color: black;}
|
||||
.cm-variable-2 {color: #555;}
|
||||
.cm-variable-3 {color: #085;}
|
||||
.cm-property {color: black;}
|
||||
.cm-operator {color: black;}
|
||||
|
||||
|
||||
.cm-string-2 {color: #f50;}
|
||||
.cm-meta {color: #555;}
|
||||
.cm-error {color: #f00;}
|
||||
.cm-qualifier {color: #555;}
|
||||
.cm-builtin {color: #555;}
|
||||
|
||||
|
||||
.cm-attribute {color: #7f8c8d;}
|
||||
|
||||
.cm-quote {color: #888;}
|
||||
|
||||
|
||||
.cm-header-1 {font-size: 140%;}
|
||||
.cm-header-2 {font-size: 120%;}
|
||||
.cm-header-3 {font-size: 110%;}
|
||||
|
||||
.cm-negative {color: #d44;}
|
||||
.cm-positive {color: #292;}
|
||||
.cm-header, .cm-strong {font-weight: bold;}
|
||||
.cm-em {font-style: italic;}
|
||||
.cm-link {text-decoration: underline;}
|
||||
|
||||
.cm-invalidchar {color: #f00;}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
// Error specific styling
|
||||
#error {
|
||||
text-align: center;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 100%;
|
||||
padding-bottom: 6rem;
|
||||
|
||||
h1 {
|
||||
font-size: $core-font-size + 4.0rem;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 1rem 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
.default-animation {
|
||||
@include transition(all 0.5s ease);
|
||||
}
|
||||
|
||||
.default-border-radius {
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.default-glow-shadow {
|
||||
box-shadow: 0 0 20px rgba(0,0,0,0.2);
|
||||
}
|
||||
|
||||
.default-box-shadow {
|
||||
box-shadow: 0 10px 20px rgba(0,0,0,0.2);
|
||||
}
|
||||
|
||||
.padding-horiz {
|
||||
padding-left: $padding-horiz;
|
||||
padding-right: $padding-horiz;
|
||||
@include breakpoint(desktop-only) {
|
||||
padding-left: $padding-horiz - 3rem;
|
||||
padding-right: $padding-horiz - 3rem;
|
||||
}
|
||||
|
||||
@include breakpoint(mobile-only) {
|
||||
padding-left: $padding-horiz - 6rem;
|
||||
padding-right: $padding-horiz - 6rem;
|
||||
}
|
||||
}
|
||||
|
||||
.padding-vert {
|
||||
padding-top: $padding-vert;
|
||||
padding-bottom: $padding-vert;
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
// Import Google Web Fonts
|
||||
@import url(//fonts.googleapis.com/css?family=Montserrat:400|Lato:300,400,700|Ubuntu+Mono:400,700);
|
||||
|
||||
@@ -0,0 +1,535 @@
|
||||
|
||||
|
||||
// fieldset {
|
||||
// border: 1px solid $core-border-color;
|
||||
// }
|
||||
|
||||
// textarea, #{$all-text-inputs}, select[multiple=multiple] {
|
||||
// background-color: white;
|
||||
// border: 1px solid $core-border-color;
|
||||
// box-shadow: $core-box-shadow;
|
||||
|
||||
// &:hover {
|
||||
// border-color: $core-border-color-hover;
|
||||
// }
|
||||
|
||||
// &:focus {
|
||||
// border-color: $core-border-color-focus;
|
||||
// box-shadow: $core-box-shadow-focus;
|
||||
// }
|
||||
// }
|
||||
|
||||
// label {
|
||||
// @extend strong;
|
||||
// }
|
||||
|
||||
// Forms
|
||||
$form-label-width: 30%;
|
||||
$form-border: darken($content-bg,10%);
|
||||
$form-border-radius: 4px;
|
||||
$form-border-width: 1px;
|
||||
$form-label-pad: 5px 0 5px 3rem;
|
||||
$form-input-pad: 5px 10px;
|
||||
$form-select-pad: 5px 30px 5px 10px;
|
||||
|
||||
// Load Third Party Libraries
|
||||
@import "template/modules/toggle-switch";
|
||||
|
||||
form {
|
||||
|
||||
h1 {
|
||||
color: $page-bg;
|
||||
padding: 0 $padding-default 0.5rem;
|
||||
margin: 0 0 1rem;
|
||||
border-bottom: 3px solid darken($content-bg, 5%);
|
||||
font-size: 1.5rem;
|
||||
text-align: left;
|
||||
letter-spacing: -1px;
|
||||
}
|
||||
|
||||
p {
|
||||
padding: 0 $padding-default;
|
||||
}
|
||||
|
||||
pre {
|
||||
padding: 1.5rem 3rem;
|
||||
}
|
||||
|
||||
.note {
|
||||
font-family: $font-family-default;
|
||||
color: $notice-bg;
|
||||
}
|
||||
|
||||
.form-field {
|
||||
margin-bottom: 1rem;
|
||||
padding-left: $padding-default;
|
||||
}
|
||||
|
||||
.form-data {
|
||||
padding-right: $padding-default;
|
||||
}
|
||||
|
||||
.required {
|
||||
color: $secondary-link;
|
||||
font-family: helvetica, arial;
|
||||
vertical-align: middle;
|
||||
line-height: 1;
|
||||
font-size: 30px;
|
||||
margin-left: 5px;
|
||||
|
||||
}
|
||||
|
||||
label {
|
||||
padding: 5px 0;
|
||||
font-weight: 400;
|
||||
margin:0;
|
||||
|
||||
&.toggleable {
|
||||
display: inline;
|
||||
}
|
||||
}
|
||||
|
||||
input, select, textarea, button, .selectize-input {
|
||||
font-family: $font-family-default;
|
||||
font-size: $core-font-size;
|
||||
line-height: $core-line-height;
|
||||
border-radius: $form-border-radius;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
.selectize-dropdown {
|
||||
z-index: 100000;
|
||||
}
|
||||
|
||||
// override horizontal layout
|
||||
.form-column {
|
||||
> .form-field.grid {
|
||||
display: block;
|
||||
> .block {
|
||||
@include flex(0);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// vertical alignment of forms
|
||||
.grid.vertical {
|
||||
@include flex-flow(column);
|
||||
}
|
||||
|
||||
.form-select-wrapper, .selectize-control.single .selectize-input {
|
||||
position: relative;
|
||||
|
||||
&:after {
|
||||
margin-top: 0;
|
||||
border: 0;
|
||||
position: absolute;
|
||||
content: '\f078';
|
||||
font-family: 'FontAwesome';
|
||||
right: 12px;
|
||||
top: 50%;
|
||||
line-height: 0;
|
||||
color: lighten($content-fg,15%);
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
||||
|
||||
.selectize-control {
|
||||
height: 39px;
|
||||
}
|
||||
|
||||
.selectize-input {
|
||||
box-shadow: none;
|
||||
color: $content-fg;
|
||||
padding: $form-select-pad;
|
||||
margin: 0;
|
||||
|
||||
> input {
|
||||
font-size: $core-font-size;
|
||||
line-height: $core-line-height;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.selectize-control.multi .selectize-input {
|
||||
|
||||
padding: ($leading-margin / 4) ($leading-margin / 4);
|
||||
|
||||
&.has-items {
|
||||
padding-top: 6px;
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
|
||||
> div {
|
||||
color: $content-fg;
|
||||
// background: $content-bg;
|
||||
border-radius: 2px;
|
||||
line-height: 1.5;
|
||||
&.active {
|
||||
background: darken($content-bg,10%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.selectize-control.single .selectize-input {
|
||||
|
||||
&:after {
|
||||
right: 27px;
|
||||
}
|
||||
&.dropdown-active {
|
||||
&:after {
|
||||
content: '\f077';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.x-small {
|
||||
|
||||
max-width: 5rem !important;
|
||||
|
||||
}
|
||||
|
||||
.small {
|
||||
|
||||
max-width: 10rem !important;
|
||||
|
||||
}
|
||||
|
||||
.medium {
|
||||
|
||||
max-width: 20rem;
|
||||
|
||||
textarea {
|
||||
height: 7rem;
|
||||
}
|
||||
}
|
||||
|
||||
.large {
|
||||
|
||||
max-width: 30rem !important;
|
||||
|
||||
textarea {
|
||||
height: 10rem;
|
||||
}
|
||||
}
|
||||
|
||||
select {
|
||||
width: 100%;
|
||||
border: $form-border-width solid $form-border;
|
||||
background: $white;
|
||||
-webkit-appearance:none;
|
||||
-moz-appearance:none;
|
||||
appearance:none;
|
||||
padding: $form-select-pad;
|
||||
cursor: pointer;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
input[type=text], input[type=password], input[type=email] {
|
||||
width: 100%;
|
||||
border: $form-border-width solid $form-border;
|
||||
background: $white;
|
||||
}
|
||||
|
||||
input[readonly=readonly] {
|
||||
background: darken($white, 5%);
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
textarea {
|
||||
width: 100%;
|
||||
border: $form-border-width solid $form-border;
|
||||
background: $white;
|
||||
}
|
||||
|
||||
.form-frontmatter-wrapper {
|
||||
border: $form-border-width solid $form-border;
|
||||
border-radius: $form-border-radius;
|
||||
}
|
||||
|
||||
|
||||
// input[type=text] {
|
||||
// width: 65%;
|
||||
// border: $form-border-width solid $form-border;
|
||||
// padding: $form-input-pad;
|
||||
// }
|
||||
|
||||
// input[type=date] {
|
||||
// width: 200px;
|
||||
// border: $form-border-width solid $form-border;
|
||||
// padding: $form-input-pad;
|
||||
// }
|
||||
|
||||
|
||||
// textarea {
|
||||
// width: 65%;
|
||||
// height: 100px;
|
||||
// border: $form-border-width solid $form-border;
|
||||
// padding: $form-input-pad;
|
||||
// }
|
||||
|
||||
|
||||
.switch-toggle {
|
||||
// margin-left: 30%;
|
||||
|
||||
label {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
a,label {
|
||||
outline: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
.dynfields, [data-grav-field="array"] {
|
||||
|
||||
input[type=text] {
|
||||
width: 40%;
|
||||
float: left;
|
||||
margin: 0 5px 5px 0;
|
||||
}
|
||||
|
||||
.form-row {
|
||||
display: inline-block;
|
||||
span {
|
||||
padding: 0.5rem;
|
||||
display: inline-block;
|
||||
line-height: 1.7;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
&.array-field-value_only {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
.button-bar {
|
||||
margin-top: 1rem;
|
||||
background: lighten($form-border,7%);
|
||||
padding: 1.2rem 3rem;
|
||||
width: 100%;
|
||||
border-bottom-left-radius: 5px;
|
||||
border-bottom-right-radius: 5px;
|
||||
}
|
||||
|
||||
.checkboxes {
|
||||
display: inline-block;
|
||||
padding: 5px 0;
|
||||
|
||||
label {
|
||||
display: inline;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
padding: 0 0 0 2rem;
|
||||
margin-right: 15px;
|
||||
|
||||
}
|
||||
label:before {
|
||||
content:"";
|
||||
display: inline-block;
|
||||
width: 1.5rem;
|
||||
height: 1.5rem;
|
||||
top: 50%;
|
||||
left: 0;
|
||||
margin-top: -0.75rem;
|
||||
margin-right: 10px;
|
||||
position: absolute;
|
||||
|
||||
background: $white;
|
||||
border: $form-border-width solid $form-border;
|
||||
border-radius: $form-border-radius;
|
||||
}
|
||||
input[type=checkbox] {
|
||||
display: none;
|
||||
}
|
||||
input[type=checkbox]:checked + label:before {
|
||||
content:"\f00c";
|
||||
font-family: "FontAwesome";
|
||||
font-size: 1.2rem;
|
||||
line-height: 1;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
&.toggleable label{
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Display
|
||||
.form-display-wrapper {
|
||||
p {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
|
||||
&:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// YAML CodeMirror
|
||||
.form-frontmatter-wrapper {
|
||||
margin-bottom: 3rem;
|
||||
|
||||
.dragbar {
|
||||
height:4px;
|
||||
background: $form-border;
|
||||
cursor:row-resize;
|
||||
}
|
||||
}
|
||||
|
||||
#frontmatter {
|
||||
& + .CodeMirror {
|
||||
border-radius: $form-border-radius;
|
||||
padding: 10px;
|
||||
height: 130px;
|
||||
}
|
||||
}
|
||||
|
||||
// Sortables
|
||||
.form-order-wrapper {
|
||||
ul#ordering {
|
||||
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
li {
|
||||
padding: 0.2rem 1rem;
|
||||
border-radius: $form-border-radius;
|
||||
border: 1px solid $form-border;
|
||||
background: lighten($content-bg, 4%);
|
||||
color: lighten($content-fg,10%);
|
||||
margin: 3px 0;
|
||||
position: relative;
|
||||
font-family: $font-family-default;
|
||||
|
||||
&.drag-handle {
|
||||
cursor: move;
|
||||
background: lighten($content-bg, 7%);
|
||||
color: darken($content-fg,10%);
|
||||
&::after {
|
||||
content: '\f0c9';
|
||||
font-family: FontAwesome;
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Sortables
|
||||
.form-list-wrapper {
|
||||
ul[data-collection-holder] {
|
||||
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
li {
|
||||
cursor: move;
|
||||
padding: 1rem;
|
||||
border-radius: $form-border-radius;
|
||||
border: 1px solid $form-border;
|
||||
background: lighten($content-bg, 4%);
|
||||
color: lighten($content-fg,10%);
|
||||
margin: 3px 0;
|
||||
position: relative;
|
||||
font-family: $font-family-default;
|
||||
|
||||
.item-actions {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 4px;
|
||||
color: darken($content-fg,10%);
|
||||
|
||||
.fa-bars {
|
||||
}
|
||||
|
||||
.fa-trash-o {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.collection-actions {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
.form-label.block {
|
||||
z-index: 10000;
|
||||
|
||||
&:hover {
|
||||
z-index: 10005;
|
||||
}
|
||||
}
|
||||
|
||||
// Fieldset
|
||||
#admin-main .admin-block h2 {
|
||||
font-size: 1.25rem;
|
||||
margin: 0 0 .5rem;
|
||||
|
||||
letter-spacing: normal;
|
||||
}
|
||||
.form-fieldset {
|
||||
background-color: #f7f7f7;
|
||||
border: 2px solid #e1e1e1;
|
||||
margin: 1rem 2rem;
|
||||
}
|
||||
|
||||
.form-fieldset--label {
|
||||
background-color: #f3f3f3;
|
||||
|
||||
&:hover,
|
||||
.form-fieldset input:checked + & {
|
||||
background-color: #eee;
|
||||
}
|
||||
|
||||
label {
|
||||
display: table;
|
||||
font-size: 1.25rem;
|
||||
padding: .5rem 1rem;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.actions {
|
||||
font-size: initial;
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
& + .form-data {
|
||||
margin-top: 1rem;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
.form-fieldset--cursor {
|
||||
cursor: pointer;
|
||||
}
|
||||
.form-fieldset--info {
|
||||
font-size: small;
|
||||
}
|
||||
.form-fieldset > input:checked ~ .form-data,
|
||||
.form-fieldset--collapsible .open,
|
||||
.form-fieldset input:checked ~ .form-label .form-fieldset--collapsible .close {
|
||||
display: block;
|
||||
}
|
||||
.form-fieldset > .form-data,
|
||||
.form-fieldset--collapsible .close,
|
||||
.form-fieldset input:checked ~ .form-label .form-fieldset--collapsible .open {
|
||||
display: none;
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
.gpm {
|
||||
|
||||
> table > tbody {
|
||||
> tr {
|
||||
border-bottom: 1px solid #e1e1e1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
td {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.gpm-name {
|
||||
white-space: nowrap;
|
||||
color: lighten($content-fg, 25%);
|
||||
}
|
||||
|
||||
.gpm-version {
|
||||
padding-left:0.5rem;
|
||||
color: lighten($content-fg,10%);
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.gpm-update {
|
||||
.gpm-name {
|
||||
color: $secondary-accent-bg;
|
||||
}
|
||||
}
|
||||
|
||||
.gpm-actions {
|
||||
|
||||
.enabled, .disabled {
|
||||
font-size: 1.6rem;
|
||||
}
|
||||
|
||||
.disabled {
|
||||
color: lighten($content-fg,10%);
|
||||
}
|
||||
}
|
||||
|
||||
.gpm-item-info {
|
||||
position: relative;
|
||||
border-bottom: 3px solid darken($content-bg, 5%);
|
||||
padding-bottom: 1rem;
|
||||
margin-bottom: 3rem;
|
||||
overflow: hidden;
|
||||
|
||||
@include breakpoint(mobile-only) {
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.gpm-item-icon {
|
||||
color: darken($content-bg, 3%);
|
||||
position: absolute;
|
||||
right: $padding-default;
|
||||
font-size: 20rem;
|
||||
}
|
||||
table {
|
||||
position: relative;
|
||||
}
|
||||
td {
|
||||
border: 0;
|
||||
text-align: left !important;
|
||||
|
||||
&:first-child {
|
||||
color: lighten($content-fg,15%);
|
||||
white-space: nowrap;
|
||||
width: 25%;
|
||||
}
|
||||
}
|
||||
tr:hover {
|
||||
background: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
.badge.update {
|
||||
display: inline-block;
|
||||
background: $info-bg;
|
||||
border-radius: 4px;
|
||||
padding: 2px 10px;
|
||||
color: $info-fg;
|
||||
margin-left: 1rem;
|
||||
}
|
||||
|
||||
.gpm-ribbon {
|
||||
background-color: $info-bg;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
|
||||
position: absolute;
|
||||
top: 1rem;
|
||||
right: -2rem;
|
||||
@include transform(rotate(45deg));
|
||||
|
||||
|
||||
a {
|
||||
color: $info-fg;
|
||||
display: block;
|
||||
font-weight: bold;
|
||||
font-size: 0.9rem;
|
||||
padding: 5px 40px;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.themes {
|
||||
padding: $padding-default;
|
||||
|
||||
.gpm-name {
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.gpm-actions {
|
||||
|
||||
background: darken($content-bg, 2%);
|
||||
margin: 1rem -1rem -1rem -1rem;
|
||||
height: 4rem;
|
||||
text-align: center;
|
||||
padding: 1rem;
|
||||
font-size: 1rem;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.active-theme .gpm-actions, &.inactive-theme .gpm-actions {
|
||||
line-height: 2rem;
|
||||
}
|
||||
|
||||
.active-theme {
|
||||
border: 1px solid $secondary-accent-bg;
|
||||
.gpm-actions {
|
||||
background: $secondary-accent-bg;
|
||||
color: $content-bg;
|
||||
}
|
||||
}
|
||||
|
||||
.inactive-theme .gpm-actions {
|
||||
display: block;
|
||||
color: darken($content-bg, 30%);
|
||||
font-weight: normal;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
// Header styling
|
||||
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
#admin-login {
|
||||
@extend %vertical-align;
|
||||
background: $accent-bg;
|
||||
max-width: 24rem;
|
||||
margin: 0 auto;
|
||||
|
||||
.form-field {
|
||||
padding-left: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.form-label {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.form-data {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
h1 {
|
||||
background: $darker-accent-bg url(../images/logo.png) 50% 50% no-repeat;
|
||||
font-size: 0;
|
||||
color: transparent;
|
||||
height: 216px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
form {
|
||||
padding: 2rem 3rem;
|
||||
input {
|
||||
margin-bottom: 2rem;
|
||||
background: $page-bg;
|
||||
color: $core-text;
|
||||
font-size: 1.4rem;
|
||||
line-height: 1.5;
|
||||
text-align: center;
|
||||
font-weight: 300;
|
||||
-webkit-font-smoothing: auto;
|
||||
border: 1px solid shade($accent-bg, 20%);
|
||||
@include placeholder {
|
||||
color: tint($page-bg,40%);
|
||||
}
|
||||
}
|
||||
|
||||
.form-actions {
|
||||
text-align: center;
|
||||
margin: 0 -3rem -3rem -3rem;
|
||||
padding: 1.5rem 3rem;
|
||||
|
||||
button:first-child {
|
||||
margin-right: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.alert {
|
||||
text-align: center;
|
||||
padding: 1rem 3rem;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,307 @@
|
||||
.pages-list {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
border-top: 1px solid darken($content-bg, 5%);
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
li {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
}
|
||||
|
||||
.row {
|
||||
@include transition(all 0.2s ease);
|
||||
border-bottom: 1px solid darken($content-bg, 5%);
|
||||
line-height: 2.5rem;
|
||||
padding-right: 3rem;
|
||||
|
||||
&:hover {
|
||||
background: lighten($content-bg,2%);
|
||||
}
|
||||
|
||||
p.page-route {
|
||||
display: block;
|
||||
margin: -10px 0 5px 25px;
|
||||
line-height: 1;
|
||||
font-size: 0.9rem;
|
||||
color: darken($content-bg,40%);
|
||||
text-shadow: 1px 1px 0 $white;
|
||||
|
||||
.spacer {
|
||||
color: darken($content-bg,10%);
|
||||
display: inline-block;
|
||||
margin: 0 0.3rem;
|
||||
}
|
||||
}
|
||||
|
||||
// fix for hint alignment
|
||||
.hint--bottom:before, .hint--bottom:after {
|
||||
left: 4px;
|
||||
}
|
||||
.hint:after, [data-hint]:after {
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.badge.lang {
|
||||
background-color: #aaa;
|
||||
color: white;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.badge.lang.info {
|
||||
background-color: $info-bg;
|
||||
}
|
||||
}
|
||||
|
||||
.page-tools {
|
||||
display: inline-block;
|
||||
float: right;
|
||||
font-size: 1.4rem;
|
||||
i {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.page-home {
|
||||
font-size: 1.4rem;
|
||||
margin-left: 10px;
|
||||
color: darken($content-bg, 20%);
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.page-info {
|
||||
font-size: 1.1rem;
|
||||
margin-left: 10px;
|
||||
color: darken($content-bg, 20%);
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.page-icon {
|
||||
|
||||
color: #0082BA;
|
||||
font-weight: 700;
|
||||
|
||||
&.children-open:before {
|
||||
content: '\f056';
|
||||
}
|
||||
|
||||
&.children-closed:before{
|
||||
content: '\f055';
|
||||
}
|
||||
|
||||
&.not-routable {
|
||||
color: #CE431D;
|
||||
}
|
||||
|
||||
&.not-visible {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
&.modular {
|
||||
color: #9055AF;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#page-filtering {
|
||||
margin: -2rem $padding-default 1rem;
|
||||
@include clearfix;
|
||||
|
||||
.page-filters {
|
||||
width: 60%;
|
||||
float: left;
|
||||
|
||||
@include breakpoint(mobile-only) {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.page-search {
|
||||
position: relative;
|
||||
width: 40%;
|
||||
float: left;
|
||||
padding-left: 2rem;
|
||||
text-indent: 2.5rem;
|
||||
&:after {
|
||||
position: absolute;
|
||||
right: 15px;
|
||||
top: 10px;
|
||||
content: '\f002';
|
||||
font-family: 'FontAwesome';
|
||||
}
|
||||
|
||||
@include breakpoint(mobile-only) {
|
||||
width: 100%;
|
||||
padding-top: 1rem;
|
||||
padding-left: 0rem;
|
||||
|
||||
&:after {
|
||||
top: 1.5rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.page-shortcuts {
|
||||
@include clearfix;
|
||||
clear: both;
|
||||
padding-top:5px;
|
||||
|
||||
.button {
|
||||
@include button-color(#aaa);
|
||||
}
|
||||
}
|
||||
|
||||
.selectize-control.multi .selectize-input {
|
||||
|
||||
padding: ($leading-margin / 4) ($leading-margin / 4);
|
||||
|
||||
&.has-items {
|
||||
padding-top: 6px;
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
|
||||
input {
|
||||
font-size: $core-font-size;
|
||||
line-height: $core-line-height;
|
||||
}
|
||||
|
||||
|
||||
> div, > div.active {
|
||||
color: #777;
|
||||
padding: 2px 10px;
|
||||
&[data-value='Routable'] {
|
||||
background: #CE431D;
|
||||
color: $white;
|
||||
}
|
||||
&[data-value='NonRoutable'] {
|
||||
color: #CE431D;
|
||||
}
|
||||
&[data-value='Visible'] {
|
||||
background: #71B15E;
|
||||
color: $white;
|
||||
}
|
||||
&[data-value='NonVisible'] {
|
||||
color: #71B15E;
|
||||
}
|
||||
&[data-value='Modular'] {
|
||||
background: #9055AF;
|
||||
color: $white;
|
||||
}
|
||||
&[data-value='NonModular'] {
|
||||
color: #9055AF;
|
||||
}
|
||||
&[data-value='Published'] {
|
||||
background: #0093B8;
|
||||
color: $white;
|
||||
}
|
||||
&[data-value='NonPublished'] {
|
||||
color: #0093B8;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.admin-form-wrapper {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#admin-topbar {
|
||||
position: absolute;
|
||||
right: 0.5rem;
|
||||
height: 3.5rem;
|
||||
|
||||
@include breakpoint(mobile-only){
|
||||
width: 100%;
|
||||
right: 0;
|
||||
top: .25rem;
|
||||
padding: 0 .5rem;
|
||||
}
|
||||
|
||||
#admin-mode-toggle, #admin-lang-toggle {
|
||||
@extend %vertical-align;
|
||||
height: 37px;
|
||||
display: inline-block;
|
||||
vertical-align: inherit;
|
||||
|
||||
@include breakpoint(mobile-only){
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
#admin-lang-toggle {
|
||||
z-index:10;
|
||||
button {
|
||||
@include button-color(shade($info-bg, 20%));
|
||||
}
|
||||
.dropdown-menu {
|
||||
background: $info-bg;
|
||||
button {
|
||||
|
||||
background: transparent;
|
||||
color: $white;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.switch-grav {
|
||||
|
||||
border: 0;
|
||||
background-color: lighten($accent-bg,10%);
|
||||
}
|
||||
|
||||
.switch-toggle {
|
||||
|
||||
@include breakpoint(mobile-only) {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
input:checked + label {
|
||||
color: $white;
|
||||
}
|
||||
|
||||
input + label {
|
||||
color: lighten($accent-bg,65%);
|
||||
}
|
||||
|
||||
input.highlight:checked {
|
||||
~ a {
|
||||
background: lighten($tertiary-accent-bg,10%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
body .selectize-dropdown .optgroup-header {
|
||||
color: $black;
|
||||
border-bottom: 1px solid #eee;
|
||||
background-color: #fafafa;
|
||||
}
|
||||
|
||||
@for $i from 0 to 10 {
|
||||
.depth-#{$i} .row {
|
||||
padding-left: 3rem * ($i + 1);
|
||||
}
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none!important;
|
||||
}
|
||||
|
||||
.switch-toggle input[type="radio"] {
|
||||
display: none!important;
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
#phpinfo {
|
||||
img { display: none;}
|
||||
|
||||
table {
|
||||
margin: 1rem 0 0;
|
||||
}
|
||||
|
||||
tr {
|
||||
&:hover {
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
th {
|
||||
background: #d9d9d9;
|
||||
}
|
||||
|
||||
td {
|
||||
word-wrap: break-word;
|
||||
|
||||
h1 {
|
||||
margin: 0rem (- $padding-default) 0rem !important;
|
||||
}
|
||||
&:first-child {
|
||||
color: $secondary-accent-bg;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
hr {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2.3rem;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.7rem;
|
||||
margin: 3rem ($padding-default) 0rem !important;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,156 @@
|
||||
/*
|
||||
* Remodal - v0.2.0
|
||||
* Flat, responsive, lightweight, easy customizable modal window plugin with declarative state notation and hash tracking.
|
||||
* http://vodkabears.github.io/remodal/
|
||||
*
|
||||
* Made by Ilya Makarov
|
||||
* Under MIT License
|
||||
*/
|
||||
|
||||
/* ==========================================================================
|
||||
Remodal necessary styles
|
||||
========================================================================== */
|
||||
|
||||
/* Hide scroll bar */
|
||||
|
||||
html.remodal_lock, body.remodal_lock {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Anti FOUC */
|
||||
|
||||
.remodal, [data-remodal-id] {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
/* Overlay necessary styles */
|
||||
|
||||
.remodal-overlay {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: 10000;
|
||||
|
||||
display: none;
|
||||
overflow: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
text-align: center;
|
||||
|
||||
&:after {
|
||||
display: inline-block;
|
||||
height: 100%;
|
||||
margin-left: -0.05em;
|
||||
content: '';
|
||||
}
|
||||
|
||||
/* Fix iPad, iPhone glitches */
|
||||
> * {
|
||||
-webkit-transform: translateZ(0px);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Modal dialog necessary styles */
|
||||
.remodal {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* Background for effects */
|
||||
|
||||
.remodal-bg {
|
||||
@include transition-property (filter);
|
||||
@include transition-duration(0.2s);
|
||||
@include transition-timing-function(linear);
|
||||
}
|
||||
|
||||
// body.remodal_active .remodal-bg {
|
||||
// @include filter(blur(5px));
|
||||
// }
|
||||
|
||||
/* Overlay default theme styles */
|
||||
|
||||
.remodal-overlay {
|
||||
opacity: 0;
|
||||
background: rgba(33, 36, 46, 0.8);
|
||||
@include transition(opacity 0.2s linear);
|
||||
}
|
||||
|
||||
body.remodal_active .remodal-overlay {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* Modal dialog default theme styles */
|
||||
|
||||
.remodal {
|
||||
width: 100%;
|
||||
min-height: 100%;
|
||||
padding-top: 2rem;
|
||||
@include box-sizing(border-box);
|
||||
font-size: 16px;
|
||||
background: $content-bg;
|
||||
background-clip: padding-box;
|
||||
color: $content-fg;
|
||||
box-shadow: 0 10px 20px rgba(0,0,0,0.5);
|
||||
@include transform(scale(0.95));
|
||||
@include transition-property (transform);
|
||||
@include transition-duration(0.2s);
|
||||
@include transition-timing-function(linear);
|
||||
|
||||
}
|
||||
|
||||
body.remodal_active .remodal {
|
||||
@include transform(scale(1));
|
||||
}
|
||||
|
||||
/* Modal dialog vertical align */
|
||||
.remodal, .remodal-overlay:after {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* Close button */
|
||||
|
||||
.remodal-close {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
color: $content-fg;
|
||||
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
|
||||
@include transition(background 0.2s linear);
|
||||
}
|
||||
|
||||
.remodal-close:after {
|
||||
display: block;
|
||||
font-family: FontAwesome;
|
||||
content: "\f00d";
|
||||
|
||||
font-size: 28px;
|
||||
line-height: 28px;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
|
||||
}
|
||||
|
||||
.remodal-close:hover, .remodal-close:active {
|
||||
color: darken($content-fg, 20%);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Media queries
|
||||
========================================================================== */
|
||||
|
||||
@media only screen and (min-width: 40.063em) /* min-width 641px */ {
|
||||
.remodal {
|
||||
max-width: 700px;
|
||||
margin: 20px auto;
|
||||
min-height: 0;
|
||||
border-radius: 6px;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,124 @@
|
||||
table,
|
||||
tbody,
|
||||
thead {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.gpm-details {
|
||||
width: 100%;
|
||||
@include flex(auto);
|
||||
}
|
||||
|
||||
td {
|
||||
border: 0;
|
||||
border-bottom: 1px solid darken($content-bg, 5%);
|
||||
}
|
||||
|
||||
tr {
|
||||
@include transition(all 0.2s ease);
|
||||
|
||||
@include display(flex);
|
||||
@include flex-wrap(wrap);
|
||||
|
||||
th {
|
||||
display: block;
|
||||
@include flex(1);
|
||||
font-weight: bold;
|
||||
|
||||
&:first-child {
|
||||
padding-left: $padding-default;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
padding-right: $padding-default;
|
||||
}
|
||||
}
|
||||
|
||||
td {
|
||||
display: block;
|
||||
@include flex(1);
|
||||
|
||||
&.double {
|
||||
@include flex(2);
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
padding-left: $padding-default;
|
||||
|
||||
@include breakpoint(mobile-only) {
|
||||
padding-left: .5rem;
|
||||
|
||||
.plugin-update-button {
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
&:last-child, &.gpm-actions {
|
||||
padding-right: $padding-default;
|
||||
}
|
||||
|
||||
&.gpm-actions {
|
||||
line-height: 1;
|
||||
text-align: right;
|
||||
position: relative;
|
||||
|
||||
.gpm-details-expand {
|
||||
position: absolute;
|
||||
top: 12px;
|
||||
right: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
&.gpm-details {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: #f7f7f7;
|
||||
|
||||
@include breakpoint(mobile-only){
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
> .table-wrapper {
|
||||
display: none;
|
||||
|
||||
td {
|
||||
border-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
tbody {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
td {
|
||||
border-bottom: 0;
|
||||
}
|
||||
}
|
||||
&:hover {
|
||||
background: lighten($content-bg,2%);
|
||||
}
|
||||
}
|
||||
|
||||
//Fixes for Kendo calendar on Firefox
|
||||
.k-calendar-container {
|
||||
table,
|
||||
tbody,
|
||||
thead {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
thead {
|
||||
th:first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
th:last-child {
|
||||
padding-right: 0.5rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
|
||||
$tab-label-height:3.5em;
|
||||
|
||||
.tab-bar {
|
||||
@include clearfix;
|
||||
|
||||
|
||||
background: $accent-bg;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
|
||||
font-family: $font-family-header;
|
||||
|
||||
li {
|
||||
|
||||
display: block;
|
||||
float: left;
|
||||
height: $tab-label-height;
|
||||
&.active {
|
||||
span, a {
|
||||
background: $content-bg;
|
||||
color: $content-fg;
|
||||
}
|
||||
}
|
||||
@include breakpoint(mobile-only) {
|
||||
width: 100%;
|
||||
span, a {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
span, a {
|
||||
@extend .default-animation;
|
||||
display: inline-block;
|
||||
padding: 0 4rem;
|
||||
line-height: $tab-label-height;
|
||||
color: lighten($accent-bg,65%);
|
||||
&:hover {
|
||||
color: $white;
|
||||
background: darken($accent-bg,10%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* used for wrapper animation after the load of the page */
|
||||
@include keyframes(show) {
|
||||
from {
|
||||
opacity:0;
|
||||
}
|
||||
to {
|
||||
opacity:1;
|
||||
}
|
||||
}
|
||||
|
||||
.form-tabs {
|
||||
|
||||
background: $accent-bg;
|
||||
font-family: $font-family-header;
|
||||
margin-top: -4rem;
|
||||
|
||||
@include breakpoint(mobile-only){
|
||||
padding-top: 4rem;
|
||||
}
|
||||
|
||||
> input[type=radio] {
|
||||
display:none;
|
||||
|
||||
&:checked{
|
||||
+ label {
|
||||
background: $content-bg;
|
||||
color: $content-fg;
|
||||
}
|
||||
}
|
||||
}
|
||||
> label {
|
||||
@extend .default-animation;
|
||||
|
||||
display:inline-block;
|
||||
cursor:pointer;
|
||||
color: lighten($accent-bg,65%);
|
||||
|
||||
height: $tab-label-height;
|
||||
|
||||
text-align:center;
|
||||
line-height: $tab-label-height;
|
||||
padding: 0 2rem;
|
||||
|
||||
@include breakpoint(mobile-only){
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
&:last-of-type {
|
||||
border-bottom:none;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
color: $white;
|
||||
background: lighten($accent-bg,3%);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
.tab-body {
|
||||
position:absolute;
|
||||
top:-9999px;
|
||||
opacity:0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.tab-body-wrapper {
|
||||
padding-top: $tab-label-height;
|
||||
background: $content-bg;
|
||||
|
||||
}
|
||||
|
||||
#tab1:checked ~ .tab-body-wrapper #tab-body-1,
|
||||
#tab2:checked ~ .tab-body-wrapper #tab-body-2,
|
||||
#tab3:checked ~ .tab-body-wrapper #tab-body-3,
|
||||
#tab4:checked ~ .tab-body-wrapper #tab-body-4,
|
||||
#tab5:checked ~ .tab-body-wrapper #tab-body-5,
|
||||
#tab6:checked ~ .tab-body-wrapper #tab-body-6,
|
||||
#tab7:checked ~ .tab-body-wrapper #tab-body-7,
|
||||
#tab8:checked ~ .tab-body-wrapper #tab-body-8,
|
||||
#tab9:checked ~ .tab-body-wrapper #tab-body-9,
|
||||
#tab10:checked ~ .tab-body-wrapper #tab-body-10 {
|
||||
position:relative;
|
||||
top:0px;
|
||||
opacity: 1;
|
||||
}
|
||||
@@ -0,0 +1,195 @@
|
||||
.toast-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
.toast-message {
|
||||
-ms-word-wrap: break-word;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.toast-message a,
|
||||
.toast-message label {
|
||||
color: #ffffff;
|
||||
}
|
||||
.toast-message a:hover {
|
||||
color: #cccccc;
|
||||
text-decoration: none;
|
||||
}
|
||||
.toast-close-button {
|
||||
position: relative;
|
||||
right: -0.3em;
|
||||
top: -0.3em;
|
||||
float: right;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
color: #ffffff;
|
||||
-webkit-text-shadow: 0 1px 0 #ffffff;
|
||||
text-shadow: 0 1px 0 #ffffff;
|
||||
opacity: 0.8;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
|
||||
filter: alpha(opacity=80);
|
||||
}
|
||||
.toast-close-button:hover,
|
||||
.toast-close-button:focus {
|
||||
color: #000000;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
opacity: 0.4;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
|
||||
filter: alpha(opacity=40);
|
||||
}
|
||||
/*Additional properties for button version
|
||||
iOS requires the button element instead of an anchor tag.
|
||||
If you want the anchor version, it requires `href="#"`.*/
|
||||
button.toast-close-button {
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
//.toast-top-center {
|
||||
// top: 0;
|
||||
// right: 0;
|
||||
// width: 100%;
|
||||
//}
|
||||
//.toast-bottom-center {
|
||||
// bottom: 0;
|
||||
// right: 0;
|
||||
// width: 100%;
|
||||
//}
|
||||
//.toast-top-full-width {
|
||||
// top: 0;
|
||||
// right: 0;
|
||||
// width: 100%;
|
||||
//}
|
||||
//.toast-bottom-full-width {
|
||||
// bottom: 0;
|
||||
// right: 0;
|
||||
// width: 100%;
|
||||
//}
|
||||
//.toast-top-left {
|
||||
// top: 12px;
|
||||
// left: 12px;
|
||||
//}
|
||||
.toast-top-right {
|
||||
top: 5rem;
|
||||
right: 1.5rem;
|
||||
}
|
||||
//.toast-bottom-right {
|
||||
// right: 12px;
|
||||
// bottom: 12px;
|
||||
//}
|
||||
//.toast-bottom-left {
|
||||
// bottom: 12px;
|
||||
// left: 12px;
|
||||
//}
|
||||
#toast-container {
|
||||
position: fixed;
|
||||
z-index: 999999;
|
||||
/*overrides*/
|
||||
|
||||
}
|
||||
#toast-container * {
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
#toast-container > div {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
margin: 0 0 6px;
|
||||
padding: 15px 15px 15px 50px;
|
||||
width: 300px;
|
||||
border-radius: 3px;
|
||||
background-position: 15px center;
|
||||
background-repeat: no-repeat;
|
||||
color: #ffffff;
|
||||
opacity: 0.9;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);
|
||||
filter: alpha(opacity=90);
|
||||
}
|
||||
#toast-container > :hover {
|
||||
opacity: 1;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||
filter: alpha(opacity=100);
|
||||
cursor: pointer;
|
||||
}
|
||||
#toast-container > .toast-info {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container > .toast-error {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container > .toast-success {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important;
|
||||
}
|
||||
#toast-container > .toast-warning {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container.toast-top-center > div,
|
||||
#toast-container.toast-bottom-center > div {
|
||||
width: 300px;
|
||||
margin: auto;
|
||||
}
|
||||
#toast-container.toast-top-full-width > div,
|
||||
#toast-container.toast-bottom-full-width > div {
|
||||
width: 96%;
|
||||
margin: auto;
|
||||
}
|
||||
.toast {
|
||||
background-color: #030303;
|
||||
}
|
||||
.toast-success {
|
||||
background-color: $info-bg;
|
||||
|
||||
.button {
|
||||
background: lighten($info-bg, 5%);
|
||||
@include button-color(lighten($info-bg, 10%));
|
||||
}
|
||||
|
||||
}
|
||||
.toast-error {
|
||||
background-color: $notice-bg;
|
||||
}
|
||||
.toast-info {
|
||||
background-color: $tertiary-accent-bg;
|
||||
}
|
||||
.toast-warning {
|
||||
background-color: #f89406;
|
||||
}
|
||||
.toast-progress {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
height: 4px;
|
||||
background-color: #000000;
|
||||
opacity: 0.4;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
|
||||
filter: alpha(opacity=40);
|
||||
}
|
||||
/*Responsive Design*/
|
||||
@media all and (max-width: 240px) {
|
||||
#toast-container > div {
|
||||
padding: 8px 8px 8px 50px;
|
||||
width: 11em;
|
||||
}
|
||||
#toast-container .toast-close-button {
|
||||
right: -0.2em;
|
||||
top: -0.2em;
|
||||
}
|
||||
}
|
||||
@media all and (min-width: 241px) and (max-width: 480px) {
|
||||
#toast-container > div {
|
||||
padding: 8px 8px 8px 50px;
|
||||
width: 18em;
|
||||
}
|
||||
#toast-container .toast-close-button {
|
||||
right: -0.2em;
|
||||
top: -0.2em;
|
||||
}
|
||||
}
|
||||
@media all and (min-width: 481px) and (max-width: 768px) {
|
||||
#toast-container > div {
|
||||
padding: 15px 15px 15px 50px;
|
||||
width: 25em;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,181 @@
|
||||
// Body Base
|
||||
body {
|
||||
font-family: $font-family-default;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
// Headings
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-family: $font-family-header;
|
||||
font-weight: 400;
|
||||
text-rendering: optimizeLegibility;
|
||||
letter-spacing: -0px;
|
||||
}
|
||||
|
||||
// Simple fonts for Cyrillic and other fonts.
|
||||
body.simple-fonts {
|
||||
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
|
||||
|
||||
h1, h2, h3, h4, h5, h6, #admin-menu li, .button, .tab-bar, .badge, #admin-main .grav-mdeditor-preview, .form .note,
|
||||
.form-tabs, input, select, textarea, button, .selectize-input, .form-order-wrapper ul#ordering li {
|
||||
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
|
||||
}
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: $h1-font-size;
|
||||
@include breakpoint(mobile-only) {
|
||||
font-size: 2.5rem;
|
||||
line-height: 1.2;
|
||||
margin-bottom: 2.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
h2 {
|
||||
@include breakpoint(tablet-range) {
|
||||
font-size: $h2-font-size - .40;
|
||||
}
|
||||
@include breakpoint(mobile-only) {
|
||||
font-size: $h2-font-size - .50;
|
||||
}
|
||||
}
|
||||
|
||||
h3 {
|
||||
@include breakpoint(tablet-range) {
|
||||
font-size: $h3-font-size - .40;
|
||||
}
|
||||
@include breakpoint(mobile-only) {
|
||||
font-size: $h3-font-size - .50;
|
||||
}
|
||||
}
|
||||
|
||||
h4 {
|
||||
@include breakpoint(tablet-range) {
|
||||
font-size: $h4-font-size - .40;
|
||||
}
|
||||
@include breakpoint(mobile-only) {
|
||||
font-size: $h4-font-size - .50;
|
||||
}
|
||||
}
|
||||
|
||||
h1 {
|
||||
letter-spacing: -3px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
letter-spacing: -2px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
letter-spacing: -1px;
|
||||
}
|
||||
|
||||
|
||||
// Blockquote
|
||||
blockquote {
|
||||
border-left: 10px solid $rule-color;
|
||||
p {
|
||||
font-size: 1.1rem;
|
||||
color: #999;
|
||||
}
|
||||
cite {
|
||||
display: block;
|
||||
text-align: right;
|
||||
color: #666;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
}
|
||||
|
||||
// NOTES!!!
|
||||
blockquote > blockquote > blockquote {
|
||||
|
||||
margin: 0;
|
||||
|
||||
p {
|
||||
|
||||
padding: 15px;
|
||||
display: block;
|
||||
font-size: 1rem;
|
||||
margin-top: 0rem;
|
||||
margin-bottom: 0rem;
|
||||
}
|
||||
|
||||
> p {
|
||||
// Yellow
|
||||
margin-left: -71px;
|
||||
border-left: 10px solid #F0AD4E;
|
||||
background: #FCF8F2;
|
||||
color: darken(#F0AD4E,15%);
|
||||
}
|
||||
|
||||
> blockquote > p {
|
||||
// Red
|
||||
margin-left: -94px;
|
||||
border-left: 10px solid #D9534F;
|
||||
background: #FDF7F7;
|
||||
color: darken(#D9534F,15%);
|
||||
}
|
||||
|
||||
> blockquote > blockquote > p {
|
||||
// Blue
|
||||
margin-left: -118px;
|
||||
border-left: 10px solid #5BC0DE;
|
||||
background: #F4F8FA;
|
||||
color: darken(#5BC0DE,15%);
|
||||
}
|
||||
|
||||
> blockquote > blockquote > blockquote > p {
|
||||
// Green
|
||||
margin-left: -142px;
|
||||
border-left: 10px solid #5CB85C;
|
||||
background: #F1F9F1;
|
||||
color: darken(#5CB85C,15%);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Inline and Code
|
||||
code,
|
||||
kbd,
|
||||
pre,
|
||||
samp {
|
||||
font-family: $font-family-mono;
|
||||
}
|
||||
|
||||
code {
|
||||
background: $code-bg;
|
||||
color: darken($code-text,10%);
|
||||
}
|
||||
|
||||
pre {
|
||||
padding: 2rem;
|
||||
background: $pre-bg;
|
||||
border: 1px solid $core-border-color;
|
||||
border-radius: 3px;
|
||||
code {
|
||||
color: $pre-text;
|
||||
background: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
// Extras
|
||||
hr {
|
||||
border-bottom: 4px solid $rule-color;
|
||||
}
|
||||
|
||||
// Label
|
||||
.label {
|
||||
vertical-align: middle;
|
||||
background: $core-accent;
|
||||
border-radius: 100%;
|
||||
color: $white;
|
||||
height: 1rem;
|
||||
min-width: 1rem;
|
||||
line-height: 1rem;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
font-size: $core-font-size - 0.3rem;
|
||||
font-family: $font-family-header;
|
||||
margin-right: 0.75rem;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
// Buttons
|
||||
@import "buttons";
|
||||
@@ -0,0 +1,46 @@
|
||||
%button {
|
||||
display: inline-block;
|
||||
padding: 0.3rem 1.5rem;
|
||||
font-weight: 300;
|
||||
-webkit-font-smoothing: auto;
|
||||
cursor: pointer;
|
||||
vertical-align: middle;
|
||||
|
||||
font-family: $font-family-default;
|
||||
|
||||
&:active {
|
||||
margin: 1px 0 -1px 0;
|
||||
}
|
||||
|
||||
i {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
&.button-small {
|
||||
padding: 2px 10px;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
&.button-x-small {
|
||||
padding: 2px 8px 2px 5px;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@mixin button-color($color) {
|
||||
background: $color;
|
||||
color: rgba($white, 0.85);
|
||||
border-radius: $border-radius;
|
||||
&:hover {
|
||||
background: lighten($color,5%);
|
||||
color: $white;
|
||||
}
|
||||
&.dropdown-toggle {
|
||||
background: lighten($color, 5%);
|
||||
border-left: 1px solid darken($color, 5%);
|
||||
}
|
||||
// &:active {
|
||||
// box-shadow: 0 1px 0 darken($color, 12%);
|
||||
// }
|
||||
}
|
||||
@@ -0,0 +1,308 @@
|
||||
/*
|
||||
* CSS TOGGLE SWITCHES
|
||||
* Unlicense
|
||||
*
|
||||
* Ionuț Colceriu - ghinda.net
|
||||
* https://github.com/ghinda/css-toggle-switch
|
||||
*
|
||||
*/
|
||||
|
||||
// @import "../bower_components/bourbon/app/assets/stylesheets/bourbon";
|
||||
@import "configuration/template/colors";
|
||||
|
||||
/* Toggle Switches
|
||||
*/
|
||||
|
||||
$switch-height: 46px;
|
||||
|
||||
/* Shared
|
||||
*/
|
||||
.switch-wrapper {
|
||||
// height: $switch-height;
|
||||
}
|
||||
|
||||
@mixin switch-shared() {
|
||||
|
||||
|
||||
|
||||
display: inline-block;
|
||||
// height: $switch-height;
|
||||
|
||||
* {
|
||||
@include box-sizing(border-box);
|
||||
}
|
||||
|
||||
a {
|
||||
display: block;
|
||||
|
||||
@include transition(all 0.1s ease-out);
|
||||
}
|
||||
|
||||
label,
|
||||
> span {
|
||||
// line-height: $switch-height;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* Outline the toggles when the inputs are focused
|
||||
*/
|
||||
input:focus ~ a,
|
||||
input:focus + label {
|
||||
outline: 1px dotted #888;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* Checkbox
|
||||
*/
|
||||
@mixin switch-light() {
|
||||
|
||||
@include switch-shared();
|
||||
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
padding: 0;
|
||||
margin-left: 100px;
|
||||
|
||||
/* Position the label over all the elements, except the slide-button (<a>)
|
||||
* Clicking anywhere on the label will change the switch-state
|
||||
*/
|
||||
label {
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Don't hide the input from screen-readers and keyboard access
|
||||
*/
|
||||
input {
|
||||
position: absolute;
|
||||
opacity: 0;
|
||||
z-index: 5;
|
||||
|
||||
&:checked ~ a {
|
||||
right: 0%;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
> span {
|
||||
position: absolute;
|
||||
left: -100px;
|
||||
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding-right: 100px;
|
||||
|
||||
text-align: left;
|
||||
|
||||
span {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 5;
|
||||
|
||||
display: block;
|
||||
width: 50%;
|
||||
margin-left: 100px;
|
||||
|
||||
text-align: center;
|
||||
|
||||
&:last-child {
|
||||
left: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
a {
|
||||
position: absolute;
|
||||
right: 50%;
|
||||
top: 0;
|
||||
z-index: 4;
|
||||
|
||||
display: block;
|
||||
width: 50%;
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* Radio Switch
|
||||
*/
|
||||
@mixin switch-toggle() {
|
||||
|
||||
@include switch-shared();
|
||||
|
||||
position: relative;
|
||||
|
||||
/* For callout panels in foundation
|
||||
*/
|
||||
padding: 0 !important;
|
||||
|
||||
input {
|
||||
position: absolute;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
input + label {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
|
||||
float: left;
|
||||
height: 100%;
|
||||
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
a {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
padding: 0;
|
||||
z-index: 1;
|
||||
|
||||
width: 50%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
input:last-of-type:checked ~ a {
|
||||
left: 50%;
|
||||
}
|
||||
|
||||
/* Generate styles for the multiple states */
|
||||
@for $i from 1 through 3 {
|
||||
$state: $i + 2;
|
||||
$width: 100 / ($i + 2);
|
||||
|
||||
&.switch-#{$state} {
|
||||
label,
|
||||
a {
|
||||
width: $width * 1%;
|
||||
}
|
||||
}
|
||||
|
||||
@for $j from 2 through ($i + 1) {
|
||||
&.switch-#{$state} input:checked:nth-of-type(#{$j}) ~ a {
|
||||
left: $width * ($j - 1) * 1%;
|
||||
}
|
||||
}
|
||||
|
||||
&.switch-#{$state} input:checked:last-of-type ~ a {
|
||||
left: 100 - $width * 1%;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* Hide by default
|
||||
*/
|
||||
.switch-toggle a,
|
||||
.switch-light span span {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* We can't test for a specific feature,
|
||||
* so we only target browsers with support for media queries.
|
||||
*/
|
||||
@media only screen {
|
||||
|
||||
/* Checkbox switch
|
||||
*/
|
||||
.switch-light {
|
||||
@include switch-light();
|
||||
}
|
||||
|
||||
/* Radio switch
|
||||
*/
|
||||
.switch-toggle {
|
||||
@include switch-toggle();
|
||||
}
|
||||
|
||||
/* Standalone Themes */
|
||||
|
||||
/* Grav Theme
|
||||
*/
|
||||
.switch-grav {
|
||||
background-color: $white;
|
||||
border: $form-border-width solid $form-border;
|
||||
border-radius: $form-border-radius;
|
||||
|
||||
label {
|
||||
color: $content-fg;
|
||||
@include transition(color 0.2s ease-out);
|
||||
padding: 5px 20px;
|
||||
|
||||
}
|
||||
|
||||
> span span {
|
||||
opacity: 0;
|
||||
|
||||
@include transition(all 0.1s);
|
||||
|
||||
&:first-of-type {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
background: #777;
|
||||
border-radius: $form-border-radius - 1px;
|
||||
}
|
||||
|
||||
&.switch-toggle input.highlight:checked {
|
||||
~ a {
|
||||
background: lighten($secondary-accent-bg,10%);
|
||||
}
|
||||
}
|
||||
|
||||
/* Selected ON switch-light
|
||||
*/
|
||||
&.switch-light input:checked {
|
||||
|
||||
~ a {
|
||||
background-color: #777;
|
||||
}
|
||||
|
||||
~ span span {
|
||||
&:first-of-type {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
&:last-of-type {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
input:checked + label {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* Bugfix for older Webkit, including mobile Webkit. Adapted from
|
||||
* http://css-tricks.com/webkit-sibling-bug/
|
||||
*/
|
||||
.switch-light,
|
||||
.switch-toggle {
|
||||
@media only screen and (-webkit-max-device-pixel-ratio: 2) and (max-device-width: 1280px) {
|
||||
-webkit-animation: webkitSiblingBugfix infinite 1s;
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes webkitSiblingBugfix {
|
||||
from {
|
||||
-webkit-transform: translate3d(0,0,0);
|
||||
} to {
|
||||
-webkit-transform: translate3d(0,0,0);
|
||||
}
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
//************************************************************************//
|
||||
// These mixins/functions are deprecated
|
||||
// They will be removed in the next MAJOR version release
|
||||
//************************************************************************//
|
||||
@mixin inline-block {
|
||||
display: inline-block;
|
||||
@warn "inline-block mixin is deprecated and will be removed in the next major version release";
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
// Settings
|
||||
@import "settings/prefixer";
|
||||
@import "settings/px-to-em";
|
||||
|
||||
// Custom Helpers
|
||||
@import "helpers/convert-units";
|
||||
@import "helpers/gradient-positions-parser";
|
||||
@import "helpers/is-num";
|
||||
@import "helpers/linear-angle-parser";
|
||||
@import "helpers/linear-gradient-parser";
|
||||
@import "helpers/linear-positions-parser";
|
||||
@import "helpers/linear-side-corner-parser";
|
||||
@import "helpers/radial-arg-parser";
|
||||
@import "helpers/radial-positions-parser";
|
||||
@import "helpers/radial-gradient-parser";
|
||||
@import "helpers/render-gradients";
|
||||
@import "helpers/shape-size-stripper";
|
||||
@import "helpers/str-to-num";
|
||||
|
||||
// Custom Functions
|
||||
@import "functions/assign";
|
||||
@import "functions/color-lightness";
|
||||
@import "functions/flex-grid";
|
||||
@import "functions/golden-ratio";
|
||||
@import "functions/grid-width";
|
||||
@import "functions/modular-scale";
|
||||
@import "functions/px-to-em";
|
||||
@import "functions/px-to-rem";
|
||||
@import "functions/strip-units";
|
||||
@import "functions/tint-shade";
|
||||
@import "functions/transition-property-name";
|
||||
@import "functions/unpack";
|
||||
|
||||
// CSS3 Mixins
|
||||
@import "css3/animation";
|
||||
@import "css3/appearance";
|
||||
@import "css3/backface-visibility";
|
||||
@import "css3/background";
|
||||
@import "css3/background-image";
|
||||
@import "css3/border-image";
|
||||
@import "css3/border-radius";
|
||||
@import "css3/box-sizing";
|
||||
@import "css3/calc";
|
||||
@import "css3/columns";
|
||||
@import "css3/filter";
|
||||
@import "css3/flex-box";
|
||||
@import "css3/font-face";
|
||||
@import "css3/hyphens";
|
||||
@import "css3/hidpi-media-query";
|
||||
@import "css3/image-rendering";
|
||||
@import "css3/keyframes";
|
||||
@import "css3/linear-gradient";
|
||||
@import "css3/perspective";
|
||||
@import "css3/radial-gradient";
|
||||
@import "css3/transform";
|
||||
@import "css3/transition";
|
||||
@import "css3/user-select";
|
||||
@import "css3/placeholder";
|
||||
|
||||
// Addons & other mixins
|
||||
@import "addons/button";
|
||||
@import "addons/clearfix";
|
||||
@import "addons/directional-values";
|
||||
@import "addons/ellipsis";
|
||||
@import "addons/font-family";
|
||||
@import "addons/hide-text";
|
||||
@import "addons/html5-input-types";
|
||||
@import "addons/position";
|
||||
@import "addons/prefixer";
|
||||
@import "addons/retina-image";
|
||||
@import "addons/size";
|
||||
@import "addons/timing-functions";
|
||||
@import "addons/triangle";
|
||||
@import "addons/word-wrap";
|
||||
|
||||
// Soon to be deprecated Mixins
|
||||
@import "bourbon-deprecated-upcoming";
|
||||
@@ -0,0 +1,374 @@
|
||||
@mixin button ($style: simple, $base-color: #4294f0, $text-size: inherit, $padding: 7px 18px) {
|
||||
|
||||
@if type-of($style) == string and type-of($base-color) == color {
|
||||
@include buttonstyle($style, $base-color, $text-size, $padding);
|
||||
}
|
||||
|
||||
@if type-of($style) == string and type-of($base-color) == number {
|
||||
$padding: $text-size;
|
||||
$text-size: $base-color;
|
||||
$base-color: #4294f0;
|
||||
|
||||
@if $padding == inherit {
|
||||
$padding: 7px 18px;
|
||||
}
|
||||
|
||||
@include buttonstyle($style, $base-color, $text-size, $padding);
|
||||
}
|
||||
|
||||
@if type-of($style) == color and type-of($base-color) == color {
|
||||
$base-color: $style;
|
||||
$style: simple;
|
||||
@include buttonstyle($style, $base-color, $text-size, $padding);
|
||||
}
|
||||
|
||||
@if type-of($style) == color and type-of($base-color) == number {
|
||||
$padding: $text-size;
|
||||
$text-size: $base-color;
|
||||
$base-color: $style;
|
||||
$style: simple;
|
||||
|
||||
@if $padding == inherit {
|
||||
$padding: 7px 18px;
|
||||
}
|
||||
|
||||
@include buttonstyle($style, $base-color, $text-size, $padding);
|
||||
}
|
||||
|
||||
@if type-of($style) == number {
|
||||
$padding: $base-color;
|
||||
$text-size: $style;
|
||||
$base-color: #4294f0;
|
||||
$style: simple;
|
||||
|
||||
@if $padding == #4294f0 {
|
||||
$padding: 7px 18px;
|
||||
}
|
||||
|
||||
@include buttonstyle($style, $base-color, $text-size, $padding);
|
||||
}
|
||||
|
||||
&:disabled {
|
||||
opacity: 0.5;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Selector Style Button
|
||||
//************************************************************************//
|
||||
@mixin buttonstyle($type, $b-color, $t-size, $pad) {
|
||||
// Grayscale button
|
||||
@if $type == simple and $b-color == grayscale($b-color) {
|
||||
@include simple($b-color, true, $t-size, $pad);
|
||||
}
|
||||
|
||||
@if $type == shiny and $b-color == grayscale($b-color) {
|
||||
@include shiny($b-color, true, $t-size, $pad);
|
||||
}
|
||||
|
||||
@if $type == pill and $b-color == grayscale($b-color) {
|
||||
@include pill($b-color, true, $t-size, $pad);
|
||||
}
|
||||
|
||||
@if $type == flat and $b-color == grayscale($b-color) {
|
||||
@include flat($b-color, true, $t-size, $pad);
|
||||
}
|
||||
|
||||
// Colored button
|
||||
@if $type == simple {
|
||||
@include simple($b-color, false, $t-size, $pad);
|
||||
}
|
||||
|
||||
@else if $type == shiny {
|
||||
@include shiny($b-color, false, $t-size, $pad);
|
||||
}
|
||||
|
||||
@else if $type == pill {
|
||||
@include pill($b-color, false, $t-size, $pad);
|
||||
}
|
||||
|
||||
@else if $type == flat {
|
||||
@include flat($b-color, false, $t-size, $pad);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Simple Button
|
||||
//************************************************************************//
|
||||
@mixin simple($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {
|
||||
$color: hsl(0, 0, 100%);
|
||||
$border: adjust-color($base-color, $saturation: 9%, $lightness: -14%);
|
||||
$inset-shadow: adjust-color($base-color, $saturation: -8%, $lightness: 15%);
|
||||
$stop-gradient: adjust-color($base-color, $saturation: 9%, $lightness: -11%);
|
||||
$text-shadow: adjust-color($base-color, $saturation: 15%, $lightness: -18%);
|
||||
|
||||
@if is-light($base-color) {
|
||||
$color: hsl(0, 0, 20%);
|
||||
$text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
|
||||
}
|
||||
|
||||
@if $grayscale == true {
|
||||
$border: grayscale($border);
|
||||
$inset-shadow: grayscale($inset-shadow);
|
||||
$stop-gradient: grayscale($stop-gradient);
|
||||
$text-shadow: grayscale($text-shadow);
|
||||
}
|
||||
|
||||
border: 1px solid $border;
|
||||
border-radius: 3px;
|
||||
box-shadow: inset 0 1px 0 0 $inset-shadow;
|
||||
color: $color;
|
||||
display: inline-block;
|
||||
font-size: $textsize;
|
||||
font-weight: bold;
|
||||
@include linear-gradient ($base-color, $stop-gradient);
|
||||
padding: $padding;
|
||||
text-decoration: none;
|
||||
text-shadow: 0 1px 0 $text-shadow;
|
||||
background-clip: padding-box;
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
$base-color-hover: adjust-color($base-color, $saturation: -4%, $lightness: -5%);
|
||||
$inset-shadow-hover: adjust-color($base-color, $saturation: -7%, $lightness: 5%);
|
||||
$stop-gradient-hover: adjust-color($base-color, $saturation: 8%, $lightness: -14%);
|
||||
|
||||
@if $grayscale == true {
|
||||
$base-color-hover: grayscale($base-color-hover);
|
||||
$inset-shadow-hover: grayscale($inset-shadow-hover);
|
||||
$stop-gradient-hover: grayscale($stop-gradient-hover);
|
||||
}
|
||||
|
||||
box-shadow: inset 0 1px 0 0 $inset-shadow-hover;
|
||||
cursor: pointer;
|
||||
@include linear-gradient ($base-color-hover, $stop-gradient-hover);
|
||||
}
|
||||
|
||||
&:active:not(:disabled),
|
||||
&:focus:not(:disabled) {
|
||||
$border-active: adjust-color($base-color, $saturation: 9%, $lightness: -14%);
|
||||
$inset-shadow-active: adjust-color($base-color, $saturation: 7%, $lightness: -17%);
|
||||
|
||||
@if $grayscale == true {
|
||||
$border-active: grayscale($border-active);
|
||||
$inset-shadow-active: grayscale($inset-shadow-active);
|
||||
}
|
||||
|
||||
border: 1px solid $border-active;
|
||||
box-shadow: inset 0 0 8px 4px $inset-shadow-active, inset 0 0 8px 4px $inset-shadow-active;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Shiny Button
|
||||
//************************************************************************//
|
||||
@mixin shiny($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {
|
||||
$color: hsl(0, 0, 100%);
|
||||
$border: adjust-color($base-color, $red: -117, $green: -111, $blue: -81);
|
||||
$border-bottom: adjust-color($base-color, $red: -126, $green: -127, $blue: -122);
|
||||
$fourth-stop: adjust-color($base-color, $red: -79, $green: -70, $blue: -46);
|
||||
$inset-shadow: adjust-color($base-color, $red: 37, $green: 29, $blue: 12);
|
||||
$second-stop: adjust-color($base-color, $red: -56, $green: -50, $blue: -33);
|
||||
$text-shadow: adjust-color($base-color, $red: -140, $green: -141, $blue: -114);
|
||||
$third-stop: adjust-color($base-color, $red: -86, $green: -75, $blue: -48);
|
||||
|
||||
@if is-light($base-color) {
|
||||
$color: hsl(0, 0, 20%);
|
||||
$text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
|
||||
}
|
||||
|
||||
@if $grayscale == true {
|
||||
$border: grayscale($border);
|
||||
$border-bottom: grayscale($border-bottom);
|
||||
$fourth-stop: grayscale($fourth-stop);
|
||||
$inset-shadow: grayscale($inset-shadow);
|
||||
$second-stop: grayscale($second-stop);
|
||||
$text-shadow: grayscale($text-shadow);
|
||||
$third-stop: grayscale($third-stop);
|
||||
}
|
||||
|
||||
border: 1px solid $border;
|
||||
border-bottom: 1px solid $border-bottom;
|
||||
border-radius: 5px;
|
||||
box-shadow: inset 0 1px 0 0 $inset-shadow;
|
||||
color: $color;
|
||||
display: inline-block;
|
||||
font-size: $textsize;
|
||||
font-weight: bold;
|
||||
@include linear-gradient(top, $base-color 0%, $second-stop 50%, $third-stop 50%, $fourth-stop 100%);
|
||||
padding: $padding;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
text-shadow: 0 -1px 1px $text-shadow;
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
$first-stop-hover: adjust-color($base-color, $red: -13, $green: -15, $blue: -18);
|
||||
$second-stop-hover: adjust-color($base-color, $red: -66, $green: -62, $blue: -51);
|
||||
$third-stop-hover: adjust-color($base-color, $red: -93, $green: -85, $blue: -66);
|
||||
$fourth-stop-hover: adjust-color($base-color, $red: -86, $green: -80, $blue: -63);
|
||||
|
||||
@if $grayscale == true {
|
||||
$first-stop-hover: grayscale($first-stop-hover);
|
||||
$second-stop-hover: grayscale($second-stop-hover);
|
||||
$third-stop-hover: grayscale($third-stop-hover);
|
||||
$fourth-stop-hover: grayscale($fourth-stop-hover);
|
||||
}
|
||||
|
||||
cursor: pointer;
|
||||
@include linear-gradient(top, $first-stop-hover 0%,
|
||||
$second-stop-hover 50%,
|
||||
$third-stop-hover 50%,
|
||||
$fourth-stop-hover 100%);
|
||||
}
|
||||
|
||||
&:active:not(:disabled),
|
||||
&:focus:not(:disabled) {
|
||||
$inset-shadow-active: adjust-color($base-color, $red: -111, $green: -116, $blue: -122);
|
||||
|
||||
@if $grayscale == true {
|
||||
$inset-shadow-active: grayscale($inset-shadow-active);
|
||||
}
|
||||
|
||||
box-shadow: inset 0 0 20px 0 $inset-shadow-active;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Pill Button
|
||||
//************************************************************************//
|
||||
@mixin pill($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {
|
||||
$color: hsl(0, 0, 100%);
|
||||
$border-bottom: adjust-color($base-color, $hue: 8, $saturation: -11%, $lightness: -26%);
|
||||
$border-sides: adjust-color($base-color, $hue: 4, $saturation: -21%, $lightness: -21%);
|
||||
$border-top: adjust-color($base-color, $hue: -1, $saturation: -30%, $lightness: -15%);
|
||||
$inset-shadow: adjust-color($base-color, $hue: -1, $saturation: -1%, $lightness: 7%);
|
||||
$stop-gradient: adjust-color($base-color, $hue: 8, $saturation: 14%, $lightness: -10%);
|
||||
$text-shadow: adjust-color($base-color, $hue: 5, $saturation: -19%, $lightness: -15%);
|
||||
|
||||
@if is-light($base-color) {
|
||||
$color: hsl(0, 0, 20%);
|
||||
$text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
|
||||
}
|
||||
|
||||
@if $grayscale == true {
|
||||
$border-bottom: grayscale($border-bottom);
|
||||
$border-sides: grayscale($border-sides);
|
||||
$border-top: grayscale($border-top);
|
||||
$inset-shadow: grayscale($inset-shadow);
|
||||
$stop-gradient: grayscale($stop-gradient);
|
||||
$text-shadow: grayscale($text-shadow);
|
||||
}
|
||||
|
||||
border: 1px solid $border-top;
|
||||
border-color: $border-top $border-sides $border-bottom;
|
||||
border-radius: 16px;
|
||||
box-shadow: inset 0 1px 0 0 $inset-shadow;
|
||||
color: $color;
|
||||
display: inline-block;
|
||||
font-size: $textsize;
|
||||
font-weight: normal;
|
||||
line-height: 1;
|
||||
@include linear-gradient ($base-color, $stop-gradient);
|
||||
padding: $padding;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
text-shadow: 0 -1px 1px $text-shadow;
|
||||
background-clip: padding-box;
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
$base-color-hover: adjust-color($base-color, $lightness: -4.5%);
|
||||
$border-bottom: adjust-color($base-color, $hue: 8, $saturation: 13.5%, $lightness: -32%);
|
||||
$border-sides: adjust-color($base-color, $hue: 4, $saturation: -2%, $lightness: -27%);
|
||||
$border-top: adjust-color($base-color, $hue: -1, $saturation: -17%, $lightness: -21%);
|
||||
$inset-shadow-hover: adjust-color($base-color, $saturation: -1%, $lightness: 3%);
|
||||
$stop-gradient-hover: adjust-color($base-color, $hue: 8, $saturation: -4%, $lightness: -15.5%);
|
||||
$text-shadow-hover: adjust-color($base-color, $hue: 5, $saturation: -5%, $lightness: -22%);
|
||||
|
||||
@if $grayscale == true {
|
||||
$base-color-hover: grayscale($base-color-hover);
|
||||
$border-bottom: grayscale($border-bottom);
|
||||
$border-sides: grayscale($border-sides);
|
||||
$border-top: grayscale($border-top);
|
||||
$inset-shadow-hover: grayscale($inset-shadow-hover);
|
||||
$stop-gradient-hover: grayscale($stop-gradient-hover);
|
||||
$text-shadow-hover: grayscale($text-shadow-hover);
|
||||
}
|
||||
|
||||
border: 1px solid $border-top;
|
||||
border-color: $border-top $border-sides $border-bottom;
|
||||
box-shadow: inset 0 1px 0 0 $inset-shadow-hover;
|
||||
cursor: pointer;
|
||||
@include linear-gradient ($base-color-hover, $stop-gradient-hover);
|
||||
text-shadow: 0 -1px 1px $text-shadow-hover;
|
||||
background-clip: padding-box;
|
||||
}
|
||||
|
||||
&:active:not(:disabled),
|
||||
&:focus:not(:disabled) {
|
||||
$active-color: adjust-color($base-color, $hue: 4, $saturation: -12%, $lightness: -10%);
|
||||
$border-active: adjust-color($base-color, $hue: 6, $saturation: -2.5%, $lightness: -30%);
|
||||
$border-bottom-active: adjust-color($base-color, $hue: 11, $saturation: 6%, $lightness: -31%);
|
||||
$inset-shadow-active: adjust-color($base-color, $hue: 9, $saturation: 2%, $lightness: -21.5%);
|
||||
$text-shadow-active: adjust-color($base-color, $hue: 5, $saturation: -12%, $lightness: -21.5%);
|
||||
|
||||
@if $grayscale == true {
|
||||
$active-color: grayscale($active-color);
|
||||
$border-active: grayscale($border-active);
|
||||
$border-bottom-active: grayscale($border-bottom-active);
|
||||
$inset-shadow-active: grayscale($inset-shadow-active);
|
||||
$text-shadow-active: grayscale($text-shadow-active);
|
||||
}
|
||||
|
||||
background: $active-color;
|
||||
border: 1px solid $border-active;
|
||||
border-bottom: 1px solid $border-bottom-active;
|
||||
box-shadow: inset 0 0 6px 3px $inset-shadow-active;
|
||||
text-shadow: 0 -1px 1px $text-shadow-active;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Flat Button
|
||||
//************************************************************************//
|
||||
@mixin flat($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {
|
||||
$color: hsl(0, 0, 100%);
|
||||
|
||||
@if is-light($base-color) {
|
||||
$color: hsl(0, 0, 20%);
|
||||
}
|
||||
|
||||
background-color: $base-color;
|
||||
border-radius: 3px;
|
||||
border: none;
|
||||
color: $color;
|
||||
display: inline-block;
|
||||
font-size: inherit;
|
||||
font-weight: bold;
|
||||
padding: 7px 18px;
|
||||
text-decoration: none;
|
||||
background-clip: padding-box;
|
||||
|
||||
&:hover:not(:disabled){
|
||||
$base-color-hover: adjust-color($base-color, $saturation: 4%, $lightness: 5%);
|
||||
|
||||
@if $grayscale == true {
|
||||
$base-color-hover: grayscale($base-color-hover);
|
||||
}
|
||||
|
||||
background-color: $base-color-hover;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
&:active:not(:disabled),
|
||||
&:focus:not(:disabled) {
|
||||
$base-color-active: adjust-color($base-color, $saturation: -4%, $lightness: -5%);
|
||||
|
||||
@if $grayscale == true {
|
||||
$base-color-active: grayscale($base-color-active);
|
||||
}
|
||||
|
||||
background-color: $base-color-active;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
// Modern micro clearfix provides an easy way to contain floats without adding additional markup.
|
||||
//
|
||||
// Example usage:
|
||||
//
|
||||
// // Contain all floats within .wrapper
|
||||
// .wrapper {
|
||||
// @include clearfix;
|
||||
// .content,
|
||||
// .sidebar {
|
||||
// float : left;
|
||||
// }
|
||||
// }
|
||||
|
||||
@mixin clearfix {
|
||||
&:after {
|
||||
content:"";
|
||||
display:table;
|
||||
clear:both;
|
||||
}
|
||||
}
|
||||
|
||||
// Acknowledgements
|
||||
// Beat *that* clearfix: [Thierry Koblentz](http://www.css-101.org/articles/clearfix/latest-new-clearfix-so-far.php)
|
||||
+111
@@ -0,0 +1,111 @@
|
||||
// directional-property mixins are shorthands
|
||||
// for writing properties like the following
|
||||
//
|
||||
// @include margin(null 0 10px);
|
||||
// ------
|
||||
// margin-right: 0;
|
||||
// margin-bottom: 10px;
|
||||
// margin-left: 0;
|
||||
//
|
||||
// - or -
|
||||
//
|
||||
// @include border-style(dotted null);
|
||||
// ------
|
||||
// border-top-style: dotted;
|
||||
// border-bottom-style: dotted;
|
||||
//
|
||||
// ------
|
||||
//
|
||||
// Note: You can also use false instead of null
|
||||
|
||||
@function collapse-directionals($vals) {
|
||||
$output: null;
|
||||
|
||||
$A: nth( $vals, 1 );
|
||||
$B: if( length($vals) < 2, $A, nth($vals, 2));
|
||||
$C: if( length($vals) < 3, $A, nth($vals, 3));
|
||||
$D: if( length($vals) < 2, $A, nth($vals, if( length($vals) < 4, 2, 4) ));
|
||||
|
||||
@if $A == 0 { $A: 0 }
|
||||
@if $B == 0 { $B: 0 }
|
||||
@if $C == 0 { $C: 0 }
|
||||
@if $D == 0 { $D: 0 }
|
||||
|
||||
@if $A == $B and $A == $C and $A == $D { $output: $A }
|
||||
@else if $A == $C and $B == $D { $output: $A $B }
|
||||
@else if $B == $D { $output: $A $B $C }
|
||||
@else { $output: $A $B $C $D }
|
||||
|
||||
@return $output;
|
||||
}
|
||||
|
||||
@function contains-falsy($list) {
|
||||
@each $item in $list {
|
||||
@if not $item {
|
||||
@return true;
|
||||
}
|
||||
}
|
||||
|
||||
@return false;
|
||||
}
|
||||
|
||||
@mixin directional-property($pre, $suf, $vals) {
|
||||
// Property Names
|
||||
$top: $pre + "-top" + if($suf, "-#{$suf}", "");
|
||||
$bottom: $pre + "-bottom" + if($suf, "-#{$suf}", "");
|
||||
$left: $pre + "-left" + if($suf, "-#{$suf}", "");
|
||||
$right: $pre + "-right" + if($suf, "-#{$suf}", "");
|
||||
$all: $pre + if($suf, "-#{$suf}", "");
|
||||
|
||||
$vals: collapse-directionals($vals);
|
||||
|
||||
@if contains-falsy($vals) {
|
||||
@if nth($vals, 1) { #{$top}: nth($vals, 1); }
|
||||
|
||||
@if length($vals) == 1 {
|
||||
@if nth($vals, 1) { #{$right}: nth($vals, 1); }
|
||||
} @else {
|
||||
@if nth($vals, 2) { #{$right}: nth($vals, 2); }
|
||||
}
|
||||
|
||||
// prop: top/bottom right/left
|
||||
@if length($vals) == 2 {
|
||||
@if nth($vals, 1) { #{$bottom}: nth($vals, 1); }
|
||||
@if nth($vals, 2) { #{$left}: nth($vals, 2); }
|
||||
|
||||
// prop: top right/left bottom
|
||||
} @else if length($vals) == 3 {
|
||||
@if nth($vals, 3) { #{$bottom}: nth($vals, 3); }
|
||||
@if nth($vals, 2) { #{$left}: nth($vals, 2); }
|
||||
|
||||
// prop: top right bottom left
|
||||
} @else if length($vals) == 4 {
|
||||
@if nth($vals, 3) { #{$bottom}: nth($vals, 3); }
|
||||
@if nth($vals, 4) { #{$left}: nth($vals, 4); }
|
||||
}
|
||||
|
||||
// prop: top/right/bottom/left
|
||||
} @else {
|
||||
#{$all}: $vals;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin margin($vals...) {
|
||||
@include directional-property(margin, false, $vals...);
|
||||
}
|
||||
|
||||
@mixin padding($vals...) {
|
||||
@include directional-property(padding, false, $vals...);
|
||||
}
|
||||
|
||||
@mixin border-style($vals...) {
|
||||
@include directional-property(border, style, $vals...);
|
||||
}
|
||||
|
||||
@mixin border-color($vals...) {
|
||||
@include directional-property(border, color, $vals...);
|
||||
}
|
||||
|
||||
@mixin border-width($vals...) {
|
||||
@include directional-property(border, width, $vals...);
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
@mixin ellipsis($width: 100%) {
|
||||
display: inline-block;
|
||||
max-width: $width;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
$georgia: Georgia, Cambria, "Times New Roman", Times, serif;
|
||||
$helvetica: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
|
||||
$lucida-grande: "Lucida Grande", Tahoma, Verdana, Arial, sans-serif;
|
||||
$monospace: "Bitstream Vera Sans Mono", Consolas, Courier, monospace;
|
||||
$verdana: Verdana, Geneva, sans-serif;
|
||||
@@ -0,0 +1,10 @@
|
||||
@mixin hide-text {
|
||||
overflow: hidden;
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
display: block;
|
||||
width: 0;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
+86
@@ -0,0 +1,86 @@
|
||||
//************************************************************************//
|
||||
// Generate a variable ($all-text-inputs) with a list of all html5
|
||||
// input types that have a text-based input, excluding textarea.
|
||||
// http://diveintohtml5.org/forms.html
|
||||
//************************************************************************//
|
||||
$inputs-list: 'input[type="email"]',
|
||||
'input[type="number"]',
|
||||
'input[type="password"]',
|
||||
'input[type="search"]',
|
||||
'input[type="tel"]',
|
||||
'input[type="text"]',
|
||||
'input[type="url"]',
|
||||
|
||||
// Webkit & Gecko may change the display of these in the future
|
||||
'input[type="color"]',
|
||||
'input[type="date"]',
|
||||
'input[type="datetime"]',
|
||||
'input[type="datetime-local"]',
|
||||
'input[type="month"]',
|
||||
'input[type="time"]',
|
||||
'input[type="week"]';
|
||||
|
||||
// Bare inputs
|
||||
//************************************************************************//
|
||||
$all-text-inputs: assign-inputs($inputs-list);
|
||||
|
||||
// Hover Pseudo-class
|
||||
//************************************************************************//
|
||||
$all-text-inputs-hover: assign-inputs($inputs-list, hover);
|
||||
|
||||
// Focus Pseudo-class
|
||||
//************************************************************************//
|
||||
$all-text-inputs-focus: assign-inputs($inputs-list, focus);
|
||||
|
||||
|
||||
|
||||
// You must use interpolation on the variable:
|
||||
// #{$all-text-inputs}
|
||||
// #{$all-text-inputs-hover}
|
||||
// #{$all-text-inputs-focus}
|
||||
|
||||
// Example
|
||||
//************************************************************************//
|
||||
// #{$all-text-inputs}, textarea {
|
||||
// border: 1px solid red;
|
||||
// }
|
||||
|
||||
|
||||
|
||||
//************************************************************************//
|
||||
// Generate a variable ($all-button-inputs) with a list of all html5
|
||||
// input types that have a button-based input, excluding button.
|
||||
//************************************************************************//
|
||||
$inputs-button-list: 'input[type="button"]',
|
||||
'input[type="reset"]',
|
||||
'input[type="submit"]';
|
||||
|
||||
// Bare inputs
|
||||
//************************************************************************//
|
||||
$all-button-inputs: assign-inputs($inputs-button-list);
|
||||
|
||||
// Hover Pseudo-class
|
||||
//************************************************************************//
|
||||
$all-button-inputs-hover: assign-inputs($inputs-button-list, hover);
|
||||
|
||||
// Focus Pseudo-class
|
||||
//************************************************************************//
|
||||
$all-button-inputs-focus: assign-inputs($inputs-button-list, focus);
|
||||
|
||||
// Active Pseudo-class
|
||||
//************************************************************************//
|
||||
$all-button-inputs-active: assign-inputs($inputs-button-list, active);
|
||||
|
||||
|
||||
|
||||
// You must use interpolation on the variable:
|
||||
// #{$all-button-inputs}
|
||||
// #{$all-button-inputs-hover}
|
||||
// #{$all-button-inputs-focus}
|
||||
// #{$all-button-inputs-active}
|
||||
|
||||
// Example
|
||||
//************************************************************************//
|
||||
// #{$all-button-inputs}, button {
|
||||
// border: 1px solid red;
|
||||
// }
|
||||
@@ -0,0 +1,32 @@
|
||||
@mixin position ($position: relative, $coordinates: null null null null) {
|
||||
|
||||
@if type-of($position) == list {
|
||||
$coordinates: $position;
|
||||
$position: relative;
|
||||
}
|
||||
|
||||
$coordinates: unpack($coordinates);
|
||||
|
||||
$top: nth($coordinates, 1);
|
||||
$right: nth($coordinates, 2);
|
||||
$bottom: nth($coordinates, 3);
|
||||
$left: nth($coordinates, 4);
|
||||
|
||||
position: $position;
|
||||
|
||||
@if ($top and $top == auto) or (type-of($top) == number) {
|
||||
top: $top;
|
||||
}
|
||||
|
||||
@if ($right and $right == auto) or (type-of($right) == number) {
|
||||
right: $right;
|
||||
}
|
||||
|
||||
@if ($bottom and $bottom == auto) or (type-of($bottom) == number) {
|
||||
bottom: $bottom;
|
||||
}
|
||||
|
||||
@if ($left and $left == auto) or (type-of($left) == number) {
|
||||
left: $left;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
//************************************************************************//
|
||||
// Example: @include prefixer(border-radius, $radii, webkit ms spec);
|
||||
//************************************************************************//
|
||||
// Variables located in /settings/_prefixer.scss
|
||||
|
||||
@mixin prefixer ($property, $value, $prefixes) {
|
||||
@each $prefix in $prefixes {
|
||||
@if $prefix == webkit {
|
||||
@if $prefix-for-webkit {
|
||||
-webkit-#{$property}: $value;
|
||||
}
|
||||
}
|
||||
@else if $prefix == moz {
|
||||
@if $prefix-for-mozilla {
|
||||
-moz-#{$property}: $value;
|
||||
}
|
||||
}
|
||||
@else if $prefix == ms {
|
||||
@if $prefix-for-microsoft {
|
||||
-ms-#{$property}: $value;
|
||||
}
|
||||
}
|
||||
@else if $prefix == o {
|
||||
@if $prefix-for-opera {
|
||||
-o-#{$property}: $value;
|
||||
}
|
||||
}
|
||||
@else if $prefix == spec {
|
||||
@if $prefix-for-spec {
|
||||
#{$property}: $value;
|
||||
}
|
||||
}
|
||||
@else {
|
||||
@warn "Unrecognized prefix: #{$prefix}";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@mixin disable-prefix-for-all() {
|
||||
$prefix-for-webkit: false !global;
|
||||
$prefix-for-mozilla: false !global;
|
||||
$prefix-for-microsoft: false !global;
|
||||
$prefix-for-opera: false !global;
|
||||
$prefix-for-spec: false !global;
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
@mixin rem($property, $size, $base: $em-base) {
|
||||
@if not unitless($base) {
|
||||
$base: strip-units($base);
|
||||
}
|
||||
|
||||
$unitless_values: ();
|
||||
@each $num in $size {
|
||||
@if not unitless($num) {
|
||||
@if unit($num) == "em" {
|
||||
$num: $num * $base;
|
||||
}
|
||||
|
||||
$num: strip-units($num);
|
||||
}
|
||||
|
||||
$unitless_values: append($unitless_values, $num);
|
||||
}
|
||||
$size: $unitless_values;
|
||||
|
||||
$pixel_values: ();
|
||||
$rem_values: ();
|
||||
@each $value in $pxval {
|
||||
$pixel_value: $value * 1px;
|
||||
$pixel_values: append($pixel_values, $pixel_value);
|
||||
|
||||
$rem_value: ($value / $base) * 1rem;
|
||||
$rem_values: append($rem_values, $rem_value);
|
||||
}
|
||||
|
||||
#{$property}: $pixel_values;
|
||||
#{$property}: $rem_values;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
@mixin retina-image($filename, $background-size, $extension: png, $retina-filename: null, $retina-suffix: _2x, $asset-pipeline: false) {
|
||||
@if $asset-pipeline {
|
||||
background-image: image-url("#{$filename}.#{$extension}");
|
||||
}
|
||||
@else {
|
||||
background-image: url("#{$filename}.#{$extension}");
|
||||
}
|
||||
|
||||
@include hidpi {
|
||||
@if $asset-pipeline {
|
||||
@if $retina-filename {
|
||||
background-image: image-url("#{$retina-filename}.#{$extension}");
|
||||
}
|
||||
@else {
|
||||
background-image: image-url("#{$filename}#{$retina-suffix}.#{$extension}");
|
||||
}
|
||||
}
|
||||
|
||||
@else {
|
||||
@if $retina-filename {
|
||||
background-image: url("#{$retina-filename}.#{$extension}");
|
||||
}
|
||||
@else {
|
||||
background-image: url("#{$filename}#{$retina-suffix}.#{$extension}");
|
||||
}
|
||||
}
|
||||
|
||||
background-size: $background-size;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
@mixin size($size) {
|
||||
$height: nth($size, 1);
|
||||
$width: $height;
|
||||
|
||||
@if length($size) > 1 {
|
||||
$height: nth($size, 2);
|
||||
}
|
||||
|
||||
@if $height == auto or (type-of($height) == number and not unitless($height)) {
|
||||
height: $height;
|
||||
}
|
||||
|
||||
@if $width == auto or (type-of($height) == number and not unitless($width)) {
|
||||
width: $width;
|
||||
}
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
// CSS cubic-bezier timing functions. Timing functions courtesy of jquery.easie (github.com/jaukia/easie)
|
||||
// Timing functions are the same as demo'ed here: http://jqueryui.com/demos/effect/easing.html
|
||||
|
||||
// EASE IN
|
||||
$ease-in-quad: cubic-bezier(0.550, 0.085, 0.680, 0.530);
|
||||
$ease-in-cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
||||
$ease-in-quart: cubic-bezier(0.895, 0.030, 0.685, 0.220);
|
||||
$ease-in-quint: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
||||
$ease-in-sine: cubic-bezier(0.470, 0.000, 0.745, 0.715);
|
||||
$ease-in-expo: cubic-bezier(0.950, 0.050, 0.795, 0.035);
|
||||
$ease-in-circ: cubic-bezier(0.600, 0.040, 0.980, 0.335);
|
||||
$ease-in-back: cubic-bezier(0.600, -0.280, 0.735, 0.045);
|
||||
|
||||
// EASE OUT
|
||||
$ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940);
|
||||
$ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
||||
$ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000);
|
||||
$ease-out-quint: cubic-bezier(0.230, 1.000, 0.320, 1.000);
|
||||
$ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000);
|
||||
$ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000);
|
||||
$ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000);
|
||||
$ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275);
|
||||
|
||||
// EASE IN OUT
|
||||
$ease-in-out-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955);
|
||||
$ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
||||
$ease-in-out-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000);
|
||||
$ease-in-out-quint: cubic-bezier(0.860, 0.000, 0.070, 1.000);
|
||||
$ease-in-out-sine: cubic-bezier(0.445, 0.050, 0.550, 0.950);
|
||||
$ease-in-out-expo: cubic-bezier(1.000, 0.000, 0.000, 1.000);
|
||||
$ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.150, 0.860);
|
||||
$ease-in-out-back: cubic-bezier(0.680, -0.550, 0.265, 1.550);
|
||||
@@ -0,0 +1,83 @@
|
||||
@mixin triangle ($size, $color, $direction) {
|
||||
height: 0;
|
||||
width: 0;
|
||||
|
||||
$width: nth($size, 1);
|
||||
$height: nth($size, length($size));
|
||||
|
||||
$foreground-color: nth($color, 1);
|
||||
$background-color: if(length($color) == 2, nth($color, 2), transparent);
|
||||
|
||||
@if ($direction == up) or ($direction == down) or ($direction == right) or ($direction == left) {
|
||||
|
||||
$width: $width / 2;
|
||||
$height: if(length($size) > 1, $height, $height/2);
|
||||
|
||||
@if $direction == up {
|
||||
border-left: $width solid $background-color;
|
||||
border-right: $width solid $background-color;
|
||||
border-bottom: $height solid $foreground-color;
|
||||
|
||||
} @else if $direction == right {
|
||||
border-top: $width solid $background-color;
|
||||
border-bottom: $width solid $background-color;
|
||||
border-left: $height solid $foreground-color;
|
||||
|
||||
} @else if $direction == down {
|
||||
border-left: $width solid $background-color;
|
||||
border-right: $width solid $background-color;
|
||||
border-top: $height solid $foreground-color;
|
||||
|
||||
} @else if $direction == left {
|
||||
border-top: $width solid $background-color;
|
||||
border-bottom: $width solid $background-color;
|
||||
border-right: $height solid $foreground-color;
|
||||
}
|
||||
}
|
||||
|
||||
@else if ($direction == up-right) or ($direction == up-left) {
|
||||
border-top: $height solid $foreground-color;
|
||||
|
||||
@if $direction == up-right {
|
||||
border-left: $width solid $background-color;
|
||||
|
||||
} @else if $direction == up-left {
|
||||
border-right: $width solid $background-color;
|
||||
}
|
||||
}
|
||||
|
||||
@else if ($direction == down-right) or ($direction == down-left) {
|
||||
border-bottom: $height solid $foreground-color;
|
||||
|
||||
@if $direction == down-right {
|
||||
border-left: $width solid $background-color;
|
||||
|
||||
} @else if $direction == down-left {
|
||||
border-right: $width solid $background-color;
|
||||
}
|
||||
}
|
||||
|
||||
@else if ($direction == inset-up) {
|
||||
border-width: $height $width;
|
||||
border-style: solid;
|
||||
border-color: $background-color $background-color $foreground-color;
|
||||
}
|
||||
|
||||
@else if ($direction == inset-down) {
|
||||
border-width: $height $width;
|
||||
border-style: solid;
|
||||
border-color: $foreground-color $background-color $background-color;
|
||||
}
|
||||
|
||||
@else if ($direction == inset-right) {
|
||||
border-width: $width $height;
|
||||
border-style: solid;
|
||||
border-color: $background-color $background-color $background-color $foreground-color;
|
||||
}
|
||||
|
||||
@else if ($direction == inset-left) {
|
||||
border-width: $width $height;
|
||||
border-style: solid;
|
||||
border-color: $background-color $foreground-color $background-color $background-color;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
@mixin word-wrap($wrap: break-word) {
|
||||
word-wrap: $wrap;
|
||||
|
||||
@if $wrap == break-word {
|
||||
overflow-wrap: break-word;
|
||||
word-break: break-all;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
// http://www.w3.org/TR/css3-animations/#the-animation-name-property-
|
||||
// Each of these mixins support comma separated lists of values, which allows different transitions for individual properties to be described in a single style rule. Each value in the list corresponds to the value at that same position in the other properties.
|
||||
|
||||
// Official animation shorthand property.
|
||||
@mixin animation ($animations...) {
|
||||
@include prefixer(animation, $animations, webkit moz spec);
|
||||
}
|
||||
|
||||
// Individual Animation Properties
|
||||
@mixin animation-name ($names...) {
|
||||
@include prefixer(animation-name, $names, webkit moz spec);
|
||||
}
|
||||
|
||||
|
||||
@mixin animation-duration ($times...) {
|
||||
@include prefixer(animation-duration, $times, webkit moz spec);
|
||||
}
|
||||
|
||||
|
||||
@mixin animation-timing-function ($motions...) {
|
||||
// ease | linear | ease-in | ease-out | ease-in-out
|
||||
@include prefixer(animation-timing-function, $motions, webkit moz spec);
|
||||
}
|
||||
|
||||
|
||||
@mixin animation-iteration-count ($values...) {
|
||||
// infinite | <number>
|
||||
@include prefixer(animation-iteration-count, $values, webkit moz spec);
|
||||
}
|
||||
|
||||
|
||||
@mixin animation-direction ($directions...) {
|
||||
// normal | alternate
|
||||
@include prefixer(animation-direction, $directions, webkit moz spec);
|
||||
}
|
||||
|
||||
|
||||
@mixin animation-play-state ($states...) {
|
||||
// running | paused
|
||||
@include prefixer(animation-play-state, $states, webkit moz spec);
|
||||
}
|
||||
|
||||
|
||||
@mixin animation-delay ($times...) {
|
||||
@include prefixer(animation-delay, $times, webkit moz spec);
|
||||
}
|
||||
|
||||
|
||||
@mixin animation-fill-mode ($modes...) {
|
||||
// none | forwards | backwards | both
|
||||
@include prefixer(animation-fill-mode, $modes, webkit moz spec);
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
@mixin appearance ($value) {
|
||||
@include prefixer(appearance, $value, webkit moz ms o spec);
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
//************************************************************************//
|
||||
// Backface-visibility mixin
|
||||
//************************************************************************//
|
||||
@mixin backface-visibility($visibility) {
|
||||
@include prefixer(backface-visibility, $visibility, webkit spec);
|
||||
}
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
//************************************************************************//
|
||||
// Background-image property for adding multiple background images with
|
||||
// gradients, or for stringing multiple gradients together.
|
||||
//************************************************************************//
|
||||
|
||||
@mixin background-image($images...) {
|
||||
$webkit-images: ();
|
||||
$spec-images: ();
|
||||
|
||||
@each $image in $images {
|
||||
$webkit-image: ();
|
||||
$spec-image: ();
|
||||
|
||||
@if (type-of($image) == string) {
|
||||
$url-str: str-slice($image, 0, 3);
|
||||
$gradient-type: str-slice($image, 0, 6);
|
||||
|
||||
@if $url-str == "url" {
|
||||
$webkit-image: $image;
|
||||
$spec-image: $image;
|
||||
}
|
||||
|
||||
@else if $gradient-type == "linear" {
|
||||
$gradients: _linear-gradient-parser($image);
|
||||
$webkit-image: map-get($gradients, webkit-image);
|
||||
$spec-image: map-get($gradients, spec-image);
|
||||
}
|
||||
|
||||
@else if $gradient-type == "radial" {
|
||||
$gradients: _radial-gradient-parser($image);
|
||||
$webkit-image: map-get($gradients, webkit-image);
|
||||
$spec-image: map-get($gradients, spec-image);
|
||||
}
|
||||
}
|
||||
|
||||
$webkit-images: append($webkit-images, $webkit-image, comma);
|
||||
$spec-images: append($spec-images, $spec-image, comma);
|
||||
}
|
||||
|
||||
background-image: $webkit-images;
|
||||
background-image: $spec-images;
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
//************************************************************************//
|
||||
// Background property for adding multiple backgrounds using shorthand
|
||||
// notation.
|
||||
//************************************************************************//
|
||||
|
||||
@mixin background($backgrounds...) {
|
||||
$webkit-backgrounds: ();
|
||||
$spec-backgrounds: ();
|
||||
|
||||
@each $background in $backgrounds {
|
||||
$webkit-background: ();
|
||||
$spec-background: ();
|
||||
$background-type: type-of($background);
|
||||
|
||||
@if $background-type == string or list {
|
||||
$background-str: if($background-type == list, nth($background, 1), $background);
|
||||
|
||||
$url-str: str-slice($background-str, 0, 3);
|
||||
$gradient-type: str-slice($background-str, 0, 6);
|
||||
|
||||
@if $url-str == "url" {
|
||||
$webkit-background: $background;
|
||||
$spec-background: $background;
|
||||
}
|
||||
|
||||
@else if $gradient-type == "linear" {
|
||||
$gradients: _linear-gradient-parser("#{$background}");
|
||||
$webkit-background: map-get($gradients, webkit-image);
|
||||
$spec-background: map-get($gradients, spec-image);
|
||||
}
|
||||
|
||||
@else if $gradient-type == "radial" {
|
||||
$gradients: _radial-gradient-parser("#{$background}");
|
||||
$webkit-background: map-get($gradients, webkit-image);
|
||||
$spec-background: map-get($gradients, spec-image);
|
||||
}
|
||||
|
||||
@else {
|
||||
$webkit-background: $background;
|
||||
$spec-background: $background;
|
||||
}
|
||||
}
|
||||
|
||||
@else {
|
||||
$webkit-background: $background;
|
||||
$spec-background: $background;
|
||||
}
|
||||
|
||||
$webkit-backgrounds: append($webkit-backgrounds, $webkit-background, comma);
|
||||
$spec-backgrounds: append($spec-backgrounds, $spec-background, comma);
|
||||
}
|
||||
|
||||
background: $webkit-backgrounds;
|
||||
background: $spec-backgrounds;
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
@mixin border-image($borders...) {
|
||||
$webkit-borders: ();
|
||||
$spec-borders: ();
|
||||
|
||||
@each $border in $borders {
|
||||
$webkit-border: ();
|
||||
$spec-border: ();
|
||||
$border-type: type-of($border);
|
||||
|
||||
@if $border-type == string or list {
|
||||
$border-str: if($border-type == list, nth($border, 1), $border);
|
||||
|
||||
$url-str: str-slice($border-str, 0, 3);
|
||||
$gradient-type: str-slice($border-str, 0, 6);
|
||||
|
||||
@if $url-str == "url" {
|
||||
$webkit-border: $border;
|
||||
$spec-border: $border;
|
||||
}
|
||||
|
||||
@else if $gradient-type == "linear" {
|
||||
$gradients: _linear-gradient-parser("#{$border}");
|
||||
$webkit-border: map-get($gradients, webkit-image);
|
||||
$spec-border: map-get($gradients, spec-image);
|
||||
}
|
||||
|
||||
@else if $gradient-type == "radial" {
|
||||
$gradients: _radial-gradient-parser("#{$border}");
|
||||
$webkit-border: map-get($gradients, webkit-image);
|
||||
$spec-border: map-get($gradients, spec-image);
|
||||
}
|
||||
|
||||
@else {
|
||||
$webkit-border: $border;
|
||||
$spec-border: $border;
|
||||
}
|
||||
}
|
||||
|
||||
@else {
|
||||
$webkit-border: $border;
|
||||
$spec-border: $border;
|
||||
}
|
||||
|
||||
$webkit-borders: append($webkit-borders, $webkit-border, comma);
|
||||
$spec-borders: append($spec-borders, $spec-border, comma);
|
||||
}
|
||||
|
||||
-webkit-border-image: $webkit-borders;
|
||||
border-image: $spec-borders;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
//Examples:
|
||||
// @include border-image(url("image.png"));
|
||||
// @include border-image(url("image.png") 20 stretch);
|
||||
// @include border-image(linear-gradient(45deg, orange, yellow));
|
||||
// @include border-image(linear-gradient(45deg, orange, yellow) stretch);
|
||||
// @include border-image(linear-gradient(45deg, orange, yellow) 20 30 40 50 stretch round);
|
||||
// @include border-image(radial-gradient(top, cover, orange, yellow, orange));
|
||||
@@ -0,0 +1,22 @@
|
||||
//************************************************************************//
|
||||
// Shorthand Border-radius mixins
|
||||
//************************************************************************//
|
||||
@mixin border-top-radius($radii) {
|
||||
@include prefixer(border-top-left-radius, $radii, spec);
|
||||
@include prefixer(border-top-right-radius, $radii, spec);
|
||||
}
|
||||
|
||||
@mixin border-bottom-radius($radii) {
|
||||
@include prefixer(border-bottom-left-radius, $radii, spec);
|
||||
@include prefixer(border-bottom-right-radius, $radii, spec);
|
||||
}
|
||||
|
||||
@mixin border-left-radius($radii) {
|
||||
@include prefixer(border-top-left-radius, $radii, spec);
|
||||
@include prefixer(border-bottom-left-radius, $radii, spec);
|
||||
}
|
||||
|
||||
@mixin border-right-radius($radii) {
|
||||
@include prefixer(border-top-right-radius, $radii, spec);
|
||||
@include prefixer(border-bottom-right-radius, $radii, spec);
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
@mixin box-sizing ($box) {
|
||||
// content-box | border-box | inherit
|
||||
@include prefixer(box-sizing, $box, webkit moz spec);
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
@mixin calc($property, $value) {
|
||||
#{$property}: -webkit-calc(#{$value});
|
||||
#{$property}: calc(#{$value});
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
@mixin columns($arg: auto) {
|
||||
// <column-count> || <column-width>
|
||||
@include prefixer(columns, $arg, webkit moz spec);
|
||||
}
|
||||
|
||||
@mixin column-count($int: auto) {
|
||||
// auto || integer
|
||||
@include prefixer(column-count, $int, webkit moz spec);
|
||||
}
|
||||
|
||||
@mixin column-gap($length: normal) {
|
||||
// normal || length
|
||||
@include prefixer(column-gap, $length, webkit moz spec);
|
||||
}
|
||||
|
||||
@mixin column-fill($arg: auto) {
|
||||
// auto || length
|
||||
@include prefixer(column-fill, $arg, webkit moz spec);
|
||||
}
|
||||
|
||||
@mixin column-rule($arg) {
|
||||
// <border-width> || <border-style> || <color>
|
||||
@include prefixer(column-rule, $arg, webkit moz spec);
|
||||
}
|
||||
|
||||
@mixin column-rule-color($color) {
|
||||
@include prefixer(column-rule-color, $color, webkit moz spec);
|
||||
}
|
||||
|
||||
@mixin column-rule-style($style: none) {
|
||||
// none | hidden | dashed | dotted | double | groove | inset | inset | outset | ridge | solid
|
||||
@include prefixer(column-rule-style, $style, webkit moz spec);
|
||||
}
|
||||
|
||||
@mixin column-rule-width ($width: none) {
|
||||
@include prefixer(column-rule-width, $width, webkit moz spec);
|
||||
}
|
||||
|
||||
@mixin column-span($arg: none) {
|
||||
// none || all
|
||||
@include prefixer(column-span, $arg, webkit moz spec);
|
||||
}
|
||||
|
||||
@mixin column-width($length: auto) {
|
||||
// auto || length
|
||||
@include prefixer(column-width, $length, webkit moz spec);
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
@mixin filter($function: none) {
|
||||
// <filter-function> [<filter-function]* | none
|
||||
@include prefixer(filter, $function, webkit spec);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,321 @@
|
||||
// CSS3 Flexible Box Model and property defaults
|
||||
|
||||
// Custom shorthand notation for flexbox
|
||||
@mixin box($orient: inline-axis, $pack: start, $align: stretch) {
|
||||
@include display-box;
|
||||
@include box-orient($orient);
|
||||
@include box-pack($pack);
|
||||
@include box-align($align);
|
||||
}
|
||||
|
||||
@mixin display-box {
|
||||
display: -webkit-box;
|
||||
display: -moz-box;
|
||||
display: -ms-flexbox; // IE 10
|
||||
display: box;
|
||||
}
|
||||
|
||||
@mixin box-orient($orient: inline-axis) {
|
||||
// horizontal|vertical|inline-axis|block-axis|inherit
|
||||
@include prefixer(box-orient, $orient, webkit moz spec);
|
||||
}
|
||||
|
||||
@mixin box-pack($pack: start) {
|
||||
// start|end|center|justify
|
||||
@include prefixer(box-pack, $pack, webkit moz spec);
|
||||
-ms-flex-pack: $pack; // IE 10
|
||||
}
|
||||
|
||||
@mixin box-align($align: stretch) {
|
||||
// start|end|center|baseline|stretch
|
||||
@include prefixer(box-align, $align, webkit moz spec);
|
||||
-ms-flex-align: $align; // IE 10
|
||||
}
|
||||
|
||||
@mixin box-direction($direction: normal) {
|
||||
// normal|reverse|inherit
|
||||
@include prefixer(box-direction, $direction, webkit moz spec);
|
||||
-ms-flex-direction: $direction; // IE 10
|
||||
}
|
||||
|
||||
@mixin box-lines($lines: single) {
|
||||
// single|multiple
|
||||
@include prefixer(box-lines, $lines, webkit moz spec);
|
||||
}
|
||||
|
||||
@mixin box-ordinal-group($int: 1) {
|
||||
@include prefixer(box-ordinal-group, $int, webkit moz spec);
|
||||
-ms-flex-order: $int; // IE 10
|
||||
}
|
||||
|
||||
@mixin box-flex($value: 0.0) {
|
||||
@include prefixer(box-flex, $value, webkit moz spec);
|
||||
-ms-flex: $value; // IE 10
|
||||
}
|
||||
|
||||
@mixin box-flex-group($int: 1) {
|
||||
@include prefixer(box-flex-group, $int, webkit moz spec);
|
||||
}
|
||||
|
||||
// CSS3 Flexible Box Model and property defaults
|
||||
// Unified attributes for 2009, 2011, and 2012 flavours.
|
||||
|
||||
// 2009 - display (box | inline-box)
|
||||
// 2011 - display (flexbox | inline-flexbox)
|
||||
// 2012 - display (flex | inline-flex)
|
||||
@mixin display($value) {
|
||||
// flex | inline-flex
|
||||
@if $value == "flex" {
|
||||
// 2009
|
||||
display: -webkit-box;
|
||||
display: -moz-box;
|
||||
display: box;
|
||||
|
||||
// 2012
|
||||
display: -webkit-flex;
|
||||
display: -moz-flex;
|
||||
display: -ms-flexbox; // 2011 (IE 10)
|
||||
display: flex;
|
||||
}
|
||||
|
||||
@elseif $value == "inline-flex" {
|
||||
display: -webkit-inline-box;
|
||||
display: -moz-inline-box;
|
||||
display: inline-box;
|
||||
|
||||
display: -webkit-inline-flex;
|
||||
display: -moz-inline-flex;
|
||||
display: -ms-inline-flexbox;
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
@else {
|
||||
display: $value;
|
||||
}
|
||||
}
|
||||
|
||||
// 2009 - box-flex (integer)
|
||||
// 2011 - flex (decimal | width decimal)
|
||||
// 2012 - flex (integer integer width)
|
||||
@mixin flex($value) {
|
||||
|
||||
// Grab flex-grow for older browsers.
|
||||
$flex-grow: nth($value, 1);
|
||||
|
||||
// 2009
|
||||
@include prefixer(box-flex, $flex-grow, webkit moz spec);
|
||||
|
||||
// 2011 (IE 10), 2012
|
||||
@include prefixer(flex, $value, webkit moz ms spec);
|
||||
}
|
||||
|
||||
// 2009 - box-orient ( horizontal | vertical | inline-axis | block-axis)
|
||||
// - box-direction (normal | reverse)
|
||||
// 2011 - flex-direction (row | row-reverse | column | column-reverse)
|
||||
// 2012 - flex-direction (row | row-reverse | column | column-reverse)
|
||||
@mixin flex-direction($value: row) {
|
||||
|
||||
// Alt values.
|
||||
$value-2009: $value;
|
||||
$value-2011: $value;
|
||||
$direction: "normal";
|
||||
|
||||
@if $value == row {
|
||||
$value-2009: horizontal;
|
||||
}
|
||||
|
||||
@elseif $value == "row-reverse" {
|
||||
$value-2009: horizontal;
|
||||
$direction: reverse;
|
||||
}
|
||||
|
||||
@elseif $value == column {
|
||||
$value-2009: vertical;
|
||||
}
|
||||
|
||||
@elseif $value == "column-reverse" {
|
||||
$value-2009: vertical;
|
||||
$direction: reverse;
|
||||
}
|
||||
|
||||
// 2009
|
||||
@include prefixer(box-orient, $value-2009, webkit moz spec);
|
||||
@if $direction == "reverse" {
|
||||
@include prefixer(box-direction, $direction, webkit moz spec);
|
||||
}
|
||||
|
||||
// 2012
|
||||
@include prefixer(flex-direction, $value, webkit moz spec);
|
||||
|
||||
// 2011 (IE 10)
|
||||
-ms-flex-direction: $value;
|
||||
}
|
||||
|
||||
// 2009 - box-lines (single | multiple)
|
||||
// 2011 - flex-wrap (nowrap | wrap | wrap-reverse)
|
||||
// 2012 - flex-wrap (nowrap | wrap | wrap-reverse)
|
||||
@mixin flex-wrap($value: nowrap) {
|
||||
|
||||
// Alt values.
|
||||
$alt-value: $value;
|
||||
@if $value == nowrap {
|
||||
$alt-value: single;
|
||||
}
|
||||
|
||||
@elseif $value == wrap {
|
||||
$alt-value: multiple;
|
||||
}
|
||||
|
||||
@elseif $value == "wrap-reverse" {
|
||||
$alt-value: multiple;
|
||||
}
|
||||
|
||||
@include prefixer(box-lines, $alt-value, webkit moz spec);
|
||||
@include prefixer(flex-wrap, $value, webkit moz ms spec);
|
||||
}
|
||||
|
||||
// 2009 - TODO: parse values into flex-direction/flex-wrap
|
||||
// 2011 - TODO: parse values into flex-direction/flex-wrap
|
||||
// 2012 - flex-flow (flex-direction || flex-wrap)
|
||||
@mixin flex-flow($value) {
|
||||
@include prefixer(flex-flow, $value, webkit moz spec);
|
||||
}
|
||||
|
||||
// 2009 - box-ordinal-group (integer)
|
||||
// 2011 - flex-order (integer)
|
||||
// 2012 - order (integer)
|
||||
@mixin order($int: 0) {
|
||||
// 2009
|
||||
@include prefixer(box-ordinal-group, $int, webkit moz spec);
|
||||
|
||||
// 2012
|
||||
@include prefixer(order, $int, webkit moz spec);
|
||||
|
||||
// 2011 (IE 10)
|
||||
-ms-flex-order: $int;
|
||||
}
|
||||
|
||||
// 2012 - flex-grow (number)
|
||||
@mixin flex-grow($number: 0) {
|
||||
@include prefixer(flex-grow, $number, webkit moz spec);
|
||||
-ms-flex-positive: $number;
|
||||
}
|
||||
|
||||
// 2012 - flex-shrink (number)
|
||||
@mixin flex-shrink($number: 1) {
|
||||
@include prefixer(flex-shrink, $number, webkit moz spec);
|
||||
-ms-flex-negative: $number;
|
||||
}
|
||||
|
||||
// 2012 - flex-basis (number)
|
||||
@mixin flex-basis($width: auto) {
|
||||
@include prefixer(flex-basis, $width, webkit moz spec);
|
||||
-ms-flex-preferred-size: $width;
|
||||
}
|
||||
|
||||
// 2009 - box-pack (start | end | center | justify)
|
||||
// 2011 - flex-pack (start | end | center | justify)
|
||||
// 2012 - justify-content (flex-start | flex-end | center | space-between | space-around)
|
||||
@mixin justify-content ($value: flex-start) {
|
||||
|
||||
// Alt values.
|
||||
$alt-value: $value;
|
||||
@if $value == "flex-start" {
|
||||
$alt-value: start;
|
||||
}
|
||||
|
||||
@elseif $value == "flex-end" {
|
||||
$alt-value: end;
|
||||
}
|
||||
|
||||
@elseif $value == "space-between" {
|
||||
$alt-value: justify;
|
||||
}
|
||||
|
||||
@elseif $value == "space-around" {
|
||||
$alt-value: center;
|
||||
}
|
||||
|
||||
// 2009
|
||||
@include prefixer(box-pack, $alt-value, webkit moz spec);
|
||||
|
||||
// 2012
|
||||
@include prefixer(justify-content, $value, webkit moz ms o spec);
|
||||
|
||||
// 2011 (IE 10)
|
||||
-ms-flex-pack: $alt-value;
|
||||
}
|
||||
|
||||
// 2009 - box-align (start | end | center | baseline | stretch)
|
||||
// 2011 - flex-align (start | end | center | baseline | stretch)
|
||||
// 2012 - align-items (flex-start | flex-end | center | baseline | stretch)
|
||||
@mixin align-items($value: stretch) {
|
||||
|
||||
$alt-value: $value;
|
||||
|
||||
@if $value == "flex-start" {
|
||||
$alt-value: start;
|
||||
}
|
||||
|
||||
@elseif $value == "flex-end" {
|
||||
$alt-value: end;
|
||||
}
|
||||
|
||||
// 2009
|
||||
@include prefixer(box-align, $alt-value, webkit moz spec);
|
||||
|
||||
// 2012
|
||||
@include prefixer(align-items, $value, webkit moz ms o spec);
|
||||
|
||||
// 2011 (IE 10)
|
||||
-ms-flex-align: $alt-value;
|
||||
}
|
||||
|
||||
// 2011 - flex-item-align (auto | start | end | center | baseline | stretch)
|
||||
// 2012 - align-self (auto | flex-start | flex-end | center | baseline | stretch)
|
||||
@mixin align-self($value: auto) {
|
||||
|
||||
$value-2011: $value;
|
||||
@if $value == "flex-start" {
|
||||
$value-2011: start;
|
||||
}
|
||||
|
||||
@elseif $value == "flex-end" {
|
||||
$value-2011: end;
|
||||
}
|
||||
|
||||
// 2012
|
||||
@include prefixer(align-self, $value, webkit moz spec);
|
||||
|
||||
// 2011 (IE 10)
|
||||
-ms-flex-item-align: $value-2011;
|
||||
}
|
||||
|
||||
// 2011 - flex-line-pack (start | end | center | justify | distribute | stretch)
|
||||
// 2012 - align-content (flex-start | flex-end | center | space-between | space-around | stretch)
|
||||
@mixin align-content($value: stretch) {
|
||||
|
||||
$value-2011: $value;
|
||||
@if $value == "flex-start" {
|
||||
$value-2011: start;
|
||||
}
|
||||
|
||||
@elseif $value == "flex-end" {
|
||||
$value-2011: end;
|
||||
}
|
||||
|
||||
@elseif $value == "space-between" {
|
||||
$value-2011: justify;
|
||||
}
|
||||
|
||||
@elseif $value == "space-around" {
|
||||
$value-2011: distribute;
|
||||
}
|
||||
|
||||
// 2012
|
||||
@include prefixer(align-content, $value, webkit moz spec);
|
||||
|
||||
// 2011 (IE 10)
|
||||
-ms-flex-line-pack: $value-2011;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
// Order of the includes matters, and it is: normal, bold, italic, bold+italic.
|
||||
|
||||
@mixin font-face($font-family, $file-path, $weight: normal, $style: normal, $asset-pipeline: false ) {
|
||||
@font-face {
|
||||
font-family: $font-family;
|
||||
font-weight: $weight;
|
||||
font-style: $style;
|
||||
|
||||
@if $asset-pipeline == true {
|
||||
src: font-url('#{$file-path}.eot');
|
||||
src: font-url('#{$file-path}.eot?#iefix') format('embedded-opentype'),
|
||||
font-url('#{$file-path}.woff') format('woff'),
|
||||
font-url('#{$file-path}.ttf') format('truetype'),
|
||||
font-url('#{$file-path}.svg##{$font-family}') format('svg');
|
||||
} @else {
|
||||
src: url('#{$file-path}.eot');
|
||||
src: url('#{$file-path}.eot?#iefix') format('embedded-opentype'),
|
||||
url('#{$file-path}.woff') format('woff'),
|
||||
url('#{$file-path}.ttf') format('truetype'),
|
||||
url('#{$file-path}.svg##{$font-family}') format('svg');
|
||||
}
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
// Font feature settings mixin and property default.
|
||||
// Examples: @include font-feature-settings("liga");
|
||||
// @include font-feature-settings("lnum" false);
|
||||
// @include font-feature-settings("pnum" 1, "kern" 0);
|
||||
// @include font-feature-settings("ss01", "ss02");
|
||||
|
||||
@mixin font-feature-settings($settings...) {
|
||||
@if length($settings) == 0 { $settings: none; }
|
||||
@include prefixer(font-feature-settings, $settings, webkit moz ms spec);
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
// HiDPI mixin. Default value set to 1.3 to target Google Nexus 7 (http://bjango.com/articles/min-device-pixel-ratio/)
|
||||
@mixin hidpi($ratio: 1.3) {
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: $ratio),
|
||||
only screen and (min--moz-device-pixel-ratio: $ratio),
|
||||
only screen and (-o-min-device-pixel-ratio: #{$ratio}/1),
|
||||
only screen and (min-resolution: #{round($ratio*96)}dpi),
|
||||
only screen and (min-resolution: #{$ratio}dppx) {
|
||||
@content;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
@mixin hyphens($hyphenation: none) {
|
||||
// none | manual | auto
|
||||
@include prefixer(hyphens, $hyphenation, webkit moz ms spec);
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
@mixin image-rendering ($mode:auto) {
|
||||
|
||||
@if ($mode == crisp-edges) {
|
||||
-ms-interpolation-mode: nearest-neighbor; // IE8+
|
||||
image-rendering: -moz-crisp-edges;
|
||||
image-rendering: -o-crisp-edges;
|
||||
image-rendering: -webkit-optimize-contrast;
|
||||
image-rendering: crisp-edges;
|
||||
}
|
||||
|
||||
@else {
|
||||
image-rendering: $mode;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
// Adds keyframes blocks for supported prefixes, removing redundant prefixes in the block's content
|
||||
@mixin keyframes($name) {
|
||||
$original-prefix-for-webkit: $prefix-for-webkit;
|
||||
$original-prefix-for-mozilla: $prefix-for-mozilla;
|
||||
$original-prefix-for-microsoft: $prefix-for-microsoft;
|
||||
$original-prefix-for-opera: $prefix-for-opera;
|
||||
$original-prefix-for-spec: $prefix-for-spec;
|
||||
|
||||
@if $original-prefix-for-webkit {
|
||||
@include disable-prefix-for-all();
|
||||
$prefix-for-webkit: true !global;
|
||||
@-webkit-keyframes #{$name} {
|
||||
@content;
|
||||
}
|
||||
}
|
||||
@if $original-prefix-for-mozilla {
|
||||
@include disable-prefix-for-all();
|
||||
$prefix-for-mozilla: true !global;
|
||||
@-moz-keyframes #{$name} {
|
||||
@content;
|
||||
}
|
||||
}
|
||||
|
||||
$prefix-for-webkit: $original-prefix-for-webkit !global;
|
||||
$prefix-for-mozilla: $original-prefix-for-mozilla !global;
|
||||
$prefix-for-microsoft: $original-prefix-for-microsoft !global;
|
||||
$prefix-for-opera: $original-prefix-for-opera !global;
|
||||
$prefix-for-spec: $original-prefix-for-spec !global;
|
||||
|
||||
@if $original-prefix-for-spec {
|
||||
@keyframes #{$name} {
|
||||
@content;
|
||||
}
|
||||
}
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
@mixin linear-gradient($pos, $G1, $G2: null,
|
||||
$G3: null, $G4: null,
|
||||
$G5: null, $G6: null,
|
||||
$G7: null, $G8: null,
|
||||
$G9: null, $G10: null,
|
||||
$fallback: null) {
|
||||
// Detect what type of value exists in $pos
|
||||
$pos-type: type-of(nth($pos, 1));
|
||||
$pos-spec: null;
|
||||
$pos-degree: null;
|
||||
|
||||
// If $pos is missing from mixin, reassign vars and add default position
|
||||
@if ($pos-type == color) or (nth($pos, 1) == "transparent") {
|
||||
$G10: $G9; $G9: $G8; $G8: $G7; $G7: $G6; $G6: $G5;
|
||||
$G5: $G4; $G4: $G3; $G3: $G2; $G2: $G1; $G1: $pos;
|
||||
$pos: null;
|
||||
}
|
||||
|
||||
@if $pos {
|
||||
$positions: _linear-positions-parser($pos);
|
||||
$pos-degree: nth($positions, 1);
|
||||
$pos-spec: nth($positions, 2);
|
||||
}
|
||||
|
||||
$full: $G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10;
|
||||
|
||||
// Set $G1 as the default fallback color
|
||||
$fallback-color: nth($G1, 1);
|
||||
|
||||
// If $fallback is a color use that color as the fallback color
|
||||
@if (type-of($fallback) == color) or ($fallback == "transparent") {
|
||||
$fallback-color: $fallback;
|
||||
}
|
||||
|
||||
background-color: $fallback-color;
|
||||
background-image: -webkit-linear-gradient($pos-degree $full); // Safari 5.1+, Chrome
|
||||
background-image: unquote("linear-gradient(#{$pos-spec}#{$full})");
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
@mixin perspective($depth: none) {
|
||||
// none | <length>
|
||||
@include prefixer(perspective, $depth, webkit moz spec);
|
||||
}
|
||||
|
||||
@mixin perspective-origin($value: 50% 50%) {
|
||||
@include prefixer(perspective-origin, $value, webkit moz spec);
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
@mixin placeholder {
|
||||
$placeholders: ":-webkit-input" ":-moz" "-moz" "-ms-input";
|
||||
@each $placeholder in $placeholders {
|
||||
&:#{$placeholder}-placeholder {
|
||||
@content;
|
||||
}
|
||||
}
|
||||
}
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
// Requires Sass 3.1+
|
||||
@mixin radial-gradient($G1, $G2,
|
||||
$G3: null, $G4: null,
|
||||
$G5: null, $G6: null,
|
||||
$G7: null, $G8: null,
|
||||
$G9: null, $G10: null,
|
||||
$pos: null,
|
||||
$shape-size: null,
|
||||
$fallback: null) {
|
||||
|
||||
$data: _radial-arg-parser($G1, $G2, $pos, $shape-size);
|
||||
$G1: nth($data, 1);
|
||||
$G2: nth($data, 2);
|
||||
$pos: nth($data, 3);
|
||||
$shape-size: nth($data, 4);
|
||||
|
||||
$full: $G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10;
|
||||
|
||||
// Strip deprecated cover/contain for spec
|
||||
$shape-size-spec: _shape-size-stripper($shape-size);
|
||||
|
||||
// Set $G1 as the default fallback color
|
||||
$first-color: nth($full, 1);
|
||||
$fallback-color: nth($first-color, 1);
|
||||
|
||||
@if (type-of($fallback) == color) or ($fallback == "transparent") {
|
||||
$fallback-color: $fallback;
|
||||
}
|
||||
|
||||
// Add Commas and spaces
|
||||
$shape-size: if($shape-size, '#{$shape-size}, ', null);
|
||||
$pos: if($pos, '#{$pos}, ', null);
|
||||
$pos-spec: if($pos, 'at #{$pos}', null);
|
||||
$shape-size-spec: if(($shape-size-spec != ' ') and ($pos == null), '#{$shape-size-spec}, ', '#{$shape-size-spec} ');
|
||||
|
||||
background-color: $fallback-color;
|
||||
background-image: -webkit-radial-gradient(unquote(#{$pos}#{$shape-size}#{$full}));
|
||||
background-image: unquote("radial-gradient(#{$shape-size-spec}#{$pos-spec}#{$full})");
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
@mixin transform($property: none) {
|
||||
// none | <transform-function>
|
||||
@include prefixer(transform, $property, webkit moz ms o spec);
|
||||
}
|
||||
|
||||
@mixin transform-origin($axes: 50%) {
|
||||
// x-axis - left | center | right | length | %
|
||||
// y-axis - top | center | bottom | length | %
|
||||
// z-axis - length
|
||||
@include prefixer(transform-origin, $axes, webkit moz ms o spec);
|
||||
}
|
||||
|
||||
@mixin transform-style ($style: flat) {
|
||||
@include prefixer(transform-style, $style, webkit moz ms o spec);
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
// Shorthand mixin. Supports multiple parentheses-deliminated values for each variable.
|
||||
// Example: @include transition (all 2s ease-in-out);
|
||||
// @include transition (opacity 1s ease-in 2s, width 2s ease-out);
|
||||
// @include transition-property (transform, opacity);
|
||||
|
||||
@mixin transition ($properties...) {
|
||||
// Fix for vendor-prefix transform property
|
||||
$needs-prefixes: false;
|
||||
$webkit: ();
|
||||
$moz: ();
|
||||
$spec: ();
|
||||
|
||||
// Create lists for vendor-prefixed transform
|
||||
@each $list in $properties {
|
||||
@if nth($list, 1) == "transform" {
|
||||
$needs-prefixes: true;
|
||||
$list1: -webkit-transform;
|
||||
$list2: -moz-transform;
|
||||
$list3: ();
|
||||
|
||||
@each $var in $list {
|
||||
$list3: join($list3, $var);
|
||||
|
||||
@if $var != "transform" {
|
||||
$list1: join($list1, $var);
|
||||
$list2: join($list2, $var);
|
||||
}
|
||||
}
|
||||
|
||||
$webkit: append($webkit, $list1);
|
||||
$moz: append($moz, $list2);
|
||||
$spec: append($spec, $list3);
|
||||
}
|
||||
|
||||
// Create lists for non-prefixed transition properties
|
||||
@else {
|
||||
$webkit: append($webkit, $list, comma);
|
||||
$moz: append($moz, $list, comma);
|
||||
$spec: append($spec, $list, comma);
|
||||
}
|
||||
}
|
||||
|
||||
@if $needs-prefixes {
|
||||
-webkit-transition: $webkit;
|
||||
-moz-transition: $moz;
|
||||
transition: $spec;
|
||||
}
|
||||
@else {
|
||||
@if length($properties) >= 1 {
|
||||
@include prefixer(transition, $properties, webkit moz spec);
|
||||
}
|
||||
|
||||
@else {
|
||||
$properties: all 0.15s ease-out 0s;
|
||||
@include prefixer(transition, $properties, webkit moz spec);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@mixin transition-property ($properties...) {
|
||||
-webkit-transition-property: transition-property-names($properties, 'webkit');
|
||||
-moz-transition-property: transition-property-names($properties, 'moz');
|
||||
transition-property: transition-property-names($properties, false);
|
||||
}
|
||||
|
||||
@mixin transition-duration ($times...) {
|
||||
@include prefixer(transition-duration, $times, webkit moz spec);
|
||||
}
|
||||
|
||||
@mixin transition-timing-function ($motions...) {
|
||||
// ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier()
|
||||
@include prefixer(transition-timing-function, $motions, webkit moz spec);
|
||||
}
|
||||
|
||||
@mixin transition-delay ($times...) {
|
||||
@include prefixer(transition-delay, $times, webkit moz spec);
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
@mixin user-select($arg: none) {
|
||||
@include prefixer(user-select, $arg, webkit moz ms spec);
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
@function assign-inputs($inputs, $pseudo: null) {
|
||||
$list : ();
|
||||
|
||||
@each $input in $inputs {
|
||||
$input: unquote($input);
|
||||
$input: if($pseudo, $input + ":" + $pseudo, $input);
|
||||
$list: append($list, $input, comma);
|
||||
}
|
||||
|
||||
@return $list;
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
// Programatically determines whether a color is light or dark
|
||||
// Returns a boolean
|
||||
// More details here http://robots.thoughtbot.com/closer-look-color-lightness
|
||||
|
||||
@function is-light($hex-color) {
|
||||
$-local-red: red(rgba($hex-color, 1.0));
|
||||
$-local-green: green(rgba($hex-color, 1.0));
|
||||
$-local-blue: blue(rgba($hex-color, 1.0));
|
||||
|
||||
$-local-lightness: ($-local-red * 0.2126 + $-local-green * 0.7152 + $-local-blue * 0.0722) / 255;
|
||||
|
||||
@return $-local-lightness > .6;
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
// Flexible grid
|
||||
@function flex-grid($columns, $container-columns: $fg-max-columns) {
|
||||
$width: $columns * $fg-column + ($columns - 1) * $fg-gutter;
|
||||
$container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
|
||||
@return percentage($width / $container-width);
|
||||
}
|
||||
|
||||
// Flexible gutter
|
||||
@function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) {
|
||||
$container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
|
||||
@return percentage($gutter / $container-width);
|
||||
}
|
||||
|
||||
// The $fg-column, $fg-gutter and $fg-max-columns variables must be defined in your base stylesheet to properly use the flex-grid function.
|
||||
// This function takes the fluid grid equation (target / context = result) and uses columns to help define each.
|
||||
//
|
||||
// The calculation presumes that your column structure will be missing the last gutter:
|
||||
//
|
||||
// -- column -- gutter -- column -- gutter -- column
|
||||
//
|
||||
// $fg-column: 60px; // Column Width
|
||||
// $fg-gutter: 25px; // Gutter Width
|
||||
// $fg-max-columns: 12; // Total Columns For Main Container
|
||||
//
|
||||
// div {
|
||||
// width: flex-grid(4); // returns (315px / 995px) = 31.65829%;
|
||||
// margin-left: flex-gutter(); // returns (25px / 995px) = 2.51256%;
|
||||
//
|
||||
// p {
|
||||
// width: flex-grid(2, 4); // returns (145px / 315px) = 46.031746%;
|
||||
// float: left;
|
||||
// margin: flex-gutter(4); // returns (25px / 315px) = 7.936508%;
|
||||
// }
|
||||
//
|
||||
// blockquote {
|
||||
// float: left;
|
||||
// width: flex-grid(2, 4); // returns (145px / 315px) = 46.031746%;
|
||||
// }
|
||||
// }
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
@function golden-ratio($value, $increment) {
|
||||
@return modular-scale($value, $increment, $golden)
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
@function grid-width($n) {
|
||||
@return $n * $gw-column + ($n - 1) * $gw-gutter;
|
||||
}
|
||||
|
||||
// The $gw-column and $gw-gutter variables must be defined in your base stylesheet to properly use the grid-width function.
|
||||
//
|
||||
// $gw-column: 100px; // Column Width
|
||||
// $gw-gutter: 40px; // Gutter Width
|
||||
//
|
||||
// div {
|
||||
// width: grid-width(4); // returns 520px;
|
||||
// margin-left: $gw-gutter; // returns 40px;
|
||||
// }
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
// Scaling Variables
|
||||
$golden: 1.618;
|
||||
$minor-second: 1.067;
|
||||
$major-second: 1.125;
|
||||
$minor-third: 1.2;
|
||||
$major-third: 1.25;
|
||||
$perfect-fourth: 1.333;
|
||||
$augmented-fourth: 1.414;
|
||||
$perfect-fifth: 1.5;
|
||||
$minor-sixth: 1.6;
|
||||
$major-sixth: 1.667;
|
||||
$minor-seventh: 1.778;
|
||||
$major-seventh: 1.875;
|
||||
$octave: 2;
|
||||
$major-tenth: 2.5;
|
||||
$major-eleventh: 2.667;
|
||||
$major-twelfth: 3;
|
||||
$double-octave: 4;
|
||||
|
||||
@function modular-scale($value, $increment, $ratio) {
|
||||
$v1: nth($value, 1);
|
||||
$v2: nth($value, length($value));
|
||||
$value: $v1;
|
||||
|
||||
// scale $v2 to just above $v1
|
||||
@while $v2 > $v1 {
|
||||
$v2: ($v2 / $ratio); // will be off-by-1
|
||||
}
|
||||
@while $v2 < $v1 {
|
||||
$v2: ($v2 * $ratio); // will fix off-by-1
|
||||
}
|
||||
|
||||
// check AFTER scaling $v2 to prevent double-counting corner-case
|
||||
$double-stranded: $v2 > $v1;
|
||||
|
||||
@if $increment > 0 {
|
||||
@for $i from 1 through $increment {
|
||||
@if $double-stranded and ($v1 * $ratio) > $v2 {
|
||||
$value: $v2;
|
||||
$v2: ($v2 * $ratio);
|
||||
} @else {
|
||||
$v1: ($v1 * $ratio);
|
||||
$value: $v1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@if $increment < 0 {
|
||||
// adjust $v2 to just below $v1
|
||||
@if $double-stranded {
|
||||
$v2: ($v2 / $ratio);
|
||||
}
|
||||
|
||||
@for $i from $increment through -1 {
|
||||
@if $double-stranded and ($v1 / $ratio) < $v2 {
|
||||
$value: $v2;
|
||||
$v2: ($v2 / $ratio);
|
||||
} @else {
|
||||
$v1: ($v1 / $ratio);
|
||||
$value: $v1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@return $value;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
// Convert pixels to ems
|
||||
// eg. for a relational value of 12px write em(12) when the parent is 16px
|
||||
// if the parent is another value say 24px write em(12, 24)
|
||||
|
||||
@function em($pxval, $base: $em-base) {
|
||||
@if not unitless($pxval) {
|
||||
$pxval: strip-units($pxval);
|
||||
}
|
||||
@if not unitless($base) {
|
||||
$base: strip-units($base);
|
||||
}
|
||||
@return ($pxval / $base) * 1em;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
// Convert pixels to rems
|
||||
// eg. for a relational value of 12px write rem(12)
|
||||
// Assumes $em-base is the font-size of <html>
|
||||
|
||||
@function rem($pxval) {
|
||||
@if not unitless($pxval) {
|
||||
$pxval: strip-units($pxval);
|
||||
}
|
||||
|
||||
$base: $em-base;
|
||||
@if not unitless($base) {
|
||||
$base: strip-units($base);
|
||||
}
|
||||
@return ($pxval / $base) * 1rem;
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
// Srtips the units from a value. e.g. 12px -> 12
|
||||
|
||||
@function strip-units($val) {
|
||||
@return ($val / ($val * 0 + 1));
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user