#loader-wrapper { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2001; } #loader { position: absolute; top: calc(50% - 75px); left: calc(50% - 75px); width: 150px; height: 150px; border-radius: 50%; border: 3px solid transparent; border-top-color: #fff; animation: spin 2s linear infinite; z-index: 1001; } #loader:before { content: ''; position: absolute; top: 5px; left: 5px; right: 5px; bottom: 5px; border-radius: 50%; border: 3px solid transparent; border-top-color: #fff; animation: spin 3s linear infinite; } #loader:after { content: ''; position: absolute; top: 15px; left: 15px; right: 15px; bottom: 15px; border-radius: 50%; border: 3px solid transparent; border-top-color: #fff; animation: spin 1.5s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } #loader-wrapper .loader-section { position: absolute; top: 0; width: 50%; height: 100%; background: var(--color, #4692f7); z-index: 1000; transform: translateX(0); } #loader-wrapper .loader-section.section-left { left: 0; } #loader-wrapper .loader-section.section-right { right: 0; } .loaded#loader-wrapper .loader-section.section-left { transform: translateX(-100%); transition: all 0.35s 0.15s cubic-bezier(0.645, 0.045, 0.355, 1); } .loaded#loader-wrapper .loader-section.section-right { transform: translateX(100%); transition: all 0.35s 0.15s cubic-bezier(0.645, 0.045, 0.355, 1); } .loaded#loader-wrapper #loader, .loaded#loader-wrapper .load-title { opacity: 0; transition: all 0.15s ease-out; } .loaded#loader-wrapper { visibility: hidden; transform: translateY(-100%); transition: all 0.15s 0.5s ease-out; } #loader-wrapper .load-title { color: #fff; font-size: 19px; width: 100%; text-align: center; z-index: 99; position: absolute; top: calc(50% + 75px); line-height: 30px; }