.thecube { width: 75px; height: 75px; margin: 0 auto; margin-top: 50px; position: relative; -webkit-transform: rotateZ(45deg); transform: rotateZ(45deg); } .thecube .cube { position: relative; -webkit-transform: rotateZ(45deg); transform: rotateZ(45deg); } .thecube .cube { float: left; width: 50%; height: 50%; position: relative; -webkit-transform: scale(1.1); transform: scale(1.1); } .thecube .cube:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #337AB7; -webkit-animation: foldthecube 2.4s infinite linear both; animation: foldthecube 2.4s infinite linear both; -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; } .thecube .c2 { -webkit-transform: scale(1.1) rotateZ(90deg); transform: scale(1.1) rotateZ(90deg); } .thecube .c3 { -webkit-transform: scale(1.1) rotateZ(180deg); transform: scale(1.1) rotateZ(180deg); } .thecube .c4 { -webkit-transform: scale(1.1) rotateZ(270deg); transform: scale(1.1) rotateZ(270deg); } .thecube .c2:before { -webkit-animation-delay: 0.3s; animation-delay: 0.3s; } .thecube .c3:before { -webkit-animation-delay: 0.6s; animation-delay: 0.6s; } .thecube .c4:before { -webkit-animation-delay: 0.9s; animation-delay: 0.9s; } @-webkit-keyframes foldthecube { 0%, 10% { -webkit-transform: perspective(140px) rotateX(-180deg); transform: perspective(140px) rotateX(-180deg); opacity: 0; } 25%, 75% { -webkit-transform: perspective(140px) rotateX(0deg); transform: perspective(140px) rotateX(0deg); opacity: 1; } 90%, 100% { -webkit-transform: perspective(140px) rotateY(180deg); transform: perspective(140px) rotateY(180deg); opacity: 0; } } @keyframes foldthecube { 0%, 10% { -webkit-transform: perspective(140px) rotateX(-180deg); transform: perspective(140px) rotateX(-180deg); opacity: 0; } 25%, 75% { -webkit-transform: perspective(140px) rotateX(0deg); transform: perspective(140px) rotateX(0deg); opacity: 1; } 90%, 100% { -webkit-transform: perspective(140px) rotateY(180deg); transform: perspective(140px) rotateY(180deg); opacity: 0; } } #g-spinner { position: relative; margin: 0 auto; height: 200px; width: 200px; border-radius: 50%; opacity: 0; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)" } #g-spinner.loading { opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; -webkit-transition: 1s ease-in-out all; transition: 1s ease-in-out all; -webkit-animation: rotate 2s cubic-bezier(.465, .183, .153, .946) infinite; animation: rotate 2s cubic-bezier(.465, .183, .153, .946) infinite } #g-spinner>.circle { position: absolute; height: 40px; width: 40px; border-radius: 50% } #g-spinner.loading>.circle.c1 { left: 80px; top: 5px; background: #4384f8; -webkit-animation: c1Center 4s cubic-bezier(.645, .045, .355, 1) infinite; animation: c1Center 4s cubic-bezier(.645, .045, .355, 1) infinite } #g-spinner.loading>.circle.c2 { left: 5px; top: 80px; background: #34a855; -webkit-animation: c2Center 4s cubic-bezier(.645, .045, .355, 1) infinite; animation: c2Center 4s cubic-bezier(.645, .045, .355, 1) infinite } #g-spinner.loading>.circle.c3 { left: 80px; bottom: 5px; background: #fbbd06; -webkit-animation: c3Center 4s cubic-bezier(.645, .045, .355, 1) infinite; animation: c3Center 4s cubic-bezier(.645, .045, .355, 1) infinite } #g-spinner.loading>.circle.c4 { right: 5px; top: 80px; background: #ea4436; -webkit-animation: c4Center 4s cubic-bezier(.645, .045, .355, 1) infinite; animation: c4Center 4s cubic-bezier(.645, .045, .355, 1) infinite } @-webkit-keyframes rotate { from { -webkit-transform: rotate(0deg); transform: rotate(0deg) } to { -webkit-transform: rotate(360deg); transform: rotate(360deg) } } @keyframes rotate { from { -webkit-transform: rotate(0deg); transform: rotate(0deg) } to { -webkit-transform: rotate(360deg); transform: rotate(360deg) } } @-webkit-keyframes c1Center { 0% { top: 5px; background: #4384f8 } 24% { background: #4384f8 } 24% { background: #4384f8 } 25% { background: #fbbd06; top: 80px } 50% { background: #fbbd06; top: 5px } 55% { background: #fbbd06; top: 5px } 74% { background: #fbbd06 } 75% { background: #4384f8; top: 80px } 100% { background: #4384f8; top: 5px } } @keyframes c1Center { 0% { top: 5px; background: #4384f8 } 24% { background: #4384f8 } 24% { background: #4384f8 } 25% { background: #fbbd06; top: 80px } 50% { background: #fbbd06; top: 5px } 55% { background: #fbbd06; top: 5px } 74% { background: #fbbd06 } 75% { background: #4384f8; top: 80px } 100% { background: #4384f8; top: 5px } } @-webkit-keyframes c2Center { 0% { background: #34a855; left: 5px } 24% { background: #34a855 } 25% { background: #ea4436; left: 80px } 50% { background: #ea4436; left: 5px } 55% { background: #ea4436; left: 5px } 74% { background: #ea4436 } 75% { background: #34a855; left: 80px } 100% { background: #34a855; left: 5px } } @keyframes c2Center { 0% { background: #34a855; left: 5px } 24% { background: #34a855 } 25% { background: #ea4436; left: 80px } 50% { background: #ea4436; left: 5px } 55% { background: #ea4436; left: 5px } 74% { background: #ea4436 } 75% { background: #34a855; left: 80px } 100% { background: #34a855; left: 5px } } @-webkit-keyframes c3Center { 0% { background: #fbbd06; bottom: 5px } 24% { background: #fbbd06 } 25% { background: #4384f8; bottom: 80px } 50% { background: #4384f8; bottom: 5px } 55% { background: #4384f8; bottom: 5px } 74% { background: #4384f8 } 75% { background: #fbbd06; bottom: 80px } 100% { background: #fbbd06; bottom: 5px } } @keyframes c3Center { 0% { background: #fbbd06; bottom: 5px } 24% { background: #fbbd06 } 25% { background: #4384f8; bottom: 80px } 50% { background: #4384f8; bottom: 5px } 55% { background: #4384f8; bottom: 5px } 74% { background: #4384f8 } 75% { background: #fbbd06; bottom: 80px } 100% { background: #fbbd06; bottom: 5px } } @-webkit-keyframes c4Center { 0% { background: #ea4436; right: 5px } 24% { background: #ea4436 } 25% { background: #34a855; right: 80px } 50% { background: #34a855; right: 5px } 55% { background: #34a855; right: 5px } 74% { background: #34a855 } 75% { background: #ea4436; right: 80px } 100% { background: #ea4436; right: 5px } } @keyframes c4Center { 0% { background: #ea4436; right: 5px } 24% { background: #ea4436 } 25% { background: #34a855; right: 80px } 50% { background: #34a855; right: 5px } 55% { background: #34a855; right: 5px } 74% { background: #34a855 } 75% { background: #ea4436; right: 80px } 100% { background: #ea4436; right: 5px } } .loading { position: relative; height: 150px; width: 150px; margin: 60px auto; } .js-loading-indicator { display: block; position: absolute; margin-top: 50px; border-radius: 50%; border: 3px solid transparent; border-top-color: #3498db; border-right-color: #3498db; -webkit-animation: spin 2s linear infinite; -moz-animation: spin 2s linear infinite; animation: spin 2s linear infinite; z-index: 1002; width: 100%; height: 100%; } .js-loading-indicator.double::before { content: ""; position: absolute; border-radius: 50%; top: 5px; left: 5px; right: 5px; bottom: 5px; border: 3px solid transparent; border-top-color: #e74c3c; -webkit-animation: spin 3s linear infinite; -moz-animation: spin 3s linear infinite; animation: spin 3s linear infinite; } .js-loading-indicator.triple::before, .js-loading-indicator.triple::after { content: ""; position: absolute; border-radius: 50%; border: 3px solid transparent; } .js-loading-indicator.triple::before { top: 5px; left: 5px; right: 5px; bottom: 5px; border-top-color: #e74c3c; -webkit-animation: spin 3s linear infinite; -moz-animation: spin 3s linear infinite; animation: spin 3s linear infinite; } .js-loading-indicator.triple::after { top: 15px; left: 15px; right: 15px; bottom: 15px; border-top-color: #f9c922; -webkit-animation: spin 1.5s linear infinite; -moz-animation: spin 1.5s linear infinite; animation: spin 1.5s linear infinite; } @-webkit-keyframes spin { from { -webkit-transform: rotate(0); } to { -webkit-transform: rotate(360deg); } } @-moz-keyframes spin { from { -moz-transform: rotate(0); } to { -moz-transform: rotate(360deg); } } @keyframes spin { from { -webkit-transform: rotate(0); -moz-transform: rotate(0); -ms-transform: rotate(0); -o-transform: rotate(0); transform: rotate(0); } to { -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -ms-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); } }