Offline.svelte 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. <style>
  2. .offline {
  3. display: flex;
  4. position: absolute;
  5. top: 0;
  6. left: 0;
  7. width: 100%;
  8. height: 100%;
  9. z-index: 21;
  10. pointer-events: none;
  11. background-color: rgb(34, 35, 31);
  12. }
  13. @keyframes screen-turn-on {
  14. 0% {
  15. width: 0%;
  16. height: 1px;
  17. border-radius: 0px;
  18. background-color: #b0b0b0;
  19. }
  20. 50% {
  21. width: 100%;
  22. height: 1px;
  23. border-radius: 0px;
  24. background-color: #b0b0b0;
  25. }
  26. 51% {
  27. width: 100%;
  28. height: 1px;
  29. border-radius: 0px;
  30. background-color: #b0b0b0;
  31. }
  32. 70% {
  33. width: 100%;
  34. height: 1px;
  35. border-radius: 0px;
  36. background-color: #b0b0b0;
  37. }
  38. 80% {
  39. width: 100%;
  40. height: 100%;
  41. border-radius: 5px;
  42. background-color: #b0b0b0;
  43. }
  44. 100% {
  45. width: 100%;
  46. height: 100%;
  47. border-radius: 5px;
  48. background-color: #454545;
  49. }
  50. }
  51. @keyframes shiver {
  52. 0% {
  53. transform: translate(1px, 1px);
  54. text-shadow: 6px 0 rgba(255, 0, 0, 0.9), -6px 0 rgba(0, 0, 255, 0.9);
  55. }
  56. 5% {
  57. transform: translate(1px, 1px);
  58. text-shadow: 3px 0 rgba(255, 0, 0, 0.9), -3px 0 rgba(0, 0, 255, 0.9);
  59. }
  60. 10% {
  61. transform: translate(1px, 1px);
  62. text-shadow: 5px 0 rgba(255, 0, 0, 0.9), -5px 0 rgba(0, 0, 255, 0.9);
  63. }
  64. 15% {
  65. transform: translate(1px, 1px);
  66. text-shadow: 7px 0 rgba(255, 0, 0, 0.9), -7px 0 rgba(0, 0, 255, 0.9);
  67. }
  68. 20% {
  69. transform: translate(1px, 2px);
  70. text-shadow: 2px 0 rgba(255, 0, 0, 0.9), -2px 0 rgba(0, 0, 255, 0.9);
  71. }
  72. 25% {
  73. transform: translate(1px, 2px);
  74. text-shadow: 2px 0 rgba(255, 0, 0, 0.9), -2px 0 rgba(0, 0, 255, 0.9);
  75. }
  76. 30% {
  77. transform: translate(1px, 2px);
  78. text-shadow: 3px 0 rgba(255, 0, 0, 0.9), -3px 0 rgba(0, 0, 255, 0.9);
  79. }
  80. 35% {
  81. transform: translate(1px, 2px);
  82. text-shadow: 2px 0 rgba(255, 0, 0, 0.9), -2px 0 rgba(0, 0, 255, 0.9);
  83. }
  84. 40% {
  85. transform: translate(2px, 1px);
  86. text-shadow: 2px 0 rgba(255, 0, 0, 0.9), -2px 0 rgba(0, 0, 255, 0.9);
  87. }
  88. 45% {
  89. transform: translate(2px, 1px);
  90. text-shadow: 3px 0 rgba(255, 0, 0, 0.9), -3px 0 rgba(0, 0, 255, 0.9);
  91. }
  92. 50% {
  93. transform: translate(2px, 1px);
  94. text-shadow: 3px 0 rgba(255, 0, 0, 0.9), -3px 0 rgba(0, 0, 255, 0.9);
  95. }
  96. 55% {
  97. transform: translate(2px, 1px);
  98. text-shadow: 4px 0 rgba(255, 0, 0, 0.9), -4px 0 rgba(0, 0, 255, 0.9);
  99. }
  100. 60% {
  101. transform: translate(1px, 1px);
  102. text-shadow: 2px 0 rgba(255, 0, 0, 0.9), -2px 0 rgba(0, 0, 255, 0.9);
  103. }
  104. 65% {
  105. transform: translate(1px, 1px);
  106. text-shadow: 5px 0 rgba(255, 0, 0, 0.9), -5px 0 rgba(0, 0, 255, 0.9);
  107. }
  108. 70% {
  109. transform: translate(1px, 1px);
  110. text-shadow: 3px 0 rgba(255, 0, 0, 0.9), -3px 0 rgba(0, 0, 255, 0.9);
  111. }
  112. 75% {
  113. transform: translate(1px, 1px);
  114. text-shadow: 2px 0 rgba(255, 0, 0, 0.9), -2px 0 rgba(0, 0, 255, 0.9);
  115. }
  116. 80% {
  117. transform: translate(2px, 1px);
  118. text-shadow: 5px 0 rgba(255, 0, 0, 0.9), -5px 0 rgba(0, 0, 255, 0.9);
  119. }
  120. 85% {
  121. transform: translate(2px, 1px);
  122. text-shadow: 3px 0 rgba(255, 0, 0, 0.9), -3px 0 rgba(0, 0, 255, 0.9);
  123. }
  124. 90% {
  125. transform: translate(2px, 2px);
  126. text-shadow: 5px 0 rgba(255, 0, 0, 0.9), -5px 0 rgba(0, 0, 255, 0.9);
  127. }
  128. 95% {
  129. transform: translate(2px, 2px);
  130. text-shadow: 2px 0 rgba(255, 0, 0, 0.9), -2px 0 rgba(0, 0, 255, 0.9);
  131. }
  132. 100% {
  133. transform: translate(1px, 2px);
  134. text-shadow: 3px 0 rgba(255, 0, 0, 0.9), -3px 0 rgba(0, 0, 255, 0.9);
  135. }
  136. }
  137. #screen:after {
  138. content: "";
  139. position: absolute;
  140. top: 0px;
  141. right: 0px;
  142. bottom: 0px;
  143. left: 0px;
  144. background-image: -webkit-linear-gradient(
  145. bottom,
  146. rgba(255, 255, 255, 0.2) 33.3%,
  147. rgba(255, 255, 255, 0.4) 33.3%,
  148. rgba(255, 255, 255, 0.4) 66.7%,
  149. rgba(255, 255, 255, 0.6) 66.7%
  150. ),
  151. -webkit-linear-gradient(left, rgba(255, 0, 0, 0.7) 33.3%, rgba(
  152. 0,
  153. 255,
  154. 0,
  155. 0.7
  156. )
  157. 33.3%, rgba(0, 255, 0, 0.6) 66.7%, rgba(0, 0, 255, 0.6) 66.7%);
  158. background-image: -moz-linear-gradient(
  159. bottom,
  160. rgba(255, 255, 255, 0.2) 33.3%,
  161. rgba(255, 255, 255, 0.4) 33.3%,
  162. rgba(255, 255, 255, 0.4) 66.7%,
  163. rgba(255, 255, 255, 0.6) 66.7%
  164. ),
  165. -webkit-linear-gradient(left, rgba(255, 0, 0, 0.7) 33.3%, rgba(
  166. 0,
  167. 255,
  168. 0,
  169. 0.7
  170. )
  171. 33.3%, rgba(0, 255, 0, 0.6) 66.7%, rgba(0, 0, 255, 0.6) 66.7%);
  172. background-image: linear-gradient(
  173. to top,
  174. rgba(255, 255, 255, 0.2) 33.3%,
  175. rgba(255, 255, 255, 0.4) 33.3%,
  176. rgba(255, 255, 255, 0.4) 66.7%,
  177. rgba(255, 255, 255, 0.6) 66.7%
  178. ),
  179. linear-gradient(
  180. to right,
  181. rgba(255, 0, 0, 0.7) 33.3%,
  182. rgba(0, 255, 0, 0.7) 33.3%,
  183. rgba(0, 255, 0, 0.6) 66.7%,
  184. rgba(0, 0, 255, 0.6) 66.7%
  185. );
  186. background-size: 3px 3px;
  187. mix-blend-mode: multiply;
  188. background-color: #00f;
  189. }
  190. #screen {
  191. height: 100%;
  192. width: 100%;
  193. background: #0a0a0a;
  194. color: #fff;
  195. text-shadow: 2px 0 rgba(255, 0, 0, 0.9), -2px 0 rgba(0, 0, 255, 0.9);
  196. border-radius: 5px;
  197. }
  198. #screen {
  199. background-color: #222;
  200. }
  201. #content-holder {
  202. padding: 0;
  203. height: 100%;
  204. width: 100%;
  205. display: flex;
  206. justify-content: center;
  207. align-items: center;
  208. align-content: center;
  209. text-align: center;
  210. overflow: hidden;
  211. }
  212. #content {
  213. background-color: #b0b0b0;
  214. display: flex;
  215. justify-content: center;
  216. align-items: center;
  217. align-content: center;
  218. text-align: center;
  219. overflow: hidden;
  220. height: 0;
  221. position: relative;
  222. }
  223. #content {
  224. animation: screen-turn-on 0.4s linear 0.5s 1 forwards;
  225. }
  226. /* #channel {
  227. position: absolute;
  228. top: 15px;
  229. left: 25px;
  230. font-size: 2rem;
  231. font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
  232. "Courier New", monospace;
  233. vertical-align: middle;
  234. color: #fbff68;
  235. animation: shiver 1s linear 0.5s infinite;
  236. } */
  237. #text {
  238. color: #ededed;
  239. text-align: left;
  240. font-weight: 200;
  241. /* text-transform: uppercase; */
  242. font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
  243. "Courier New", monospace;
  244. font-size: 3rem;
  245. animation: shiver 1s linear 0.5s infinite;
  246. }
  247. </style>
  248. <div class="offline">
  249. <div id="screen">
  250. <div id="content-holder">
  251. <div id="content">
  252. <div id="app">
  253. <!-- <div id="channel">OT CHANNEL</div> -->
  254. <div id="text">Non siamo live!</div>
  255. </div>
  256. </div>
  257. </div>
  258. </div>
  259. </div>