:root {
    --white: #f3eeee;
    --green: #a8d5ba;
    --beige: #f0ebe4;
    --gray: #e6e6e6;
    --darkgray: #838383;
    --lav: #ede9f3;
    --purple: #5c4888;
    --purple2: #a194eb;
    --pink: #db624c;
}

body {
    overflow-x: hidden;
}

.bg-white {
    background-color: var(--white);
}

.bg-darkgray {
    background-color: var(--darkgray);
}

.bg-lav {
    background-color: var(--lav);
}

.bg-purple {
    background-color: var(--purple);
}

.bg-purple2 {
    background-color: var(--purple2);
}

.bg-beige {
    background-color: var(--beige);
}

.bg-gray {
    background-color: var(--gray);
}

.body-bg {
    background-image: url('../assets/whiteBG.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
    min-height: 90vh;
}

.body {
    font-family: 'Roboto', sans-serif;
    min-height: 100vh;
}

.libre {
    font-family: 'Libre Baskerville', serif;
}

.league {
    font-family: "League Spartan", sans-serif;
}

.marble-bg {
    background-image: url('../assets/whiteBG.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.text-white {
    color: var(--white);
}

.text-darkgray {
    color: var(--darkgray);
}

.text-purple {
    color: var(--purple);
}

.border-darkgray {
    border: 1px solid var(--darkgray);
}

.line {
    height: 1px;
    width: 25px;
    background-color: var(--purple);
}

#logo {
    cursor: pointer;
}

input[type="radio"] {
    display: none;
}

.input {
    border: 1px solid var(--purple);
    border-radius: 5px;
    padding-left: 5px;
}

input:focus {
    border: 1px solid var(--purple);
    outline: 1px solid var(--purple);
}

#modal-header {
    border-bottom: 1px solid var(--darkgray);
    color: var(--white);
    background-image: linear-gradient(135deg, var(--purple), var(--purple2));
}

.modal-header {
    border-bottom: 1px solid var(--darkgray);
    color: var(--white);
    background-image: linear-gradient(135deg, var(--purple), var(--purple2));
}

.btn-close {
    position: absolute;
    top: 7px;
    right: 7px;
    color: var(--white) !important;
}

.model-content {
    border: 1px solid var(--darkgray) !important;
    border-radius: 7px !important;
    color: var(--darkgray) !important;
}

.appt-card {
    color: var(--darkgray);
    border: 1px solid var(--darkgray);
    border-radius: 7px;
}

.appt-card-header {
    cursor: pointer;
}

.appt-card:hover {
    box-shadow: 0 0 10px var(--purple);
    transition: all 0.3s ease;
}

.custom-btn {
    background-color: var(--purple);
    border: 1px solid var(--purple);
    border-radius: 7px;
    color: var(--lav);
    cursor: pointer;
}

.custom-btn:hover {
    background-color: var(--lav);
    color: var(--purple);
    transition: all 0.3s ease;
}

.success-btn:hover {
    color: var(--white);
    background-color: rgb(107, 209, 107);
}

.danger-btn:hover {
    color: var(--white);
    background-color: var(--pink);
}

.purple-border {
    border: 1px solid var(--purple);
    border-image: linear-gradient(to left, var(--white), var(--lav));
    border-image-slice: 1;
}

.footer-link {
    text-decoration: none;
    color: var(--purple);
    cursor: pointer;
}

.footer-link:hover {
    text-decoration: underline;
}

#ryt-logo {
    width: 100px;
    height: 100px;
}

.spinner-border {
    color: var(--purple);
}

img {
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

img.loaded {
    opacity: 1;
}

.loading {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.spinning {
    animation: spin 1.5s linear infinite;
    opacity: 1;
}

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

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

.hide {
    display: none;
}

@keyframes fade-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.fade-in {
    animation: fade-in 0.75s ease-in-out;
}