Clone
// Foundation by ZURB
// foundation.zurb.com
// Licensed under MIT Open Source
@import "global";
// @variables
//
$include-html-orbit-classes: $include-html-classes !default;
// We use these to control the caption styles
$orbit-container-bg: none !default;
$orbit-caption-bg: rgba(51,51,51, 0.8) !default;
$orbit-caption-font-color: #fff !default;
$orbit-caption-font-size: rem-calc(14) !default;
$orbit-caption-position: "bottom" !default; // Supported values: "bottom", "under"
$orbit-caption-padding: rem-calc(10 14) !default;
$orbit-caption-height: auto !default;
// We use these to control the left/right nav styles
$orbit-nav-bg: transparent !default;
$orbit-nav-bg-hover: rgba(0,0,0,0.3) !default;
$orbit-nav-arrow-color: #fff !default;
$orbit-nav-arrow-color-hover: #fff !default;
// We use these to control the timer styles
$orbit-timer-bg: rgba(255,255,255,0.3) !default;
$orbit-timer-show-progress-bar: true !default;
// We use these to control the bullet nav styles
$orbit-bullet-nav-color: #ccc !default;
$orbit-bullet-nav-color-active: #999 !default;
$orbit-bullet-radius: rem-calc(9) !default;
// We use these to controls the style of slide numbers
$orbit-slide-number-bg: rgba(0,0,0,0) !default;
$orbit-slide-number-font-color: #fff !default;
$orbit-slide-number-padding: rem-calc(5) !default;
// We use these to controls the css animation
$orbit-animation-speed: 500ms !default;
$orbit-animation-ease: ease-in-out !default;
// Graceful Loading Wrapper and preloader
$wrapper-class: "slideshow-wrapper" !default;
$preloader-class: "preloader" !default;
// Hide controls on small
$orbit-nav-hide-for-small: true !default;
$orbit-bullet-hide-for-small: true !default;
$orbit-timer-hide-for-small: true !default;
// CSS Transform
// This function is needed in order to put in all of the browser prefixes.
// The normal tranform attribute still does not work properly across all browsers.
// In order to receive the transitionEnd events then you will still need to use the vendor prefixes
@mixin translate3d($x,$y,$z) {
-ms-transform:translate($x,$y);
-webkit-transform: translate3d($x,$y,$z);
-moz-transform: translate3d($x,$y,$z);
-o-transform: translate3d($x,$y,$z);
transform: translate3d($x,$y,$z);
}
@mixin rotate($d) {
-webkit-transform: rotate($d);
-moz-transform: rotate($d);
-ms-transform: rotate($d);
-o-transform: rotate($d);
transform: rotate($d);
}
@include exports("orbit") {
@if $include-html-orbit-classes {
@keyframes rotate {
from { @include rotate(0deg); }
to { @include rotate(360deg); }
}
/* Orbit Graceful Loading */
.#{$wrapper-class} {
position: relative;
ul {
// Prevent bullets showing before .orbit-container is loaded
list-style-type: none;
margin: 0;
// Hide all list items
li,
li .orbit-caption { display: none; }
// ...except for the first one
li:first-child { display: block; }
}
.orbit-container { background-color: transparent;
// Show images when .orbit-container is loaded
li { display: block;
.orbit-caption { display: block; }
}
}
// Orbit preloader
.#{$preloader-class} {
display: block;
width: 40px;
height: 40px;
position: absolute;
top: 50%;
left: 50%;
margin-top: -20px;
margin-left: -20px;
border: solid 3px;
border-color: #555 #fff;
@include radius(1000px);
animation-name: rotate;
animation-duration: 1.5s;
animation-iteration-count: infinite;
animation-timing-function: linear;
}
}
.orbit-container {
overflow: hidden;
width: 100%;
position: relative;
background: $orbit-container-bg;
.orbit-slides-container {
list-style: none;
margin: 0;
padding: 0;
position: relative;
// Prevents images (and captions) from disappearing after first rotation on Chrome for Android
-webkit-transform: translateZ(0);
img { display: block; max-width: 100%; }
&.fade > li {
opacity: 0;
transition: opacity $orbit-animation-speed $orbit-animation-ease;
@include translate3d(0,0,0);
&.animate-in {
opacity: 1;
z-index: 20;
transition: opacity $orbit-animation-speed $orbit-animation-ease;
}
&.animate-out {
z-index: 10;
transition: opacity $orbit-animation-speed $orbit-animation-ease;
}
}
&.swipe-next > li {
@include translate3d(100%,0,0);
&.animate-in {
@include translate3d(0,0,0);
transition-duration:$orbit-animation-speed;
}
&.animate-out {
@include translate3d(-100%,0,0);
transition-duration:$orbit-animation-speed;
}
}
&.swipe-prev > li {
@include translate3d(-100%,0,0);
&.animate-in {
@include translate3d(0,0,0);
transition-duration:$orbit-animation-speed;
}
&.animate-out {
@include translate3d(100%,0,0);
transition-duration:$orbit-animation-speed;
}
}
> li {
position: absolute;
top: 0;
left: 0;
width: 100%;
@include translate3d(100%,0,0);
> a { display: block; }
&.active {
opacity: 1;
// "relative" positioning is required for variable height of children.
position:relative;
top: 0;
left: 0;
@include translate3d(0,0,0);
}
.orbit-caption {
@if $orbit-caption-position == "bottom" {
position: absolute;
bottom: 0;
} @else if $orbit-caption-position == "under" {
position: relative;
}
background-color: $orbit-caption-bg;
color: $orbit-caption-font-color;
width: 100%;
padding: $orbit-caption-padding;
font-size: $orbit-caption-font-size;
}
}
}
.orbit-slide-number {
position: absolute;
top: 10px;
#{$default-float}: 10px;
font-size: 12px;
span { font-weight: $font-weight-bold; padding: $orbit-slide-number-padding;}
color: $orbit-slide-number-font-color;
background: $orbit-slide-number-bg;
z-index: 10;
}
.orbit-timer {
position: absolute;
top: 12px;
#{$opposite-direction}: 10px;
height: 6px;
width: 100px;
z-index: 10;
.orbit-progress {
@if $orbit-timer-show-progress-bar {
height: 3px;
background-color: $orbit-timer-bg;
display: block;
width: 0%;
position: relative;
right: 20px;
top: 5px;
} @else {
display:none; // This is used by the Javascript to not create a handler.
}
}
// Play button
& > span {
display: none;
position: absolute;
top: 0px;
#{$opposite-direction}: 0;
width: 11px;
height: 14px;
border: solid 4px #fff;
border-top: none;
border-bottom: none;
}
// Pause button
&.paused {
& > span {
#{$opposite-direction}: -4px;
top: 0px;
width: 11px;
height: 14px;
border: inset 8px;
border-left-style: solid;
@include rotate(180deg);
border-color: transparent #fff transparent transparent;
&.dark {
border-color: transparent #333 transparent transparent;
}
}
}
}
&:hover .orbit-timer > span { display: block; }
// Let's get those controls to be right in the center on each side
.orbit-prev,
.orbit-next {
position: absolute;
top: 45%;
margin-top: -25px;
width: 36px;
height: 60px;
line-height: 50px;
color: white;
background-color: $orbit-nav-bg;
text-indent: -9999px !important;
z-index: 10;
&:hover {
background-color: $orbit-nav-bg-hover;
}
& > span {
position: absolute;
top: 50%;
margin-top: -10px;
display: block;
width: 0;
height: 0;
border: inset 10px;
}
}
.orbit-prev { #{$default-float}: 0;
& > span {
border-#{$opposite-direction}-style: solid;
border-color: transparent;
border-#{$opposite-direction}-color: $orbit-nav-arrow-color;
}
&:hover > span {
border-#{$opposite-direction}-color: $orbit-nav-arrow-color-hover;
}
}
.orbit-next { #{$opposite-direction}: 0;
& > span {
border-color: transparent;
border-#{$default-float}-style: solid;
border-#{$default-float}-color: $orbit-nav-arrow-color;
#{$default-float}: 50%;
margin-#{$default-float}: -4px;
}
&:hover > span {
border-#{$default-float}-color: $orbit-nav-arrow-color-hover;
}
}
.orbit-bullets-container { text-align: center; }
.orbit-bullets {
margin: 0 auto 30px auto;
overflow: hidden;
position: relative;
top: 10px;
float: none;
text-align: center;
display: block;
li {
display: inline-block;
width: $orbit-bullet-radius;
height: $orbit-bullet-radius;
background: $orbit-bullet-nav-color;
// float: $default-float;
float: none;
margin-#{$opposite-direction}: 6px;
@include radius(1000px);
&.active {
background: $orbit-bullet-nav-color-active;
}
&:last-child { margin-#{$opposite-direction}: 0; }
}
}
}
.touch {
.orbit-container {
.orbit-prev,
.orbit-next { display: none; }
}
.orbit-bullets { display: none; }
}
@media #{$medium-up} {
.touch {
.orbit-container {
.orbit-prev,
.orbit-next { display: inherit; }
}
.orbit-bullets { display: block; }
}
}
@media #{$small-only} {
.orbit-stack-on-small {
.orbit-slides-container {height: auto !important;}
.orbit-slides-container > * {
position: relative !important;
margin-left: 0% !important;
opacity: 1 !important;
-webkit-transform: none !important;
-moz-transform: none !important;
-ms-transform: none !important;
-o-transform: none !important;
transform: none !important;
transition: none !important;
}
@if $orbit-timer-hide-for-small {
.orbit-timer{display: none;}
}
@if $orbit-nav-hide-for-small {
.orbit-next,.orbit-prev{display: none;}
}
@if $orbit-bullet-hide-for-small {
.orbit-bullets{display: none;}
}
.orbit-slide-number {
display: none;
}
}
}
}
}