@charset "UTF-8";

@font-face {
    font-family: Avenir;
    src: url(/fonts/avenir-pro-medium.woff2) format("woff2"),url(/fonts/avenir-pro-medium.woff) format("woff");
    font-weight: 500
}

@font-face {
    font-family: Avenir;
    src: url(/fonts/avenir-pro-heavy.woff2) format("woff2"),url(/fonts/avenir-pro-heavy.woff) format("woff");
    font-weight: 800
}

@font-face {
    font-family: Avenir;
    src: url(/fonts/avenir-pro-black.woff2) format("woff2"),url(/fonts/avenir-pro-black.woff) format("woff");
    font-weight: 900
}

html, body {
    font-family: Avenir,sans-serif;
}

h1:focus {
    outline: none;
}

a, .btn-link {
    color: #0067B1;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem lightgray;
}

.content {
    padding-top: 1.1rem;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

.loading-progress {
    position: relative;
    display: block;
    width: 8rem;
    height: 8rem;
    margin: 20vh auto 1rem auto;
}

.loading-progress circle {
    fill: none;
    stroke: #e0e0e0;
    stroke-width: 0.6rem;
    transform-origin: 50% 50%;
    transform: rotate(-90deg);
}

.loading-progress circle:last-child {
    stroke: #0067B1;
    stroke-dasharray: calc(3.141 * 50% * 0.8), 500%;
    transition: stroke-dasharray 0.05s ease-in-out;
    animation: loading-spin 1.5s linear infinite;
}

@keyframes loading-spin {
    0% {
        stroke-dasharray: 0%, 500%;
    }
    50% {
        stroke-dasharray: calc(3.141 * 80% * 0.8), 500%;
    }
    100% {
        stroke-dasharray: 0%, 500%;
    }
}

.loading-progress-text {
    position: absolute;
    text-align: center;
    font-weight: bold;
    inset: calc(20vh + 3.25rem) 0 auto 0.2rem;
}

code {
    color: #c02d76;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* xara css */
.xara-text-color {
    color: #0067B1;
}

.btn-primary {
    background-color: #0067B1 !important;
    border-color: transparent;
}

.bg-primary {
    background-color: #0067B1 !important;
}

a {
    color: white;
    text-decoration: underline;
}

.bg-primary-subtle {
    background-color: lightgray !important;
}

/* loading spinner */
.lds-ring,
.lds-ring div {
    box-sizing: border-box;
}

.lds-ring {
    color: #0067B1 !important;
    display: inline-block;
    position: relative;
    width: 38px;
    height: 38px;
}

.lds-ring div {
    box-sizing: border-box;
    display: block;
    position: absolute;
    width: 38px;
    height: 38px;
    margin: 0px;
    border: 8px solid currentColor;
    border-radius: 50%;
    animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    border-color: currentColor transparent transparent transparent;
}

.lds-ring div:nth-child(1) {
    animation-delay: -0.45s;
}

.lds-ring div:nth-child(2) {
    animation-delay: -0.3s;
}

.lds-ring div:nth-child(3) {
    animation-delay: -0.15s;
}

@keyframes lds-ring {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.btn-send {
    background-color: #0B93D6;
    border-color: #0B93D6;
    color: white !important; 
}

.btn-send:hover {
    background-color: #087cb8;
    border-color: #087cb8;
    cursor: pointer;
}

/* Chat message styles */
.user-message {
    scroll-margin-top: 10px;
    text-align: right;
    clear: both;
}

.user-message-bubble {
    background-color: #EAF0F5;
    margin-left: 5px !important;
    width: auto;
    max-width: 80%;
    float: right;
    text-align: left;
}

.bot-message {
    clear: both;
}

.bot-message-bubble {
    background-color: #0B93D6;
    text-align: left;
}
