| :root { |
| --duration: 5s; |
| --delay: 0.4s; |
| --tl: -7px; |
| } |
| |
| .intro { |
| background-image: url(../img/bg-intro.svg); |
| background-size: 140em 23em; |
| background-position: center bottom -1em; |
| background-repeat: repeat-x; |
| padding: 3em $m-s 13.75em; |
| |
| &__content { |
| max-width: $max-width-m; |
| margin: 0 auto; |
| display: flex; |
| align-items: center; |
| justify-content: flex-end; |
| min-height: 24em; |
| position: relative; |
| } |
| |
| &__body { |
| font-size: 1.75em; |
| line-height: 1.5714; |
| font-family: 'Livvic', sans-serif; |
| max-width: 45ch; |
| font-weight: 300; |
| position: relative; |
| z-index: 2; |
| } |
| |
| &__logo { |
| width: 22.75em; |
| height: 22.75em; |
| opacity: 0.3; |
| position: absolute; |
| top: 0.625em; |
| left: 50%; |
| transform: translateX(-27.1em); |
| } |
| |
| &:not(.animate):hover .ani-logo, |
| &.animate .ani-logo { |
| animation: rotate 2s ease-in-out; |
| .item { |
| animation: trans 0.8s ease-out both alternate 2; |
| |
| &.right, |
| &.left { |
| animation: shrinkx 2s ease-in-out; |
| } |
| &.top, |
| &.bottom { |
| animation: shrinky 2s ease-in-out; |
| } |
| } |
| } |
| } |
| |
| .ani-logo { |
| .item { |
| fill: #03043E; |
| opacity: 1; |
| will-change: transform; |
| } |
| |
| .ul { transform: translate(-7px, -7px); } |
| .ur { transform: translate(7px, -7px); } |
| .lr { transform: translate(7px, 7px); } |
| .ll { transform: translate(-7px, 7px); } |
| |
| .top { |
| transform: scaleY(1); |
| transform-origin: 41px 24px; |
| } |
| .right { |
| transform: scaleX(1); |
| transform-origin: 58px 41px; |
| } |
| .bottom { |
| transform: scaleY(1); |
| transform-origin: 41px 58px; |
| } |
| .left { |
| transform: scaleX(1); |
| transform-origin: 24px 41px; |
| } |
| } |
| |
| @media (prefers-reduced-motion: reduce) { |
| .item { |
| animation: none!important; |
| } |
| } |
| |
| @keyframes rotate { |
| 0% { |
| transform: rotate(0) scale(1); |
| } |
| 60% { |
| transform: rotate(0) scale(0.6); |
| } |
| 70% { |
| transform: rotate(90deg) scale(0.6); |
| animation-timing-function: cubic-bezier(.21,1.85,.72,1); |
| } |
| 100% { |
| transform: rotate(90deg) scale(1); |
| } |
| } |
| |
| @keyframes trans { |
| 50%, 100% { transform: none; } |
| } |
| |
| @keyframes shrinkx { |
| 0%, 80% { |
| transform: none; |
| } |
| |
| 15%, 70% { |
| transform: scaleX(0); |
| } |
| } |
| |
| @keyframes shrinky { |
| 0%, 80% { |
| transform: none; |
| } |
| |
| 15%, 70% { |
| transform: scaleY(0); |
| } |
| } |