193 lines
4.1 KiB
SCSS
193 lines
4.1 KiB
SCSS
/* ==========================================================================
|
|
PARALLAX EFFECTS
|
|
========================================================================== */
|
|
// Parallax title: Translate X
|
|
.title-parallax {
|
|
transform: translateX(var(--translateX));
|
|
will-change: transform;
|
|
}
|
|
|
|
|
|
|
|
/* ==========================================================================
|
|
REVEAL ANIMATIONS
|
|
========================================================================== */
|
|
.anim-mask {
|
|
display: block;
|
|
overflow: hidden;
|
|
}
|
|
|
|
// Translate each letter from a direction
|
|
[data-aos="letters-translate-top"],
|
|
[data-aos="letters-translate-bottom"] {
|
|
white-space: nowrap;
|
|
|
|
span {
|
|
display: inline-block;
|
|
transition: transform 1000ms $ease-quart;
|
|
will-change: transform;
|
|
|
|
|
|
@for $i from 1 to 8 {
|
|
&:nth-child(#{$i}) {
|
|
transition-delay: $i * 40ms;
|
|
}
|
|
}
|
|
}
|
|
|
|
&.aos-animate {
|
|
span {
|
|
transform: translate(0, 0);
|
|
}
|
|
}
|
|
}
|
|
[data-aos="letters-translate-top"] {
|
|
span {
|
|
transform: translate(0, -100%);
|
|
}
|
|
}
|
|
[data-aos="letters-translate-bottom"] {
|
|
span {
|
|
transform: translate(0, 100%);
|
|
}
|
|
}
|
|
|
|
// Carousel prev/active/next photos
|
|
[data-aos="carousel-prev"] {
|
|
transform: translate(-16%, -4%) rotate(-3deg) scale(0.8);
|
|
opacity: 0;
|
|
transition-duration: 1.6s;
|
|
transition-delay: 450ms;
|
|
|
|
&.aos-animate {
|
|
transform: translate(-9%, -1%) rotate(-1deg) scale(0.9);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
[data-aos="carousel-active"] {
|
|
transform: scale(0.8);
|
|
opacity: 0;
|
|
transition-delay: 400ms;
|
|
|
|
&.aos-animate {
|
|
transform: scale(1);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
[data-aos="carousel-next"] {
|
|
transform: translate(16%, -4%) rotate(3deg) scale(0.8);
|
|
opacity: 0;
|
|
transition-duration: 1.6s;
|
|
transition-delay: 500ms;
|
|
|
|
&.aos-animate {
|
|
transform: translate(9%, -1%) rotate(1deg) scale(0.9);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
|
|
// Scale down and Fade in
|
|
[data-aos="scale-down-fade-in"] {
|
|
transform: scale(1.1);
|
|
opacity: 0;
|
|
transition: transform 2s $ease-quart, opacity 2s $ease-quart;
|
|
will-change: transform, opacity;
|
|
|
|
&.aos-animate {
|
|
transform: scale(1);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
|
|
// Location reveal
|
|
[data-aos="location"] {
|
|
img {
|
|
opacity: 0;
|
|
transform: scale(1.15);
|
|
transition: opacity 0.6s $ease-quart, transform 0.6s $ease-quart;
|
|
will-change: opacity, transform;
|
|
}
|
|
|
|
h3, p {
|
|
transform: translateY(150%);
|
|
transition: transform 0.6s $ease-quart;
|
|
will-change: transform;
|
|
}
|
|
h3 {
|
|
transition: all 0.6s $ease-quart;
|
|
transition-delay: 100ms;
|
|
}
|
|
p {
|
|
transition-delay: 200ms;
|
|
}
|
|
|
|
&.aos-animate {
|
|
img {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
h3, p {
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/* ==========================================================================
|
|
KEYFRAMES ANIMATIONS
|
|
========================================================================== */
|
|
// Rotate button dashes
|
|
@keyframes rotateDashes {
|
|
0% { transform: rotate(0deg); }
|
|
100% { transform: rotate(360deg); }
|
|
}
|
|
|
|
|
|
/*
|
|
** Spinning globe
|
|
*/
|
|
@keyframes moveContinents {
|
|
0% { transform: translate(0,0); }
|
|
100% { transform: translate(-80.26px, 28.2px); }
|
|
}
|
|
.anim-spinGlobe {
|
|
animation: moveContinents 1.7s linear infinite;
|
|
animation-play-state: paused;
|
|
}
|
|
// Small
|
|
@keyframes moveContinentsSmall {
|
|
0% { transform: translate(0,0); }
|
|
100% { transform: translate(-96.95px, 0); }
|
|
}
|
|
.anim-spinGlobeSmall {
|
|
animation: moveContinentsSmall 1.5s linear infinite;
|
|
animation-play-state: paused;
|
|
}
|
|
|
|
|
|
/*
|
|
** Layout
|
|
*/
|
|
// List
|
|
@keyframes layoutListOdd {
|
|
0% { transform: translateX(0); }
|
|
50% { transform: translateX(2px); }
|
|
}
|
|
@keyframes layoutListEven {
|
|
0% { transform: translateX(0); }
|
|
50% { transform: translateX(-4px); }
|
|
}
|
|
|
|
// Grid
|
|
@keyframes layoutGridOdd {
|
|
0% { transform: translateY(0); }
|
|
50% { transform: translateY(2px); }
|
|
}
|
|
@keyframes layoutGridEven {
|
|
0% { transform: translateY(0); }
|
|
50% { transform: translateY(-3px); }
|
|
}
|