-------------------------------------------------------------- */
@keyframes spinner-inner {
.infinite-loader .spinner-inner div {
animation: spinner-inner linear 1s infinite;
border-radius: 3px / 6px;
transform-origin: 3px 26px;
.infinite-loader .spinner-inner div:nth-child(1) {
animation-delay: -0.9166666666666666s;
.infinite-loader .spinner-inner div:nth-child(2) {
transform: rotate(30deg);
animation-delay: -0.8333333333333334s;
.infinite-loader .spinner-inner div:nth-child(3) {
transform: rotate(60deg);
.infinite-loader .spinner-inner div:nth-child(4) {
transform: rotate(90deg);
animation-delay: -0.6666666666666666s;
.infinite-loader .spinner-inner div:nth-child(5) {
transform: rotate(120deg);
animation-delay: -0.5833333333333334s;
.infinite-loader .spinner-inner div:nth-child(6) {
transform: rotate(150deg);
.infinite-loader .spinner-inner div:nth-child(7) {
transform: rotate(180deg);
animation-delay: -0.4166666666666667s;
.infinite-loader .spinner-inner div:nth-child(8) {
transform: rotate(210deg);
animation-delay: -0.3333333333333333s;
.infinite-loader .spinner-inner div:nth-child(9) {
transform: rotate(240deg);
.infinite-loader .spinner-inner div:nth-child(10) {
transform: rotate(270deg);
animation-delay: -0.16666666666666666s;
.infinite-loader .spinner-inner div:nth-child(11) {
transform: rotate(300deg);
animation-delay: -0.08333333333333333s;
.infinite-loader .spinner-inner div:nth-child(12) {
transform: rotate(330deg);
.infinite-loader .spinner {
.infinite-loader .spinner-inner {
transform: translateZ(0) scale(0.28);
backface-visibility: hidden;
transform-origin: 0 0; /* see note above */
* Using a highly-specific rule to make sure that all button styles
#infinite-handle span button,
#infinite-handle span button:hover,
#infinite-handle span button:focus {
* This is used to avoid unnecessary inner button spacing in Firefox
#infinite-handle span button::-moz-focus-inner {
* For smaller viewports, remove the down-arrow icon and turn
* the button into a block element, spanning the content's full width.
@media (max-width: 800px) {
#infinite-handle span::before {
#infinite-footer .blog-info a:hover,
#infinite-footer .blog-credits a:hover {
text-decoration: underline;
#infinite-footer .container {
background: rgba(255, 255, 255, 0.8);
border-color: rgba(0, 0, 0, 0.1);
#infinite-footer .blog-info,
#infinite-footer .blog-credits {
#infinite-footer .blog-info {
#infinite-footer .blog-info a {
#infinite-footer .blog-credits {
#infinite-footer .blog-credits a {
* Hooks to infinity-end body class to restore footer
.infinity-end.neverending #infinite-footer {
* Responsive structure for the footer
@media (max-width: 640px) {
#infinite-footer .container {
#infinite-footer .blog-info {
#infinite-footer .blog-credits {
#infinite-footer .blog-info a,
#infinite-footer .blog-credits {
* No fixed footer on small viewports
@media ( max-width: 640px ) {
* Hide infinite aria feedback visually
* Hide focus on infinite wrappers