:root {
    --color-primary: #61882c;
    --color-secondary: #6c1c10;
    --color-gray: #aaa;

    --color-primary-selected: #507328;

    --text-primary: #6c1c10;
    --text-primary-selected: #8d2013;
    --bg-default: #ccc;
}

/* Selections */
::selection      { background: var(--color-primary-selected); color: #fff; }
::-moz-selection { background: var(--color-primary-selected); color: #fff; }

/* Scrollbar */
::-webkit-scrollbar             { width: .8em; height: .8em; }
::-webkit-scrollbar-track       { background: #aaaaaa; }                      /* Track */
::-webkit-scrollbar-thumb       { background: var(--text-primary); }          /* Handle */
::-webkit-scrollbar-thumb:hover { background: var(--text-primary-selected); } /* Handle on hover */

html {
    scroll-behavior: smooth;
}

body {
    background-image: linear-gradient(rgba(204, 204, 204, 0.85), rgba(204, 204, 204, 0.85)), url('../images/logo_bg.png');
    background-position: right 10% bottom 10%;
    background-attachment: fixed;
    background-repeat: no-repeat;
    color: var(--text-primary);
    font-family: 'Montserrat', sans-serif;
}

a {
    color: var(--color-primary);
}

a:hover {
    color: var(--color-primary-selected);
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}

.text-primary   { color: var(--text-primary) !important; }
.text-secondary { color: var(--color-secondary) !important; }
.text-green     { color: var(--color-primary) !important; }

.bg-primary   { background-color: var(--color-primary) !important; }
.bg-secondary { background-color: var(--color-secondary) !important; }
.bg-gray      { background-color: var(--color-gray) !important; }

.btn-primary       { background: var(--color-primary); border-color: var(--color-primary-selected); }
.btn-primary:hover,
.btn-primary:focus { background: var(--color-primary-selected); border-color: var(--color-primary-selected); }

.btn-outline-primary { border-color: var(--color-primary); color: var(--color-primary); }
.btn-outline-primary:hover,
.btn-outline-primary:focus { background: var(--color-primary); border-color: var(--color-primary-selected); color: #fff; }

.border-primary { border-color: var(--color-primary) !important; }

.text-justify {
    text-align: justify;
}

.hidden {
    display: none;
}

.navbar {
    padding-bottom: .2em;
    padding-top: .2em;
}

.navbar .btn {
    background: var(--text-primary);
    border: 1px solid var(--text-primary) !important;
}

.navbar .btn:hover {
    background: var(--text-primary-selected);
    border: 1px solid var(--text-primary) !important;
}

.navbar-brand {
    align-items: center;
    display: flex;
    font-size: 2em;
}

.navbar-brand .navbar-logo {
    margin-right: .5em;
    max-height: 70px;
}

.navbar-brand:hover {
    color: rgba(255, 255, 255, .55) !important;
}

.navbar-nav {
    font-size: 1.2em;
}

@media(max-width: 575px) {
    .navbar-collapse {
        margin-bottom: .5em;
    }
}

.modal-content {
    background: var(--bg-default);
}

.form-label {
    font-weight: bold;
    margin-bottom: 0;
}

.form-help {
    cursor: pointer;
}

.input-group-text {
    background: var(--color-primary);
    color: #fff;
    cursor: pointer;
}

.input-group-text:hover {
    background: var(--color-primary-selected);
}

.select2-default {
    color: #f00 !important;
}

.select2-selection {
    padding: .375rem .75rem;
}

.select2-container--default .select2-selection--multiple {
    padding-right: 52px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow,
.select2-container--default .select2-selection--multiple .select2-selection__arrow {
    align-items: center;
    background: var(--color-primary);
    border: 1px solid var(--color-primary);
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    display: flex;
    height: 100%;
    justify-content: center;
    top: 0;
    width: 40px;
    position: absolute;
    right: 0;
    cursor: pointer;
}

.select2-container--default .select2-selection__arrow:hover {
    background: var(--color-primary-selected);
}

.select2-container--default .select2-selection--single {
    border-color: transparent;
}

.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--multiple {
    border-color: var(--text-primary);
}

.select2-container--default .select2-selection--single .select2-selection__arrow .input-icon,
.select2-container--default .select2-selection--multiple .select2-selection__arrow .input-icon {
    color: #fff;
    transition: ease .3s;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow {
    border-bottom-color: var(--text-primary);
    border-right-color: var(--text-primary);
    border-top-color: var(--text-primary);
}

.select2-container--default.select2-container--open.select2-container--above .select2-selection--single .select2-selection__arrow,
.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple .select2-selection__arrow {
    border-top-right-radius: unset;
}

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single .select2-selection__arrow,
.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple .select2-selection__arrow {
    border-bottom-right-radius: unset;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow .input-icon,
.select2-container--default.select2-container--open .select2-selection--multiple .select2-selection__arrow .input-icon {
    transform: rotate(.5turn);
}

.select2-container .select2-selection--single {
    height: unset;
}

.select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 1.5;
    padding-left: unset;
    padding-right: unset;
}

.select2-selection .select2-selection__choice {
    margin: .15em .3em .15em 0 !important;
}

.select2-selection .select2-search .select2-search__field {
    font-family: 'Montserrat', sans-serif;
    height: 26px;
    line-height: 1.5;
    margin: 0 !important;
}

.select2-selection .select2-search .select2-search__field::placeholder {
    color: #999999 !important;
    font-family: 'Montserrat', sans-serif;
}

.select2-container--default .select2-results__group {
    padding-bottom: 3px;
}

.select2-container--default .select2-results__option {
    padding-bottom: 3px;
    padding-top: 3px;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: var(--color-primary);
}

.select2-dropdown {
    border-color: var(--text-primary);
}

.form-control:focus {
    border-color: var(--text-primary);
}

.input-group .form-control:focus {
    border-right: none;
}

.form-control.datePickerAltInput[readonly] {
    background-color: #ffffff;
}

.flatpickr-calendar {
    /*border: 1px solid var(--text-primary);*/
}

.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
    /*border-top-color: var(--text-primary);*/
}

.flatpickr-calendar .flatpickr-months {
    border-bottom: 1px solid #ffffff;
    background: var(--color-primary);
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    /*padding-bottom: 2px;*/
}

.flatpickr-calendar .flatpickr-months .flatpickr-prev-month {
    border-right: 1px solid #ffffff;
    border-top-left-radius: 5px;
}

.flatpickr-calendar .flatpickr-months .flatpickr-next-month {
    border-left: 1px solid #ffffff;
    border-top-right-radius: 5px;
}

.flatpickr-calendar .flatpickr-months .flatpickr-prev-month,
.flatpickr-calendar .flatpickr-months .flatpickr-next-month {
    align-items: center;
    display: flex;
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
    fill: #ffffff;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
    fill: blue;
}

.flatpickr-calendar .flatpickr-innerContainer .flatpickr-weekdays {
    background: var(--color-primary);
    border-bottom: 1px solid #ffffff;
}

.flatpickr-calendar .flatpickr-innerContainer .flatpickr-weekdays .flatpickr-weekday {
    color: #ffffff;
}

.flatpickr-calendar .flatpickr-innerContainer .flatpickr-day {
    border-radius: 0;
}

.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {
    background: var(--color-primary);
    border-color: var(--color-primary);
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
    color: #ffffff;
    font-size: .9em;
    font-weight: 600;
    height: 100%;
    line-height: 1.5;
    padding: 0 0 0 .2em;
    text-align-last: center;
    width: 50%;

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:foxus {
    background: transparent;
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
    color: var(--text-primary);
    font-size: 16px;
}

.flatpickr-current-month .numInputWrapper {
    width: 50%;
}

.flatpickr-current-month .numInputWrapper .numInput {
    border-left: 1px solid #ffffff;
    color: #ffffff;
    font-size: .9em;
    font-weight: 600;
    padding: 0;
    text-align: center;
}

.flatpickr-current-month .numInputWrapper .arrowUp,
.flatpickr-current-month .numInputWrapper .arrowDown {
    display: none;
}

.form-control::placeholder {
    color: #999999;
    opacity: 1; /* Firefox */
}

.form-control:focus ~ .input-group-text {
    border-color: var(--text-primary);
    transition: border-color .15s ease-in-out;
}

.form-check-input:checked {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

.form-check-input:focus {
    box-shadow: none;
}

*>:focus {
    box-shadow: none !important;
    outline: 0 !important;
}


.injury-progress {
    background: transparent;
    border-bottom: 1px solid var(--color-primary);
    padding: .6em 0;
}

.injury-progress .item {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.injury-progress .item a {
    color: var(--text-primary);
    text-decoration: none;
}

.injury-progress .item.active .number {
    background: var(--color-primary);
}

.injury-progress .item.visited .number {
    background: var(--text-primary);
}

.injury-progress .item .number {
    align-items: center;
    background: #aaa;
    color: #fff;
    border-radius: 50%;
    display: flex;
    height: 2em;
    justify-content: center;
    margin: 0 auto;
    width: 2em;
}

.injury-progress .item a:hover {
    color: var(--color-primary);
}

@media(max-width: 470px) {
    .injury-progress {
        font-size: 13px;
    }

    .injury-progress .item {
        padding: 0 .4em;
    }

    .injury-progress .item .number {
        height: 1.7em;
        width: 1.7em;
    }
}

table * {
    color: var(--text-primary);
}

table td {
    vertical-align: middle;
}

table thead {
    border-bottom: solid 1px var(--text-primary);
    margin-bottom: .2rem;
}

table tbody tr {
    padding: .5rem .5rem;
}

table tbody tr:not(:last-child) {
    border-bottom: solid 1px #c1c1c1;
}

.injury-detail-box li::marker {
    color: var(--color-primary);
}

.injury-detail-box .answer {
    color: #000;
}

.body-parts-picker {
    background: #fff;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    display: flex;
    justify-content: center;
    padding: .5em;
}

.body-parts-map {
	max-height: 400px;
    max-width: 100%;
}

.body-parts-map .bodyPart          { cursor: pointer; fill: #6c757d; stroke: #FFFFFF; stroke-miterlimit: 30 !important; }
.body-parts-map .bodyPart.selected { fill: #61882c; stroke: #FFFFFF; }
.body-parts-map .bodyPart:hover    { fill: #507328; }

.body-part-names {
    max-width: 350px;
}

.chart-block .chart-title {
    align-items: flex-end;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

.chart-block .chart-title .btn {
    font-size: 12px;
    margin: 0 0 .5rem .5rem;
}

.chart-block .chart-box {
    align-items: center;
    background: rgba(255, 255, 255, .5);
    border: 1px solid var(--color-gray);
    border-radius: .25rem;
    display: flex;
    justify-content: center;
    padding: .2em .5em .5em .5em;
}

.chart-block .chart-box .chart {
    max-height: 100%;
}

@media (min-width: 400px) {
    .chart-block .chart-box {
        height: 300px;
    }

    .modal .chart-block .chart-box {
        height: 250px;
    }
}
