[data-react-cloak] { display: none; } @keyframes spinner { to { transform: rotate(360deg); } } [data-react-loading] { margin-top: 25px; position: relative; min-height: 100px; pointer-events: none; } [data-react-loading]:after { content: ''; box-sizing: border-box; position: absolute; top: 25%; left: 50%; left: calc(50% - 25px); width: 60px; height: 60px; margin-top: -10px; margin-left: -10px; border-radius: 50%; border: 5px solid transparent; border-top-color: #B30000; animation: spinner .75s linear infinite; z-index: 10400; } [data-react-loading]:before { content: ''; position: absolute; left: 0; right: 0; top: 0; bottom: 0; opacity: .5; background-color: #FFFFFF; z-index: 1; }