A variation of the dynamic text effect created for the website at cryca.com
A Pen by Pali Madra on CodePen.
A variation of the dynamic text effect created for the website at cryca.com
A Pen by Pali Madra on CodePen.
| <section class="cd-intro"> | |
| <h1 class="cd-headline clip is-full-width"> | |
| <span>We Design & Develop Websites in</span> | |
| <span class="cd-words-wrapper"> | |
| <b class="is-visible">Squarespace</b> | |
| <b>Shopify</b> | |
| <b>Wix</b> | |
| </span> | |
| </h1> | |
| </section> |
| jQuery(document).ready(function ($) { | |
| //set animation timing | |
| var animationDelay = 2500, | |
| //loading bar effect | |
| barAnimationDelay = 3800, | |
| barWaiting = barAnimationDelay - 3000, //3000 is the duration of the transition on the loading bar - set in the scss/css file | |
| //letters effect | |
| lettersDelay = 50, | |
| //type effect | |
| typeLettersDelay = 150, | |
| selectionDuration = 500, | |
| typeAnimationDelay = selectionDuration + 800, | |
| //clip effect | |
| revealDuration = 600, | |
| revealAnimationDelay = 1500; | |
| initHeadline(); | |
| function initHeadline() { | |
| //insert <i> element for each letter of a changing word | |
| singleLetters($('.cd-headline.letters').find('b')); | |
| //initialise headline animation | |
| animateHeadline($('.cd-headline')); | |
| } | |
| function singleLetters($words) { | |
| $words.each(function () { | |
| var word = $(this), | |
| letters = word.text().split(''), | |
| selected = word.hasClass('is-visible'); | |
| for (i in letters) { | |
| if (word.parents('.rotate-2').length > 0) letters[i] = '<em>' + letters[i] + '</em>'; | |
| letters[i] = (selected) ? '<i class="in">' + letters[i] + '</i>' : '<i>' + letters[i] + '</i>'; | |
| } | |
| var newLetters = letters.join(''); | |
| word.html(newLetters); | |
| }); | |
| } | |
| function animateHeadline($headlines) { | |
| var duration = animationDelay; | |
| $headlines.each(function () { | |
| var headline = $(this); | |
| if (headline.hasClass('loading-bar')) { | |
| duration = barAnimationDelay; | |
| setTimeout(function () { | |
| headline.find('.cd-words-wrapper').addClass('is-loading') | |
| }, barWaiting); | |
| } else if (headline.hasClass('clip')) { | |
| var spanWrapper = headline.find('.cd-words-wrapper'), | |
| newWidth = spanWrapper.width() + 10 | |
| spanWrapper.css('width', newWidth); | |
| } else if (!headline.hasClass('type')) { | |
| //assign to .cd-words-wrapper the width of its longest word | |
| var words = headline.find('.cd-words-wrapper b'), | |
| width = 0; | |
| words.each(function () { | |
| var wordWidth = $(this).width(); | |
| if (wordWidth > width) width = wordWidth; | |
| }); | |
| headline.find('.cd-words-wrapper').css('width', width); | |
| }; | |
| //trigger animation | |
| setTimeout(function () { | |
| hideWord(headline.find('.is-visible').eq(0)) | |
| }, duration); | |
| }); | |
| } | |
| function hideWord($word) { | |
| var nextWord = takeNext($word); | |
| if ($word.parents('.cd-headline').hasClass('type')) { | |
| var parentSpan = $word.parent('.cd-words-wrapper'); | |
| parentSpan.addClass('selected').removeClass('waiting'); | |
| setTimeout(function () { | |
| parentSpan.removeClass('selected'); | |
| $word.removeClass('is-visible').addClass('is-hidden').children('i').removeClass('in').addClass('out'); | |
| }, selectionDuration); | |
| setTimeout(function () { | |
| showWord(nextWord, typeLettersDelay) | |
| }, typeAnimationDelay); | |
| } else if ($word.parents('.cd-headline').hasClass('letters')) { | |
| var bool = ($word.children('i').length >= nextWord.children('i').length) ? true : false; | |
| hideLetter($word.find('i').eq(0), $word, bool, lettersDelay); | |
| showLetter(nextWord.find('i').eq(0), nextWord, bool, lettersDelay); | |
| } else if ($word.parents('.cd-headline').hasClass('clip')) { | |
| $word.parents('.cd-words-wrapper').animate({ | |
| width: '2px' | |
| }, revealDuration, function () { | |
| switchWord($word, nextWord); | |
| showWord(nextWord); | |
| }); | |
| } else if ($word.parents('.cd-headline').hasClass('loading-bar')) { | |
| $word.parents('.cd-words-wrapper').removeClass('is-loading'); | |
| switchWord($word, nextWord); | |
| setTimeout(function () { | |
| hideWord(nextWord) | |
| }, barAnimationDelay); | |
| setTimeout(function () { | |
| $word.parents('.cd-words-wrapper').addClass('is-loading') | |
| }, barWaiting); | |
| } else { | |
| switchWord($word, nextWord); | |
| setTimeout(function () { | |
| hideWord(nextWord) | |
| }, animationDelay); | |
| } | |
| } | |
| function showWord($word, $duration) { | |
| if ($word.parents('.cd-headline').hasClass('type')) { | |
| showLetter($word.find('i').eq(0), $word, false, $duration); | |
| $word.addClass('is-visible').removeClass('is-hidden'); | |
| } else if ($word.parents('.cd-headline').hasClass('clip')) { | |
| $word.parents('.cd-words-wrapper').animate({ | |
| 'width': $word.width() + 10 | |
| }, revealDuration, function () { | |
| setTimeout(function () { | |
| hideWord($word) | |
| }, revealAnimationDelay); | |
| }); | |
| } | |
| } | |
| function hideLetter($letter, $word, $bool, $duration) { | |
| $letter.removeClass('in').addClass('out'); | |
| if (!$letter.is(':last-child')) { | |
| setTimeout(function () { | |
| hideLetter($letter.next(), $word, $bool, $duration); | |
| }, $duration); | |
| } else if ($bool) { | |
| setTimeout(function () { | |
| hideWord(takeNext($word)) | |
| }, animationDelay); | |
| } | |
| if ($letter.is(':last-child') && $('html').hasClass('no-csstransitions')) { | |
| var nextWord = takeNext($word); | |
| switchWord($word, nextWord); | |
| } | |
| } | |
| function showLetter($letter, $word, $bool, $duration) { | |
| $letter.addClass('in').removeClass('out'); | |
| if (!$letter.is(':last-child')) { | |
| setTimeout(function () { | |
| showLetter($letter.next(), $word, $bool, $duration); | |
| }, $duration); | |
| } else { | |
| if ($word.parents('.cd-headline').hasClass('type')) { | |
| setTimeout(function () { | |
| $word.parents('.cd-words-wrapper').addClass('waiting'); | |
| }, 200); | |
| } | |
| if (!$bool) { | |
| setTimeout(function () { | |
| hideWord($word) | |
| }, animationDelay) | |
| } | |
| } | |
| } | |
| function takeNext($word) { | |
| return (!$word.is(':last-child')) ? $word.next() : $word.parent().children().eq(0); | |
| } | |
| function takePrev($word) { | |
| return (!$word.is(':first-child')) ? $word.prev() : $word.parent().children().last(); | |
| } | |
| function switchWord($oldWord, $newWord) { | |
| $oldWord.removeClass('is-visible').addClass('is-hidden'); | |
| $newWord.removeClass('is-hidden').addClass('is-visible'); | |
| } | |
| }); |
| <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> |
| *, *::after, *::before { | |
| -webkit-box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| box-sizing: border-box; | |
| } | |
| html * { | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| } | |
| html { | |
| font-size: 62.5%; | |
| } | |
| body { | |
| font-size: 1.6rem; | |
| font-family:"Source Sans Pro", sans-serif; | |
| color: #aebcb9; | |
| background-color: #0d0d0d; | |
| } | |
| a { | |
| text-decoration: none; | |
| } | |
| .cd-title { | |
| position: relative; | |
| height: 160px; | |
| line-height: 230px; | |
| text-align: center; | |
| } | |
| .cd-title h1 { | |
| font-size: 2.4rem; | |
| font-weight: 700; | |
| } | |
| @media only screen and (min-width: 768px) { | |
| .cd-title { | |
| line-height: 250px; | |
| } | |
| } | |
| @media only screen and (min-width: 1170px) { | |
| .cd-title { | |
| height: 200px; | |
| line-height: 300px; | |
| } | |
| .cd-title h1 { | |
| font-size: 3rem; | |
| } | |
| } | |
| .cd-intro { | |
| width: 90%; | |
| max-width: 768px; | |
| text-align: center; | |
| } | |
| .cd-intro { | |
| margin: 4em auto; | |
| } | |
| @media only screen and (min-width: 768px) { | |
| .cd-intro { | |
| margin: 5em auto; | |
| } | |
| } | |
| @media only screen and (min-width: 1170px) { | |
| .cd-intro { | |
| margin: 6em auto; | |
| } | |
| } | |
| .cd-headline { | |
| font-size: 3rem; | |
| line-height: 1.2; | |
| } | |
| @media only screen and (min-width: 768px) { | |
| .cd-headline { | |
| font-size: 4.4rem; | |
| font-weight: 300; | |
| } | |
| } | |
| @media only screen and (min-width: 1170px) { | |
| .cd-headline { | |
| font-size: 6rem; | |
| } | |
| } | |
| .cd-words-wrapper { | |
| display: inline-block; | |
| position: relative; | |
| text-align: left; | |
| } | |
| .cd-words-wrapper b { | |
| display: inline-block; | |
| position: absolute; | |
| white-space: nowrap; | |
| left: 0; | |
| top: 0; | |
| } | |
| .cd-words-wrapper b.is-visible { | |
| position: relative; | |
| } | |
| .no-js .cd-words-wrapper b { | |
| opacity: 0; | |
| } | |
| .no-js .cd-words-wrapper b.is-visible { | |
| opacity: 1; | |
| } | |
| /* -------------------------------- | |
| xrotate-1 | |
| -------------------------------- */ | |
| .cd-headline.rotate-1 .cd-words-wrapper { | |
| -webkit-perspective: 300px; | |
| -moz-perspective: 300px; | |
| perspective: 300px; | |
| } | |
| .cd-headline.rotate-1 b { | |
| opacity: 0; | |
| -webkit-transform-origin: 50% 100%; | |
| -moz-transform-origin: 50% 100%; | |
| -ms-transform-origin: 50% 100%; | |
| -o-transform-origin: 50% 100%; | |
| transform-origin: 50% 100%; | |
| -webkit-transform: rotateX(180deg); | |
| -moz-transform: rotateX(180deg); | |
| -ms-transform: rotateX(180deg); | |
| -o-transform: rotateX(180deg); | |
| transform: rotateX(180deg); | |
| } | |
| .cd-headline.rotate-1 b.is-visible { | |
| opacity: 1; | |
| -webkit-transform: rotateX(0deg); | |
| -moz-transform: rotateX(0deg); | |
| -ms-transform: rotateX(0deg); | |
| -o-transform: rotateX(0deg); | |
| transform: rotateX(0deg); | |
| -webkit-animation: cd-rotate-1-in 1.2s; | |
| -moz-animation: cd-rotate-1-in 1.2s; | |
| animation: cd-rotate-1-in 1.2s; | |
| } | |
| .cd-headline.rotate-1 b.is-hidden { | |
| -webkit-transform: rotateX(180deg); | |
| -moz-transform: rotateX(180deg); | |
| -ms-transform: rotateX(180deg); | |
| -o-transform: rotateX(180deg); | |
| transform: rotateX(180deg); | |
| -webkit-animation: cd-rotate-1-out 1.2s; | |
| -moz-animation: cd-rotate-1-out 1.2s; | |
| animation: cd-rotate-1-out 1.2s; | |
| } | |
| @-webkit-keyframes cd-rotate-1-in { | |
| 0% { | |
| -webkit-transform: rotateX(180deg); | |
| opacity: 0; | |
| } | |
| 35% { | |
| -webkit-transform: rotateX(120deg); | |
| opacity: 0; | |
| } | |
| 65% { | |
| opacity: 0; | |
| } | |
| 100% { | |
| -webkit-transform: rotateX(360deg); | |
| opacity: 1; | |
| } | |
| } | |
| @-moz-keyframes cd-rotate-1-in { | |
| 0% { | |
| -moz-transform: rotateX(180deg); | |
| opacity: 0; | |
| } | |
| 35% { | |
| -moz-transform: rotateX(120deg); | |
| opacity: 0; | |
| } | |
| 65% { | |
| opacity: 0; | |
| } | |
| 100% { | |
| -moz-transform: rotateX(360deg); | |
| opacity: 1; | |
| } | |
| } | |
| @keyframes cd-rotate-1-in { | |
| 0% { | |
| -webkit-transform: rotateX(180deg); | |
| -moz-transform: rotateX(180deg); | |
| -ms-transform: rotateX(180deg); | |
| -o-transform: rotateX(180deg); | |
| transform: rotateX(180deg); | |
| opacity: 0; | |
| } | |
| 35% { | |
| -webkit-transform: rotateX(120deg); | |
| -moz-transform: rotateX(120deg); | |
| -ms-transform: rotateX(120deg); | |
| -o-transform: rotateX(120deg); | |
| transform: rotateX(120deg); | |
| opacity: 0; | |
| } | |
| 65% { | |
| opacity: 0; | |
| } | |
| 100% { | |
| -webkit-transform: rotateX(360deg); | |
| -moz-transform: rotateX(360deg); | |
| -ms-transform: rotateX(360deg); | |
| -o-transform: rotateX(360deg); | |
| transform: rotateX(360deg); | |
| opacity: 1; | |
| } | |
| } | |
| @-webkit-keyframes cd-rotate-1-out { | |
| 0% { | |
| -webkit-transform: rotateX(0deg); | |
| opacity: 1; | |
| } | |
| 35% { | |
| -webkit-transform: rotateX(-40deg); | |
| opacity: 1; | |
| } | |
| 65% { | |
| opacity: 0; | |
| } | |
| 100% { | |
| -webkit-transform: rotateX(180deg); | |
| opacity: 0; | |
| } | |
| } | |
| @-moz-keyframes cd-rotate-1-out { | |
| 0% { | |
| -moz-transform: rotateX(0deg); | |
| opacity: 1; | |
| } | |
| 35% { | |
| -moz-transform: rotateX(-40deg); | |
| opacity: 1; | |
| } | |
| 65% { | |
| opacity: 0; | |
| } | |
| 100% { | |
| -moz-transform: rotateX(180deg); | |
| opacity: 0; | |
| } | |
| } | |
| @keyframes cd-rotate-1-out { | |
| 0% { | |
| -webkit-transform: rotateX(0deg); | |
| -moz-transform: rotateX(0deg); | |
| -ms-transform: rotateX(0deg); | |
| -o-transform: rotateX(0deg); | |
| transform: rotateX(0deg); | |
| opacity: 1; | |
| } | |
| 35% { | |
| -webkit-transform: rotateX(-40deg); | |
| -moz-transform: rotateX(-40deg); | |
| -ms-transform: rotateX(-40deg); | |
| -o-transform: rotateX(-40deg); | |
| transform: rotateX(-40deg); | |
| opacity: 1; | |
| } | |
| 65% { | |
| opacity: 0; | |
| } | |
| 100% { | |
| -webkit-transform: rotateX(180deg); | |
| -moz-transform: rotateX(180deg); | |
| -ms-transform: rotateX(180deg); | |
| -o-transform: rotateX(180deg); | |
| transform: rotateX(180deg); | |
| opacity: 0; | |
| } | |
| } | |
| /* -------------------------------- | |
| xtype | |
| -------------------------------- */ | |
| .cd-headline.type .cd-words-wrapper { | |
| vertical-align: top; | |
| overflow: hidden; | |
| } | |
| .cd-headline.type .cd-words-wrapper::after { | |
| /* vertical bar */ | |
| content:''; | |
| position: absolute; | |
| right: 0; | |
| top: 50%; | |
| bottom: auto; | |
| -webkit-transform: translateY(-50%); | |
| -moz-transform: translateY(-50%); | |
| -ms-transform: translateY(-50%); | |
| -o-transform: translateY(-50%); | |
| transform: translateY(-50%); | |
| height: 90%; | |
| width: 1px; | |
| background-color: #aebcb9; | |
| } | |
| .cd-headline.type .cd-words-wrapper.waiting::after { | |
| -webkit-animation: cd-pulse 1s infinite; | |
| -moz-animation: cd-pulse 1s infinite; | |
| animation: cd-pulse 1s infinite; | |
| } | |
| .cd-headline.type .cd-words-wrapper.selected { | |
| background-color: #aebcb9; | |
| } | |
| .cd-headline.type .cd-words-wrapper.selected::after { | |
| visibility: hidden; | |
| } | |
| .cd-headline.type .cd-words-wrapper.selected b { | |
| color: #0d0d0d; | |
| } | |
| .cd-headline.type b { | |
| visibility: hidden; | |
| } | |
| .cd-headline.type b.is-visible { | |
| visibility: visible; | |
| } | |
| .cd-headline.type i { | |
| position: absolute; | |
| visibility: hidden; | |
| } | |
| .cd-headline.type i.in { | |
| position: relative; | |
| visibility: visible; | |
| } | |
| @-webkit-keyframes cd-pulse { | |
| 0% { | |
| -webkit-transform: translateY(-50%) scale(1); | |
| opacity: 1; | |
| } | |
| 40% { | |
| -webkit-transform: translateY(-50%) scale(0.9); | |
| opacity: 0; | |
| } | |
| 100% { | |
| -webkit-transform: translateY(-50%) scale(0); | |
| opacity: 0; | |
| } | |
| } | |
| @-moz-keyframes cd-pulse { | |
| 0% { | |
| -moz-transform: translateY(-50%) scale(1); | |
| opacity: 1; | |
| } | |
| 40% { | |
| -moz-transform: translateY(-50%) scale(0.9); | |
| opacity: 0; | |
| } | |
| 100% { | |
| -moz-transform: translateY(-50%) scale(0); | |
| opacity: 0; | |
| } | |
| } | |
| @keyframes cd-pulse { | |
| 0% { | |
| -webkit-transform: translateY(-50%) scale(1); | |
| -moz-transform: translateY(-50%) scale(1); | |
| -ms-transform: translateY(-50%) scale(1); | |
| -o-transform: translateY(-50%) scale(1); | |
| transform: translateY(-50%) scale(1); | |
| opacity: 1; | |
| } | |
| 40% { | |
| -webkit-transform: translateY(-50%) scale(0.9); | |
| -moz-transform: translateY(-50%) scale(0.9); | |
| -ms-transform: translateY(-50%) scale(0.9); | |
| -o-transform: translateY(-50%) scale(0.9); | |
| transform: translateY(-50%) scale(0.9); | |
| opacity: 0; | |
| } | |
| 100% { | |
| -webkit-transform: translateY(-50%) scale(0); | |
| -moz-transform: translateY(-50%) scale(0); | |
| -ms-transform: translateY(-50%) scale(0); | |
| -o-transform: translateY(-50%) scale(0); | |
| transform: translateY(-50%) scale(0); | |
| opacity: 0; | |
| } | |
| } | |
| /* -------------------------------- | |
| xrotate-2 | |
| -------------------------------- */ | |
| .cd-headline.rotate-2 .cd-words-wrapper { | |
| -webkit-perspective: 300px; | |
| -moz-perspective: 300px; | |
| perspective: 300px; | |
| } | |
| .cd-headline.rotate-2 i, .cd-headline.rotate-2 em { | |
| display: inline-block; | |
| -webkit-backface-visibility: hidden; | |
| backface-visibility: hidden; | |
| } | |
| .cd-headline.rotate-2 i { | |
| -webkit-transform-style: preserve-3d; | |
| -moz-transform-style: preserve-3d; | |
| -ms-transform-style: preserve-3d; | |
| -o-transform-style: preserve-3d; | |
| transform-style: preserve-3d; | |
| -webkit-transform: translateZ(-20px) rotateX(90deg); | |
| -moz-transform: translateZ(-20px) rotateX(90deg); | |
| -ms-transform: translateZ(-20px) rotateX(90deg); | |
| -o-transform: translateZ(-20px) rotateX(90deg); | |
| transform: translateZ(-20px) rotateX(90deg); | |
| opacity: 0; | |
| } | |
| .is-visible .cd-headline.rotate-2 i { | |
| opacity: 1; | |
| } | |
| .cd-headline.rotate-2 i.in { | |
| -webkit-animation: cd-rotate-2-in 0.4s forwards; | |
| -moz-animation: cd-rotate-2-in 0.4s forwards; | |
| animation: cd-rotate-2-in 0.4s forwards; | |
| } | |
| .cd-headline.rotate-2 i.out { | |
| -webkit-animation: cd-rotate-2-out 0.4s forwards; | |
| -moz-animation: cd-rotate-2-out 0.4s forwards; | |
| animation: cd-rotate-2-out 0.4s forwards; | |
| } | |
| .cd-headline.rotate-2 em { | |
| -webkit-transform: translateZ(20px); | |
| -moz-transform: translateZ(20px); | |
| -ms-transform: translateZ(20px); | |
| -o-transform: translateZ(20px); | |
| transform: translateZ(20px); | |
| } | |
| .no-csstransitions .cd-headline.rotate-2 i { | |
| -webkit-transform: rotateX(0deg); | |
| -moz-transform: rotateX(0deg); | |
| -ms-transform: rotateX(0deg); | |
| -o-transform: rotateX(0deg); | |
| transform: rotateX(0deg); | |
| opacity: 0; | |
| } | |
| .no-csstransitions .cd-headline.rotate-2 i em { | |
| -webkit-transform: scale(1); | |
| -moz-transform: scale(1); | |
| -ms-transform: scale(1); | |
| -o-transform: scale(1); | |
| transform: scale(1); | |
| } | |
| .no-csstransitions .cd-headline.rotate-2 .is-visible i { | |
| opacity: 1; | |
| } | |
| @-webkit-keyframes cd-rotate-2-in { | |
| 0% { | |
| opacity: 0; | |
| -webkit-transform: translateZ(-20px) rotateX(90deg); | |
| } | |
| 60% { | |
| opacity: 1; | |
| -webkit-transform: translateZ(-20px) rotateX(-10deg); | |
| } | |
| 100% { | |
| opacity: 1; | |
| -webkit-transform: translateZ(-20px) rotateX(0deg); | |
| } | |
| } | |
| @-moz-keyframes cd-rotate-2-in { | |
| 0% { | |
| opacity: 0; | |
| -moz-transform: translateZ(-20px) rotateX(90deg); | |
| } | |
| 60% { | |
| opacity: 1; | |
| -moz-transform: translateZ(-20px) rotateX(-10deg); | |
| } | |
| 100% { | |
| opacity: 1; | |
| -moz-transform: translateZ(-20px) rotateX(0deg); | |
| } | |
| } | |
| @keyframes cd-rotate-2-in { | |
| 0% { | |
| opacity: 0; | |
| -webkit-transform: translateZ(-20px) rotateX(90deg); | |
| -moz-transform: translateZ(-20px) rotateX(90deg); | |
| -ms-transform: translateZ(-20px) rotateX(90deg); | |
| -o-transform: translateZ(-20px) rotateX(90deg); | |
| transform: translateZ(-20px) rotateX(90deg); | |
| } | |
| 60% { | |
| opacity: 1; | |
| -webkit-transform: translateZ(-20px) rotateX(-10deg); | |
| -moz-transform: translateZ(-20px) rotateX(-10deg); | |
| -ms-transform: translateZ(-20px) rotateX(-10deg); | |
| -o-transform: translateZ(-20px) rotateX(-10deg); | |
| transform: translateZ(-20px) rotateX(-10deg); | |
| } | |
| 100% { | |
| opacity: 1; | |
| -webkit-transform: translateZ(-20px) rotateX(0deg); | |
| -moz-transform: translateZ(-20px) rotateX(0deg); | |
| -ms-transform: translateZ(-20px) rotateX(0deg); | |
| -o-transform: translateZ(-20px) rotateX(0deg); | |
| transform: translateZ(-20px) rotateX(0deg); | |
| } | |
| } | |
| @-webkit-keyframes cd-rotate-2-out { | |
| 0% { | |
| opacity: 1; | |
| -webkit-transform: translateZ(-20px) rotateX(0); | |
| } | |
| 60% { | |
| opacity: 0; | |
| -webkit-transform: translateZ(-20px) rotateX(-100deg); | |
| } | |
| 100% { | |
| opacity: 0; | |
| -webkit-transform: translateZ(-20px) rotateX(-90deg); | |
| } | |
| } | |
| @-moz-keyframes cd-rotate-2-out { | |
| 0% { | |
| opacity: 1; | |
| -moz-transform: translateZ(-20px) rotateX(0); | |
| } | |
| 60% { | |
| opacity: 0; | |
| -moz-transform: translateZ(-20px) rotateX(-100deg); | |
| } | |
| 100% { | |
| opacity: 0; | |
| -moz-transform: translateZ(-20px) rotateX(-90deg); | |
| } | |
| } | |
| @keyframes cd-rotate-2-out { | |
| 0% { | |
| opacity: 1; | |
| -webkit-transform: translateZ(-20px) rotateX(0); | |
| -moz-transform: translateZ(-20px) rotateX(0); | |
| -ms-transform: translateZ(-20px) rotateX(0); | |
| -o-transform: translateZ(-20px) rotateX(0); | |
| transform: translateZ(-20px) rotateX(0); | |
| } | |
| 60% { | |
| opacity: 0; | |
| -webkit-transform: translateZ(-20px) rotateX(-100deg); | |
| -moz-transform: translateZ(-20px) rotateX(-100deg); | |
| -ms-transform: translateZ(-20px) rotateX(-100deg); | |
| -o-transform: translateZ(-20px) rotateX(-100deg); | |
| transform: translateZ(-20px) rotateX(-100deg); | |
| } | |
| 100% { | |
| opacity: 0; | |
| -webkit-transform: translateZ(-20px) rotateX(-90deg); | |
| -moz-transform: translateZ(-20px) rotateX(-90deg); | |
| -ms-transform: translateZ(-20px) rotateX(-90deg); | |
| -o-transform: translateZ(-20px) rotateX(-90deg); | |
| transform: translateZ(-20px) rotateX(-90deg); | |
| } | |
| } | |
| /* -------------------------------- | |
| xloading-bar | |
| -------------------------------- */ | |
| .cd-headline.loading-bar span { | |
| display: inline-block; | |
| padding: .2em 0; | |
| } | |
| .cd-headline.loading-bar .cd-words-wrapper { | |
| overflow: hidden; | |
| vertical-align: top; | |
| } | |
| .cd-headline.loading-bar .cd-words-wrapper::after { | |
| /* loading bar */ | |
| content:''; | |
| position: absolute; | |
| left: 0; | |
| bottom: 0; | |
| height: 3px; | |
| width: 0; | |
| background: #0096a7; | |
| z-index: 2; | |
| -webkit-transition: width 0.3s -0.1s; | |
| -moz-transition: width 0.3s -0.1s; | |
| transition: width 0.3s -0.1s; | |
| } | |
| .cd-headline.loading-bar .cd-words-wrapper.is-loading::after { | |
| width: 100%; | |
| -webkit-transition: width 3s; | |
| -moz-transition: width 3s; | |
| transition: width 3s; | |
| } | |
| .cd-headline.loading-bar b { | |
| top: .2em; | |
| opacity: 0; | |
| -webkit-transition: opacity 0.3s; | |
| -moz-transition: opacity 0.3s; | |
| transition: opacity 0.3s; | |
| } | |
| .cd-headline.loading-bar b.is-visible { | |
| opacity: 1; | |
| top: 0; | |
| } | |
| /* -------------------------------- | |
| xslide | |
| -------------------------------- */ | |
| .cd-headline.slide span { | |
| display: inline-block; | |
| padding: .2em 0; | |
| } | |
| .cd-headline.slide .cd-words-wrapper { | |
| overflow: hidden; | |
| vertical-align: top; | |
| } | |
| .cd-headline.slide b { | |
| opacity: 0; | |
| top: .2em; | |
| } | |
| .cd-headline.slide b.is-visible { | |
| top: 0; | |
| opacity: 1; | |
| -webkit-animation: slide-in 0.6s; | |
| -moz-animation: slide-in 0.6s; | |
| animation: slide-in 0.6s; | |
| } | |
| .cd-headline.slide b.is-hidden { | |
| -webkit-animation: slide-out 0.6s; | |
| -moz-animation: slide-out 0.6s; | |
| animation: slide-out 0.6s; | |
| } | |
| @-webkit-keyframes slide-in { | |
| 0% { | |
| opacity: 0; | |
| -webkit-transform: translateY(-100%); | |
| } | |
| 60% { | |
| opacity: 1; | |
| -webkit-transform: translateY(20%); | |
| } | |
| 100% { | |
| opacity: 1; | |
| -webkit-transform: translateY(0); | |
| } | |
| } | |
| @-moz-keyframes slide-in { | |
| 0% { | |
| opacity: 0; | |
| -moz-transform: translateY(-100%); | |
| } | |
| 60% { | |
| opacity: 1; | |
| -moz-transform: translateY(20%); | |
| } | |
| 100% { | |
| opacity: 1; | |
| -moz-transform: translateY(0); | |
| } | |
| } | |
| @keyframes slide-in { | |
| 0% { | |
| opacity: 0; | |
| -webkit-transform: translateY(-100%); | |
| -moz-transform: translateY(-100%); | |
| -ms-transform: translateY(-100%); | |
| -o-transform: translateY(-100%); | |
| transform: translateY(-100%); | |
| } | |
| 60% { | |
| opacity: 1; | |
| -webkit-transform: translateY(20%); | |
| -moz-transform: translateY(20%); | |
| -ms-transform: translateY(20%); | |
| -o-transform: translateY(20%); | |
| transform: translateY(20%); | |
| } | |
| 100% { | |
| opacity: 1; | |
| -webkit-transform: translateY(0); | |
| -moz-transform: translateY(0); | |
| -ms-transform: translateY(0); | |
| -o-transform: translateY(0); | |
| transform: translateY(0); | |
| } | |
| } | |
| @-webkit-keyframes slide-out { | |
| 0% { | |
| opacity: 1; | |
| -webkit-transform: translateY(0); | |
| } | |
| 60% { | |
| opacity: 0; | |
| -webkit-transform: translateY(120%); | |
| } | |
| 100% { | |
| opacity: 0; | |
| -webkit-transform: translateY(100%); | |
| } | |
| } | |
| @-moz-keyframes slide-out { | |
| 0% { | |
| opacity: 1; | |
| -moz-transform: translateY(0); | |
| } | |
| 60% { | |
| opacity: 0; | |
| -moz-transform: translateY(120%); | |
| } | |
| 100% { | |
| opacity: 0; | |
| -moz-transform: translateY(100%); | |
| } | |
| } | |
| @keyframes slide-out { | |
| 0% { | |
| opacity: 1; | |
| -webkit-transform: translateY(0); | |
| -moz-transform: translateY(0); | |
| -ms-transform: translateY(0); | |
| -o-transform: translateY(0); | |
| transform: translateY(0); | |
| } | |
| 60% { | |
| opacity: 0; | |
| -webkit-transform: translateY(120%); | |
| -moz-transform: translateY(120%); | |
| -ms-transform: translateY(120%); | |
| -o-transform: translateY(120%); | |
| transform: translateY(120%); | |
| } | |
| 100% { | |
| opacity: 0; | |
| -webkit-transform: translateY(100%); | |
| -moz-transform: translateY(100%); | |
| -ms-transform: translateY(100%); | |
| -o-transform: translateY(100%); | |
| transform: translateY(100%); | |
| } | |
| } | |
| /* -------------------------------- | |
| xclip | |
| -------------------------------- */ | |
| .cd-headline.clip span { | |
| display: inline-block; | |
| padding: .2em 0; | |
| } | |
| .cd-headline.clip .cd-words-wrapper { | |
| overflow: hidden; | |
| vertical-align: top; | |
| } | |
| .cd-headline.clip .cd-words-wrapper::after { | |
| /* line */ | |
| content:''; | |
| position: absolute; | |
| top: 0; | |
| right: 0; | |
| width: 2px; | |
| height: 100%; | |
| background-color: #aebcb9; | |
| } | |
| .cd-headline.clip b { | |
| opacity: 0; | |
| } | |
| .cd-headline.clip b.is-visible { | |
| opacity: 1; | |
| } | |
| /* -------------------------------- | |
| xzoom | |
| -------------------------------- */ | |
| .cd-headline.zoom .cd-words-wrapper { | |
| -webkit-perspective: 300px; | |
| -moz-perspective: 300px; | |
| perspective: 300px; | |
| } | |
| .cd-headline.zoom b { | |
| opacity: 0; | |
| } | |
| .cd-headline.zoom b.is-visible { | |
| opacity: 1; | |
| -webkit-animation: zoom-in 0.8s; | |
| -moz-animation: zoom-in 0.8s; | |
| animation: zoom-in 0.8s; | |
| } | |
| .cd-headline.zoom b.is-hidden { | |
| -webkit-animation: zoom-out 0.8s; | |
| -moz-animation: zoom-out 0.8s; | |
| animation: zoom-out 0.8s; | |
| } | |
| @-webkit-keyframes zoom-in { | |
| 0% { | |
| opacity: 0; | |
| -webkit-transform: translateZ(100px); | |
| } | |
| 100% { | |
| opacity: 1; | |
| -webkit-transform: translateZ(0); | |
| } | |
| } | |
| @-moz-keyframes zoom-in { | |
| 0% { | |
| opacity: 0; | |
| -moz-transform: translateZ(100px); | |
| } | |
| 100% { | |
| opacity: 1; | |
| -moz-transform: translateZ(0); | |
| } | |
| } | |
| @keyframes zoom-in { | |
| 0% { | |
| opacity: 0; | |
| -webkit-transform: translateZ(100px); | |
| -moz-transform: translateZ(100px); | |
| -ms-transform: translateZ(100px); | |
| -o-transform: translateZ(100px); | |
| transform: translateZ(100px); | |
| } | |
| 100% { | |
| opacity: 1; | |
| -webkit-transform: translateZ(0); | |
| -moz-transform: translateZ(0); | |
| -ms-transform: translateZ(0); | |
| -o-transform: translateZ(0); | |
| transform: translateZ(0); | |
| } | |
| } | |
| @-webkit-keyframes zoom-out { | |
| 0% { | |
| opacity: 1; | |
| -webkit-transform: translateZ(0); | |
| } | |
| 100% { | |
| opacity: 0; | |
| -webkit-transform: translateZ(-100px); | |
| } | |
| } | |
| @-moz-keyframes zoom-out { | |
| 0% { | |
| opacity: 1; | |
| -moz-transform: translateZ(0); | |
| } | |
| 100% { | |
| opacity: 0; | |
| -moz-transform: translateZ(-100px); | |
| } | |
| } | |
| @keyframes zoom-out { | |
| 0% { | |
| opacity: 1; | |
| -webkit-transform: translateZ(0); | |
| -moz-transform: translateZ(0); | |
| -ms-transform: translateZ(0); | |
| -o-transform: translateZ(0); | |
| transform: translateZ(0); | |
| } | |
| 100% { | |
| opacity: 0; | |
| -webkit-transform: translateZ(-100px); | |
| -moz-transform: translateZ(-100px); | |
| -ms-transform: translateZ(-100px); | |
| -o-transform: translateZ(-100px); | |
| transform: translateZ(-100px); | |
| } | |
| } | |
| /* -------------------------------- | |
| xrotate-3 | |
| -------------------------------- */ | |
| .cd-headline.rotate-3 .cd-words-wrapper { | |
| -webkit-perspective: 300px; | |
| -moz-perspective: 300px; | |
| perspective: 300px; | |
| } | |
| .cd-headline.rotate-3 i { | |
| display: inline-block; | |
| -webkit-transform: rotateY(180deg); | |
| -moz-transform: rotateY(180deg); | |
| -ms-transform: rotateY(180deg); | |
| -o-transform: rotateY(180deg); | |
| transform: rotateY(180deg); | |
| -webkit-backface-visibility: hidden; | |
| backface-visibility: hidden; | |
| } | |
| .is-visible .cd-headline.rotate-3 i { | |
| -webkit-transform: rotateY(0deg); | |
| -moz-transform: rotateY(0deg); | |
| -ms-transform: rotateY(0deg); | |
| -o-transform: rotateY(0deg); | |
| transform: rotateY(0deg); | |
| } | |
| .cd-headline.rotate-3 i.in { | |
| -webkit-animation: cd-rotate-3-in 0.6s forwards; | |
| -moz-animation: cd-rotate-3-in 0.6s forwards; | |
| animation: cd-rotate-3-in 0.6s forwards; | |
| } | |
| .cd-headline.rotate-3 i.out { | |
| -webkit-animation: cd-rotate-3-out 0.6s forwards; | |
| -moz-animation: cd-rotate-3-out 0.6s forwards; | |
| animation: cd-rotate-3-out 0.6s forwards; | |
| } | |
| .no-csstransitions .cd-headline.rotate-3 i { | |
| -webkit-transform: rotateY(0deg); | |
| -moz-transform: rotateY(0deg); | |
| -ms-transform: rotateY(0deg); | |
| -o-transform: rotateY(0deg); | |
| transform: rotateY(0deg); | |
| opacity: 0; | |
| } | |
| .no-csstransitions .cd-headline.rotate-3 .is-visible i { | |
| opacity: 1; | |
| } | |
| @-webkit-keyframes cd-rotate-3-in { | |
| 0% { | |
| -webkit-transform: rotateY(180deg); | |
| } | |
| 100% { | |
| -webkit-transform: rotateY(0deg); | |
| } | |
| } | |
| @-moz-keyframes cd-rotate-3-in { | |
| 0% { | |
| -moz-transform: rotateY(180deg); | |
| } | |
| 100% { | |
| -moz-transform: rotateY(0deg); | |
| } | |
| } | |
| @keyframes cd-rotate-3-in { | |
| 0% { | |
| -webkit-transform: rotateY(180deg); | |
| -moz-transform: rotateY(180deg); | |
| -ms-transform: rotateY(180deg); | |
| -o-transform: rotateY(180deg); | |
| transform: rotateY(180deg); | |
| } | |
| 100% { | |
| -webkit-transform: rotateY(0deg); | |
| -moz-transform: rotateY(0deg); | |
| -ms-transform: rotateY(0deg); | |
| -o-transform: rotateY(0deg); | |
| transform: rotateY(0deg); | |
| } | |
| } | |
| @-webkit-keyframes cd-rotate-3-out { | |
| 0% { | |
| -webkit-transform: rotateY(0); | |
| } | |
| 100% { | |
| -webkit-transform: rotateY(-180deg); | |
| } | |
| } | |
| @-moz-keyframes cd-rotate-3-out { | |
| 0% { | |
| -moz-transform: rotateY(0); | |
| } | |
| 100% { | |
| -moz-transform: rotateY(-180deg); | |
| } | |
| } | |
| @keyframes cd-rotate-3-out { | |
| 0% { | |
| -webkit-transform: rotateY(0); | |
| -moz-transform: rotateY(0); | |
| -ms-transform: rotateY(0); | |
| -o-transform: rotateY(0); | |
| transform: rotateY(0); | |
| } | |
| 100% { | |
| -webkit-transform: rotateY(-180deg); | |
| -moz-transform: rotateY(-180deg); | |
| -ms-transform: rotateY(-180deg); | |
| -o-transform: rotateY(-180deg); | |
| transform: rotateY(-180deg); | |
| } | |
| } | |
| /* -------------------------------- | |
| xscale | |
| -------------------------------- */ | |
| .cd-headline.scale i { | |
| display: inline-block; | |
| opacity: 0; | |
| -webkit-transform: scale(0); | |
| -moz-transform: scale(0); | |
| -ms-transform: scale(0); | |
| -o-transform: scale(0); | |
| transform: scale(0); | |
| } | |
| .is-visible .cd-headline.scale i { | |
| opacity: 1; | |
| } | |
| .cd-headline.scale i.in { | |
| -webkit-animation: scale-up 0.6s forwards; | |
| -moz-animation: scale-up 0.6s forwards; | |
| animation: scale-up 0.6s forwards; | |
| } | |
| .cd-headline.scale i.out { | |
| -webkit-animation: scale-down 0.6s forwards; | |
| -moz-animation: scale-down 0.6s forwards; | |
| animation: scale-down 0.6s forwards; | |
| } | |
| .no-csstransitions .cd-headline.scale i { | |
| -webkit-transform: scale(1); | |
| -moz-transform: scale(1); | |
| -ms-transform: scale(1); | |
| -o-transform: scale(1); | |
| transform: scale(1); | |
| opacity: 0; | |
| } | |
| .no-csstransitions .cd-headline.scale .is-visible i { | |
| opacity: 1; | |
| } | |
| @-webkit-keyframes scale-up { | |
| 0% { | |
| -webkit-transform: scale(0); | |
| opacity: 0; | |
| } | |
| 60% { | |
| -webkit-transform: scale(1.2); | |
| opacity: 1; | |
| } | |
| 100% { | |
| -webkit-transform: scale(1); | |
| opacity: 1; | |
| } | |
| } | |
| @-moz-keyframes scale-up { | |
| 0% { | |
| -moz-transform: scale(0); | |
| opacity: 0; | |
| } | |
| 60% { | |
| -moz-transform: scale(1.2); | |
| opacity: 1; | |
| } | |
| 100% { | |
| -moz-transform: scale(1); | |
| opacity: 1; | |
| } | |
| } | |
| @keyframes scale-up { | |
| 0% { | |
| -webkit-transform: scale(0); | |
| -moz-transform: scale(0); | |
| -ms-transform: scale(0); | |
| -o-transform: scale(0); | |
| transform: scale(0); | |
| opacity: 0; | |
| } | |
| 60% { | |
| -webkit-transform: scale(1.2); | |
| -moz-transform: scale(1.2); | |
| -ms-transform: scale(1.2); | |
| -o-transform: scale(1.2); | |
| transform: scale(1.2); | |
| opacity: 1; | |
| } | |
| 100% { | |
| -webkit-transform: scale(1); | |
| -moz-transform: scale(1); | |
| -ms-transform: scale(1); | |
| -o-transform: scale(1); | |
| transform: scale(1); | |
| opacity: 1; | |
| } | |
| } | |
| @-webkit-keyframes scale-down { | |
| 0% { | |
| -webkit-transform: scale(1); | |
| opacity: 1; | |
| } | |
| 60% { | |
| -webkit-transform: scale(0); | |
| opacity: 0; | |
| } | |
| } | |
| @-moz-keyframes scale-down { | |
| 0% { | |
| -moz-transform: scale(1); | |
| opacity: 1; | |
| } | |
| 60% { | |
| -moz-transform: scale(0); | |
| opacity: 0; | |
| } | |
| } | |
| @keyframes scale-down { | |
| 0% { | |
| -webkit-transform: scale(1); | |
| -moz-transform: scale(1); | |
| -ms-transform: scale(1); | |
| -o-transform: scale(1); | |
| transform: scale(1); | |
| opacity: 1; | |
| } | |
| 60% { | |
| -webkit-transform: scale(0); | |
| -moz-transform: scale(0); | |
| -ms-transform: scale(0); | |
| -o-transform: scale(0); | |
| transform: scale(0); | |
| opacity: 0; | |
| } | |
| } | |
| /* -------------------------------- | |
| xpush | |
| -------------------------------- */ | |
| .cd-headline.push b { | |
| opacity: 0; | |
| } | |
| .cd-headline.push b.is-visible { | |
| opacity: 1; | |
| -webkit-animation: push-in 0.6s; | |
| -moz-animation: push-in 0.6s; | |
| animation: push-in 0.6s; | |
| } | |
| .cd-headline.push b.is-hidden { | |
| -webkit-animation: push-out 0.6s; | |
| -moz-animation: push-out 0.6s; | |
| animation: push-out 0.6s; | |
| } | |
| @-webkit-keyframes push-in { | |
| 0% { | |
| opacity: 0; | |
| -webkit-transform: translateX(-100%); | |
| } | |
| 60% { | |
| opacity: 1; | |
| -webkit-transform: translateX(10%); | |
| } | |
| 100% { | |
| opacity: 1; | |
| -webkit-transform: translateX(0); | |
| } | |
| } | |
| @-moz-keyframes push-in { | |
| 0% { | |
| opacity: 0; | |
| -moz-transform: translateX(-100%); | |
| } | |
| 60% { | |
| opacity: 1; | |
| -moz-transform: translateX(10%); | |
| } | |
| 100% { | |
| opacity: 1; | |
| -moz-transform: translateX(0); | |
| } | |
| } | |
| @keyframes push-in { | |
| 0% { | |
| opacity: 0; | |
| -webkit-transform: translateX(-100%); | |
| -moz-transform: translateX(-100%); | |
| -ms-transform: translateX(-100%); | |
| -o-transform: translateX(-100%); | |
| transform: translateX(-100%); | |
| } | |
| 60% { | |
| opacity: 1; | |
| -webkit-transform: translateX(10%); | |
| -moz-transform: translateX(10%); | |
| -ms-transform: translateX(10%); | |
| -o-transform: translateX(10%); | |
| transform: translateX(10%); | |
| } | |
| 100% { | |
| opacity: 1; | |
| -webkit-transform: translateX(0); | |
| -moz-transform: translateX(0); | |
| -ms-transform: translateX(0); | |
| -o-transform: translateX(0); | |
| transform: translateX(0); | |
| } | |
| } | |
| @-webkit-keyframes push-out { | |
| 0% { | |
| opacity: 1; | |
| -webkit-transform: translateX(0); | |
| } | |
| 60% { | |
| opacity: 0; | |
| -webkit-transform: translateX(110%); | |
| } | |
| 100% { | |
| opacity: 0; | |
| -webkit-transform: translateX(100%); | |
| } | |
| } | |
| @-moz-keyframes push-out { | |
| 0% { | |
| opacity: 1; | |
| -moz-transform: translateX(0); | |
| } | |
| 60% { | |
| opacity: 0; | |
| -moz-transform: translateX(110%); | |
| } | |
| 100% { | |
| opacity: 0; | |
| -moz-transform: translateX(100%); | |
| } | |
| } | |
| @keyframes push-out { | |
| 0% { | |
| opacity: 1; | |
| -webkit-transform: translateX(0); | |
| -moz-transform: translateX(0); | |
| -ms-transform: translateX(0); | |
| -o-transform: translateX(0); | |
| transform: translateX(0); | |
| } | |
| 60% { | |
| opacity: 0; | |
| -webkit-transform: translateX(110%); | |
| -moz-transform: translateX(110%); | |
| -ms-transform: translateX(110%); | |
| -o-transform: translateX(110%); | |
| transform: translateX(110%); | |
| } | |
| 100% { | |
| opacity: 0; | |
| -webkit-transform: translateX(100%); | |
| -moz-transform: translateX(100%); | |
| -ms-transform: translateX(100%); | |
| -o-transform: translateX(100%); | |
| transform: translateX(100%); | |
| } | |
| } |