|
|
- @mixin breakpoint($min: 0, $max: 0) {
- $query: "all" !default;
- @if $min != 0 and $max != 0 { $query: "(min-width: #{$min}) and (max-width: #{$max})"; }
- @else if $min != 0 and $max == 0 { $query: "(min-width: #{$min})"; }
- @else if $min == 0 and $max != 0 { $query: "(max-width: #{$max})"; }
- @media #{$query} { @content; }
- }
-
- @mixin for-mobile() {
- @media only screen and (max-width: $sm - 1) { @content; }
- }
- @mixin not-mobile() {
- @media only screen and (min-width: $sm) { @content; }
- }
- // display
- @mixin flex {
- display: flex;
- }
-
- // basis
- @mixin flex-basis($width) {
- flex-basis: $width;
- }
-
- // items wrap
- @mixin flex-items-wrap {
- flex-wrap: wrap;
- }
-
- // items nowrap
- @mixin flex-items-nowrap {
- flex-wrap: nowrap;
- }
-
- // items row
- @mixin flex-items-row {
- flex-direction: row;
- }
-
- // items columns
- @mixin flex-items-column {
- flex-direction: column;
- }
-
- // items left
- @mixin flex-items-left {
- justify-content: flex-start;
- }
-
- // items right
- @mixin flex-items-right {
- justify-content: flex-end;
- }
-
- // items center
- @mixin flex-items-center {
- justify-content: center;
- }
-
- // items between
- @mixin flex-items-space-between {
- justify-content: space-between;
- }
-
- // items around
- @mixin flex-items-space-around {
- justify-content: space-around;
- }
-
- // items vertical top
- @mixin flex-items-baseline {
- align-items: baseline;
- }
- @mixin flex-items-top {
- align-items: flex-start;
- }
-
- // items vertical middle
- @mixin flex-items-middle {
- align-items: center;
- }
-
- // items vertical bottom
- @mixin flex-items-bottom {
- align-items: flex-end;
- }
-
- // item grow
- @mixin flex-item-grow($grow: 0) {
- flex-grow: $grow;
- }
-
-
- // item auto
- @mixin flex-item-auto {
- flex: auto;
- }
-
- // item one
- @mixin flex-item-one {
- flex: 1;
- }
-
- // item shrink
- @mixin flex-item-shrink($num: 0) {
- flex-shrink: $num;
- }
-
- // item width
- @mixin flex-item-width($width) {
- flex: 0 0 $width;
- max-width: $width;
-
- @include for-mobile() {
- flex: 0;
- max-width: 100%;
- }
- }
- // container
- @mixin make-container {
- display: flex;
- flex: 1;
-
- @include for-mobile {
- flex-direction: column;
- }
- }
- @mixin make-container-row {
- display: flex;
- flex: 1;
- }
- @mixin make-container-column {
- display: flex;
- flex-direction: column;
- flex: 1;
- }
-
- // middle
- @mixin make-items-middle {
- @include flex-items-middle;
- @include for-mobile {
- @include flex-items-left;
- align-items: flex-start;
- }
- }
-
- // content
- @mixin make-content {
- flex: 1;
- min-width: 0;
- }
-
- // sidebar
- @mixin make-sidebar($width) {
- @include flex-item-width($width);
- }
-
- // offset
- @mixin make-gap-offset($width) {
- margin-left: calc($width + #{$grid-gap}) !important;
- }
- @mixin make-button($color-back, $color-text) {
- color: $color-text;
- background-color: $color-back;
-
- &:hover {
- color: $color-text;
- background-color: lighten($color-back, 10%);
- }
- &:disabled,
- &.is-disabled {
- color: #fff;
- background-color: rgba($color-black, .5);
- }
- &.is-secondary {
- background: none;
- border: $button-secondary-border-width solid $color-back;
- color: $color-back;
- &:hover {
- color: rgba($color-text, .95);
- background-color: $color-back;
- border-color: $color-back;
- }
- &:disabled,
- &.is-disabled {
- color: rgba($color-black, .5);
- border-color: rgba($color-black, .3);
- &:hover {
- background-color: transparent;
- }
- }
- &.is-loading:hover:before {
- border-color: rgba($color-text, .25);
- border-bottom-color: $color-text;
- }
- }
- &.is-tertiary {
- background: none;
- color: $color-back;
- &:hover {
- color: $color-back;
- }
- &:disabled,
- &.is-disabled {
- text-decoration: none;
- color: rgba($color-black, .5);
- }
- }
- &.is-secondary,
- &.is-tertiary {
- &.is-loading:before {
- border-color: rgba($color-back, 0.25);
- border-bottom-color: $color-back;
- }
- }
- }
- @mixin make-label($color) {
- background-color: rgba($color, .07);
- color: $color;
- &.is-secondary {
- background-color: transparent;
- color: $color;
- border-color: rgba($color, .3);
- }
- &.is-tertiary {
- background-color: transparent;
- color: $color;
- }
- & .close:hover {
- background-color: $color;
- }
- }
- // Clearfix
- @mixin clearfix() {
- &:after {
- content: '';
- display: table;
- clear: both;
- }
- }
-
- // Cropline
- @mixin cropline($line-height: 1.5, $lheight: $letter-height, $ctop: $crop-top, $cbottom: $crop-bottom) {
- &::before,
- &::after {
- content: '';
- display: block;
- height: 0;
- width: 0;
- }
- &::before {
- margin-top: calc((#{$lheight} - #{$line-height}) * #{$ctop});
- }
- &::after {
- margin-bottom: calc((#{$lheight} - #{$line-height}) * #{$cbottom});
- }
- }
-
- // Transition
- @mixin transition($transition: all linear .2s) {
- -moz-transition: $transition;
- transition: $transition;
- }
-
- // Transform
- @mixin transform($transforms) {
- -moz-transform: $transforms;
- -ms-transform: $transforms;
- -webkit-transform: $transforms;
- transform: $transforms;
- }
-
- // Blur
- @mixin blur($radius) {
- -webkit-filter: blur($radius);
- -moz-filter: blur($radius);
- -ms-filter: blur($radius);
- filter: blur($radius);
- }
-
- // Striped
- @mixin striped($color: rgba(255, 255, 255, .2), $angle: 45deg) {
- background-image: -webkit-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
- background-image: -o-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
- background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
- }
-
- // Animation
- @mixin animation($animation) {
- -webkit-animation: $animation;
- -moz-animation: $animation;
- animation: $animation;
- }
-
- // Retina Images
- @mixin retina-background-image($file, $type, $width: auto, $height: auto) {
-
- background-repeat: no-repeat;
- background-image: url($file + '.' + $type);
-
- @media
- only screen and (-webkit-min-device-pixel-ratio: 2),
- only screen and (min--moz-device-pixel-ratio: 2),
- only screen and (-o-min-device-pixel-ratio: 2/1),
- only screen and (min-device-pixel-ratio: 2),
- only screen and (min-resolution: 192dpi),
- only screen and (min-resolution: 2dppx) {
- background-image: url($file + '-2x.' + $type);
- background-size: $width $height;
- }
- }
-
- // Full Height Footer
- @mixin full-height-footer($color: #000) {
- box-shadow: 0px 500px 0px 500px $color;
- }
|