component.css 27 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150
  1. .stack {
  2. margin: 0 auto;
  3. position: relative;
  4. z-index: 1000;
  5. width: 320px;
  6. height: 320px;
  7. padding: 0;
  8. list-style: none;
  9. pointer-events: none;
  10. }
  11. .stack__item {
  12. background: #fff;
  13. height: 100%;
  14. width: 100%;
  15. border-radius: 4px;
  16. text-align: center;
  17. overflow: hidden;
  18. position: absolute;
  19. opacity: 0;
  20. display: -webkit-flex;
  21. display: flex;
  22. -webkit-flex-direction: column;
  23. flex-direction: column;
  24. -webkit-touch-callout: none;
  25. -webkit-user-select: none;
  26. -khtml-user-select: none;
  27. -moz-user-select: none;
  28. -ms-user-select: none;
  29. user-select: none;
  30. pointer-events: auto;
  31. }
  32. .stack__item img {
  33. width: 100%;
  34. display: block;
  35. pointer-events: none;
  36. }
  37. .controls {
  38. position: relative;
  39. width: 200px;
  40. text-align: center;
  41. margin: 3em 0 0 0;
  42. }
  43. .button {
  44. border: none;
  45. background: none;
  46. position: relative;
  47. display: inline-block;
  48. padding: 0.25em;
  49. margin: 0 0.5em;
  50. cursor: pointer;
  51. font-size: 1.5em;
  52. width: 50px;
  53. height: 50px;
  54. z-index: 100;
  55. -webkit-tap-highlight-color:rgba(0,0,0,0);
  56. }
  57. .button .fa {
  58. pointer-events: none;
  59. }
  60. .button--default {
  61. background: #333;
  62. border-radius: 3px;
  63. color: #fff;
  64. font-size: 0.95em;
  65. font-weight: bold;
  66. padding: 0.65em 2em;
  67. width: auto;
  68. height: auto;
  69. }
  70. .button--sonar {
  71. border-radius: 50%;
  72. background: #fff;
  73. }
  74. .button--sonar::before {
  75. position: absolute;
  76. top: 50%;
  77. left: 50%;
  78. border-radius: 50%;
  79. content: '';
  80. opacity: 0;
  81. pointer-events: none;
  82. border: 4px solid rgba(255,255,255,0.5);
  83. margin: -35px 0 0 -35px;
  84. width: 70px;
  85. height: 70px;
  86. }
  87. .button--sonar.button--active::before {
  88. -webkit-animation: anim-effect-sonar 0.3s ease-out forwards;
  89. animation: anim-effect-sonar 0.3s ease-out forwards;
  90. }
  91. @-webkit-keyframes anim-effect-sonar {
  92. 0% {
  93. opacity: 1;
  94. -webkit-transform: scale3d(0.9, 0.9, 1);
  95. transform: scale3d(0.9, 0.9, 1);
  96. }
  97. to {
  98. opacity: 0;
  99. -webkit-transform: scale3d(1.4, 1.4, 1);
  100. transform: scale3d(1.4, 1.4, 1);
  101. }
  102. }
  103. @keyframes anim-effect-sonar {
  104. 0% {
  105. opacity: 1;
  106. -webkit-transform: scale3d(0.9, 0.9, 1);
  107. transform: scale3d(0.9, 0.9, 1);
  108. }
  109. to {
  110. opacity: 0;
  111. -webkit-transform: scale3d(1.4, 1.4, 1);
  112. transform: scale3d(1.4, 1.4, 1);
  113. }
  114. }
  115. .material-circle {
  116. width: 150vh;
  117. height: 150vh;
  118. margin: -75vh 0 0 -75vh;
  119. z-index: 0;
  120. border-radius: 50%;
  121. pointer-events: none;
  122. opacity: 0;
  123. position: absolute;
  124. z-index: 0;
  125. -webkit-transform: scale3d(0, 0, 1);
  126. transform: scale3d(0, 0, 1);
  127. }
  128. .material-circle--accept.material-circle--active {
  129. background: #81d47d;
  130. }
  131. .material-circle--reject.material-circle--active {
  132. background: #e66868;
  133. }
  134. .material-circle--active {
  135. -webkit-animation: anim-effect-material 0.6s ease-out forwards;
  136. animation: anim-effect-material 0.6s ease-out forwards;
  137. }
  138. @-webkit-keyframes anim-effect-material {
  139. 0% {
  140. opacity: 1;
  141. -webkit-transform: scale3d(0, 0, 1);
  142. transform: scale3d(0, 0, 1);
  143. }
  144. 70% {
  145. opacity: 1;
  146. -webkit-transform: scale3d(1.4, 1.4, 1);
  147. transform: scale3d(1.4, 1.4, 1);
  148. }
  149. 100% {
  150. opacity: 0;
  151. -webkit-transform: scale3d(1.4, 1.4, 1);
  152. transform: scale3d(1.4, 1.4, 1);
  153. }
  154. }
  155. @keyframes anim-effect-material {
  156. 0% {
  157. opacity: 1;
  158. -webkit-transform: scale3d(0, 0, 1);
  159. transform: scale3d(0, 0, 1);
  160. }
  161. 70% {
  162. opacity: 1;
  163. -webkit-transform: scale3d(1.4, 1.4, 1);
  164. transform: scale3d(1.4, 1.4, 1);
  165. }
  166. 100% {
  167. opacity: 0;
  168. -webkit-transform: scale3d(1.4, 1.4, 1);
  169. transform: scale3d(1.4, 1.4, 1);
  170. }
  171. }
  172. .button:focus {
  173. outline: none;
  174. }
  175. .button--accept {
  176. color: #81d47d;
  177. }
  178. .button--reject {
  179. color: #e66868;
  180. }
  181. .text-hidden {
  182. position: absolute;
  183. overflow: hidden;
  184. width: 0;
  185. height: 0;
  186. color: transparent;
  187. display: block;
  188. }
  189. /* Animations */
  190. .stack__item--reject,
  191. .stack__item--accept {
  192. pointer-events: none;
  193. }
  194. /***********************************************/
  195. /******************** yuda *********************/
  196. /***********************************************/
  197. .stack--yuda .stack__item--reject {
  198. -webkit-animation: yudaReject 0.5s forwards;
  199. animation: yudaReject 0.5s forwards;
  200. }
  201. @-webkit-keyframes yudaReject {
  202. to {
  203. opacity: 0;
  204. -webkit-transform: translate3d(0,200px,0);
  205. transform: translate3d(0,200px,0);
  206. }
  207. }
  208. @keyframes yudaReject {
  209. to {
  210. opacity: 0;
  211. -webkit-transform: translate3d(0,200px,0);
  212. transform: translate3d(0,200px,0);
  213. }
  214. }
  215. .stack--yuda .stack__item--accept {
  216. -webkit-animation: yudaAccept 0.5s forwards;
  217. animation: yudaAccept 0.5s forwards;
  218. -webkit-transform-origin: 50% 300%;
  219. transform-origin: 50% 300%;
  220. }
  221. @-webkit-keyframes yudaAccept {
  222. to {
  223. opacity: 0;
  224. -webkit-transform: rotate3d(0,0,1,20deg);
  225. transform: rotate3d(0,0,1,20deg);
  226. }
  227. }
  228. @keyframes yudaAccept {
  229. to {
  230. opacity: 0;
  231. -webkit-transform: rotate3d(0,0,1,20deg);
  232. transform: rotate3d(0,0,1,20deg);
  233. }
  234. }
  235. /***********************************************/
  236. /******************** krisna *******************/
  237. /***********************************************/
  238. .stack--krisna .stack__item--reject {
  239. -webkit-animation: krisnaReject 0.5s forwards;
  240. animation: krisnaReject 0.5s forwards;
  241. }
  242. @-webkit-keyframes krisnaReject {
  243. to {
  244. -webkit-transform: translate3d(-25vw,0,0) translate3d(-60%,0,0) rotate3d(0,0,1,-5deg);
  245. transform: translate3d(-25vw,0,0) translate3d(-60%,0,0) rotate3d(0,0,1,-5deg);
  246. }
  247. }
  248. @keyframes krisnaReject {
  249. to {
  250. -webkit-transform: translate3d(-25vw,0,0) translate3d(-60%,0,0) rotate3d(0,0,1,-5deg);
  251. transform: translate3d(-25vw,0,0) translate3d(-60%,0,0) rotate3d(0,0,1,-5deg);
  252. }
  253. }
  254. .stack--krisna .stack__item--accept {
  255. -webkit-animation: krisnaAccept 0.5s forwards;
  256. animation: krisnaAccept 0.5s forwards;
  257. }
  258. @-webkit-keyframes krisnaAccept {
  259. to {
  260. -webkit-transform: translate3d(25vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  261. transform: translate3d(25vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  262. }
  263. }
  264. @keyframes krisnaAccept {
  265. to {
  266. -webkit-transform: translate3d(25vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  267. transform: translate3d(25vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  268. }
  269. }
  270. /* ...when content has 100% viewport width */
  271. @media screen and (max-width: 60em) {
  272. @-webkit-keyframes krisnaReject {
  273. to {
  274. -webkit-transform: translate3d(-50vw,0,0) translate3d(-60%,0,0) rotate3d(0,0,1,-5deg);
  275. transform: translate3d(-50vw,0,0) translate3d(-60%,0,0) rotate3d(0,0,1,-5deg);
  276. }
  277. }
  278. @keyframes krisnaReject {
  279. to {
  280. -webkit-transform: translate3d(-50vw,0,0) translate3d(-60%,0,0) rotate3d(0,0,1,-5deg);
  281. transform: translate3d(-50vw,0,0) translate3d(-60%,0,0) rotate3d(0,0,1,-5deg);
  282. }
  283. }
  284. @-webkit-keyframes krisnaAccept {
  285. to {
  286. -webkit-transform: translate3d(50vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  287. transform: translate3d(50vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  288. }
  289. }
  290. @keyframes krisnaAccept {
  291. to {
  292. -webkit-transform: translate3d(50vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  293. transform: translate3d(50vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  294. }
  295. }
  296. }
  297. /***********************************************/
  298. /******************** wangi *********************/
  299. /***********************************************/
  300. .stack--wangi .stack__item--reject {
  301. -webkit-animation: wangiReject 0.5s forwards;
  302. animation: wangiReject 0.5s forwards;
  303. -webkit-transform-origin: 0% 0%;
  304. transform-origin: 0% 0%;
  305. }
  306. @-webkit-keyframes wangiReject {
  307. to {
  308. opacity: 0;
  309. -webkit-transform: translate3d(0, 400px,0) rotate3d(0,0,1,40deg);
  310. transform: translate3d(0, 400px,0) rotate3d(0,0,1,40deg);
  311. }
  312. }
  313. @keyframes wangiReject {
  314. to {
  315. opacity: 0;
  316. -webkit-transform: translate3d(0, 400px,0) rotate3d(0,0,1,40deg);
  317. transform: translate3d(0, 400px,0) rotate3d(0,0,1,40deg);
  318. }
  319. }
  320. .stack--wangi .stack__item--accept {
  321. -webkit-animation: wangiAccept 0.5s forwards;
  322. animation: wangiAccept 0.5s forwards;
  323. -webkit-transform-origin: 100% 0%;
  324. transform-origin: 100% 0%;
  325. }
  326. @-webkit-keyframes wangiAccept {
  327. to {
  328. opacity: 0;
  329. -webkit-transform: translate3d(0, 400px,0) rotate3d(0,0,1,-40deg);
  330. transform: translate3d(0, 400px,0) rotate3d(0,0,1,-40deg);
  331. }
  332. }
  333. @keyframes wangiAccept {
  334. to {
  335. opacity: 0;
  336. -webkit-transform: translate3d(0, 400px,0) rotate3d(0,0,1,-40deg);
  337. transform: translate3d(0, 400px,0) rotate3d(0,0,1,-40deg);
  338. }
  339. }
  340. /***********************************************/
  341. /********************* wira ********************/
  342. /***********************************************/
  343. .stack--wira .stack__item--reject {
  344. -webkit-animation: wiraReject 0.5s forwards;
  345. animation: wiraReject 0.5s forwards;
  346. -webkit-animation-timing-function: cubic-bezier(0.4,1,0.3,1);
  347. animation-timing-function: cubic-bezier(0.4,1,0.3,1);
  348. -webkit-transform-origin: -150% 50%;
  349. transform-origin: -150% 50%;
  350. }
  351. @-webkit-keyframes wiraReject {
  352. to {
  353. opacity: 0;
  354. -webkit-transform: rotate3d(0,0,1,-60deg);
  355. transform: rotate3d(0,0,1,-60deg);
  356. }
  357. }
  358. @keyframes wiraReject {
  359. to {
  360. opacity: 0;
  361. -webkit-transform: rotate3d(0,0,1,-60deg);
  362. transform: rotate3d(0,0,1,-60deg);
  363. }
  364. }
  365. .stack--wira .stack__item--accept {
  366. -webkit-animation: wiraAccept 0.5s forwards;
  367. animation: wiraAccept 0.5s forwards;
  368. -webkit-animation-timing-function: cubic-bezier(0.3,1,0.3,1);
  369. animation-timing-function: cubic-bezier(0.3,1,0.3,1);
  370. -webkit-transform-origin: 250% 50%;
  371. transform-origin: 250% 50%;
  372. }
  373. @-webkit-keyframes wiraAccept {
  374. to {
  375. opacity: 0;
  376. -webkit-transform: rotate3d(0,0,1,60deg);
  377. transform: rotate3d(0,0,1,60deg);
  378. }
  379. }
  380. @keyframes wiraAccept {
  381. to {
  382. opacity: 0;
  383. -webkit-transform: rotate3d(0,0,1,60deg);
  384. transform: rotate3d(0,0,1,60deg);
  385. }
  386. }
  387. /***********************************************/
  388. /******************** utari ********************/
  389. /***********************************************/
  390. .stack--utari .stack__item--reject {
  391. -webkit-animation: utariReject 0.6s forwards;
  392. animation: utariReject 0.6s forwards;
  393. -webkit-animation-timing-function: ease-in;
  394. animation-timing-function: ease-in;
  395. -webkit-transform-origin: 50% 100%;
  396. transform-origin: 50% 100%;
  397. }
  398. @-webkit-keyframes utariReject {
  399. 40% {
  400. opacity: 1;
  401. -webkit-animation-timing-function: ease-out;
  402. animation-timing-function: ease-out;
  403. -webkit-transform: translate3d(0,-20%,30px);
  404. transform: translate3d(0,-20%,30px);
  405. }
  406. 100% {
  407. opacity: 0;
  408. -webkit-transform: translate3d(0,150%,-300px) rotate3d(1,0,0,-40deg);
  409. transform: translate3d(0,150%,-300px) rotate3d(1,0,0,-40deg);
  410. }
  411. }
  412. @keyframes utariReject {
  413. 40% {
  414. opacity: 1;
  415. -webkit-animation-timing-function: ease-out;
  416. animation-timing-function: ease-out;
  417. -webkit-transform: translate3d(0,-20%,30px);
  418. transform: translate3d(0,-20%,30px);
  419. }
  420. 100% {
  421. opacity: 0;
  422. -webkit-transform: translate3d(0,150%,-300px) rotate3d(1,0,0,-40deg);
  423. transform: translate3d(0,150%,-300px) rotate3d(1,0,0,-40deg);
  424. }
  425. }
  426. .stack--utari .stack__item--accept {
  427. -webkit-animation: utariAccept 0.6s forwards;
  428. animation: utariAccept 0.6s forwards;
  429. -webkit-animation-timing-function: ease-in;
  430. animation-timing-function: ease-in;
  431. }
  432. @-webkit-keyframes utariAccept {
  433. 40% {
  434. -webkit-animation-timing-function: cubic-bezier(0.4,1,0.3,1);
  435. animation-timing-function: cubic-bezier(0.4,1,0.3,1);
  436. -webkit-transform: translate3d(-40%,0,0) scale3d(1.1,1.1,1);
  437. transform: translate3d(-40%,0,0) scale3d(1.1,1.1,1);
  438. }
  439. 100% {
  440. opacity: 0;
  441. -webkit-transform: translate3d(25vw,0,0) translate3d(10%,0,0) scale3d(0.1,0.1,1);
  442. transform: translate3d(25vw,0,0) translate3d(10%,0,0) scale3d(0.1,0.1,1);
  443. }
  444. }
  445. @keyframes utariAccept {
  446. 40% {
  447. -webkit-animation-timing-function: cubic-bezier(0.4,1,0.3,1);
  448. animation-timing-function: cubic-bezier(0.4,1,0.3,1);
  449. -webkit-transform: translate3d(-40%,0,0) scale3d(1.1,1.1,1);
  450. transform: translate3d(-40%,0,0) scale3d(1.1,1.1,1);
  451. }
  452. 100% {
  453. opacity: 0;
  454. -webkit-transform: translate3d(25vw,0,0) translate3d(10%,0,0) scale3d(0.1,0.1,1);
  455. transform: translate3d(25vw,0,0) translate3d(10%,0,0) scale3d(0.1,0.1,1);
  456. }
  457. }
  458. /* ...when content has 100% viewport width */
  459. @media screen and (max-width: 60em) {
  460. @-webkit-keyframes utariAccept {
  461. 40% {
  462. -webkit-animation-timing-function: cubic-bezier(0.4,1,0.3,1);
  463. animation-timing-function: cubic-bezier(0.4,1,0.3,1);
  464. -webkit-transform: translate3d(-40%,0,0) scale3d(1.1,1.1,1);
  465. transform: translate3d(-40%,0,0) scale3d(1.1,1.1,1);
  466. }
  467. 100% {
  468. opacity: 0;
  469. -webkit-transform: translate3d(50vw,0,0) translate3d(10%,0,0) scale3d(0.1,0.1,1);
  470. transform: translate3d(50vw,0,0) translate3d(10%,0,0) scale3d(0.1,0.1,1);
  471. }
  472. }
  473. @keyframes utariAccept {
  474. 40% {
  475. -webkit-animation-timing-function: cubic-bezier(0.4,1,0.3,1);
  476. animation-timing-function: cubic-bezier(0.4,1,0.3,1);
  477. -webkit-transform: translate3d(-40%,0,0) scale3d(1.1,1.1,1);
  478. transform: translate3d(-40%,0,0) scale3d(1.1,1.1,1);
  479. }
  480. 100% {
  481. opacity: 0;
  482. -webkit-transform: translate3d(50vw,0,0) translate3d(10%,0,0) scale3d(0.1,0.1,1);
  483. transform: translate3d(50vw,0,0) translate3d(10%,0,0) scale3d(0.1,0.1,1);
  484. }
  485. }
  486. }
  487. /***********************************************/
  488. /******************* slamet ********************/
  489. /***********************************************/
  490. .counter {
  491. position: absolute;
  492. left: 50%;
  493. top: 30px;
  494. width: 40px;
  495. margin-left: -20px;
  496. }
  497. .counter svg {
  498. display: block;
  499. margin: 14px auto 0;
  500. fill: #58785A;
  501. }
  502. .counter__number {
  503. text-align: center;
  504. position: absolute;
  505. background: #e66868;
  506. font-size: 10px;
  507. font-weight: bold;
  508. color: #fff;
  509. width: 20px;
  510. height: 20px;
  511. line-height: 20px;
  512. border-radius: 50%;
  513. bottom: -5px;
  514. right: -5px;
  515. }
  516. .stack--slamet .stack__item--reject {
  517. -webkit-animation: slametReject 0.5s forwards;
  518. animation: slametReject 0.5s forwards;
  519. -webkit-transform-origin: 50% 100%;
  520. transform-origin: 50% 100%;
  521. }
  522. @-webkit-keyframes slametReject {
  523. to {
  524. opacity: 0;
  525. -webkit-transform: rotate3d(1,0,0,-90deg);
  526. transform: rotate3d(1,0,0,-90deg);
  527. }
  528. }
  529. @keyframes slametReject {
  530. to {
  531. opacity: 0;
  532. -webkit-transform: rotate3d(1,0,0,-90deg);
  533. transform: rotate3d(1,0,0,-90deg);
  534. }
  535. }
  536. .stack--slamet .stack__item--accept {
  537. -webkit-animation: slametAccept 0.6s forwards;
  538. animation: slametAccept 0.6s forwards;
  539. -webkit-animation-timing-function: ease-in;
  540. animation-timing-function: ease-in;
  541. }
  542. @-webkit-keyframes slametAccept {
  543. 40% {
  544. -webkit-animation-timing-function: cubic-bezier(0.4,1,0.3,1);
  545. animation-timing-function: cubic-bezier(0.4,1,0.3,1);
  546. -webkit-transform: translate3d(0,20%,0) scale3d(1.1,1.1,1);
  547. transform: translate3d(0,20%,0) scale3d(1.1,1.1,1);
  548. }
  549. 80% {
  550. opacity: 1;
  551. -webkit-transform: translate3d(0,-280px,0) scale3d(0.1,0.1,1);
  552. transform: translate3d(0,-280px,0) scale3d(0.1,0.1,1);
  553. }
  554. 100% {
  555. opacity: 0;
  556. -webkit-transform: translate3d(0,-250px,0) scale3d(0.05,0.05,1);
  557. transform: translate3d(0,-250px,0) scale3d(0.05,0.05,1);
  558. }
  559. }
  560. @keyframes slametAccept {
  561. 40% {
  562. -webkit-animation-timing-function: cubic-bezier(0.4,1,0.3,1);
  563. animation-timing-function: cubic-bezier(0.4,1,0.3,1);
  564. -webkit-transform: translate3d(0,20%,0) scale3d(1.1,1.1,1);
  565. transform: translate3d(0,20%,0) scale3d(1.1,1.1,1);
  566. }
  567. 80% {
  568. opacity: 1;
  569. -webkit-transform: translate3d(0,-280px,0) scale3d(0.1,0.1,1);
  570. transform: translate3d(0,-280px,0) scale3d(0.1,0.1,1);
  571. }
  572. 100% {
  573. opacity: 0;
  574. -webkit-transform: translate3d(0,-250px,0) scale3d(0.05,0.05,1);
  575. transform: translate3d(0,-250px,0) scale3d(0.05,0.05,1);
  576. }
  577. }
  578. /***********************************************/
  579. /******************** eka **********************/
  580. /***********************************************/
  581. .stack--eka .stack__item--reject {
  582. -webkit-animation: ekaReject 0.5s forwards;
  583. animation: ekaReject 0.5s forwards;
  584. -webkit-transform-origin: 100% 50%;
  585. transform-origin: 100% 50%;
  586. }
  587. @-webkit-keyframes ekaReject {
  588. to {
  589. opacity: 0;
  590. -webkit-transform: translate3d(-150%,150%,0) rotate3d(0,0,1,-20deg);
  591. transform: translate3d(-150%,150%,0) rotate3d(0,0,1,-20deg);
  592. }
  593. }
  594. @keyframes ekaReject {
  595. to {
  596. opacity: 0;
  597. -webkit-transform: translate3d(-150%,150%,0) rotate3d(0,0,1,-20deg);
  598. transform: translate3d(-150%,150%,0) rotate3d(0,0,1,-20deg);
  599. }
  600. }
  601. .stack--eka .stack__item--accept {
  602. -webkit-animation: ekaAccept 0.5s forwards;
  603. animation: ekaAccept 0.5s forwards;
  604. -webkit-transform-origin: -100% 50%;
  605. transform-origin: -100% 50%;
  606. }
  607. @-webkit-keyframes ekaAccept {
  608. to {
  609. opacity: 0;
  610. -webkit-transform: translate3d(150%,-150%,0) rotate3d(0,0,1,20deg);
  611. transform: translate3d(150%,-150%,0) rotate3d(0,0,1,20deg);
  612. }
  613. }
  614. @keyframes ekaAccept {
  615. to {
  616. opacity: 0;
  617. -webkit-transform: translate3d(150%,-150%,0) rotate3d(0,0,1,20deg);
  618. transform: translate3d(150%,-150%,0) rotate3d(0,0,1,20deg);
  619. }
  620. }
  621. /***********************************************/
  622. /******************** dian *********************/
  623. /***********************************************/
  624. .stack--dian .stack__item--reject {
  625. -webkit-animation: dianReject 0.5s forwards;
  626. animation: dianReject 0.5s forwards;
  627. -webkit-transform-origin: 50% -300%;
  628. transform-origin: 50% -300%;
  629. }
  630. @-webkit-keyframes dianReject {
  631. to {
  632. opacity: 0;
  633. -webkit-transform: rotate3d(0,0,1,20deg);
  634. transform: rotate3d(0,0,1,20deg);
  635. }
  636. }
  637. @keyframes dianReject {
  638. to {
  639. opacity: 0;
  640. -webkit-transform: rotate3d(0,0,1,20deg);
  641. transform: rotate3d(0,0,1,20deg);
  642. }
  643. }
  644. .stack--dian .stack__item--accept {
  645. -webkit-animation: dianAccept 0.5s forwards;
  646. animation: dianAccept 0.5s forwards;
  647. -webkit-transform-origin: 50% -300%;
  648. transform-origin: 50% -300%;
  649. }
  650. @-webkit-keyframes dianAccept {
  651. to {
  652. opacity: 0;
  653. -webkit-transform: rotate3d(0,0,1,-20deg);
  654. transform: rotate3d(0,0,1,-20deg);
  655. }
  656. }
  657. @keyframes dianAccept {
  658. to {
  659. opacity: 0;
  660. -webkit-transform: rotate3d(0,0,1,-20deg);
  661. transform: rotate3d(0,0,1,-20deg);
  662. }
  663. }
  664. /***********************************************/
  665. /******************** iman *********************/
  666. /***********************************************/
  667. .stack--iman .stack__item--reject {
  668. -webkit-animation: imanReject 0.5s forwards;
  669. animation: imanReject 0.5s forwards;
  670. }
  671. @-webkit-keyframes imanReject {
  672. to {
  673. -webkit-transform: translate3d(-25vw,0,0) translate3d(-60%,0,0) rotate3d(0,0,1,-5deg);
  674. transform: translate3d(-25vw,0,0) translate3d(-60%,0,0) rotate3d(0,0,1,-5deg);
  675. }
  676. }
  677. @keyframes imanReject {
  678. to {
  679. -webkit-transform: translate3d(-25vw,0,0) translate3d(-60%,0,0) rotate3d(0,0,1,-5deg);
  680. transform: translate3d(-25vw,0,0) translate3d(-60%,0,0) rotate3d(0,0,1,-5deg);
  681. }
  682. }
  683. .stack--iman .stack__item--accept {
  684. -webkit-animation: imanAccept 0.5s forwards;
  685. animation: imanAccept 0.5s forwards;
  686. }
  687. @-webkit-keyframes imanAccept {
  688. to {
  689. -webkit-transform: translate3d(25vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  690. transform: translate3d(25vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  691. }
  692. }
  693. @keyframes imanAccept {
  694. to {
  695. -webkit-transform: translate3d(25vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  696. transform: translate3d(25vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  697. }
  698. }
  699. /* ...when content has 100% viewport width */
  700. @media screen and (max-width: 60em) {
  701. @-webkit-keyframes imanReject {
  702. to {
  703. -webkit-transform: translate3d(-50vw,0,0) translate3d(-60%,0,0) rotate3d(0,0,1,-5deg);
  704. transform: translate3d(-50vw,0,0) translate3d(-60%,0,0) rotate3d(0,0,1,-5deg);
  705. }
  706. }
  707. @keyframes imanReject {
  708. to {
  709. -webkit-transform: translate3d(-50vw,0,0) translate3d(-60%,0,0) rotate3d(0,0,1,-5deg);
  710. transform: translate3d(-50vw,0,0) translate3d(-60%,0,0) rotate3d(0,0,1,-5deg);
  711. }
  712. }
  713. @-webkit-keyframes imanAccept {
  714. to {
  715. -webkit-transform: translate3d(50vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  716. transform: translate3d(50vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  717. }
  718. }
  719. @keyframes imanAccept {
  720. to {
  721. -webkit-transform: translate3d(50vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  722. transform: translate3d(50vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  723. }
  724. }
  725. }
  726. /***********************************************/
  727. /****************** iskandar *******************/
  728. /***********************************************/
  729. .stack--iskandar .stack__item--reject {
  730. -webkit-animation: iskandarReject 0.5s forwards;
  731. animation: iskandarReject 0.5s forwards;
  732. -webkit-transform-origin: 50% 0%;
  733. transform-origin: 50% 0%;
  734. }
  735. @-webkit-keyframes iskandarReject {
  736. 50% {
  737. opacity: 1;
  738. }
  739. 100% {
  740. opacity: 0;
  741. -webkit-transform: translate3d(0,-100px,20px) rotate3d(1,0,0,90deg);
  742. transform: translate3d(0,-100px,20px) rotate3d(1,0,0,90deg);
  743. }
  744. }
  745. @keyframes iskandarReject {
  746. 50% {
  747. opacity: 1;
  748. }
  749. 100% {
  750. opacity: 0;
  751. -webkit-transform: translate3d(0,-100px,20px) rotate3d(1,0,0,90deg);
  752. transform: translate3d(0,-100px,20px) rotate3d(1,0,0,90deg);
  753. }
  754. }
  755. .stack--iskandar .stack__item--accept {
  756. -webkit-animation: iskandarAccept 0.5s forwards;
  757. animation: iskandarAccept 0.5s forwards;
  758. }
  759. @-webkit-keyframes iskandarAccept {
  760. to {
  761. -webkit-transform: translate3d(25vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  762. transform: translate3d(25vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  763. }
  764. }
  765. @keyframes iskandarAccept {
  766. to {
  767. -webkit-transform: translate3d(25vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  768. transform: translate3d(25vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  769. }
  770. }
  771. /* ...when content has 100% viewport width */
  772. @media screen and (max-width: 60em) {
  773. @-webkit-keyframes iskandarAccept {
  774. to {
  775. -webkit-transform: translate3d(50vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  776. transform: translate3d(50vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  777. }
  778. }
  779. @keyframes iskandarAccept {
  780. to {
  781. -webkit-transform: translate3d(50vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  782. transform: translate3d(50vw,0,0) translate3d(60%,0,0) rotate3d(0,0,1,5deg);
  783. }
  784. }
  785. }
  786. /***********************************************/
  787. /******************** kasih ********************/
  788. /***********************************************/
  789. .stack--kasih .stack__item--reject {
  790. -webkit-animation: kasihReject 0.4s ease-in forwards;
  791. animation: kasihReject 0.4s ease-in forwards;
  792. }
  793. @-webkit-keyframes kasihReject {
  794. to {
  795. -webkit-transform: translate3d(-25vw,0,0) translate3d(-60%,0,0);
  796. transform: translate3d(-25vw,0,0) translate3d(-60%,0,0);
  797. }
  798. }
  799. @keyframes kasihReject {
  800. to {
  801. -webkit-transform: translate3d(-25vw,0,0) translate3d(-60%,0,0);
  802. transform: translate3d(-25vw,0,0) translate3d(-60%,0,0);
  803. }
  804. }
  805. .stack--kasih .stack__item--accept {
  806. -webkit-animation: kasihAccept 0.4s ease-in forwards;
  807. animation: kasihAccept 0.4s ease-in forwards;
  808. }
  809. @-webkit-keyframes kasihAccept {
  810. to {
  811. -webkit-transform: translate3d(25vw,0,0) translate3d(60%,0,0);
  812. transform: translate3d(25vw,0,0) translate3d(60%,0,0);
  813. }
  814. }
  815. @keyframes kasihAccept {
  816. to {
  817. -webkit-transform: translate3d(25vw,0,0) translate3d(60%,0,0);
  818. transform: translate3d(25vw,0,0) translate3d(60%,0,0);
  819. }
  820. }
  821. /* ...when content has 100% vieport width */
  822. @media screen and (max-width: 60em) {
  823. @-webkit-keyframes kasihReject {
  824. to {
  825. -webkit-transform: translate3d(-50vw,0,0) translate3d(-60%,0,0);
  826. transform: translate3d(-50vw,0,0) translate3d(-60%,0,0);
  827. }
  828. }
  829. @keyframes kasihReject {
  830. to {
  831. -webkit-transform: translate3d(-50vw,0,0) translate3d(-60%,0,0);
  832. transform: translate3d(-50vw,0,0) translate3d(-60%,0,0);
  833. }
  834. }
  835. @-webkit-keyframes kasihAccept {
  836. to {
  837. -webkit-transform: translate3d(50vw,0,0) translate3d(60%,0,0);
  838. transform: translate3d(50vw,0,0) translate3d(60%,0,0);
  839. }
  840. }
  841. @keyframes kasihAccept {
  842. to {
  843. -webkit-transform: translate3d(50vw,0,0) translate3d(60%,0,0);
  844. transform: translate3d(50vw,0,0) translate3d(60%,0,0);
  845. }
  846. }
  847. }
  848. /***********************************************/
  849. /******************* buana ********************/
  850. /***********************************************/
  851. .stack--buana .stack__item--reject {
  852. -webkit-animation: buanaReject 0.5s forwards;
  853. animation: buanaReject 0.5s forwards;
  854. }
  855. @-webkit-keyframes buanaReject {
  856. to {
  857. opacity: 0;
  858. -webkit-transform: translate3d(-25%,200%,0) rotate3d(0,0,1,25deg);
  859. transform: translate3d(-25%,200%,0) rotate3d(0,0,1,215deg);
  860. }
  861. }
  862. @keyframes buanaReject {
  863. to {
  864. opacity: 0;
  865. -webkit-transform: translate3d(-25%,200%,0) rotate3d(0,0,1,25deg);
  866. transform: translate3d(-25%,200%,0) rotate3d(0,0,1,25deg);
  867. }
  868. }
  869. .stack--buana .stack__item--accept {
  870. -webkit-animation: buanaAccept 0.5s forwards;
  871. animation: buanaAccept 0.5s forwards;
  872. }
  873. @-webkit-keyframes buanaAccept {
  874. to {
  875. opacity: 0;
  876. -webkit-transform: translate3d(25%,200%,0) rotate3d(0,0,1,-25deg);
  877. transform: translate3d(25%,200%,0) rotate3d(0,0,1,-25deg);
  878. }
  879. }
  880. @keyframes buanaAccept {
  881. to {
  882. opacity: 0;
  883. -webkit-transform: translate3d(25%,200%,0) rotate3d(0,0,1,-25deg);
  884. transform: translate3d(25%,200%,0) rotate3d(0,0,1,-25deg);
  885. }
  886. }
  887. /***********************************************/
  888. /******************** mawar *********************/
  889. /***********************************************/
  890. .stack--mawar .stack__item--reject {
  891. -webkit-animation: mawarReject 0.5s forwards;
  892. animation: mawarReject 0.5s forwards;
  893. }
  894. @-webkit-keyframes mawarReject {
  895. to {
  896. -webkit-transform: translate3d(-25vw,0,0) translate3d(-60%,0,0);
  897. transform: translate3d(-25vw,0,0) translate3d(-60%,0,0);
  898. }
  899. }
  900. @keyframes mawarReject {
  901. to {
  902. -webkit-transform: translate3d(-25vw,0,0) translate3d(-60%,0,0);
  903. transform: translate3d(-25vw,0,0) translate3d(-60%,0,0);
  904. }
  905. }
  906. .stack--mawar .stack__item--accept {
  907. -webkit-animation: mawarAccept 0.5s forwards;
  908. animation: mawarAccept 0.5s forwards;
  909. -webkit-transform-origin: 100% 50%;
  910. transform-origin: 100% 50%;
  911. }
  912. @-webkit-keyframes mawarAccept {
  913. to {
  914. opacity: 0;
  915. -webkit-transform: translate3d(150px,0,0) scale3d(0.7,0.7,1) rotate3d(0,1,0,90deg);
  916. transform: translate3d(150px,0,0) scale3d(0.7,0.7,1) rotate3d(0,1,0,90deg);
  917. }
  918. }
  919. @keyframes mawarAccept {
  920. to {
  921. opacity: 0;
  922. -webkit-transform: translate3d(150px,0,0) scale3d(0.7,0.7,1) rotate3d(0,1,0,90deg);
  923. transform: translate3d(150px,0,0) scale3d(0.7,0.7,1) rotate3d(0,1,0,90deg);
  924. }
  925. }
  926. /* ...when content has 100% vieport width */
  927. @media screen and (max-width: 60em) {
  928. @-webkit-keyframes mawarReject {
  929. to {
  930. -webkit-transform: translate3d(-50vw,0,0) translate3d(-60%,0,0);
  931. transform: translate3d(-50vw,0,0) translate3d(-60%,0,0);
  932. }
  933. }
  934. @keyframes mawarReject {
  935. to {
  936. -webkit-transform: translate3d(-50vw,0,0) translate3d(-60%,0,0);
  937. transform: translate3d(-50vw,0,0) translate3d(-60%,0,0);
  938. }
  939. }
  940. }
  941. /***********************************************/
  942. /******************** cinta **********************/
  943. /***********************************************/
  944. .stack--cinta .stack__item--reject {
  945. -webkit-animation: cintaReject 0.5s forwards;
  946. animation: cintaReject 0.5s forwards;
  947. }
  948. @-webkit-keyframes cintaReject {
  949. to {
  950. opacity: 0;
  951. -webkit-transform: translate3d(25vw,0,0) translate3d(60%,0,0);
  952. transform: translate3d(25vw,0,0) translate3d(60%,0,0);
  953. }
  954. }
  955. @keyframes cintaReject {
  956. to {
  957. opacity: 0;
  958. -webkit-transform: translate3d(25vw,0,0) translate3d(60%,0,0);
  959. transform: translate3d(25vw,0,0) translate3d(60%,0,0);
  960. }
  961. }
  962. .stack--cinta .stack__item--accept {
  963. -webkit-animation: cintaAccept 0.5s forwards;
  964. animation: cintaAccept 0.5s forwards;
  965. }
  966. @-webkit-keyframes cintaAccept {
  967. to {
  968. opacity: 0;
  969. -webkit-transform: translate3d(0,0,1000px);
  970. transform: translate3d(0,0,1000px);
  971. }
  972. }
  973. @keyframes cintaAccept {
  974. to {
  975. opacity: 0;
  976. -webkit-transform: translate3d(0,0,1000px);
  977. transform: translate3d(0,0,1000px);
  978. }
  979. }
  980. @media screen and (max-width: 60em) {
  981. .stack {
  982. width: 260px;
  983. height: 260px;
  984. }
  985. }