* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    max-width: 100vw;
    font-size: 0.8rem;
}

.page-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.5);
    transition: all 0.3s ease;
}

.page-loader .spinner-grow {
    width: 5rem;
    height: 5rem;
}

label {
    max-width: 100% !important;
}

.form-check-input {
    background-color: #c89600;
}

.form-input:focus {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.textarea {
    height: 80px !important;
}

@media print {
    .main {
        margin: 0;
        width: 100%;
        max-width: 100%;
        padding-top: 5px;
        padding-left: 0;
        padding-right: 0;
    }

    .text-white {
        color: black !important;
    }
}

.date {
    white-space: nowrap !important;
}

.error-head {
    font-family: 'Montserrat', sans-serif;
    font-size: 7rem;
    font-weight: 900;
    background: url('../images/bg.jpg') no-repeat;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    background-size: cover;
    background-position: center;
}

.btn-group .btn {
    margin: 0 5px !important;
    padding: 0.375rem 0.75rem !important;
    flex: 0 !important;
    border-radius: 5px !important;
}

.table-success {
    --bs-table-bg: #b8e3e9 !important;
}

#btn-back-to-top {
    background-color: rgb(79, 124, 130) !important;
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: none;
}

.preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(5px);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
}

.loader {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.ring {
    position: relative;
    width: 150px;
    height: 150px;
    border: 4px solid transparent;
    border-top: 4px solid #24ecff55;
    border-radius: 50%;
    margin: -30px;
    filter: drop-shadow(0 0 10px #24ecff) drop-shadow(0 0 30px #24ecff) drop-shadow(0 0 50px #24ecff);
    animation: animate 4s linear infinite;
}

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

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

.ring::before {
    content: "\f135";
    position: absolute;
    top: 10px;
    right: -4px;
    rotate: 90deg;
    font-family: fontAwesome;
    color: #24ecff;
    font-size: 2em;
}

.ring:nth-child(2) {
    border: 4px solid transparent;
    border-left: 4px solid #93ff2d;
    filter: drop-shadow(0 0 10px #93ff2d) drop-shadow(0 0 30px #93ff2d) drop-shadow(0 0 50px #93ff2d);
    animation: animate2 4s linear infinite;
    animation-delay: -1s;
}

.ring:nth-child(2)::before {
    content: "\f072";
    top: initial;
    bottom: -6px;
    left: 12px;
    right: initial;
    rotate: 45deg;
    color: #93ff2d;
}

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

    100% {
        transform: rotate(0deg);
    }
}

.ring:nth-child(3) {
    position: absolute;
    top: -66.66px;
    border: 4px solid transparent;
    border-left: 4px solid #ff1d6c55;
    filter: drop-shadow(0 0 10px #ff1d6c) drop-shadow(0 0 30px #ff1d6c) drop-shadow(0 0 50px #ff1d6c);
    animation: animate2 4s linear infinite;
    animation-delay: -3s;
}

.ring:nth-child(3)::before {
    content: "\e518";
    rotate: 135deg;
    top: initial;
    right: initial;
    bottom: -6px;
    left: 12px;
    color: #ff1d6c;
}
