:root {
    --bs-body-font-family: Segoe UI,Tahoma,sans-serif;
}

html {
    font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.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 #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
}

footer {
    margin-top: 15px;
    padding: 10px;
    text-align: center;
    color: #999;
}

.bg-header {
    background-color: #497B36;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' viewBox='0 0 1600 800'%3E%3Cg %3E%3Cpath fill='%234f863b' d='M486 705.8c-109.3-21.8-223.4-32.2-335.3-19.4C99.5 692.1 49 703 0 719.8V800h843.8c-115.9-33.2-230.8-68.1-347.6-92.2C492.8 707.1 489.4 706.5 486 705.8z'/%3E%3Cpath fill='%2355903f' d='M1600 0H0v719.8c49-16.8 99.5-27.8 150.7-33.5c111.9-12.7 226-2.4 335.3 19.4c3.4 0.7 6.8 1.4 10.2 2c116.8 24 231.7 59 347.6 92.2H1600V0z'/%3E%3Cpath fill='%235c9b44' d='M478.4 581c3.2 0.8 6.4 1.7 9.5 2.5c196.2 52.5 388.7 133.5 593.5 176.6c174.2 36.6 349.5 29.2 518.6-10.2V0H0v574.9c52.3-17.6 106.5-27.7 161.1-30.9C268.4 537.4 375.7 554.2 478.4 581z'/%3E%3Cpath fill='%2362a548' d='M0 0v429.4c55.6-18.4 113.5-27.3 171.4-27.7c102.8-0.8 203.2 22.7 299.3 54.5c3 1 5.9 2 8.9 3c183.6 62 365.7 146.1 562.4 192.1c186.7 43.7 376.3 34.4 557.9-12.6V0H0z'/%3E%3Cpath fill='%2368B04D' d='M181.8 259.4c98.2 6 191.9 35.2 281.3 72.1c2.8 1.1 5.5 2.3 8.3 3.4c171 71.6 342.7 158.5 531.3 207.7c198.8 51.8 403.4 40.8 597.3-14.8V0H0v283.2C59 263.6 120.6 255.7 181.8 259.4z'/%3E%3Cpath fill='%2368b64a' d='M1600 0H0v136.3c62.3-20.9 127.7-27.5 192.2-19.2c93.6 12.1 180.5 47.7 263.3 89.6c2.6 1.3 5.1 2.6 7.7 3.9c158.4 81.1 319.7 170.9 500.3 223.2c210.5 61 430.8 49 636.6-16.6V0z'/%3E%3Cpath fill='%2369bb49' d='M454.9 86.3C600.7 177 751.6 269.3 924.1 325c208.6 67.4 431.3 60.8 637.9-5.3c12.8-4.1 25.4-8.4 38.1-12.9V0H288.1c56 21.3 108.7 50.6 159.7 82C450.2 83.4 452.5 84.9 454.9 86.3z'/%3E%3Cpath fill='%236ac047' d='M1600 0H498c118.1 85.8 243.5 164.5 386.8 216.2c191.8 69.2 400 74.7 595 21.1c40.8-11.2 81.1-25.2 120.3-41.7V0z'/%3E%3Cpath fill='%236cc545' d='M1397.5 154.8c47.2-10.6 93.6-25.3 138.6-43.8c21.7-8.9 43-18.8 63.9-29.5V0H643.4c62.9 41.7 129.7 78.2 202.1 107.4C1020.4 178.1 1214.2 196.1 1397.5 154.8z'/%3E%3Cpath fill='%236DCA44' d='M1315.3 72.4c75.3-12.6 148.9-37.1 216.8-72.4h-723C966.8 71 1144.7 101 1315.3 72.4z'/%3E%3C/g%3E%3C/svg%3E");
    background-attachment: fixed;
    background-size: cover;
}

.bg-nav {
    background-color: #6b4613;
}

.site-button {
    padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
    border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
    border-radius: var(--bs-navbar-toggler-border-radius);
    transition: border 500ms;
}

.site-button:hover {
    border-color: rgba(255, 255, 255, 0.5);
}

.site-header-title {
	text-shadow: 0 1px 0 rgba(255,255,255,0.35);
	color: #173f33;
	font-weight: 900;
	font-size: clamp(1rem, -0.875rem + 8.333vw, 2rem);
	text-decoration: none;
}

/*!
* Hover.css (http://ianlunn.github.io/Hover/)
* Version: 2.0.2
* Author: Ian Lunn @IanLunn
* Author URL: http://ianlunn.co.uk/
* Github: https://github.com/IanLunn/Hover

* Made available under a MIT License:
* http://www.opensource.org/licenses/mit-license.php

* Hover.css Copyright Ian Lunn 2014. Generated with Sass.
*/
/* Underline From Center */
.hvr-underline-from-center {
    display: inline-block;
    vertical-align: middle;
    transform: translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    backface-visibility: hidden;
    position: relative;
    overflow: hidden;
    /*--bs-nav-link-padding-y: 0.75rem;*/
}

.hvr-underline-from-center:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    right: 50%;
    bottom: 0;
    background: rgba(255,255,255,0.8);
    height: 3px;
    border-radius: 2px;
    transition-property: left, right;
    transition-duration: 0.3s;
    transition-timing-function: ease-out;
}

.hvr-underline-from-center:hover:before,
.hvr-underline-from-center:focus:before,
.hvr-underline-from-center:active:before,
.hvr-underline-from-center.active:before {
    left: 0;
    right: 0;
}

.hvr-underline-from-center.active:before {
    background: #ffffff;
}

.progress-button {
    background-image: linear-gradient(to right, #00b74a 50%, #278c51 50%);
    background-size: 200% 100%;
}

.progress-button.animated-progress {
    background-position: -99% 0;
    transition: background-position 1.5s linear;
}

@media (pointer: fine) {
    .d-hover-none {
        display: none;
    }
}

.gradient-background-blue {
    background: rgb(19,99,158);
    background: linear-gradient(70deg, rgba(2,40,81,1) 0%, rgba(19,99,158,1) 24%, rgba(2,40,81,1) 62%);
}

.gradient-background-brown {
    background: linear-gradient(70deg, rgb(81 49 2) 0%, rgb(158 96 19) 24%, rgb(81 57 2) 62%);
}

.gradient-background-aqua {
    background: linear-gradient(70deg, rgb(79, 81, 2) 0%, rgb(19 132 158) 24%, rgb(2 81 81) 62%);
}

.gradient-background-green {
    background: linear-gradient(70deg, rgb(2 81 15) 0%, rgb(19 158 81) 24%, rgb(2 81 4) 62%);
}

.gradient-background-purple {
    background: linear-gradient(70deg, rgb(59 2 81) 0%, rgb(105 19 158) 24%, rgb(32 2 81) 62%);
}

.gradient-background-gray {
    background: linear-gradient(70deg, rgb(76 76 76) 0%, rgb(126 126 126) 24%, rgb(66 66 66) 62%);
}

.gradient-background-olive {
    background: linear-gradient(70deg, #808000 0%, #a8a800 24%, #808000 62%);
}

.btn.loading::after,
.btn-close.loading::after,
.form-check.loading::after,
.loadable.loading::after {
    animation: 0.6s linear 0s normal none infinite running rotation;
    border-color: rgba(255, 255, 255, 0.8) rgba(255, 255, 255, 0.15) rgba(255, 255, 255, 0.15);
    border-radius: 100%;
    border-style: solid;
    border-width: 4px;
    display: inline-block;
    height: 16px;
    position: relative;
    vertical-align: middle;
    width: 16px;
    margin-left: 5px;
    content: "";
    margin-top: -4px;
}

.btn-outline-primary.loading::after,
.btn-outline-secondary.loading::after,
.btn-outline-success.loading::after,
.btn-outline-danger.loading::after,
.btn-outline-warning.loading::after,
.btn-outline-info.loading::after,
.btn-outline-light.loading::after,
.btn-outline-dark.loading::after,
.btn.btn-light.loading::after,
.btn-close.loading::after,
.loadable.loading::after {
    border-color: rgba(51, 51, 51, 0.8) rgba(51, 51, 51, 0.15) rgba(51, 51, 51, 0.15);
}

.btn.loading-overlay {
    position: relative;
    color: transparent !important;
    border-color: var(--bs-btn-border-color);
}

.btn-close.loading {
    position: relative;
    border-color: var(--bs-btn-border-color);
    background: none;
}

.form-check.loading,
.loadable.loading {
    position: relative;
}

.form-check.loading > input {
    opacity: 0.1;
}

.loadable.loading {
    --bs-link-opacity: 0.1;
}

.btn.loading-overlay::after,
.btn-close.loading::after,
.loadable.loading::after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

.form-check.loading::after {
    position: absolute;
    top: 0;
    left: .25rem;
    bottom: 0;
    margin: auto;
    height: 1.5rem;
    width: 1.5rem;
    border-color: rgba(13, 110, 253, 0.9) rgba(172, 172, 172, 0.25) rgba(172, 172, 172, 0.25);
}

.loader {
    text-indent: -9999em;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #00a1ff;
    background: linear-gradient(to right, #00a1ff 10%, rgba(0, 128, 255, 0) 42%);
    position: absolute;
    animation: rotation .6s linear infinite;
    transform: translateZ(0);
    font-size: 0;
    display: inline-block;
    vertical-align: middle;
    margin-top: 2px;
    margin-left: 5px;
}

.loader:before {
    width: 50%;
    height: 50%;
    background: #00a1ff;
    border-radius: 100% 0 0 0;
    position: absolute;
    top: 0;
    left: 0;
    content: '';
}

.loader:after {
    background: #ffffff;
    width: 75%;
    height: 75%;
    border-radius: 50%;
    content: '';
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.loader.loader-inline {
    position: relative;
    margin-right: 10px;
}

.loader.loader-sm {
    width: 18px;
    height: 18px;
    margin-top: 0;
}

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

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

.form-floating.form-floating-sm > .form-control,
.form-floating.form-floating-sm > .form-control-plaintext {
    padding: inherit;
}

.form-floating.form-floating-sm > .form-control,
.form-floating.form-floating-sm > .form-control-plaintext,
.form-floating.form-floating-sm > .form-select {
    padding: 0.36rem .75rem;
    /*background-color: white;*/
    min-height: auto;
    height: inherit;
    /* min-height: inherit; */
    line-height: inherit;
}

.form-floating.form-floating-sm > .form-control-plaintext ~ label,
.form-floating.form-floating-sm > .form-control:focus ~ label,
.form-floating.form-floating-sm > .form-control:not(:placeholder-shown) ~ label,
.form-floating.form-floating-sm > .form-select ~ label {
	color: rgba(var(--bs-body-color-rgb), .65);
	transform: scale(.9) translateY(-0.74rem) translateX(0.1rem);
	/*background-color: white;*/
	padding-left: 0.1rem;
	padding-right: 0.1rem;
	padding-top: 0;
}

.form-floating.form-floating-sm > .form-control-plaintext:not(:disabled) ~ label,
.form-floating.form-floating-sm > .form-control:focus:not(:disabled) ~ label,
.form-floating.form-floating-sm > .form-control:not(:placeholder-shown):not(:disabled) ~ label,
.form-floating.form-floating-sm > .form-select:not(:disabled) ~ label {
    background-color: white;
}

.form-floating.form-floating-sm > label {
    position: absolute;
    top: 0;
    left: 0.75rem;
    margin-bottom: 0;
    z-index: 2;
    padding: 0 0;
    height: auto;
    font-size: 14px;
    padding-top: 0.37rem;
    overflow: hidden;
    text-align: start;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
    border: var(--bs-border-width) solid transparent;
    transform-origin: 0 0;
    transition: opacity .1s ease-in-out, transform .1s ease-in-out;
}

/********************
* Saving / Deleting Modal
********************/
.modal-in-progress .modal-show-on-success,
.modal-in-progress .modal-show-on-fail,
.modal-in-progress .modal-show-on-confirm {
    display: none;
}

.modal-success .modal-show-on-in-progress,
.modal-success .modal-show-on-fail,
.modal-success .modal-show-on-confirm {
    display: none;
}

.modal-fail .modal-show-on-in-progress,
.modal-fail .modal-show-on-success,
.modal-fail .modal-show-on-confirm {
    display: none;
}

.modal-confirm .modal-show-on-in-progress,
.modal-confirm .modal-show-on-success,
.modal-confirm .modal-show-on-fail {
    display: none;
}

.modal-in-progress .modal-hide-on-in-progress {
    display: none;
}

.animated-ellipsis {
    margin: 10px auto;
    width: 110px;
    text-align: center;
}

.animated-ellipsis > div {
    width: 18px;
    height: 18px;
    background-color: #337ab7;
    box-shadow: 0 0 5px #337ab7;
    border-radius: 100%;
    display: inline-block;
    animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}

.animated-ellipsis > div:nth-child(1) {
    animation-delay: -0.64s;
}

.animated-ellipsis > div:nth-child(2) {
    animation-delay: -0.48s;
}

.animated-ellipsis > div:nth-child(3) {
    animation-delay: -0.32s;
}

.animated-ellipsis > div:nth-child(4) {
    animation-delay: -0.16s;
}

@keyframes sk-bouncedelay {
    0%, 80%, 100% {
        transform: scale(0);
        opacity: 0;
    }

    40% {
        transform: scale(1.0);
        opacity: 1;
    }
}

.highlight-danger,
tr.highlight-danger > td {
    background-color: #ffe5e5 !important;
}

.btn:disabled, fieldset:disabled .btn {
    pointer-events: auto;
    cursor: not-allowed;
}

.btn-not-allowed-wrapper {
    cursor: not-allowed;
    display: inline-block;
}

.form-control:disabled, .form-control[readonly] {
    background-color: #e9ecef !important;
    opacity: 1;
}

/* Bootstrap extensions */
.collapse-icons::before {
    font-family: FontAwesome;
    margin-right: .3rem;
    content: "\f147";
}

.collapse-icons.collapsed::before {
    content: "\f196";
}

.btn {
    -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .2), 0 2px 10px 0 rgba(0, 0, 0, .1);
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .2), 0 2px 10px 0 rgba(0, 0, 0, .1);
}

.btn.active, .btn.active:focus, .btn.focus, .btn:active, .btn:active:focus, .btn:focus, .btn:hover {
    -webkit-box-shadow: 0 4px 10px 0 rgba(0, 0, 0, .2), 0 4px 20px 0 rgba(0, 0, 0, .1);
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, .2), 0 4px 20px 0 rgba(0, 0, 0, .1);
}

.btn.disabled, .btn:disabled, fieldset:disabled .btn {
    -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .2), 0 2px 10px 0 rgba(0, 0, 0, .1);
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .2), 0 2px 10px 0 rgba(0, 0, 0, .1);
}

.btn-check:focus + .btn, .btn:focus {
    outline: 0;
    -webkit-box-shadow: 0 4px 10px 0 rgba(0, 0, 0, .2), 0 4px 20px 0 rgba(0, 0, 0, .1);
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, .2), 0 4px 20px 0 rgba(0, 0, 0, .1);
}

[class*=btn-outline-] {
    -webkit-box-shadow: none;
    box-shadow: none;
}

[class*=btn-outline-].focus, [class*=btn-outline-]:focus, [class*=btn-outline-]:hover {
    -webkit-box-shadow: none;
    box-shadow: none;
}

[class*=btn-outline-].active, [class*=btn-outline-].active:focus, [class*=btn-outline-].disabled, [class*=btn-outline-]:active, [class*=btn-outline-]:active:focus, [class*=btn-outline-]:disabled, fieldset:disabled [class*=btn-outline-] {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.btn-group, .btn-group-vertical {
    -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .2), 0 2px 10px 0 rgba(0, 0, 0, .1);
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .2), 0 2px 10px 0 rgba(0, 0, 0, .1);
}

.btn-group-vertical.active, .btn-group-vertical.active:focus, .btn-group-vertical.focus, .btn-group-vertical:active, .btn-group-vertical:active:focus, .btn-group-vertical:focus, .btn-group-vertical:hover, .btn-group.active, .btn-group.active:focus, .btn-group.focus, .btn-group:active, .btn-group:active:focus, .btn-group:focus, .btn-group:hover {
    -webkit-box-shadow: 0 4px 10px 0 rgba(0, 0, 0, .2), 0 4px 20px 0 rgba(0, 0, 0, .1);
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, .2), 0 4px 20px 0 rgba(0, 0, 0, .1);
}

.btn-group-vertical.disabled, .btn-group-vertical:disabled, .btn-group.disabled, .btn-group:disabled, fieldset:disabled .btn-group, fieldset:disabled .btn-group-vertical {
    -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .2), 0 2px 10px 0 rgba(0, 0, 0, .1);
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .2), 0 2px 10px 0 rgba(0, 0, 0, .1);
    border: 0;
}

.btn-group-vertical > .btn, .btn-group-vertical > .btn-group, .btn-group > .btn, .btn-group > .btn-group {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.table-hover {
    --bs-table-hover-bg: #e6e9bf;
}

.table-hover > tbody > tr > th {
    box-shadow: none;
}

.text-purple {
    color: purple;
}

.text-bg-purple {
    color: #fff !important;
    background-color: rgba(128, 0, 128,var(--bs-bg-opacity,1)) !important;
}

.form-control::placeholder {
    opacity: 0.5;
    font-style: italic;
}

input[type="radio"].btn-check:checked + label,
input[type="checkbox"].btn-check:checked + label {
    box-shadow: inset 0 2px 5px 0 rgba(0, 0, 0, .3);
    position: relative;
    padding-left: 2rem;
    padding-right: 1rem;
}

input[type="radio"].btn-check:checked + label[class*="btn-outline-"],
input[type="checkbox"].btn-check:checked + label[class*="btn-outline-"] {
    padding-right: 0.875rem;
    padding-left: 1.875rem;
}

input[type="radio"].btn-check:checked + label::before,
input[type="checkbox"].btn-check:checked + label::before {
    content: "\2713";
    font-size: 1.2rem;
    line-height: 0;
    margin-right: 0.5rem;
    font-weight: bold;
    text-shadow: 2px 3px 5px rgba(0,0,0,0.5);
    position: absolute;
    left: 0.7rem;
    top: 46%;
}

@media only screen and (max-width: 768px) {
    table.table-responsive-wrap-md {
        border: 0;
    }

    table.table-responsive-wrap-md > thead {
        border: none;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    }

    table.table-responsive-wrap-md > thead > tr,
    table.table-responsive-wrap-md > tbody > tr,
    table.table-responsive-wrap-md > tfoot > tr {
        border-bottom: 2px solid #ddd;
        display: block;
        margin-bottom: .625em;
        border-top: 1px solid #ddd;
    }

    table.table-responsive-wrap-md > thead > tr > th,
    table.table-responsive-wrap-md > tbody > tr > th,
    table.table-responsive-wrap-md > tfoot > tr > th,
    table.table-responsive-wrap-md > thead > tr > td,
    table.table-responsive-wrap-md > tbody > tr > td,
    table.table-responsive-wrap-md > tfoot > tr > td {
        display: block;
        border-bottom: none;
    }

    table.table-responsive-wrap-md.table-responsive-content-right > thead > tr > th,
    table.table-responsive-wrap-md.table-responsive-content-right > tbody > tr > th,
    table.table-responsive-wrap-md.table-responsive-content-right > tfoot > tr > th,
    table.table-responsive-wrap-md.table-responsive-content-right > thead > tr > td,
    table.table-responsive-wrap-md.table-responsive-content-right > tbody > tr > td,
    table.table-responsive-wrap-md.table-responsive-content-right > tfoot > tr > td {
        text-align: right;
    }

    table.table-responsive-wrap-md > thead > tr > th:before,
    table.table-responsive-wrap-md > tbody > tr > th:before,
    table.table-responsive-wrap-md > tfoot > tr > th:before,
    table.table-responsive-wrap-md > thead > tr > td:before,
    table.table-responsive-wrap-md > tbody > tr > td:before,
    table.table-responsive-wrap-md > tfoot > tr > td:before {
        /*
		* aria-label has no advantage, it won't be read inside a table
		content: attr(aria-label);
		*/
        content: attr(data-label);
        font-weight: bold;
        text-transform: uppercase;
        margin-right: 10px;
    }

    table.table-responsive-wrap-md.table-responsive-content-right > thead > tr > th::before,
    table.table-responsive-wrap-md.table-responsive-content-right > tbody > tr > th::before,
    table.table-responsive-wrap-md.table-responsive-content-right > tfoot > tr > th::before,
    table.table-responsive-wrap-md.table-responsive-content-right > thead > tr > td::before,
    table.table-responsive-wrap-md.table-responsive-content-right > tbody > tr > td::before,
    table.table-responsive-wrap-md.table-responsive-content-right > tfoot > tr > td::before {
        float: left;
    }

    table.table-responsive-wrap-md.table-responsive-content-right > thead > tr > th::after,
    table.table-responsive-wrap-md.table-responsive-content-right > tbody > tr > th::after,
    table.table-responsive-wrap-md.table-responsive-content-right > tfoot > tr > th::after,
    table.table-responsive-wrap-md.table-responsive-content-right > thead > tr > td::after,
    table.table-responsive-wrap-md.table-responsive-content-right > tbody > tr > td::after,
    table.table-responsive-wrap-md.table-responsive-content-right > tfoot > tr > td::after {
        display: table;
        content: " ";
        clear: both;
    }

    table.table-responsive-wrap-md > thead > tr > th:last-child,
    table.table-responsive-wrap-md > thead > tr > td:last-child {
        border-bottom: 0;
    }

    table.table-responsive-wrap-md.table-bordered > tbody > tr > th,
    table.table-responsive-wrap-md.table-bordered > tbody > tr > td {
        border: none;
    }
}

.text-muted-light {
    color: #aaa;
}

.expand-button {
    position: absolute;
    right: 0;
    top: 0.25em;
    display: inline-flex;
    align-items: center;
    z-index: 1;
}

.expand-button span {
    white-space: nowrap;
    width: auto;
    -webkit-transition: max-width 0.5s;
    transition: max-width 0.5s;
    overflow: hidden;
    max-width: 0;
}

.expand-button:disabled {
    opacity: 1;
    background-color: #73c8ea;
    border-color: #73c8ea;
    color: #d2edf8;
}