diff --git a/index.html b/index.html index 3f0dcb5..7c00fff 100644 --- a/index.html +++ b/index.html @@ -13,200 +13,118 @@ html, body, #app { - height: 100%; + min-height: 100%; margin: 0px; padding: 0px; } - .chromeframe { - margin: 0.2em 0; - background: #ccc; - color: #000; - padding: 0.2em 0; - } - - #loader-wrapper { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 999999; - } - - #loader { - display: block; + .loader { + width: 20em; + height: 20em; + font-size: 1.5vmin; position: relative; - left: 50%; - top: 50%; - width: 150px; - height: 150px; - margin: -75px 0 0 -75px; - border-radius: 50%; - border: 3px solid transparent; - border-top-color: #FFF; - -webkit-animation: spin 2s linear infinite; - -ms-animation: spin 2s linear infinite; - -moz-animation: spin 2s linear infinite; - -o-animation: spin 2s linear infinite; - animation: spin 2s linear infinite; - z-index: 1001; - } - - #loader:before { - content: ""; + display: flex; + align-items: center; + justify-content: center; + } + + .loader .face { position: absolute; - top: 5px; - left: 5px; - right: 5px; - bottom: 5px; border-radius: 50%; - border: 3px solid transparent; - border-top-color: #FFF; - -webkit-animation: spin 3s linear infinite; - -moz-animation: spin 3s linear infinite; - -o-animation: spin 3s linear infinite; - -ms-animation: spin 3s linear infinite; - animation: spin 3s linear infinite; - } - - #loader:after { - content: ""; + border-style: solid; + animation: animate 3s linear infinite; + } + + .loader .face:nth-child(1) { + width: 100%; + height: 100%; + color: #0d9be0; + border-color: currentColor transparent transparent currentColor; + border-width: 0.2em 0.2em 0em 0em; + --deg: -45deg; + animation-direction: normal; + } + + .loader .face:nth-child(2) { + width: 90%; + height: 90%; + color: #7bc528; + border-color: currentColor currentColor transparent transparent; + border-width: 0.2em 0em 0em 0.2em; + --deg: -135deg; + animation-direction: reverse; + } + + .loader .face .circle { + position: absolute; + width: 50%; + height: 0.1em; + top: 50%; + left: 50%; + background-color: #0000; + transform: rotate(var(--deg)); + transform-origin: left; + } + + .loader .face .circle::before { position: absolute; - top: 15px; - left: 15px; - right: 15px; - bottom: 15px; + top: -.5em; + right: -0.45em; + content: ''; + width: .6em; + height: .6em; + background-color: currentColor; border-radius: 50%; - border: 3px solid transparent; - border-top-color: #FFF; - -moz-animation: spin 1.5s linear infinite; - -o-animation: spin 1.5s linear infinite; - -ms-animation: spin 1.5s linear infinite; - -webkit-animation: spin 1.5s linear infinite; - animation: spin 1.5s linear infinite; - } - - - @-webkit-keyframes spin { - 0% { - -webkit-transform: rotate(0deg); - -ms-transform: rotate(0deg); - transform: rotate(0deg); - } - - 100% { - -webkit-transform: rotate(360deg); - -ms-transform: rotate(360deg); - transform: rotate(360deg); - } - } - - @keyframes spin { - 0% { - -webkit-transform: rotate(0deg); - -ms-transform: rotate(0deg); - transform: rotate(0deg); - } - - 100% { - -webkit-transform: rotate(360deg); - -ms-transform: rotate(360deg); - transform: rotate(360deg); + box-shadow: 0 0 .5em .15em currentColor; + } + + @keyframes animate { + to { + transform: rotate(1turn); } - } - - - #loader-wrapper .loader-section { - position: fixed; - top: 0; - width: 51%; - height: 100%; - background: #7171C6; - z-index: 1000; - -webkit-transform: translateX(0); - -ms-transform: translateX(0); - 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 { - -webkit-transform: translateX(-100%); - -ms-transform: translateX(-100%); - transform: translateX(-100%); - -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); - transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); - } - - .loaded #loader-wrapper .loader-section.section-right { - -webkit-transform: translateX(100%); - -ms-transform: translateX(100%); - transform: translateX(100%); - -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); - transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); - } - - .loaded #loader { - opacity: 0; - -webkit-transition: all 0.3s ease-out; - transition: all 0.3s ease-out; - } - - .loaded #loader-wrapper { - visibility: hidden; - -webkit-transform: translateY(-100%); - -ms-transform: translateY(-100%); - transform: translateY(-100%); - -webkit-transition: all 0.3s 1s ease-out; - transition: all 0.3s 1s ease-out; - } - - .no-js #loader-wrapper { - display: none; - } - - .no-js h1 { - color: #222222; - } - - #loader-wrapper .load_title { - font-family: 'Open Sans'; - color: #FFF; - font-size: 19px; - width: 100%; - text-align: center; - z-index: 9999999999999; - position: absolute; - top: 60%; - opacity: 1; - line-height: 30px; - } - - #loader-wrapper .load_title span { - font-weight: normal; - font-style: italic; - font-size: 13px; - color: #FFF; - opacity: 0.5; - } + } + .loader-root { + width: 100%; + height: 100vh; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + background-image: radial-gradient(#2c77bf,#2564a1); + } + .loader-title { + margin: 4vmin 0 10vmin; + font-size: 3vmin; + color:#ccc; + text-shadow: .2vmin .2vmin 0 #2564a1; + letter-spacing: .3vmin; + } + .loader .logo img { + width: 17vmin; + height: 17vmin; + } + .loader .logo { + background-image: linear-gradient(to bottom,#FFF,#aaa); + padding: 3vmin ; + border-radius: 50%; + box-shadow: 0 0 .5vmin #fff inset, 0 0 2vmin #0006; + }
