src/assets/less/introduction.less
@import (reference) "libs/constants.less";@import (reference) "libs/mixins.less"; .introduction { opacity: 1; .transition(opacity 1s ease); &.invisible { opacity: 0; } .intro { position: absolute; display: block; width: 100%; text-align: center; bottom: 50%; user-select: none; opacity: 0; color: @text-color; font-family: 'Lato-Light', sans-serif; .transition(all 2s ease 2s); & span { display: inline; &.press { font-size: 16px; color: @text-color; position: absolute; bottom: 43px; right: 29px; font-family: 'Lato-Light', sans-serif; transform: rotateZ(-29deg); } } & .jobs { text-transform: uppercase; word-spacing: 0.6rem; .font-size(2.6); &_job:hover { opacity: 0.125; } } & .big { position: absolute; bottom: -120px; width: 250px; text-transform: uppercase; line-height: 80px; color: #009bfa; cursor: pointer; transition: color 0.25s ease; .font-size(3); &::after, &::before { content: ' '; position: absolute; left: 0; width: 1px; height: 0; background: #61c3ff; transition: height 0.3s ease 0.3s; } &::after { bottom: 50%; } &::before { top: 50%; } & i { width: 10%; height: 1px; background: #61c3ff; position: absolute; top: 50%; &::after, &::before { content: ' '; position: absolute; left: 0; height: 1px; width: 0; background: #61c3ff; transition: width 0.3s ease 0s; } &::after { bottom: -40px; } &::before { top: -40px; } } } & .portfolio { right: calc(50% + 50px); & i { left: 0; } } & .resume { left: calc(50% + 50px); &::after, &::before { left: initial; right: 0; } & i { right: 0; &::after, &::before { left: initial; right: 0; } } } .big.active, .big:hover { color: @text-color-white; &::after, &::before { transition: height 0.3s ease 0s; height: 50%; } & i { &::after, &::before { transition: width 0.3s cubic-bezier(0.18, 0.89, 0.6, 1) 0.3s; } &::after { width: 300px; } &::before { width: 120px; } } } & .links { width: 80px; height: 80px; position: absolute; bottom: -120px; left: 50%; transform: translateX(-50%) rotateZ(45deg); & a, & div { width: 38px; height: 38px; display: flex; justify-content: center; align-items: center; background: @background-bloc-0; position: absolute; & img { transform: rotateZ(-45deg); width: 50%; } &:nth-child(1) { width: 25px; height: 25px; transform: translate3d(6px, 6px, 0) rotateZ(0); animation: rotation 4s infinite; @keyframes rotation { from { transform: translate3d(6px, 6px, 0) rotateZ(0); } to { transform: translate3d(6px, 6px, 0) rotateZ(365deg); } } } &:nth-child(2) { background: @background-bloc-1; right: 0; & span { transform: rotateZ(-45deg) translateX(42px) translateY(-18px); padding-left: 40px; &::after { right: 20px; } } } &:nth-child(3) { background: @background-bloc-2; right: 0; bottom: 0; } &:nth-child(4) { background: @background-bloc-3; left: 0; bottom: 0; & img { filter: brightness(0) invert(1); } & span { transform: rotateZ( -45deg ) translateX(-22px) translateY(-18px); padding-right: 40px; &::after { left: 20px; } } } } a:hover { background: @text-color-white; & img { filter: unset; } & span { color: @text-color-white; } } } & .big:hover ~ div > div { .transition(background 0.35s ease 0.45s); background: white; } } .mobile { display: none; }} @keyframes blink-caret { from, to { border-color: transparent; } 50% { border-color: @text-color; }} @media screen and (max-width: @SCREEN_2200) { .introduction { .intro { & .name { .font-size(15); } & .jobs { .font-size(2); } & .big { .font-size(2.5); } } }} @media screen and (max-width: @SCREEN_1800) { .introduction { .intro { & .name { .font-size(12.5); } & .jobs { .font-size(1.7); } & .big { .font-size(2); } } }} @media screen and (max-width: @SCREEN_1600) { .introduction { .intro { & .name { .font-size(9.5); } & .jobs { .font-size(1.4); } & .big { bottom: -120px; } } }} @media screen and (max-width: @SCREEN_1100) { .introduction { .intro { & .name { .font-size(8); } & .jobs { .font-size(1.2); } & .big { width: 30%; } & .portfolio { right: calc(50% + 55px); } & .resume { left: calc(50% + 55px); } } }} @media screen and (max-width: @TABLET) { .introduction { .intro { & .name { letter-spacing: 1rem; word-spacing: 1rem; .font-size(4); } & .jobs { display: none; } & .big { width: 30%; .font-size(1.5); &::before, &::after, & i { display: none; } } & .portfolio { margin-right: 8%; right: calc(50% + 55px); } & .resume { margin-left: 8%; left: calc(50% + 55px); } } }} @media screen and (max-width: @MOBILE) { .introduction { .intro { display: none; } canvas { display: none; } .mobile { position: absolute; display: block; width: 100%; text-align: center; bottom: 50%; transform: translateY(50%); user-select: none; color: @text-color; opacity: 0; font-family: 'Lato-Light', sans-serif; .transition(all 2s ease 2s); & .name { text-transform: uppercase; letter-spacing: 2rem; word-spacing: 2rem; margin-left: 2rem; margin-bottom: 5rem; text-shadow: 0 0 8px #bddcff; .font-size(4); } & ul { padding: 0; margin: 0; & .link { border: 1px solid @text-color-white; color: #fff; box-shadow: 0 0 6px white; list-style-type: none; text-transform: uppercase; max-width: 150px; margin: 20px auto 0; padding: 10px; .font-size(1); } } } }} .mounted { .mobile, .intro { opacity: 1; }} #HOME { &.invisible { & .introduction { opacity: 0; } }}