/* original from https://loading.io/css/ */ .lds-ripple { display: inline-block; position: absolute; width: 80px; height: 80px; } .lds-ripple div { position: absolute; border: 4px solid rgb(226, 29, 29); opacity: 1; border-radius: 50%; animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite; } .lds-ripple div:nth-child(2) { animation-delay: -0.5s; } @keyframes lds-ripple { 0% { top: 36px; left: 36px; width: 0; height: 0; opacity: 1; } 100% { top: 0px; left: 0px; width: 72px; height: 72px; opacity: 0; } } .loader-container{ display: grid; grid-template-columns: 1fr 1fr 1fr; } .loader-content{ grid-column-start: 1; grid-column-end: span 3; grid-row-start: 1; } .loader-overlay{ grid-column-start: 1; grid-column-end: span 3; grid-row-start: 1; place-self: center; align-self: center; justify-self: center; z-index: 1; height: 80px; width: 80px; border-radius: 40px; } .loader-fade{ grid-column-start: 1; grid-column-end: span 3; grid-row-start: 1; background-color: rgba(255, 255, 255, 0.4); align-self: stretch; justify-self: stretch; z-index: 1; box-shadow: 0px 0px 6px 5px rgba(255, 254, 254, 0.4); }