body {
    font-family: Arial, sans-serif;
    font-size: 100%;
    background: url(../bg.jpg) no-repeat;
    background-position: center center;
    background-attachment: fixed;
    background-size: cover;
    text-align: center;
}

.heading {
    color: green;
}

input.biggy {
    font-size: 3.5rem;
    font-weight: bold;
}

input.invalid {
    background-color: #ffdddd;
}

.tab {
    display: none;
}

#regForm {
    display: none;
}

.border-2 {
    border: 2px solid black;
    box-shadow: -2px 1px 17px -5px rgba(0, 0, 0, 0.74);
    -webkit-box-shadow: -2px 1px 17px -5px rgba(0, 0, 0, 0.74);
    -moz-box-shadow: -2px 1px 17px -5px rgba(0, 0, 0, 0.74);
}

.font-18 {
    font-size: 18px;
}

.disabled_class {
    pointer-events: none;
    opacity: 0.4;
}

.sh-link {
    color: black;
    font-size: 20px;
    font-weight: bold;
}

a.sh-link:hover {
    color: white;
    text-decoration: none;
}

.sh-type-background {
    background-image: url('/assets/images/background.png');
    background-size: cover;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

a.sh-link div:hover {
    background-color: rgba(28, 1, 251, 0.58);
    background-blend-mode: color;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

.border-custom {
    border: 1px solid #8a8d8e;
    border-radius: 10px;
    padding: 5px;
    margin: 10px;
}

.frac {
    display: inline-block;
    position: relative;
    vertical-align: middle;
    letter-spacing: 0.001em;
    font-size: 22px;
    text-align: center;
}

.frac > div {
    display: block;
    padding: 0.1em;
}

.frac div.bottom {
    border-top: thin solid black;
}

.symbol {
    padding: 10px;
    font-weight: bold;
}

.number-badge {
    top: -6px;
    position: absolute;
}

.badge-gray {
    color: #4e4848;
    background-color: #dbdfe2;
}

.rand-input {
    font-size: 3.5rem;
    width: 25%;
    margin: auto;
    font-weight: bold;
}

.rand-input-width {
    width: 200px !important;
}

#regForm .form-group {
    flex: unset;
}

#regForm .frac-wizrad > .frac, #regForm .frac-wizrad {
    font-size: 20px !important;
    font-weight: bold;
}

.font-size-20 {
    font-size: 20px !important;
}

#fraction .form-control, .frac-wizrad .form-control {
    width: 50px;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}

@media only screen and (max-width: 600px) {
    .rand-input {
        width: 75%;
    }

    .d-flex {
        display: block !important;
    }

    .mt-sm-3 {
        margin-top: 10px;
    }
}


.w-35 {
    width: 35% !important;
}

.w-85 {
    width: 85%;
}

.w-80 {
    width: 80% !important;
}

.form-control{
    padding: 0.375rem 0.25rem;
}
#regForm input{
    text-align: center;
    min-width: 50px;
}

.leaderboard-card {
    background-color: #fff;
    border-radius: 12px;
    padding: 10px 10px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.rank-number {
    font-weight: bold;
    font-size: 1.2rem;
    width: 30px;
}
.user-info {
    display: flex;
    align-items: center;
    flex-grow: 1;
}
.user-info img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}
.user-name {
    margin-left: 10px;
    font-weight: 500;
}
.score-stars {
    display: flex;
    align-items: center;
    font-weight: bold;
    color: #f0ad4e;
}
.badge-icon {
    margin-left: 5px;
}
.badge-icon span {
    display: inline-block;
    background: #606060;
    border-radius: 10px;
    padding: 5px 10px;
    font-size: 0.9rem;
    font-weight: bold;
}
.badge-1 { background: #ccc; color: #000; }
.badge-2 { background: #00bcd4; color: #fff; }
.badge-3 { background: #28a745; color: #fff; }
