:root {
    --van-dyke-brown: rgba(100, 63, 46, 1);
    --brown-sugar: rgba(154, 97, 71, 1);
    --beaver: rgba(176, 133, 111, 1);
    --tumbleweed: rgba(198, 168, 150, 1);
    --almond: rgba(220, 204, 190, 1);
    --bone: rgba(231, 222, 210, 1);
    --alabaster: rgba(241, 239, 229, 1);
    --alabaster-50: rgba(241, 239, 229, 0.5);
    --pale-spring-bud: rgba(213, 221, 179, 1);
    --middle-green-yellow: rgba(185, 202, 129, 1);
    --middle-green-yellow-2: rgba(157, 184, 79, 1);
    --indicator-red: rgb(179, 0, 0);
    --indicator-yellow: rgba(251, 188, 4, 1);
    --indicator-gray: rgba(167, 167, 167, 1);
    --indicator-green: rgba(58, 138, 100, 1);
    --pale-red: rgba(214, 156, 156, 1);
}

@font-face {
    font-family: Calibri;
    src: url("../fonts/Calibri\ Regular.ttf");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: CalibriBold;
    src: url("../fonts/Calibri\ Bold.ttf");
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: CalibriLight;
    src: url("../fonts/Calibri\ Light.ttf");
    font-weight: light;
    font-style: normal;
}

html, body {
    padding: 0;
    margin: 0;
    height: 100%;
    overflow-x: hidden;
    font-family: 'Calibri';
    color: var(--van-dyke-brown);
}

#page-container {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color: var(--alabaster-50);
}

#main-content {
    flex: 1;
}

.noselect {
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* width */
::-webkit-scrollbar {
    width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
    background: var(--alabaster);
    z-index: -1;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: var(--van-dyke-brown);
}

.hover-105:hover {
    transform: scale(1.05);
}

.hover-105 {
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .3s;
}

.text-header {
    font-weight: 700;
    position: relative;
    font-size: 2rem;
    text-align: center;
    color: var(--van-dyke-brown);
    padding-top: 2rem;
    padding-bottom: 2rem;
    margin: 0;
    background-color: var(--alabaster);
}

.indicator.good {
    color: var(--indicator-green) !important;
}

.indicator.medium {
    color: var(--indicator-yellow) !important;
}

.indicator.bad {
    color: var(--indicator-red) !important;
}

.disabled {
    pointer-events: none !important;
    cursor: default !important;
    opacity: 0.5;
}

.button-holder {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 3rem 0;
}

.button {
    border-radius: 2rem;
    border: 1px solid var(--brown-sugar);
    background-color: var(--brown-sugar);
    color: white;
    cursor: pointer;
    font-size: 1.5rem;
    font-weight: 600;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .3s;
    position: relative;
    padding: 0.75rem 1.5rem;
    width: max-content;
    margin: 1rem;
    box-shadow: 3px 3px 5px var(--tumbleweed);
}

.button:hover{
    transform: scale(1.05);
}

.button i {
    margin-right: 0.5rem;
}

.checkbox-holder {
    text-align: end;
    font-size: 3rem;
    width: -webkit-fill-available;
    width: -moz-available;
    align-items: center;
    display: flex;
}

button {
    position: relative;
}

button.loading span,
button.loading i,
.button.loading span,
.button.loading i {
    opacity: 0.1;
}

button.loading::after,
.button.loading::after {
    content: '';
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border: 3px solid #fff;
    border-top: 3px solid #666;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    position: absolute;
    left: calc(50% - 0.5rem);
    top: calc(50% - 0.5rem);
}

button.loading,
.button.loading {
    pointer-events: none;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

textarea:focus-visible,
input:focus-visible,
select:focus-visible {
    outline: 0;
    box-shadow: 2px 3px 5px 2px var(--almond);
}

.ui-state-disabled {
    opacity: 1;
}

.dropdown-select:disabled {
    border-color: var(--almond);
}

.dropdown-select {
    font-size: 1.5rem !important;
    font-family: 'Calibri' !important;
    color: var(--van-dyke-brown);
    border-radius: 5px;
    background-color: transparent;
    font-weight: bold;
}

.dropdown-select option {
    font-weight: bold;
    color: var(--van-dyke-brown);
    font-family: 'Calibri';
}

.dropdown-select option:disabled {
    color: rgba(200, 200, 200, 0.4);
}
