/* Propensio Stylesheet */
/* Designed to be used in tandem with bootstrap 5.3+ */
/* Author  - PropensioDev - Finlay Gratton */
/* Version - 1.0.0 */

/* Site Specific CSS */
html *
{
    font-family: 'Montserrat', sans-serif;
    scroll-behavior: smooth;
}

/* Navbar Styles */
.navbar-nav
{
    font-family: 'Montserrat' !important;
}

.nav-link
{
    color: #e9e9e9 !important;
}

/* Company logo pinned top-left */
.logo {
    position: fixed;
    top: 10px;
    left: 10px;
    width: 300px;
    height: 84px;
    object-fit: contain;
    z-index: 1000;
}

/* Navbar Gradient Background */
.grad 
{
    background-color: #343C5A; /* Just in case browser doesn't support gradients */
    background-image: linear-gradient(174deg, #343C5A, #343C5A, #343C5A, #2AB8C3);
}

/* Radio Buttons */
.radio-container
{
    display: block;
    position: relative;
    padding-left: 40px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 16px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.radio-container input
{
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.radio-container .checkmark
{
    position: absolute;
    top: 0;
    left: 0;
    height: 22px;
    width: 22px;
    background-color: #343C5A;
    border-radius: 50%;
    box-shadow: inset 0 0 0 6px #FFFFFF;
    transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
}

.radio-container:hover .checkmark
{
    transform: scale(1.03);
}

.radio-container input:checked ~ .checkmark
{
    background-color: #2AB8C3;
    box-shadow: inset 0 0 0 4px #FFFFFF;
}

.radio-container input:focus-visible ~ .checkmark
{
    outline: 3px solid #2AB8C3;
    outline-offset: 1px;
}

/* Range slider with floating value */
.range-wrapper
{
    position: relative;
    padding-top: 12px;
}

.range-wrapper .form-range
{
    margin-bottom: 18px;
}

.range-wrapper .form-range::-webkit-slider-thumb
{
    background-color: #343C5A;
    border: 2px solid #343C5A;
}

.range-wrapper .form-range::-moz-range-thumb
{
    background-color: #343C5A;
    border: 2px solid #343C5A;
}

.range-wrapper .form-range:active::-webkit-slider-thumb,
.range-wrapper .form-range:focus-visible::-webkit-slider-thumb
{
    background-color: #2AB8C3;
    border-color: #2AB8C3;
}

.range-wrapper .form-range:active::-moz-range-thumb,
.range-wrapper .form-range:focus-visible::-moz-range-thumb
{
    background-color: #2AB8C3;
    border-color: #2AB8C3;
}

.range-value
{
    position: absolute;
    top: -10px;
    left: 0;
    transform: translateX(-50%);
    background-color: #2AB8C3;
    color: #FFFFFF;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.85rem;
    line-height: 1;
    pointer-events: none;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.15s ease, visibility 0.15s ease;
}

.range-wrapper .form-range:active + .range-value,
.range-wrapper .form-range:focus-visible + .range-value,
.range-wrapper .form-range:focus + .range-value
{
    opacity: 1;
    visibility: visible;
}

.range-scale
{
    display: flex;
    justify-content: space-between;
    font-size: 0.9rem;
    color: #5E5E5E;
    margin-top: -6px;
}

/* Bootstrap Overrides - All Changes to Bootstrap are prefixed with 'pp' */
/* Alerts */
.pp-alert-primary
{
    background-color: #343C5A !important;
    color: #FFFFFF !important;
    border-color: #778ace !important;
}

.pp-alert-secondary
{
    background-color: #2AB8C3 !important;
    color: #FFFFFF !important;
    border-color: #32e3f0 !important;
}

.pp-alert-success
{
    background-color: #439D7F !important;
    color: #FFFFFF !important;
    border-color: #58c79d !important;
}

.pp-alert-info
{
    background-color: #5E5E5E !important;
    color: #FFFFFF !important;
    border-color: #acacac !important;
}

.pp-alert-warning
{
    background-color: #FAD156 !important;
    color: #524a03 !important;
    border-color: #ffed7c !important;
}

.pp-alert-danger
{
    background-color: #e73a34 !important;
    color: #610d0d !important;
    border-color: #ff6865 !important;
}

/* Badges */
.text-bg-pp-primary
{
    background-color: #343C5A !important;
    color: #FFFFFF !important;
}
.text-bg-pp-secondary
{
    background-color: #2AB8C3 !important;
    color: #FFFFFF !important;
}
.text-bg-pp-success
{
    background-color: #439D7F !important;
    color: #FFFFFF !important;
}
.text-bg-pp-info
{
    background-color: #5E5E5E !important;
    color: #FFFFFF !important;
}
.text-bg-pp-warning
{
    background-color: #FAD156 !important;
    color: #524a03 !important;
}
.text-bg-pp-danger
{
    background-color: #e73a34 !important;
    color: #610d0d !important;
}

/* Buttons */
.btn-pp-primary
{
    background-color: #343C5A !important;
    color: #FFFFFF !important;
    border-color: #778ace !important;
}
.btn-pp-primary:hover
{
    background-color: #4e5a86 !important;
    color: #FFFFFF !important;
    border-color: #5c6fae !important;
}
.btn-pp-primary:active
{
    background-color: #2AB8C3 !important;
    color: #FFFFFF !important;
    border-color: #2AB8C3 !important;
}

.btn-pp-primary.active
{
    background-color: #2AB8C3 !important;
    color: #FFFFFF !important;
    border-color: #2AB8C3 !important;
}

.btn-pp-secondary
{
    background-color: #2AB8C3 !important;
    color: #FFFFFF !important;
    border-color: #32e3f0 !important;
}
.btn-pp-secondary:hover
{
    background-color: #57f4ff !important;
    color: #FFFFFF !important;
    border-color: #96f8ff !important;
}
.btn-pp-secondary:active
{
    background-color: #343C5A !important;
    color: #FFFFFF !important;
    border-color: #343C5A !important;
}

.btn-pp-success
{
    background-color: #439D7F !important;
    color: #FFFFFF !important;
    border-color: #58c79d !important;
}
.btn-pp-success:hover
{
    background-color: #59d3aa !important;
    color: #FFFFFF !important;
    border-color: #98fdd8 !important;
}
.btn-pp-success:active
{
    background-color: #E76D34 !important;
    color: #FFFFFF !important;
    border-color: #E76D34 !important;
}

.btn-pp-info
{
    background-color: #5E5E5E !important;
    color: #FFFFFF !important;
    border-color: #acacac !important;
}
.btn-pp-info:hover
{
    background-color: #7f7f7f !important;
    color: #FFFFFF !important;
    border-color: #d1d1d1 !important;
}

.btn-pp-warning
{
    background-color: #FAD156 !important;
    color: #524a03 !important;
    border-color: #ffed7c !important;
}
.btn-pp-warning:hover
{
    background-color: #ffed7c !important;
    color: #524a03 !important;
    border-color: #fff493 !important;
}

.btn-pp-danger
{
    background-color: #e73a34 !important;
    color: #610d0d !important;
    border-color: #ff6865 !important;
}
.btn-pp-danger:hover
{
    background-color: #ff6865 !important;
    color: #610d0d !important;
    border-color: #ff8a87 !important;
}

/* Outline Buttons */

.btn-outline-pp-primary
{
    background-color: transparent !important;
    color: #343C5A !important;
    border-color: #778ace !important;
}
.btn-outline-pp-primary:hover
{
    background-color: #343C5A !important;
    color: #FFFFFF !important;
    border-color: #5c6fae !important;
}

.btn-outline-pp-secondary
{
    background-color: transparent !important;
    color: #2AB8C3 !important;
    border-color: #32e3f0 !important;
}
.btn-outline-pp-secondary:hover
{
    background-color: #2AB8C3 !important;
    color: #FFFFFF !important;
    border-color: #96f8ff !important;
}

.btn-outline-pp-success
{
    background-color: transparent !important;
    color: #439D7F !important;
    border-color: #58c79d !important;
}
.btn-outline-pp-success:hover
{
    background-color: #439D7F !important;
    color: #FFFFFF !important;
    border-color: #98fdd8 !important;
}

.btn-outline-pp-info
{
    background-color: transparent !important;
    color: #5E5E5E !important;
    border-color: #acacac !important;
}
.btn-outline-pp-info:hover {
    background-color: #5E5E5E !important;
    color: #FFFFFF !important;
    border-color: #d1d1d1 !important;
}

.btn-outline-pp-danger
{
    background-color: transparent !important;
    color: #e73a34 !important;
    border-color: #ff6865 !important;
}
.btn-outline-pp-danger:hover
{
    background-color: #e73a34 !important;
    color: #610d0d !important;
    border-color: #ff8a87 !important;
}

.btn-outline-pp-warning
{
    background-color: transparent !important;
    color: #FAD156 !important;
    border-color: #ffed7c !important;
}
.btn-outline-pp-warning:hover
{
    background-color: #FAD156 !important;
    color: #524a03 !important;
    border-color: #fff493 !important;
}

/* Background Colours - should override anywhere that uses bg-primary, etc. */
.bg-pp-primary
{
    background-color: #343C5A !important;
}

.bg-pp-secondary
{
    background-color: #2AB8C3 !important;
}

.bg-pp-success
{
    background-color: #439D7F !important;
}

.bg-pp-info
{
    background-color: #5E5E5E !important;
}

.bg-pp-warning
{
    background-color: #FAD156 !important;
}

.bg-pp-danger
{
    background-color: #e73a34 !important;
}

/* List Active Colour */
.list-pp-active
{
    background-color: #343C5A !important;
    color: #FFFFFF !important;
}

.list-pp-active-secondary
{
    background-color: #2AB8C3 !important;
}

/* Pagination - include 'pagination' in class list to apply bootstrap formatting */
.pp-pagination
{
    --bs-pagination-color: #E76D34 !important;
    --bs-pagination-bg: #FFFFFF !important;
    --bs-pagination-border-color: #343C5A !important;
    --bs-pagination-hover-color: #FFFFFF !important;
    --bs-pagination-hover-bg: #E76D34 !important;
    --bs-pagination-hover-border-color: #343C5A !important;
    --bs-pagination-active-color: #FFFFFF !important;
    --bs-pagination-active-bg: #E76D34 !important;
    --bs-pagination-active-border-color: #343C5A !important;
}

.pp-page-item
{
    color: #E76D34 !important;
}

.pp-page-item-active .page-link
{
    background-color: #E76D34 !important;
    border-color: #343C5A !important;
    color: #FFFFFF !important;
}

/* Progress Bars - include 'progress' in class list to apply bootstrap formatting */
.pp-progress .pp-progress-bar
{
    background-color: #343C5A !important;
}

.pp-progress-secondary .pp-progress-bar-secondary
{
    background-color: #2AB8C3 !important;
}