You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

682 lines
13 KiB

  1. body {
  2. overflow: hidden;
  3. }
  4. .wrap {
  5. background-image: url(http://api.thumbr.it/whitenoise-361x370.png?background=000000ff&noise=ffffff&density=61&opacity=20);
  6. -moz-animation: noise 0.3s infinite;
  7. -webkit-animation: noise 0.3s infinite;
  8. animation: noise 0.3s infinite;
  9. background-size: contain;
  10. height: 100vh;
  11. display: -webkit-box;
  12. display: flex;
  13. -webkit-box-align: center;
  14. align-items: center;
  15. -webkit-box-pack: center;
  16. justify-content: center;
  17. }
  18. .glitch {
  19. font-family: 'vt-323';
  20. font-weight: 600;
  21. color: white;
  22. font-size: 60px;
  23. position: relative;
  24. margin: 0 auto;
  25. text-shadow: 0px -5px 10px white, 0px 0px 5px rgba(255, 255, 255, 0), 0px 0px 10px rgba(255, 255, 255, 0), 0px 0px 15px rgba(255, 255, 255, 0), 0px 0px 20px rgba(255, 255, 255, 0);
  26. -webkit-animation: noise-anim-2 3s infinite linear alternate-reverse, shift 4s ease-in-out infinite alternate, blur 8s ease-in-out infinite alternate;
  27. animation: noise-anim-2 3s infinite linear alternate-reverse, shift 4s ease-in-out infinite alternate, blur 8s ease-in-out infinite alternate;
  28. -webkit-transform: skewX(0deg);
  29. transform: skewX(0deg);
  30. }
  31. .wrap:after {
  32. content: "";
  33. display: block;
  34. position: absolute;
  35. left: 0;
  36. right: 0;
  37. background: url(http://api.thumbr.it/whitenoise-361x370.png?background=000000ff&noise=ffffff&density=61&opacity=40);
  38. -moz-animation: bar 0.5s infinite;
  39. -webkit-animation: bar 0.5s infinite;
  40. animation: bar 0.5s infinite;
  41. }
  42. @-webkit-keyframes blur {
  43. 0%,40%, 50%, 60%, 90%, 95%, 100% {
  44. text-shadow: 0px -5px 10px white, 0px 0px 5px rgba(255, 255, 255, 0), 0px 0px 10px rgba(255, 255, 255, 0), 2px 1px 15px rgba(100, 240, 255, 0), 0px 0px 20px rgba(255, 255, 255, 0);
  45. }
  46. 45%, 75% {
  47. text-shadow: 0px -5px 10px white, 0px 0px 5px white, 0px 0px 10px white, 2px 1px 15px #64f0ff, 0px 0px 20px white;
  48. }
  49. 97.5% {
  50. text-shadow: 0px -5px 10px rgba(255, 255, 255, 0), 0px 0px 5px rgba(255, 255, 255, 0), 0px 0px 10px rgba(255, 255, 255, 0), 2px 1px 4px #ff6464, 0px 0px 20px rgba(255, 255, 255, 0);
  51. }
  52. }
  53. @keyframes blur {
  54. 0%,40%, 50%, 60%, 90%, 95%, 100% {
  55. text-shadow: 0px -5px 10px white, 0px 0px 5px rgba(255, 255, 255, 0), 0px 0px 10px rgba(255, 255, 255, 0), 2px 1px 15px rgba(100, 240, 255, 0), 0px 0px 20px rgba(255, 255, 255, 0);
  56. }
  57. 45%, 75% {
  58. text-shadow: 0px -5px 10px white, 0px 0px 5px white, 0px 0px 10px white, 2px 1px 15px #64f0ff, 0px 0px 20px white;
  59. }
  60. 97.5% {
  61. text-shadow: 0px -5px 10px rgba(255, 255, 255, 0), 0px 0px 5px rgba(255, 255, 255, 0), 0px 0px 10px rgba(255, 255, 255, 0), 2px 1px 4px #ff6464, 0px 0px 20px rgba(255, 255, 255, 0);
  62. }
  63. }
  64. .glitch:after {
  65. content: attr(data-text);
  66. position: absolute;
  67. left: 3px;
  68. text-shadow: -1px 0 red;
  69. top: 0;
  70. color: transparent;
  71. background: transparent;
  72. overflow: hidden;
  73. clip: rect(0, 900px, 0, 0);
  74. -webkit-animation: noise-anim-2 3s infinite linear alternate-reverse, shift 4s ease-in-out infinite alternate;
  75. animation: noise-anim-2 3s infinite linear alternate-reverse, shift 4s ease-in-out infinite alternate;
  76. -webkit-transform: skewX(0deg);
  77. transform: skewX(0deg);
  78. z-index: -2;
  79. opacity: .7;
  80. }
  81. .glitch:before {
  82. content: attr(data-text);
  83. position: absolute;
  84. left: 1px;
  85. text-shadow: -3px 0 cyan;
  86. top: 0;
  87. color: transparent;
  88. background: transparent;
  89. overflow: hidden;
  90. clip: rect(0, 900px, 0, 0);
  91. -webkit-animation: noise-anim-2 3s infinite linear alternate-reverse, shift 4s ease-in-out infinite alternate;
  92. animation: noise-anim-2 3s infinite linear alternate-reverse, shift 4s ease-in-out infinite alternate;
  93. -webkit-transform: skewX(0deg);
  94. transform: skewX(0deg);
  95. z-index: -1;
  96. opacity: .8;
  97. }
  98. @-webkit-keyframes noise-anim {
  99. 0% {
  100. clip: rect(8px, 9999px, 66px, 0);
  101. }
  102. 5% {
  103. clip: rect(27px, 9999px, 62px, 0);
  104. }
  105. 10% {
  106. clip: rect(86px, 9999px, 14px, 0);
  107. }
  108. 15% {
  109. clip: rect(25px, 9999px, 44px, 0);
  110. }
  111. 20% {
  112. clip: rect(60px, 9999px, 59px, 0);
  113. }
  114. 25% {
  115. clip: rect(29px, 9999px, 55px, 0);
  116. }
  117. 30% {
  118. clip: rect(20px, 9999px, 96px, 0);
  119. }
  120. 35% {
  121. clip: rect(98px, 9999px, 33px, 0);
  122. }
  123. 40% {
  124. clip: rect(10px, 9999px, 44px, 0);
  125. }
  126. 45% {
  127. clip: rect(49px, 9999px, 28px, 0);
  128. }
  129. 50% {
  130. clip: rect(6px, 9999px, 35px, 0);
  131. }
  132. 55% {
  133. clip: rect(18px, 9999px, 14px, 0);
  134. }
  135. 60% {
  136. clip: rect(29px, 9999px, 22px, 0);
  137. }
  138. 65% {
  139. clip: rect(86px, 9999px, 65px, 0);
  140. }
  141. 70% {
  142. clip: rect(29px, 9999px, 81px, 0);
  143. }
  144. 75% {
  145. clip: rect(1px, 9999px, 32px, 0);
  146. }
  147. 80% {
  148. clip: rect(66px, 9999px, 37px, 0);
  149. }
  150. 85% {
  151. clip: rect(16px, 9999px, 4px, 0);
  152. }
  153. 90% {
  154. clip: rect(12px, 9999px, 54px, 0);
  155. }
  156. 95% {
  157. clip: rect(14px, 9999px, 88px, 0);
  158. }
  159. 100% {
  160. clip: rect(26px, 9999px, 26px, 0);
  161. }
  162. }
  163. @keyframes noise-anim {
  164. 0% {
  165. clip: rect(8px, 9999px, 66px, 0);
  166. }
  167. 5% {
  168. clip: rect(27px, 9999px, 62px, 0);
  169. }
  170. 10% {
  171. clip: rect(86px, 9999px, 14px, 0);
  172. }
  173. 15% {
  174. clip: rect(25px, 9999px, 44px, 0);
  175. }
  176. 20% {
  177. clip: rect(60px, 9999px, 59px, 0);
  178. }
  179. 25% {
  180. clip: rect(29px, 9999px, 55px, 0);
  181. }
  182. 30% {
  183. clip: rect(20px, 9999px, 96px, 0);
  184. }
  185. 35% {
  186. clip: rect(98px, 9999px, 33px, 0);
  187. }
  188. 40% {
  189. clip: rect(10px, 9999px, 44px, 0);
  190. }
  191. 45% {
  192. clip: rect(49px, 9999px, 28px, 0);
  193. }
  194. 50% {
  195. clip: rect(6px, 9999px, 35px, 0);
  196. }
  197. 55% {
  198. clip: rect(18px, 9999px, 14px, 0);
  199. }
  200. 60% {
  201. clip: rect(29px, 9999px, 22px, 0);
  202. }
  203. 65% {
  204. clip: rect(86px, 9999px, 65px, 0);
  205. }
  206. 70% {
  207. clip: rect(29px, 9999px, 81px, 0);
  208. }
  209. 75% {
  210. clip: rect(1px, 9999px, 32px, 0);
  211. }
  212. 80% {
  213. clip: rect(66px, 9999px, 37px, 0);
  214. }
  215. 85% {
  216. clip: rect(16px, 9999px, 4px, 0);
  217. }
  218. 90% {
  219. clip: rect(12px, 9999px, 54px, 0);
  220. }
  221. 95% {
  222. clip: rect(14px, 9999px, 88px, 0);
  223. }
  224. 100% {
  225. clip: rect(26px, 9999px, 26px, 0);
  226. }
  227. }
  228. @-webkit-keyframes noise-anim-2 {
  229. 0% {
  230. clip: rect(53px, 9999px, 81px, 0);
  231. }
  232. 5% {
  233. clip: rect(40px, 9999px, 55px, 0);
  234. }
  235. 10% {
  236. clip: rect(72px, 9999px, 65px, 0);
  237. }
  238. 15% {
  239. clip: rect(68px, 9999px, 46px, 0);
  240. }
  241. 20% {
  242. clip: rect(55px, 9999px, 36px, 0);
  243. }
  244. 25% {
  245. clip: rect(96px, 9999px, 39px, 0);
  246. }
  247. 30% {
  248. clip: rect(7px, 9999px, 6px, 0);
  249. }
  250. 35% {
  251. clip: rect(37px, 9999px, 59px, 0);
  252. }
  253. 40% {
  254. clip: rect(69px, 9999px, 58px, 0);
  255. }
  256. 45% {
  257. clip: rect(98px, 9999px, 94px, 0);
  258. }
  259. 50% {
  260. clip: rect(35px, 9999px, 41px, 0);
  261. }
  262. 55% {
  263. clip: rect(76px, 9999px, 40px, 0);
  264. }
  265. 60% {
  266. clip: rect(91px, 9999px, 74px, 0);
  267. }
  268. 65% {
  269. clip: rect(75px, 9999px, 57px, 0);
  270. }
  271. 70% {
  272. clip: rect(62px, 9999px, 45px, 0);
  273. }
  274. 75% {
  275. clip: rect(100px, 9999px, 34px, 0);
  276. }
  277. 80% {
  278. clip: rect(56px, 9999px, 9px, 0);
  279. }
  280. 85% {
  281. clip: rect(27px, 9999px, 87px, 0);
  282. }
  283. 90% {
  284. clip: rect(84px, 9999px, 27px, 0);
  285. }
  286. 95% {
  287. clip: rect(27px, 9999px, 34px, 0);
  288. }
  289. 100% {
  290. clip: rect(44px, 9999px, 79px, 0);
  291. }
  292. }
  293. @keyframes noise-anim-2 {
  294. 0% {
  295. clip: rect(53px, 9999px, 81px, 0);
  296. }
  297. 5% {
  298. clip: rect(40px, 9999px, 55px, 0);
  299. }
  300. 10% {
  301. clip: rect(72px, 9999px, 65px, 0);
  302. }
  303. 15% {
  304. clip: rect(68px, 9999px, 46px, 0);
  305. }
  306. 20% {
  307. clip: rect(55px, 9999px, 36px, 0);
  308. }
  309. 25% {
  310. clip: rect(96px, 9999px, 39px, 0);
  311. }
  312. 30% {
  313. clip: rect(7px, 9999px, 6px, 0);
  314. }
  315. 35% {
  316. clip: rect(37px, 9999px, 59px, 0);
  317. }
  318. 40% {
  319. clip: rect(69px, 9999px, 58px, 0);
  320. }
  321. 45% {
  322. clip: rect(98px, 9999px, 94px, 0);
  323. }
  324. 50% {
  325. clip: rect(35px, 9999px, 41px, 0);
  326. }
  327. 55% {
  328. clip: rect(76px, 9999px, 40px, 0);
  329. }
  330. 60% {
  331. clip: rect(91px, 9999px, 74px, 0);
  332. }
  333. 65% {
  334. clip: rect(75px, 9999px, 57px, 0);
  335. }
  336. 70% {
  337. clip: rect(62px, 9999px, 45px, 0);
  338. }
  339. 75% {
  340. clip: rect(100px, 9999px, 34px, 0);
  341. }
  342. 80% {
  343. clip: rect(56px, 9999px, 9px, 0);
  344. }
  345. 85% {
  346. clip: rect(27px, 9999px, 87px, 0);
  347. }
  348. 90% {
  349. clip: rect(84px, 9999px, 27px, 0);
  350. }
  351. 95% {
  352. clip: rect(27px, 9999px, 34px, 0);
  353. }
  354. 100% {
  355. clip: rect(44px, 9999px, 79px, 0);
  356. }
  357. }
  358. @-webkit-keyframes shift {
  359. 0%,40%, 44%, 58%, 61%, 65%,69%,73%,100% {
  360. -webkit-transform: skewX(0deg);
  361. transform: skewX(0deg);
  362. }
  363. 41% {
  364. -webkit-transform: skewX(10deg);
  365. transform: skewX(10deg);
  366. }
  367. 42% {
  368. -webkit-transform: skewX(-10deg);
  369. transform: skewX(-10deg);
  370. }
  371. 59% {
  372. -webkit-transform: skewX(40deg) skewY(10deg);
  373. transform: skewX(40deg) skewY(10deg);
  374. }
  375. 60% {
  376. -webkit-transform: skewX(-40deg) skewY(-10deg);
  377. transform: skewX(-40deg) skewY(-10deg);
  378. }
  379. 63% {
  380. -webkit-transform: skewX(10deg) skewY(-5deg);
  381. transform: skewX(10deg) skewY(-5deg);
  382. }
  383. 70% {
  384. -webkit-transform: skewX(-50deg) skewY(-20deg);
  385. transform: skewX(-50deg) skewY(-20deg);
  386. }
  387. 71% {
  388. -webkit-transform: skewX(10deg) skewY(-10deg);
  389. transform: skewX(10deg) skewY(-10deg);
  390. }
  391. }
  392. @keyframes shift {
  393. 0%,40%, 44%, 58%, 61%, 65%,69%,73%,100% {
  394. -webkit-transform: skewX(0deg);
  395. transform: skewX(0deg);
  396. }
  397. 41% {
  398. -webkit-transform: skewX(10deg);
  399. transform: skewX(10deg);
  400. }
  401. 42% {
  402. -webkit-transform: skewX(-10deg);
  403. transform: skewX(-10deg);
  404. }
  405. 59% {
  406. -webkit-transform: skewX(40deg) skewY(10deg);
  407. transform: skewX(40deg) skewY(10deg);
  408. }
  409. 60% {
  410. -webkit-transform: skewX(-40deg) skewY(-10deg);
  411. transform: skewX(-40deg) skewY(-10deg);
  412. }
  413. 63% {
  414. -webkit-transform: skewX(10deg) skewY(-5deg);
  415. transform: skewX(10deg) skewY(-5deg);
  416. }
  417. 70% {
  418. -webkit-transform: skewX(-50deg) skewY(-20deg);
  419. transform: skewX(-50deg) skewY(-20deg);
  420. }
  421. 71% {
  422. -webkit-transform: skewX(10deg) skewY(-10deg);
  423. transform: skewX(10deg) skewY(-10deg);
  424. }
  425. }
  426. @-moz-keyframes noise {
  427. 0% {
  428. background-position: 49px 45px;
  429. }
  430. 10% {
  431. background-position: 12px 22px;
  432. }
  433. 20% {
  434. background-position: -81px 32px;
  435. }
  436. 30% {
  437. background-position: 52px -87px;
  438. }
  439. 40% {
  440. background-position: 33px 46px;
  441. }
  442. 50% {
  443. background-position: 6px -83px;
  444. }
  445. 60% {
  446. background-position: 23px 26px;
  447. }
  448. 70% {
  449. background-position: -97px -75px;
  450. }
  451. 80% {
  452. background-position: -49px 89px;
  453. }
  454. 90% {
  455. background-position: 69px -23px;
  456. }
  457. }
  458. @-webkit-keyframes noise {
  459. 0% {
  460. background-position: -84px -42px;
  461. }
  462. 10% {
  463. background-position: 91px -12px;
  464. }
  465. 20% {
  466. background-position: -19px 24px;
  467. }
  468. 30% {
  469. background-position: -62px 53px;
  470. }
  471. 40% {
  472. background-position: 83px -50px;
  473. }
  474. 50% {
  475. background-position: -80px 39px;
  476. }
  477. 60% {
  478. background-position: 62px -67px;
  479. }
  480. 70% {
  481. background-position: -30px 51px;
  482. }
  483. 80% {
  484. background-position: 45px 8px;
  485. }
  486. 90% {
  487. background-position: -11px -20px;
  488. }
  489. }
  490. @keyframes noise {
  491. 0% {
  492. background-position: -50px -96px;
  493. }
  494. 10% {
  495. background-position: -51px -33px;
  496. }
  497. 20% {
  498. background-position: -81px 13px;
  499. }
  500. 30% {
  501. background-position: -4px -79px;
  502. }
  503. 40% {
  504. background-position: -7px -27px;
  505. }
  506. 50% {
  507. background-position: -58px 21px;
  508. }
  509. 60% {
  510. background-position: 86px -69px;
  511. }
  512. 70% {
  513. background-position: 97px 35px;
  514. }
  515. 80% {
  516. background-position: 5px -84px;
  517. }
  518. 90% {
  519. background-position: 19px -24px;
  520. }
  521. }
  522. @-moz-keyframes bar {
  523. 0% {
  524. height: 397px;
  525. top: 72%;
  526. opacity: 0.42;
  527. }
  528. 10% {
  529. height: 498px;
  530. top: 60%;
  531. opacity: 0.49;
  532. }
  533. 20% {
  534. height: 182px;
  535. top: 18%;
  536. opacity: 0.23;
  537. }
  538. 30% {
  539. height: 543px;
  540. top: 18%;
  541. opacity: 0.41;
  542. }
  543. 40% {
  544. height: 219px;
  545. top: 58%;
  546. opacity: 0.33;
  547. }
  548. 50% {
  549. height: 288px;
  550. top: 6%;
  551. opacity: 0.34;
  552. }
  553. 60% {
  554. height: 132px;
  555. top: 42%;
  556. opacity: 0.58;
  557. }
  558. 70% {
  559. height: 389px;
  560. top: 77%;
  561. opacity: 0.26;
  562. }
  563. 80% {
  564. height: 383px;
  565. top: 68%;
  566. opacity: 0.68;
  567. }
  568. 90% {
  569. height: 346px;
  570. top: 86%;
  571. opacity: 0.06;
  572. }
  573. }
  574. @-webkit-keyframes bar {
  575. 0% {
  576. height: 591px;
  577. top: 86%;
  578. opacity: 0.61;
  579. }
  580. 10% {
  581. height: 420px;
  582. top: 54%;
  583. opacity: 0.15;
  584. }
  585. 20% {
  586. height: 626px;
  587. top: 24%;
  588. opacity: 0.19;
  589. }
  590. 30% {
  591. height: 595px;
  592. top: 87%;
  593. opacity: 0.1;
  594. }
  595. 40% {
  596. height: 81px;
  597. top: 29%;
  598. opacity: 0.47;
  599. }
  600. 50% {
  601. height: 621px;
  602. top: 23%;
  603. opacity: 0.22;
  604. }
  605. 60% {
  606. height: 79px;
  607. top: 67%;
  608. opacity: 0.38;
  609. }
  610. 70% {
  611. height: 119px;
  612. top: 37%;
  613. opacity: 0.39;
  614. }
  615. 80% {
  616. height: 178px;
  617. top: 48%;
  618. opacity: 0.55;
  619. }
  620. 90% {
  621. height: 415px;
  622. top: 72%;
  623. opacity: 0.3;
  624. }
  625. }
  626. @keyframes bar {
  627. 0% {
  628. height: 578px;
  629. top: 100%;
  630. opacity: 0.48;
  631. }
  632. 10% {
  633. height: 32px;
  634. top: 24%;
  635. opacity: 0.36;
  636. }
  637. 20% {
  638. height: 359px;
  639. top: 15%;
  640. opacity: 0.03;
  641. }
  642. 30% {
  643. height: 177px;
  644. top: 43%;
  645. opacity: 0.07;
  646. }
  647. 40% {
  648. height: 124px;
  649. top: 52%;
  650. opacity: 0.42;
  651. }
  652. 50% {
  653. height: 216px;
  654. top: 34%;
  655. opacity: 0.1;
  656. }
  657. 60% {
  658. height: 315px;
  659. top: 30%;
  660. opacity: 0.02;
  661. }
  662. 70% {
  663. height: 379px;
  664. top: 30%;
  665. opacity: 0.47;
  666. }
  667. 80% {
  668. height: 475px;
  669. top: 100%;
  670. opacity: 0.48;
  671. }
  672. 90% {
  673. height: 401px;
  674. top: 98%;
  675. opacity: 0.12;
  676. }
  677. }