h1 {
    font-size: 2em;
}
h2 {
    font-size: 1.5em;
}

html[data-bs-theme="dark"] .list-group-hover .list-group-item:hover {
    background-color: rgba(255, 255, 255, .05);
}
.list-group-hover .list-group-item:hover {
    background-color: rgba(0, 0, 0, .05);
}

.card .card-body .card-body-collapse {
    padding: 0 !important;
}

.title {
    font-family: Jura, Source Sans Pro, Helvetica Neue, Helvetica, Arial, sans-serif;
    font-weight: 300;
    font-size: 1.5rem;
}
h1, h2, h3, h4, h5, h6 {
    font-family: Jura, Source Sans Pro, Helvetica Neue, Helvetica, Arial, sans-serif;
    font-weight: 300;
}

/*****************************************************************************/
/* https://tobiasahlin.com/spinkit/ */

.spinner {
    margin: 50px auto 10px auto;
    width: 100px;
    height: 40px;
    text-align: center;
    font-size: 10px;
}

.spinner > div {
    background-color: #0d6efd;
    height: 100%;
    width: 10px;
    display: inline-block;

    -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
    animation: sk-stretchdelay 1.2s infinite ease-in-out;
}

.spinner .rect2 {
    -webkit-animation-delay: -1.1s;
    animation-delay: -1.1s;
}

.spinner .rect3 {
    -webkit-animation-delay: -1.0s;
    animation-delay: -1.0s;
}

.spinner .rect4 {
    -webkit-animation-delay: -0.9s;
    animation-delay: -0.9s;
}

.spinner .rect5 {
    -webkit-animation-delay: -0.8s;
    animation-delay: -0.8s;
}

@-webkit-keyframes sk-stretchdelay {
    0%, 40%, 100% { -webkit-transform: scaleY(0.4) }
    20% { -webkit-transform: scaleY(1.0) }
}

@keyframes sk-stretchdelay {
    0%, 40%, 100% {
        transform: scaleY(0.4);
        -webkit-transform: scaleY(0.4);
    }  20% {
           transform: scaleY(1.0);
           -webkit-transform: scaleY(1.0);
       }
}

/*****************************************************************************/
/* https://codepen.io/ddietle/pen/bePZKW */

.spinner-cog {
    width: 250px;
    height: 250px;
    position: relative;
    margin: 2rem auto 1rem auto;
    border-radius:30%;
    border: solid 10px #6c757d;
    background-color: white;
    overflow: hidden;
    z-index: 10000;
}

html[data-bs-theme="dark"] .spinner-cog {
    background-color: #212529;
}
html[data-bs-theme="dark"] .hole {
    background-color: #212529;
}

.spoke {
    background-color: #6c757d;
    position: absolute;
    height: 175px;
    width: 30px;
    margin-left: -15px;
    margin-top: -12.5px;
    left: 50%;
    border-radius: 5px;
    z-index: 10;
}

.spoke + .spoke {
    transform: rotateZ(45deg);
}

.spoke + .spoke + .spoke {
    transform: rotateZ(-45deg);
}

.spoke + .spoke + .spoke + .spoke {
    transform: rotateZ(90deg);
}

.cog {
    position: absolute;
    background-color: #6c757d;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    margin-top: -28px;
    margin-left: -30px;
    z-index: 10;
    animation: spin 5s infinite linear;
    animation-delay: .040s;
}
.cog + .cog {
    animation: spin2 5s infinite linear;
    animation-delay: .045s;
    margin-top: 132px;
    margin-left: 0;
}
.cog + .cog + .cog {
    animation: spin 5s infinite linear;
    margin-top: 43px;
    margin-left:138px;
}

.hole {
    position: absolute;
    width: 130px;
    height: 130px;
    margin-left: 10px;
    margin-top: 10px;
    background-color: white;
    border-radius: 50%;
    z-index: 3000;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}
@keyframes spin2 {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(-360deg);
    }
}
