:root {
	--brand-color: #0c4573;
    --brand-text: #dee2e6;
	
	--altcha-max-width: 100%;
	--altcha-color-border: var(--brand-color);
	--altcha-color-border-focus: var(--brand-color);
	--altcha-color-text: rgba(var(--bs-body-color-rgb), .65);
}

* {
    scrollbar-color: var(--brand-color) var(--brand-text);
    scrollbar-width: thin;
}

body {
	padding: 4rem 0;
}

h1 {
    font-size: 1.5rem;
    /*color: var(--brand-color);*/
}

a {
	color: var(--brand-text);
}

hr {
	color: var(--brand-color);
	border-top: 2px solid;
}

@media (max-width: 767.98px) {
	.offcanvas.offcanvas-start {
		width: 100%;
	}
}

.offcanvas {
	color: #ffffff;
}
.offcanvas-header {
	padding-top: .8125rem;
	padding-bottom: .8125rem;
	background-color: var(--brand-color);
}

.navbar {
	background-color: var(--brand-color);
}
.navbar-brand {
	color: var(--brand-text);
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.2;
}

.navbar a {
    color: var(--brand-text);
    text-decoration: none;
    margin: 0 .25rem;
}
.navbar a:first-child {
    margin-left: 0;
}
.navbar a:last-child {
    margin-right: 0;
}

.btn-primary, .btn-primary.active, .btn-primary:active, .btn-primary:hover, .btn-primary:focus {
	color: var(--brand-text) !important;
	background-color: var(--brand-color) !important;
	border-color: var(--brand-color) !important;
}

.btn, .nav-link {
	padding: .7rem;
}
.btn, .btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active, .btn:hover, .btn:focus {
	color: var(--brand-text);
	box-shadow: none;
}
.btn-close, .btn-close.active, .btn-close:active, .btn-close:hover, .btn-close:focus {
	color: #ffffff;
	box-shadow: none;
}
.btn-outline-primary {
    border-color: var(--brand-color);
}
.btn-outline-primary:hover, .btn-outline-primary:active, .btn-outline-primary.active, .btn-check+.btn:hover, .btn-check:checked+.btn {
    color: var(--brand-text);
    background-color: var(--brand-color) !important;
    border-color: var(--brand-color) !important;
}
.btn-outline-primary.disabled, .btn-check:disabled+.btn, .btn-check[disabled]+.btn {
	color: var(--brand-text);
	border-color: var(--brand-color);
	background-color: var(--bs-secondary-bg) !important;
}

.nav-link, .nav-link:focus, .nav-link:hover {
	color: var(--brand-text);
}
.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
	color: var(--brand-text);
	background-color: var(--brand-color);
}


.input-group-text {
	color: #ffffff;
	border-color: var(--brand-color);
}

.form-control {
	border-color: var(--brand-color);
}

.form-check {
    margin-bottom: 0;
}
.form-check-input {
    border-color: var(--brand-color);
}
.form-check-input:checked {
    background-color: var(--brand-color);
    border-color: var(--brand-color);
}
.form-check-input:focus {
    border-color: var(--brand-color);
    box-shadow: none;
}

.form-select, .form-select:focus {
	color: #ffffff;
	border-color: var(--brand-color);
	box-shadow: none;
}

html[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection {
	padding-top: 1.625rem;
	color: #ffffff;
	border-color: var(--brand-color);
	box-shadow: none;
}
html[data-bs-theme="dark"] .select2-container--bootstrap-5.select2-container--disabled .select2-selection, html[data-bs-theme="dark"] .select2-container--bootstrap-5.select2-container--disabled.select2-container--focus .select2-selection {
	background-color: var(--bs-secondary-bg) !important;
}
html[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown {
    border-color: var(--brand-color) !important;
}
html[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown .select2-search .select2-search__field {
	color: #ffffff;
	border-color: var(--brand-color);
	box-shadow: none;
}
.select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option.select2-results__option--selected, .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option[aria-selected=true]:not(.select2-results__option--highlighted) {
	color: #ffffff;
	background-color: var(--brand-color);
}
.input-group>.form-floating:not(:first-child)>.select2-container--bootstrap-5 .select2-selection {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}


.keywords {
    /*color: var(--bs-body-bg);*/
    font-size: .675rem;
    text-align: center;
}
.keywords span {
	margin: 0 .5rem;
	white-space: nowrap;
}

.footer {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	padding: 0.5rem 0;
	background-color: var(--brand-color);
}

.collections .collection.list-header {
    min-height: auto;
	padding: .75rem;
    background-color: #376c99;
    font-weight: bold;
	border: 1px solid var(--brand-color);
	border-radius: 1rem;
	margin-top: 1rem;
}

.collections .collection-location {
    text-align: center;
    font-size: .875em;
    margin-top: 1rem;
}

.collections .collection.list-item {
	position: relative;
	display: flex;
	align-items: center;
	margin-top: 1rem;
}
.collections .collection.list-item .collection-body {
	position: relative;
	display: flex;
	align-items: center;
	padding: .75rem;
	border: 1px solid transparent;
	border-radius: 1rem;
	flex: 1;
}

.collections .collection .collection-icon {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 1rem;
	width: 3.125em;
	height: 3.125em;
	border: 1px solid transparent;
	border-radius: 50%;
}
.collections .collection .collection-icon span {
    position: absolute;
    bottom: 1px;
	padding: 0 .2rem;
    font-size: 75%;
	line-height: .6rem;
}

.collections .collection.residual .collection-icon,
.collections .collection.residual .collection-icon span,
.collections .collection.list-item.residual .collection-body {
	color: #e0e0e0;
	background-color: #2b2b2b;
	border-color: #555555;
}
.collections .collection.organic .collection-icon,
.collections .collection.organic .collection-icon span,
.collections .collection.list-item.organic .collection-body {
	color: #d2f5d0;
	background-color: #15351b;
	border-color: #2f6b39;
}
.collections .collection.plastic .collection-icon,
.collections .collection.plastic .collection-icon span,
.collections .collection.list-item.plastic .collection-body {
	color: #ffefc1;
	background-color: #4a3500;
	border-color: #b38100;
}
.collections .collection.paper .collection-icon,
.collections .collection.paper .collection-icon span,
.collections .collection.list-item.paper .collection-body {
	color: #c9e4ff;
	background-color: #0e2940;
	border-color: #1d5a85;
}
.collections .collection.glass .collection-icon,
.collections .collection.glass .collection-icon span,
.collections .collection.list-item.glass .collection-body {
	color: #d4f7f3;
	background-color: #0e2f31;
	border-color: #2b6e73;
}
.collections .collection.clothing .collection-icon,
.collections .collection.clothing .collection-icon span,
.collections .collection.list-item.clothing .collection-body {
	color: #e7d9ff;
	background-color: #2a103d;
	border-color: #6b3fa0;
}
.collections .collection.harmful .collection-icon,
.collections .collection.harmful .collection-icon span,
.collections .collection.list-item.harmful .collection-body {
	color: #ffd6d6;
	background-color: #3a0e0e;
	border-color: #8b2c2c;
}
.collections .collection.bulky .collection-icon,
.collections .collection.bulky .collection-icon span,
.collections .collection.list-item.bulky .collection-body {
	color: #eadcc8;
	background-color: #3b2a1f;
	border-color: #6b4f38;
}

.collections .collection.list-item .collection-date {
	font-weight: bold;
    width: 140px;
}
.collections .collection.list-item .collection-text {
	margin-left: 2rem;
}
.collections .collection.list-item .collection-interval {
	margin-left: 2rem;
}

@media (max-width: 767.98px) {
	.collections .collection.list-header {
		padding: .375rem;
	}
    .collections .collection.list-item .collection-icon {
        margin-right: .5rem;
        width: 2.375em;
        height: 2.375em;
	}
	.collections .collection.list-item .collection-body {
		padding: .375rem;
	}
    .collections .collection.list-item .collection-date {
        width: 85px;
    }
	.collections .collection.list-item .collection-text {
		margin-left: 1rem;
	}
	.collections .collection.list-item .collection-interval {
		margin-left: 1rem;
	}
}

.collections .collection .collection-icon:hover .fa-flip-hover {
    animation-name: fa-flip;
    animation-delay: var(--fa-animation-delay, 0s);
    animation-direction: var(--fa-animation-direction, normal);
    animation-duration: 2s;
    animation-iteration-count: var(--fa-animation-iteration-count, infinite);
    animation-timing-function: var(--fa-animation-timing, ease-in-out)
}


.collections .calendar {
    position: relative;
    border: 1px solid var(--brand-color);
    border-radius: 1.5rem 1.5rem .25rem .25rem;
}
.collections .calendar .row {
    margin-left: 0;
    margin-right: 0;
}
.collections .calendar .row:first-child .col.calendar-header:first-child {
	border-top-left-radius: 1.5rem;
	border-top-right-radius: 1.5rem;
}

.collections .calendar .row .col {
    display: flex;
    flex-wrap: wrap;
	align-content: flex-start;
    justify-content: center;
    align-items: flex-start;
    flex: 1 1 auto;
    width: 14.285714285714%;
    min-height: 74px;
    padding: calc(var(--bs-gutter-x) * .125);
    border: 1px solid var(--brand-color);
    border-top: 0;
    border-right: 0;
    text-align: center;
}
.collections .calendar .row .col:first-child {
    border-left: 0;
}
.collections .calendar .row:last-child .col {
    border-bottom: 0;
}
.collections .calendar .row .col.calendar-header {
    min-height: auto;
    padding-top: calc(var(--bs-gutter-x) * .25);
    padding-bottom: calc(var(--bs-gutter-x) * .25);
    background-color: #376c99;
    font-weight: bold;
}
.collections .calendar .row .col.calendar-today {
    background-color: #2f6b39b3; /*#234729;*/
}
.collections .calendar .row .col.calendar-holiday {
    background-color: #aa5555;
}
.collections .calendar .row .col .calendar-day {
    flex: 1 1 100%;
    margin-bottom: .25rem;

}
.collections .calendar .row .col .collection {
    display: flex;
}
.collections .calendar .row .col .collection .collection-icon {
    width: 2em;
    height: 2em;
    margin: .125rem;
}

.collections .collection.today .collection-icon, .collections .collection.today .collection-body {
	/*border-color: #2f6b39b3 !important;*/
	animation: pulseToday 2s infinite;
}
@keyframes pulseToday {
  0%   { box-shadow: 0 0 0 0 #2f6b39b3; }
  70%  { box-shadow: 0 0 10px 8px #2f6b3900; }
  100% { box-shadow: 0 0 0 0 #2f6b3900; }
}

.collections .collection.tomorrow .collection-icon, .collections .collection.tomorrow .collection-body {
	/*border-color: #b38100b3 !important;*/
	animation: pulseTomorrow 2s infinite;
}
@keyframes pulseTomorrow {
  0%   { box-shadow: 0 0 0 0 #b38100b3; }
  70%  { box-shadow: 0 0 10px 8px #b3810000; }
  100% { box-shadow: 0 0 0 0 #b3810000; }
}

#cc-main .cm--bar {
    margin-bottom: 29px;
}