/
efr
/
SmartCity
Обзор
Документация
Войти
/
efr
/
SmartCity
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
static/css/loading.css
159 строк
3 KB
Sergey
add_project
27 фев 2025, 19:33
27 фев 2025, 19:33
7eeda08
Код
Авторство
О чём код?
* { margin: 0; padding: 0; box-sizing: border-box; } :root { --index: calc(1vw + 1vh); --transition: 1.5s cubic-bezier(.05, .5, 0, 1); } @font-face { font-family: kamerik-3d; src: url(/static/assets/fonts/kamerik205-heavy.woff2); font-weight: 900; } @font-face { font-family: merriweather-italic-3d; src: url(/static/assets/merriweather-regular-italic.woff2); } body { background-color: #000; color: #fff; font-family: kamerik-3d; } .logo { --logo-size: calc(var(--index) * 7.8); width: var(--logo-size); height: var(--logo-size); background-repeat: no-repeat; position: absolute; left: calc(51% - calc(var(--logo-size) / 2)); top: calc(var(--index) * 2.8); z-index: 1; } .layers { perspective: 1000px; overflow: hidden; } .layers__container { height: 100vh; min-height: 500px; transform-style: preserve-3d; transform: rotateX(var(--move-y)) rotateY(var(--move-x)); will-change: transform; transition: transform var(--transition); } .layers__item { position: absolute; inset: -5vw; background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; } .layer-1 { transform: translateZ(-55px) scale(1.06); } .layer-2 { transform: translateZ(80px) scale(.88); } .layer-3 { transform: translateZ(180px) scale(.8); } .layer-4 { transform: translateZ(190px) scale(.9); } .layer-5 { transform: translateZ(300px) scale(.9); } .layer-6 { transform: translateZ(380px); } .hero-content { font-size: calc(var(--index) * 2.9); text-align: center; text-transform: uppercase; letter-spacing: calc(var(--index) * -.15); line-height: 1.35em; margin-top: calc(var(--index) * 5.5); } .hero-content span { display: block; } .hero-content__p { text-transform: none; font-family: merriweather-italic-3d; letter-spacing: normal; font-size: calc(var(--index) * .73); line-height: 3; } .button-start { font-family: Arial; font-weight: 600; text-transform: uppercase; font-size: calc(var(--index) * .71); letter-spacing: -.02vw; padding: calc(var(--index) * .7) calc(var(--index) * 1.25); background-color: transparent; color: #fff; border-radius: 10em; border: rgb(255 255 255 / .4) 3px solid; outline: none; cursor: pointer; margin-top: calc(var(--index) * 2.5); position: relative; } .button-start .button-text { transition: opacity 0.3s ease; } .button-start .button-spinner { display: none; position: absolute; top: 50%; left: 50%; width: 24px; height: 24px; border: 3px solid rgba(255, 255, 255, 0.3); border-top: 3px solid #fff; border-radius: 50%; animation: spin 1s linear infinite; transform: translate(-50%, -50%); } @keyframes spin { 0% { transform: translate(-50%, -50%) rotate(0deg); } 100% { transform: translate(-50%, -50%) rotate(360deg); } } .button-start.loading .button-text { opacity: 0; } .button-start.loading .button-spinner { display: block; } .layer-4, .layer-5, .layer-6 { pointer-events: none; }