@keyframes :global(bounceInRight) { from, 60%, 75%, 90%, to { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } from { opacity: 0; transform: translate3d(3000px, 0, 0); } 60% { opacity: 1; transform: translate3d(-25px, 0, 0); } 75% { transform: translate3d(10px, 0, 0); } 90% { transform: translate3d(-5px, 0, 0); } to { transform: none; } } @keyframes :global(bounceOutRight) { 20% { opacity: 1; transform: translate3d(-20px, 0, 0); } to { opacity: 0; transform: translate3d(2000px, 0, 0); } } @keyframes :global(bounceInLeft) { from, 60%, 75%, 90%, to { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } 0% { opacity: 0; transform: translate3d(-3000px, 0, 0); } 60% { opacity: 1; transform: translate3d(25px, 0, 0); } 75% { transform: translate3d(-10px, 0, 0); } 90% { transform: translate3d(5px, 0, 0); } to { transform: none; } } @keyframes :global(bounceOutLeft) { 20% { opacity: 1; transform: translate3d(20px, 0, 0); } to { opacity: 0; transform: translate3d(-2000px, 0, 0); } } @keyframes :global(bounceInUp) { from, 60%, 75%, 90%, to { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } from { opacity: 0; transform: translate3d(0, 3000px, 0); } 60% { opacity: 1; transform: translate3d(0, -20px, 0); } 75% { transform: translate3d(0, 10px, 0); } 90% { transform: translate3d(0, -5px, 0); } to { transform: translate3d(0, 0, 0); } } @keyframes :global(bounceOutUp) { 20% { transform: translate3d(0, -10px, 0); } 40%, 45% { opacity: 1; transform: translate3d(0, 20px, 0); } to { opacity: 0; transform: translate3d(0, -2000px, 0); } } @keyframes :global(bounceInDown) { from, 60%, 75%, 90%, to { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } 0% { opacity: 0; transform: translate3d(0, -3000px, 0); } 60% { opacity: 1; transform: translate3d(0, 25px, 0); } 75% { transform: translate3d(0, -10px, 0); } 90% { transform: translate3d(0, 5px, 0); } to { transform: none; } } @keyframes :global(bounceOutDown) { 20% { transform: translate3d(0, 10px, 0); } 40%, 45% { opacity: 1; transform: translate3d(0, -20px, 0); } to { opacity: 0; transform: translate3d(0, 2000px, 0); } } @keyframes :global(track-progress) { 0% { width: 100%; } 100% { width: 0; } } :global { .bounceOutRight, .toast-exit--top-right, .toast-exit--bottom-right { animation-name: bounceOutRight; } .bounceInRight, .toast-enter--top-right, .toast-enter--bottom-right { animation-name: bounceInRight; } .bounceInLeft, .toast-enter--top-left, .toast-enter--bottom-left { animation-name: bounceInLeft; } .bounceOutLeft, .toast-exit--top-left, .toast-exit--bottom-left { animation-name: bounceOutLeft; } .bounceInUp, .toast-enter--bottom-center { animation-name: bounceInUp; } .bounceOutUp, .toast-exit--top-center { animation-name: bounceOutUp; } .bounceInDown, .toast-enter--top-center { animation-name: bounceInDown; } .bounceOutDown, .toast-exit--bottom-center { animation-name: bounceOutDown; } .animated { animation-duration: 0.75s; animation-fill-mode: both; } .toastify { z-index: 99999; position: fixed; padding: 4px; width: 350px; max-width: 98%; color: #999; box-sizing: border-box; } .toastify--top-left { top: 1em; left: 1em; } .toastify--top-center { top: 1em; left: 50%; margin-left: -175px; } .toastify--top-right { top: 1em; right: 2em; } .toastify--bottom-left { bottom: 1em; left: 1em; } .toastify--bottom-center { bottom: 1em; left: 50%; margin-left: -175px; } .toastify--bottom-right { bottom: 1em; right: 2em; } .toastify__img { float: left; margin-right: 8px; vertical-align: middle; } .toastify__close { position: absolute; top: 18px; left: 12px; width: 20px; height: 16px; padding: 0; text-align: center; text-decoration: none; color: white; font-weight: bold; font-size: 14px; background: transparent; outline: none; border: none; cursor: pointer; opacity: 0.8; transition: .3s ease; } .toastify__close:hover, .toastify__close:focus { opacity: 1; } .toastify-content { position: relative; width: 100%; margin-bottom: 12px; padding: 18px 24px 20px 48px; box-sizing: border-box; background: #404040; border-radius: 2px; box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.1), 0 3px 20px 0 rgba(0, 0, 0, 0.05); } .toastify-content--info { background: #404040; } .toastify-content--success { background: #008577; } .toastify-content--warning { background: #ef6c2b; } .toastify-content--error { background: #ef342b; } .toastify__body { color: white; overflow-x: scroll; font-size: 15px; font-weight: 400; } .toastify__progress { position: absolute; bottom: 0; left: 0; width: 0; height: 4px; z-index: 999; opacity: 0.8; border-radius: 2px; animation: track-progress linear 1; background-color: white; } }