/*
	(c)2020 - visuallizard.com

	General Layout Styles.
	Sets major blocking to elements that appear accross the site in different templates.
	All can be removed and started from scratch or elemnts can be adjusted individually.
*/



.site-title {
	display: block;

}
	.site-title > a {
		display: block;
		position: relative;
		width: 3em;
        height: 3em;
		padding: 0;
		margin: 0;

		border: 0;
		border-radius: 0.75em;

		font-size: 0.75rem;
		line-height: 1;
		text-decoration: none;
		text-indent: -999em;
		font-weight: 800;

		background-image: url("/img/logo-gift.svg");
		background-position: left center;
		background-repeat: no-repeat;
		background-size: contain;
		color: inherit;

		overflow: hidden;
		transition: transform .2s;
	}
		/* used to ensure SVG is preloaded, to avoid "flickering" on first hover of logo above */
		.site-title > a:after {
			content: "";
			width: 1px;
			height: 1px;
			opacity: 0;
		}
		.site-title > a:after,
		.site-title > a:hover {
			/* background-image: url("../../img/header-logo-white-horizontal-hover.svg"); */
		}
		.site-title > a:hover {
			transform: scale(105%);
		}
header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;

	margin-top: 0;
	padding: .5rem 1.5rem;
	background-color: var(--primary-color);
}

/* ! Navigation Member Wrapper */
.site-header-member-wrapper {
	display: flex;
	position: relative;
	flex-wrap: nowrap;
	justify-content: space-around;
	align-items: center;
	padding: 0;
	margin: 0;
}
	.search-form {
		display: inline-flex;
		align-items: center;
		justify-content: space-between;

		padding: 0.5em 0.75em;
		margin: 0;
		max-width: 200px;
		border-radius: 8px;

		background: white;
	}
		.search-input {
			flex-grow: 1;

			padding: 0;
			margin: 0 1em 0 0;
			border: none;
		}
		.search-button {
			padding: 0.25em;
			border: 0;
			margin: 0;

			font-size: inherit;
		}

	.site-header-notifications,
	.site-header-capacity,
	.site-header-profiles {
		position: relative;

		display: flex;
		align-items: center;
	}

		.site-header-notifications [class*="fa-"],
		.site-header-capacity [class*="fa-"],
		.site-header-profiles [class*="fa-"] {
			color: white;
			font-size: 1.25em;
			text-align: center;
		}

			.site-header-notifications a:hover [class*="fa-"],
			.site-header-capacity a:hover [class*="fa-"],
			.site-header-profiles a:hover [class*="fa-"] {
				color: #035700 !important;
			}

		.site-header-profiles dl {
			display: block;
			margin: 0 2em 0 0.75em;
		}

			.site-header-profiles dt {
				display: none;
			}

			.site-header-profiles dd {
				margin: 0;

				color: white;
				font-size: 0.75em;
				line-height: 1.25;
			}

			.site-header-profiles dd:nth-child(2) {
				font-weight: 600;
				text-transform: uppercase;
			}


/* 	! SECTIONS	*/
main {
	display: flex;
	position: relative;
	flex-wrap: wrap;
	align-content: flex-start;
	width: 100%;
	padding: 1.25em 1em 3em;
	margin: 0;
	background: #f3f4f4;
}
	main .main-region {
		flex-grow: 1;
	}
	main > div,
	main > form { width: 100%; }



/* ! NAVIGATIONS	*/
/* General for all levels and navs: */
.nav-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.nav-item {
	position: relative;
	display: inline-block;
	display: block;
	vertical-align: top;
	transition: all .2s;
}
.nav-link {
	display: block;
	padding: .5rem 0;

	color: white;
	font-size: 1rem;
	font-size: clamp(.8125rem, 1.25vw, 1.2rem);
	line-height: 1.3;
	text-decoration: none;
	transition: all .2s;
}

.nav-link:hover {
	color: #fff;
}
.nav-link:focus {
	color:rgba(255,255,255,.9);
	outline-offset: .5em;
}

	/* .main-nav .nav-link::before, */
	.main-nav .nav-link::after {
		content: '';
		width: 100%;
		height: 1rem;
		/* border-radius:.25rem; */
		position: absolute;
		left: 0;
		right: 0;
		background-color: #f3f4f4;
		transition: transform .2s;
	}
	.main-nav .nav-link::before { top: -2rem; }
	.main-nav .nav-link::after { bottom: -2rem; }

	.main-nav .nav-item:hover > .nav-link::before,
	.main-nav .nav-item[data-nav-status='has-active'] > .nav-link::before,
	.main-nav .nav-item[data-nav-status='active'] > .nav-link::before  { transform: translateY(.85rem); }

	.main-nav .nav-item:hover > .nav-link::after,
	.main-nav .nav-item[data-nav-status='has-active'] > .nav-link::after,
	.main-nav .nav-item[data-nav-status='active'] > .nav-link::after  { transform: translateY(-.85rem); }


	/* Level 1 (horizontal) */
	.main-nav {
		flex-grow: 1;
	}
	.main-nav .nav-1 {
		display: flex;
		flex-direction: row;
		justify-content: center;

		font-family: "Source Sans Pro", sans-serif;
		font-weight: 600;
	}
	.main-nav .nav-1 > li {
		margin: 0 1%;
	}
		.main-nav .nav-1 > li:last-child {
			margin-right: 0;
		}
	.main-nav .nav-1 > li > a {
		text-align: center;
		text-transform: uppercase;
	}

	/* all sub-lists (drop-downs & drop-sides) */
	.main-nav .sub-list,
	.site-header-tools .nav-list {
		display: block;

		position: absolute;
		top: 0;
		left: 0;

		padding: 6px 0;
		margin-top: -12px;
		margin-left: -120px;
			margin-left: calc( -120px + 50% );
		width: 240px;
		/* border-radius: 8px; */
		background: white;

		-webkit-box-shadow: 0 6px 12px rgba(0,0,0,0.2);
		box-shadow: 0 6px 12px rgba(0,0,0,0.2);

		z-index: 100;
	}
		.site-header-tools .nav-list {
			margin-left: -190px;

			font-family: "Source Sans Pro", sans-serif;
			font-weight: 700;
		}
		.main-nav .sub-list:before,
		.site-header-tools .nav-list:before {
			content: "";

			position: absolute;
			top: -15px;
			left: 50%;

			margin-left: -6px;
			width: 0;
			height: 0;
			border-left: 12px solid transparent;
			border-right: 12px solid transparent;
			border-bottom: 15px solid white;

			z-index: 10;
		}
			.main-nav > .nav-list > li:first-child .sub-list:before {
				left: 35px;
			}
			.site-header-tools .nav-list:before {
				left: 205px;
			}
		.main-nav li > .sub-list,
		.site-header-tools .nav-list {
			visibility: hidden;	opacity: 0; transform: scale(1);
		}
		.main-nav li:hover > .sub-list,
		.site-header-tools:hover .nav-list {
			visibility: visible; opacity: 1; transform: scale(1);
		}
		.main-nav li:focus-within > .sub-list,
		.site-header-tools:focus > .nav-list {
			visibility: visible; opacity: 1; transform: scale(1);
		}
			.main-nav .sub-list a[data-page-description]::after,
			.site-header-tools .nav-list a[data-page-description]::after {
				content: attr(data-page-description);

				display: block;
				margin: 0;

				color: #666666;
				font-family: "Source Sans Pro";
				font-weight: 400;
				font-size: 0.75rem;
				line-height: 1.25;
			}
				.main-nav .sub-list a[data-page-description]:hover::after,
				.site-header-tools .nav-list a[data-page-description]:hover::after {
					color: '#035700';
				}
		.main-nav .sub-list .sub-list {}
	.main-nav :nth-last-child(1) > .nav-2,
	.main-nav :nth-last-child(2) > .nav-2 {}
	.main-nav :nth-last-child(1) > .nav-2 .nav-list,
	.main-nav :nth-last-child(2) > .nav-2 .nav-list {}
	.main-nav :nth-last-child(1) > .nav-2 .has-sub > .nav-link::after,
	.main-nav :nth-last-child(2) > .nav-2 .has-sub > .nav-link::after {}

	/* Level 2 (the only drop-down ) */
	.main-nav .nav-2,
	.site-header-tools .nav-list {
		top: 110%;
	}
		.main-nav > .nav-list > li:first-child .sub-list {
			left: 150%;
		}
		.site-header-tools .nav-list {
			top: 66px;
			left: 0;
		}
	.main-nav .nav-2 > li,
	.site-header-tools .nav-list > li {
		margin: 0;
		padding: 6px 12px;
		border-top: 1px solid #eeeeee;
	}
		.main-nav .nav-2 > li:first-child,
		.site-header-tools .nav-list > li:first-child {
			border-top: none;
		}
		.main-nav .nav-2 > li > a,
		.site-header-tools .nav-list > li > a {
			padding: 0.25em 0 0;

			color: #1C1917;
			line-height: 1.5;
			letter-spacing: normal;
		}
			.main-nav .nav-2 > li > a:hover,
			.main-nav .nav-2 > li > a:hover:after,
			.main-nav .nav-2 > li[data-nav-status='active'] > a,
			.main-nav .nav-2 > li[data-nav-status='active'] > a:after,
			.site-header-tools .nav-list > li > a:hover,
			.site-header-tools .nav-list > li > a:hover:after,
			.site-header-tools .nav-list > li[data-nav-status='active'] > a,
			.site-header-tools .nav-list > li[data-nav-status='active'] > a:after {
				border-color: transparent;

				color: #035700;
			}
			.nav-item[data-nav-status='active'] > .nav-link

	/* Level 3, etc. */
	.main-nav .nav-3 {

	}
	.main-nav .nav-3 > li {

	}
	.main-nav .nav-3 > li > a {

	}



/* ! Resources */
.p-resources {}

	.p-resources h2:nth-child(n+2) {
		padding-top: .5em;
		border-top: 1px solid #D1D5DB;
	}
	.p-links h2:nth-child(n+2) {
		padding-top: .5em;
	}



/* ! Documents */
.documents {

}
	.doc-category {

	}
		.doc-category-title {

		}
		.doc-category-desc {

		}
	.doc-item {
		margin-bottom: 2rem;
	}
	.doc-desc {

	}
		.doc-desc *:last-child {
			margin-bottom: 0;
		}
	.doc-link {

	}
		.doc-link .icon {
			width: 1em;
			height: 1em;
			min-width: 1em;
			margin-right: .5rem;
		}



/* ! Filters */
.filter {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
}

	.filter.message {
		align-items: center;
		margin: 0 0 1.375em;
		padding: 0.65em 1.5em;

		font-weight: 500;
	}

		.filter.message p {
			margin-bottom: 0;
		}

		.filter.message .button {
			text-decoration: none;
		}
			.filter.message .button:not(:hover) {
				border-color: white;
			}

	.filter-pagination {
		display: flex;
		justify-content: flex-end;
		width: 10%;
	}
		.filter-pagination form,
		.filter-pagination ul,
		.filter-pagination li {
			margin: 0;
			padding: 0;
			list-style-type: none;
		}
		.filter-pagination button,
		.filter-pagination a {
			-webkit-appearance: none;
			-moz-appearance: none;
			appearance: none;

			display: flex;
			justify-content: center;
			align-items: center;

			display: inline-block;
			padding: 0;

			margin: 0 0 0 12px;
			width: 32px;
			height: 32px;
			/* border-radius: 8px; */
			border: 1px solid var(--primary-color);
			background: transparent;

			color: var(--primary-color);
			font-size: 15px;
			font-family: sans-serif;
			text-align: center;
			line-height: 32px;

			cursor: pointer;
		}
		.filter-pagination button:hover,
		.filter-pagination a:hover {
			border-color: transparent;
			background-color: #035700;
			color: white;
		}
		.filter-pagination .prev button,
		.filter-pagination .prev a {
			padding: 0 2px 0 0;
		}
		.filter-pagination .next button,
		.filter-pagination .next a {
			padding: 0 0 0 2px;
		}
		.filter-pagination .disabled button,
		.filter-pagination .disabled a {
			border-color: #E5E7EB;
			background-color: transparent;
			color: #D1D5DB;
		}

	.filter-form {
		display: flex;
		justify-content: center;
		flex-grow: 1;
	}

		.filter form {
			width: 100%;
            padding: 0.5em 1em;
            margin-bottom: 1em;
            background: #eee;
            border-radius: 0.5rem;
            /* box-shadow: 0 3px 6px rgba(0,0,0,0.075); */

            font-size: 14px;
		}
		.filter form > div[class^='input-'] {
			margin-right: 0.25em;
			margin-bottom: 0.25em;
		}
		.filter form > div[class^='input-'] input,
		.filter form > div[class^='input-'] select {
			width: 100%;
		}
		.filter form .advanced-options-toggle {
			display: none;
		}
			html.js .filter-form .advanced-options-toggle,
			form .delete {
				display: inline-block;

				vertical-align: middle;

				padding: 1em 2em 0.9em;
				border: 1px solid transparent;
				border-radius: 8px;
				background: transparent;

				color: var(--primary-color);
				font-family: "Source Sans Pro", "Arial", sans-serif;
				font-size: 0.75rem;
				font-weight: 600;
				line-height: 1;
				text-transform: uppercase;
				text-align: center;
				text-decoration: underline;

				cursor: pointer;
			}
			form .delete {
				padding: 0.75em 1.25em 0.65em;
				margin: 0.25em 0 0.25em 2em;
				background-color: var(--primary-color-transparent);
			}
				form .delete [class*=fa] {
					margin-right: 0.5em;
				}
			.filter-form .advanced-options-toggle:hover,
			form .delete:hover {
				background-color: #035700;

				color: white;
			}
		.filter-form .advanced-options {
			display: none;
		}
			.filter-form .advanced-options.show {
				display: block;
			}

		.filter form .button {
			margin-left: 0.15em;
			border-color: transparent;
		}

			.filter form .button:hover {
				background-color: transparent;

				color: #035700;
			}

            .filter form .button + .button {
                margin-left: 0.5em;
            }


/* ! VIEW layouts, which currently inherits FLYOUT for thinner columns, for consistency */
.view-top {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-top: 1em;
	margin-bottom: 1rem;
    padding: 0 1rem;
}
	.view-top.view-wrapper-content {
		margin-bottom: 0;
		background-color: #fcfcfc;
	}
	.view-top:first-child {
		margin-top: 0;
	}
	.view-top-title {
		margin: 0;

		font: 700 2em/1.1 "Source Sans Pro";
	}
		.view-top-title [class*="fa-"] {
			font-size: 0.75em;
		}

	.view-top-subtitle {
		display: inline-block;
		margin: 0;
		padding: 0;
	}
		.view-top-subtitle dt {
			display: inline-block;
			margin: 0 0.35em 0 0;
			padding: 0;

			font-size: 0.875em;
			font-weight: 400;
			color: #666666;
		}
			.view-top-subtitle dt:nth-child(n+2) {
				margin: 0 0.35em 0 0.5em;
			}
		.view-top-subtitle dd {
			display: inline-block;
			margin: 0 0.25em 0 0;
			padding: 0;

			font-weight: 400;
		}
	.view-top *:last-child { align-self: flex-start; }
		.view-top *:last-child > .button {
			margin: .5rem 0 0 .5rem;
		}
.view-layout,
.form-layout{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
}
    .view-layout.left,
    .form-layout.left {
        justify-content: flex-start;
    }
	.view-layout.stretch,
	.form-layout.stretch {
		align-items: stretch;
	}
	.view-layout.bottom,
	.form-layout.bottom {
		align-items: flex-end;
	}
	.view-layout.center,
	.form-layout.center {
		align-items: center;
		text-align: inherit;
	}
	.view-layout.column,
	.form-layout.column {
		flex-direction: column;
	}
	.view-layout > .view-cell,
	.form-layout > .form-cell,
	.form-layout > .view-cell {
		padding: 0 9px 3px;
	}
		.view-layout > *:first-child,
		.form-layout > *:first-child { padding-left: 0; }

		.view-layout > *:last-child,
		.form-layout > *:last-child { padding-right: 0; }

	.summary {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;

		width: 100%;
		/* border-radius: 8px; */
		padding: 1em;
		margin-bottom: 1em;
		background: rgba(0,0,0,0.025);
		/* box-shadow: 0 3px 6px rgba(0,0,0,0.05); */
	}
		.summary > h2 {
			width: 100%;
		}
		.summary > div.summary-people,
		.summary > div.summary-hamper,
		.summary > div.hamper-status {
			display: block;
			position: relative;
			padding: 0.5em;
			margin: 0;
			/* border-radius: 8px; */
			background: #fff;
		}

	/*
	.set-status {
		display: block;
		position: relative;
		border-radius: 8px;
		padding: 1em;
		margin-bottom: 1em;
		background: rgba(0,0,0,0.025);
		box-shadow: 0 3px 6px rgba(0,0,0,0.05);
	}
	*/

		.view-layout > .view-cell.plain {}
		.view-layout.stretch > .view-cell,
		.form-layout.stretch > .form-cell,
		.form-layout.stretch > .view-cell {
			display: flex;
		}
	.view-wrapper,
	.form-wrapper  {
		width: 100%;

		margin-bottom: 1.5em;
		border-radius: .25rem;

		background: #eeeceb;
		background-color: hsla(196, 64%, 24%, 0.05);


		overflow: hidden;
	}
		.view-wrapper {
			/* border-radius: 8px; */
			background-color: white;
			/* box-shadow: 0 3px 6px rgba(0,0,0,0.05); */
		}

		.form-wrapper  {
			margin-bottom: 0.75em;
		}

		.view-wrapper.flex { display: flex; }
		.view-wrapper.stretch { align-items: stretch; }

        .view-wrapper.with-message {
            width: 100%;
            margin: 0.5rrem auto;
            padding: 0.5rem;
            background: #cef;

            font-size: 0.8125rem;
            font-family: "Source Sans Pro";
            line-height: 1.5;
            text-align: center;
        }
            .form-wrapper + .view-wrapper.with-message { margin-top: -0.25rem; }

            .view-wrapper > * { color: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; }
            .view-wrapper > p { margin-bottom: 0.25em; }
            .view-wrapper.with-message > *:first-child { margin-top: 0 !important; }
            .view-wrapper.with-message > *:last-child { margin-bottom: 0 !important; }

		.view-wrapper:empty,
		.view-wrapper[data-empty] {
			display: flex;
			justify-content: center;
			align-items: center;

			/* border-radius: 8px; */
			min-height: 12em;
			background: rgba(0,0,0,0.035);

			box-shadow: none;
		}
			.view-wrapper[data-empty]:before {
				content: attr(data-empty);

				margin: 1.25em 0;

				color: #D1D5DB;
				font-family: "Source Sans Pro";
				font-size: 0.75rem;
				font-weight: 400;
				font-style: italic;
				line-height: 1.125;
			}

		.view-wrapper-header {
			display: flex;
			justify-content: space-between;
			align-items: center;

			padding: 0.75em 1.25em;
			margin: 0;
			background-color: #f9f9f9;

			color: #666666;
			font-family: "Source Sans Pro";
			font-size: 0.675rem;
			font-weight: 600;
			line-height: 1.25;
			text-align: left;
			text-transform: uppercase;
			letter-spacing: .02em;
		}
			.view-wrapper-header:nth-child(n+2) {
				/* margin-top: 2em; */
				border-top: 1px solid #eeeeee;
			}
			.view-wrapper-external-link {
				float: right;

				color: var(--primary-color);
				font-weight: 600;
				text-decoration: none;
			}
				.view-wrapper-external-link.button {
					padding: 0.25em 0.5em;
					margin: 0;
				}
		.view-layout h3,
		.form-layout h3,
		form h3 {
			margin: 0.5em 0 0.5em;

			color: #222;
			font-family: "Source Sans Pro";
			font-size: 1em;
			font-weight: 600;
			text-transform: none;
		}
		.view-layout .additional-info,
		.form-layout .additional-info {
			margin: 0.5em 0 1em 1.5em;

			color: #666666;
			font-style: italic;
			font-size: 0.75rem;
		}
			.view-layout h3 + .additional-info,
			.form-layout h3 + .additional-info {
				margin: -0.5em 0 1em 0;
			}

		.view-wrapper-content,
		.form-wrapper-content {
			padding: 1.5em 1.5em 0.5em;
			border-top: 1px solid #eeeeee;

			font-size: 0.8125rem;
		}
			.form-wrapper-content {
				display: flex;
				position: relative;
				justify-content: space-between;
				flex-wrap: wrap;

				padding: 0.5em 0.75em;
				border-top: 0;
			}

				.form-wrapper-content > div {
					display: block;
					position: relative;
					flex-grow: 1;

					padding: 0 0.25em;
				}

                    /* assuming we need to ORDER form fields using a SORT field value appended to a CLASS, because of limitations of INPUT div templates - Wil, Jul 2024 */
                    .form-wrapper-content > div.sort-1 { order: -1 }
                    .form-wrapper-content > div.sort-2 { order: -2 }
                    .form-wrapper-content > div.sort-3 { order: -3 }
                    .form-wrapper-content > div.sort-4 { order: -4 }
                    .form-wrapper-content > div.sort-5 { order: -5 }
                    .form-wrapper-content > div.sort-6 { order: -6 }
                    .form-wrapper-content > div.sort-7 { order: -7 }
                    .form-wrapper-content > div.sort-8 { order: -8 }
                    .form-wrapper-content > div.sort-9 { order: -9 }
                    .form-wrapper-content > div.sort-10 { order: -10 }

		.view-wrapper-content.flex {
			display: flex;
			flex-wrap: wrap;
			align-items: flex-start;
			justify-content: space-between;
		}
			.view-wrapper-content > .view-wrapper-block {
				display: block;
				position: relative;
				flex-grow: 1;
				margin: 0 0 0.5em 0;
			}
			.view-wrapper-content > .view-wrapper-block:last-child {
				padding-right: 0;
			}
			.view-wrapper-block.flex {
				display: flex;
				flex-wrap: wrap;
				align-items: flex-start;
				justify-content: space-between;
			}
			.view-wrapper-figure {
				display: block;
				width: 66px;
				height: 66px;
				/* border-radius: 8px; */

				overflow: hidden;
			}
				.view-wrapper-figure img {
					width: 100%;
					object-fit: cover;
				}
				.view-wrapper-figure:empty {
					background-color: #FDA4AF;
				}
				.view-wrapper-figure:empty:after {
					content: attr(data-initials);

					display: block;
					width: 100%;

					color: white;
					font: 400 1.875rem/2 "Source Sans Pro", sans-serif;
					text-align: center;
					text-transform: none;
				}
				.view-top .view-wrapper-figure {
					float: left;
					margin: 0 1em 0 0;
				}
					.view-top .view-wrapper-figure + h1 {
						margin-top: 0.25em;
					}
						.view-top .view-wrapper-figure + h1[data-welcome]{
							margin-top: 0;
						}
						.view-top .view-wrapper-figure + h1[data-welcome]:before {
							content: attr(data-welcome);

							display: block;

							color: #A8A29E;
							font: 300 0.75rem/1.2 "Source Sans Pro", sans-serif;
						}
					.view-top .view-wrapper-figure.capacity-level {
						font: 400 3rem/2 "Source Sans Pro", sans-serif;
						text-align: center;
						text-transform: none;
					}
			.form-wrapper-content .upblock {
				display: flex;

				margin: 0.5em 0 0 0;
			}
				.form-wrapper-content .upblock .input-upload {
					flex-grow: 1;
					margin-left: 1.5em;
				}
			.with-block-icon {
				position: relative;

				padding-left: 2.5em;
				margin-bottom: 0.75em;
				margin-top: 0.125em;
			}
			.with-block-icon:before,
			.with-block-icon > [class*=fa]:first-child {
				content: "i";

				display: block;
				position: absolute;

				top: 0;
				left: 0;

				width: 1em;
				height: 1em;
				border-radius: 0.35em;
				border: 2px solid transparent;
				background-color: #E7E5E4;

				color: #57534E;
				font-size: 16px;
				line-height: 1.2;
				font-family: serif;
				text-align: center;

				overflow: hidden;
			}
				.with-block-icon > [class*=fa]:first-child {
					padding: 2px;
				}
			.view-wrapper-content h4 {
				color: #1C1917;
				font-size: inherit;
				font-weight: 600;
				margin: 0;
			}
			.view-wrapper-content p {
				font-size: inherit;
			}
			.view-wrapper-content ul {
				list-style-type: none;
				margin: 0 0 0.5em;
				padding: 0;
			}
			.view-wrapper-content dl {
				margin: 0 0 0.5em;
				padding: 0;
			}
				.view-wrapper-content dl a:not(.button) {
					color: inherit;
					text-decoration: underline;
				}
				.view-wrapper-content dt {
					float: left;
					margin-right: 0.25em;

					font-weight: 400;
				}
				.view-wrapper-content dd {
					margin: 0;

					-ms-word-break: break-all;
					-ms-word-break: break-word;
  					word-break: break-all;
  					word-break: break-word;
				}

					.view-wrapper-content dd[data-empty]:empty:after {
						content: attr(data-empty);

						color: #ddd;
						font-family: "Source Sans Pro";
						font-size: 0.75rem;
						font-weight: 400;
						font-style: italic;
						line-height: 1.125;
					}

			.view-wrapper-content .flyout-card {
				display: flex;

				margin: 0;
				padding: 0 0 1em 0;
				border-top: 1px solid #eeeeee;
			}
				.view-wrapper-content .flyout-card:first-child {
					padding-top: 1em;
					border-top: none;
				}
			.view-cell iframe {
				width: 100%;
				height: 360px;
				border: 0;
				/* border-radius: 8px; */
			}

				.stretch > iframe {
					height: auto !important;
				}

				.a-viewOrder .view-wrapper-content iframe {
					width: 100%;
					height: 360px;
					border: 0;
				}
				.a-viewOrder .view-wrapper-content iframe:last-child {
					margin-right: 0;
				}
			.form-wrapper-content fieldset {
				padding: 0;
				border: 0;
				margin: 0 0 0.25em 0;
				width: 100%;
			}

	.dynamic-input-item {
		display: flex;
		align-items: flex-start;

		border-bottom: 3px solid #f3f4f4;
	}

		.dynamic-input-item > * {
			flex-grow: 1;
		}

		.dynamic-input-item > .checked-delete {
			display: inline-block;
		}
		.dynamic-input-button-add {
			padding: 0.5em;
			border: 0;
            margin-top: 0.5rem;
            background: transparent;

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

		.dynamic-input-item .input-checkbox.checked-delete {
			flex-grow: 0;
		}

		.dynamic-input-item > .dynamic-input-button-del,
		.dynamic-input-item > .checked-delete > label {
			flex-grow: 0;

			display: inline-block;
			max-width: 100%;
			min-width: auto;
			margin: 1.65em 0 0 0.25em;
			padding: 0 0.2em 0.2em !important;
			border: 1px solid currentcolor;
			border-radius: 6px;
			background: transparent;

			color: var(--primary-color);
			font-size: 1rem;
			text-align: center;
			line-height: 1.125;
			vertical-align: middle;

			cursor: pointer;
		}

			.dynamic-input-item > .checked-delete > label {
				margin-top: 1.4em
			}

			.dynamic-input-item > .dynamic-input-button-del:hover,
			.dynamic-input-item > .checked-delete > label:hover,
			.dynamic-input-button-add:hover {
				background-color: transparent !important;
				color: #035700 !important;
				border-color: currentcolor;
			}

            .dynamic-input-item > .checked-delete > label.disabled-delete,
            .dynamic-input-item > .checked-delete > label.disabled-delete:hover {
                color: #ddd !important;
                background-color: rgba(255,255,255,0.5) !important;
                cursor: normal !important;
            }

	.duplicates-container {
		display: flex;

		width: 100%;
		margin: 1em 0;
		padding: 0.75em 1em;
		border: 1px solid #ffffff66;
		border-radius: 0.25rem;
		background-color: #e3072d;

		color: white;
		font-size: 0.875em;

		overflow: hidden;
	}

        .duplicates-container > [class*="fa-"] {
            margin-right: 0.675em;

            color: white;
            font-size: 1.2em;
        }

		.duplicates-container .duplicate-message {
			margin: 0 1em 0 0;

			opacity: 0.75;
		}

		.duplicates-container .duplicates {
			margin: 0;
			padding: 0;

			font-weight: 600;

			list-style-type: none;
		}

			.duplicates-container .duplicates li {
				display: inline-block;
				margin-right: 0.5em;
			}

				.duplicates-container .duplicates li:after { content: ', '; }
					.duplicates-container .duplicates li:last-child:after { content: ''; }
					.duplicates-container .duplicates a { color: inherit; text-decoration: underline; }
                        .duplicates-container .duplicates a .extra { font-weight: normal; opacity: 0.75; }

	.form-submit {
		display: block;

		margin: 1.5em 0;
	}

		form .form-submit:last-child {
			margin-bottom: 0;
		}

		.form-submit .button {
			width: fit-content;
		}

	.back {
		display: block;
		margin-top: .5em;

		font-size: 0.875em;
	}



/* ! Flyouts */
	body [data-action^="click->"]:hover {
		color: #035700;

		cursor: pointer;
	}
	#data-flyout-target {
		position: absolute;

		margin-top: 6px;
		margin-left: -200px;

		padding: 0;
		width: 400px;
		min-height: 200px;
		border-radius: 8px;
		background: white;

		z-index: 10;

		-webkit-box-shadow:  0px 0px 0px 9999px rgba(0, 0, 0, 0.1);
		box-shadow:  0px 0px 0px 9999px rgba(0, 0, 0, 0.1);
	}
		#data-flyout-target.popup-left {
			margin-left: -40px;
		}
		#data-flyout-target.popup-right {
			margin-left: -360px;
		}
		#data-flyout-target.hidden {
			display: none;
		}
		#data-flyout-target:after {
			content: "";

			position: absolute;
			top: -15px;
			left: 50%;
			margin-left: -6px;
			width: 0;
			height: 0;
			border-left: 12px solid transparent;
			border-right: 12px solid transparent;
			border-bottom: 15px solid white;

			z-index: 10;
		}
			#data-flyout-target.popup-left:after {
				margin-left: -40px;
				left: 65px;
			}
			#data-flyout-target.popup-right:after {
				left: 360px;
			}
		#data-flyout-target:before {
			content: "";

			position: absolute;
			top: 0;
			bottom: 0;
			left: 0;
			right: 0;

			border-radius: 8px;

			z-index: -1;

			box-shadow: 0 6px 9px rgba(0,0,0,0.1);
		}


	.flyout-card {
		display: flex;

		padding: 24px;
		border-top: 1px solid #eee;

		color: #666666;
	}
		.flyout-card:first-child {
			border-top: none;
		}
		.flyout-link {
			display: block;

			min-width: 40px;
			margin-right: 15px;
		}
		.flyout-figure {
			display: block;
			min-width: 40px;
			min-height: 40px;
			max-width: 40px;
			max-height: 40px;
			margin: 0 15px 0 0;
			border-radius: 8px;

			overflow: hidden;
		}
			.flyout-figure.mini {
				min-width: 24px;
				min-height: 24px;
				max-width: 24px;
				max-height: 24px;
				border-radius: 8px;
				margin: 0;
			}
			.flyout-figure img {
				width: 100%;
			}
			.flyout-figure:empty {
				background-color: #FDA4AF;
			}
			.flyout-figure:empty:after {
				content: attr(data-initials);

				display: block;
				width: 100%;

				color: white;
				font: 400 1rem/2.5 "Source Sans Pro", sans-serif;
				text-align: center;
				text-transform: none;
			}
			.flyout-figure.mini:empty:after {
				font: 300 0.75rem/2 "Source Sans Pro", sans-serif;
			}
			.flyout-figure:empty:hover {
				border-color: #035700;
				background-color: #035700;
			}
		.flyout-summary {
			width: 100%;
		}
			.flyout-summary .flyout-title {
				margin: 0;

				color: #1C1917;
				font-size: 20px;
				text-transform: none;
			}
			.flyout-summary .flyout-subtitle,
			.flyout-summary .flyout-subtitle dt,
			.flyout-summary .flyout-subtitle dd {
				margin: 0;

				color: #4B5563;
				font-size: 1rem;
				font-weight: 400;
				text-transform: none;
			}
				.flyout-summary .flyout-subtitle dt,
				.flyout-summary .flyout-subtitle dd {
					display: inline-block;
				}
					.flyout-summary .flyout-subtitle dd + dt {
						margin-left: 0.5em;
					}
			.flyout-info {
				margin: 1em 0;

				font-size: 0.75rem;
			}
			.flyout-definitions {
				display: block;

				margin: 1em 0;
			}
			.flyout-definitions:after {
				content: " ";
				clear: both;
			}
				.flyout-definitions dt {
					float: left;
					width: 60px;

					font-size: 0.75rem;
					font-weight: 600;
				}
				.flyout-definitions dd {
					margin-left: 60px;
					width: 100%;

					font-size: 0.75rem;

					-ms-word-break: break-all;
					-ms-word-break: break-word;
  					word-break: break-all;
  					word-break: break-word;
				}
					.flyout-definitions dd:empty:before {
						content: '-';
					}
			.flyout-info a,
			.flyout-definitions a {
				color:#666666;
				text-decoration: underline;
			}
				.flyout-definitions dd a:hover {
					color: #035700;
				}
			.flyout-card :last-child {
				margin-bottom: 0.25em;
			}
		.flyout-card form {}
			.flyout-card label.inblock {
				margin-left: 0;
			}
			.flyout-card input,
			.flyout-card select,
			.flyout-card textarea {
				margin-right: 0.5em;
			}
		.flyout-summary .button,
		.button.button-small {
			padding: 0.5em 1em 0.5em;

			color: var(--primary-color);
			font-size: 0.875em;
			font-weight: 600;
			text-decoration: none;
		}

			.view-wrapper-header .button-small {
				margin: -.35em 0;
			}

			.view-wrapper-header .button-link {
				border-color: transparent;

				color: var(--primary-color);
				text-decoration: underline;

				cursor: pointer;
			}
			.view-wrapper-header .button-link:hover {
				color: #035700;
			}

			.flyout-summary .button:hover {
				color: white;
			}

		.abbrev-flyouts .flyout-subtitle ~ * {
			display: none;
		}
	.summary-line-item {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;

		margin: 0.5em 0 0.5em 4em;
		border-bottom: 1px dashed #eeeeee;
	}
		.summary-line-item:last-child {
			margin-top: 0;
			border-bottom: none;
		}
		.summary-line-item-title {

		}
			.summary-line-item-title p {
				margin: 0.25em 1em;

				color: #666666;
				font-size: 0.75rem;
			}

		.summary-line-item-costs {
			width: 35%;
			text-align: right;
		}

		.summary-line-item:empty:before {
			content: "";

			width: 65%;
			height: 1.25em;
			margin: 0.5em 0 0;
			border-right: 2px solid white;
			background-color: #f8f9f9;
		}

			.summary-line-item:empty:hover:before {
				background-color: #035700;
			}

		.summary-line-item:empty:after {
			content: "";

			width: 35%;
			height: 1.25em;
			margin: 0.5em 0 0;
			background-color: #f5f6f6;
		}

			.summary-line-item:empty:hover:after {
				background-color: #035700;
			}

/* ! Date Picker, via jQuery UI */

.ui-datepicker {
	display: flex;
	flex-direction: column;

	padding: 24px;
	border-top: 1px solid #eee;

	width: 400px;
	min-height: 200px;
	border-radius: 8px;
	background: white;

	z-index: 10;

	-webkit-box-shadow: 0 3px 9px rgba(0,0,0,0.2);
	box-shadow: 0 3px 9px rgba(0,0,0,0.2);
}

	.ui-datepicker-header {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
	}

		.ui-datepicker-header .ui-datepicker-prev {
			order: 0;
		}

		.ui-datepicker-header .ui-datepicker-next {
			order: 99;
		}

		.ui-datepicker-header table td {
			padding: 0.25em;

			text-align: center;
		}



/* ! Tables, public cell' lists */

.table-wrap {
	flex-grow: 1;
}

.table-list {
	margin-bottom: 2rem;
	/* border-radius: 8px; */
	background-color: white;

	overflow: hidden;

	/* box-shadow: 0 3px 6px rgba(0,0,0,0.05); */
}

	.table-list.number-of-rows-0 {
		background-color: rgba(0,0,0,0.05);
		background: repeating-linear-gradient( -45deg, rgba(0,0,0,0.05), rgba(0,0,0,0.05) 5px, rgba(0,0,0,0.03) 5px, rgba(0,0,0,0.03) 15px );
	}

	.table-list thead {
		background-color: #f9f9f9;
	}

		.table-list th {
			padding: 1em 1em 0.5em 1em;

            color: #666666;
            font-size: 0.75rem;
		}

            .table-list th:empty {
                padding: 0;
            }

			.table-list th:first-child {
				padding-left: 1.5em;
			}

			.table-list th:last-child {
				padding-right: 1.5em;
			}

			.table-list tbody th {
				vertical-align: top;
				border-top: 1px solid #eeeeee;

				color: #1C1917;
				font-size: inherit;
				font-weight: 600;
				text-transform: none;
			}

			.table-list th.sorting a {
				color: inherit;
				text-decoration: underline;
			}
			.table-list th.sorting a:hover {
				color: #035700;
			}

			.table-list th.sorting:after {
				margin-left: 0.25em;
				vertical-align: text-top;
			}
			.table-list th.sorting.sorting-asc:after {
				content: "⬇";
			}

			.table-list th.sorting.sorting-desc:after {
				content: "⬆";
			}

			.table-capacity th {}

				.table-capacity th:first-child {
					padding: 0;
				}

	.table-list tfoot {}

		.table-list tfoot td {
			vertical-align: baseline;
		}

		.table-list.number-of-rows-0 tfoot {
			display: none;
		}

	.table-list tbody {}

		.table-list.number-of-rows-0 tbody {
			display: block;
			min-height: 3em;
		}

		.table-list.scrolling tbody {
			height: 24em;
			overflow-y: scroll;
			display: block;
		}

			.table-list.scrolling tbody::-webkit-scrollbar {
				-webkit-appearance: none;
				width: 10px;
				background-color: #eee;
			}

			.table-list.scrolling tbody::-webkit-scrollbar-thumb {
				border-radius: 5px;
				background-color: rgba(0,0,0,.5);
				-webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);
			}

		.table-list.scrolling tbody tr {
			display: table;
		    width: 100%;
		    table-layout: fixed;
		}

		.table-list td {
			padding: 0.5em;

			vertical-align: middle;

            word-wrap: break-word;
            max-width: 120px;
		}

            .table-list td[data-title="Application"],
            .table-list td[data-title="Application"] dd {
                white-space: nowrap;
            }

            .table-list td:empty {
                padding-left: 0;
                padding-right: 0;
            }

			.table-list td[data-empty]:empty:before {
				content: attr(data-empty);

				margin: 1.25em 0 1.25em 0.75em;

				color: #ddd;
				font-family: "Source Sans Pro";
				font-size: 0.75rem;
				font-weight: 400;
				font-style: italic;
				line-height: 1.125;
			}

			.table-list tr:last-child td {
				/* padding-bottom: 1.5em; */
			}

			.table-list td:first-child {
				padding-left: 1.5em;
			}

			.table-list td:last-child {
				padding-right: 1.5em;
			}

			.table-list td.with-squircle:not(:empty) {
				padding: 0.5em 1.25em 0.25em;
				width: 5em;

				/* vertical-align: baseline; */
			}
				.table-list td.with-squircle div.input-checkbox {
					display: block;
					position: relative;
					padding: 0.5em 1em;
				}
					.table-list td.with-squircle div.input-checkbox input[type="checkbox"] {
						display: block;
						width: 0.8em;
						height: auto;
						padding: 0;
						margin: 0 auto;
					}

			.table-capacity td:first-child a {
				display: flex;
				align-items: baseline;
			}

				.table-capacity td:first-child a [class*="fa-"] {
					margin-right: 0.35em;
				}

			.table-list p {
				line-height: 1.3;
				margin: 0 0 0.5em 0;
			}

			.table-list dl {
				display: inline-block;

				margin: 0;
				padding: 0;

				line-height: 1.4;
			}

				.table-list dl:after {
					content: "";
					clear: both;
				}

				.table-list dt {
					display: none;

					float: left;
					clear:left;

					margin: 0 0.25em 0 0;
					padding: 0;

					color: #1C1917;
				}

					.table-list :hover dt {
						color: inherit;
					}

					.table-list dt.show {
						display: inline-block;
						clear: left;

						font-weight: 600;
					}

					.table-list dt.inblock {
						display: inline;

						float: none;
					}

					.table-list dd + dt.inblock:before {
						content: '';
						display:block;
						width: 50%;
					}

				.table-list dd {
					display: block;
					margin: 0;
					padding: 0;

					-ms-word-break: break-all;
					-ms-word-break: break-word;
  					word-break: break-all;
  					word-break: break-word;
				}

					.table-list dd.inblock {
						display: inline-block;
					}

					.table-list dd:nth-child(2) {
						font-weight: 600;
						color: #1C1917;
					}

						.table-list dl[data-action]:hover dd:nth-child(2) {
							color: inherit;
						}

					.table-list dt.show + dd {
						font-weight: 400;
						color: inherit;
					}

					.table-list dd:nth-child(n+5) {
						font-size: 0.75rem;
					}

			.table-list :last-child {
				margin-bottom: 0;
			}


    .toggle-all-table-checkboxes { display: inline-block; padding: 0.5em 0.5em 0.5em 1.5em; text-decoration: none; cursor: pointer; }
    .toggle-all-table-checkboxes > span { margin-left: 0.5em; font-style: italic; }

/* Documents */
	.document-cat-name {
		width: 100%;
	}

		.document-category + .document-category .document-cat-name {
			margin-top: 1em;
		}

	.document-cat-desc {
		width: 100%;
	}

	.document-category .view-layout p {
		margin: 0;
	}

	.document-category .view-layout .document-desc {
		width: 50%;
	}

/*
! Dashboard

.s-main.p-home main {
	padding-top: 10px;
}

	.s-main.p-home main:before {
		content: "";

		position: absolute;
		top: -1px;
		left: 0;
		width: 100%;
		height: 100px;
		background: var(--primary-color);

		z-index: 0;
	}

	.s-main.p-home main .container {
		z-index: 1;
	}

		.s-main.p-home .main-region > .view-layout:first-child .view-wrapper {
			margin-bottom: 24px;

			box-shadow: 0 3px 6px rgba(0,0,0,0.1);
		}

	.dashboard-logged-in-profile {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}

		.dashboard-logged-in-profile form {
			margin-bottom: 0;
		}
*/

.announcement-list-item {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

	.announcement-list-item a {

	}

	.announcement-list-item .announcement-summary {
		width: 85%;
	}

		.announcement-list-item .announcement-summary p {
			display: -webkit-box;
			-webkit-box-orient: vertical;

			line-clamp: 3;
			-o-ellipsis-lastline: 3;
			-webkit-line-clamp: 3;

			overflow: hidden;
		}

		.announcement-list-item .announcement-summary :last-child {
			margin-bottom: 0;
		}

.order-status-list-item {
	display: flex;
	flex-direction: row;
	align-items: center;

	padding: 0.5em 1.25em;
}

	.order-status-list-item .view-wrapper-figure {
		width: 1.75rem;
		height: 1.75rem;
		margin-right: 1em;
		border-radius: 6px;

		background: var(--primary-color-transparent);
		background: var(--primary-color-transparent);
		font-weight: 400;

		color: var(--primary-color);

		transition: all .2s;
	}

		.order-status-list-item .view-wrapper-figure.initials-zero {
			background: #F3F4F6;

			color: #666666;
		}

        .order-status-list-item  .squircle {
            margin-right: 1em;
        }

            .order-status-list-item  .squircle [class*="fa-"] {
                width: 1.25em;
                height: 1.25em;
            }

		.order-status-list-item .view-wrapper-figure:empty:after {
			color: inherit;
			font-size: 1rem;
			font-weight: inherit;
			line-height: 1.7rem;
			font-family: "Source Sans Pro", sans-serif;
		}

			.order-status-list-item .view-wrapper-figure.initials-small:empty:after {
				font-size: 0.875rem;
			}

			.order-status-list-item .view-wrapper-figure.initials-smaller:empty:after {
				font-size: 0.75rem;
			}

		.order-status-list-item a.view-wrapper-figure:hover {
			background-color: #035700 !important;
			color: white !important;
		}

	.order-status-list-item .order-status-summary {
		line-height: 1.2;
	}

        .order-status-list-item .order-status-summary.flex {
            display: flex;
            justify-content: space-between;
            width: 100%;
            align-items: center;
        }

		.order-status-list-item .order-status-summary p {
			margin-bottom: 0;

			color: #666666;
		}

			.order-status-list-item .order-status-summary .summary-divider {
				display: inline-block;
				margin: 0 0.5em;

				opacity: 0.25;
			}

.order-log-list-item {
	display: flex;
	flex-direction: row;

	padding: 1.25em 1.5em 0.5em;
	border-top: 0;
}
	.order-log-list-item .view-wrapper-figure,
	.order-log-list-item .squircle {
		position: relative;

		display: flex;
		justify-content: center;
		align-items: center;

		margin-top: -6px;

		width: 50px;
		height: 50px;
		margin-right: 1.5em;
		border: 5px solid white;
		background: white;

		font-size: 1.5rem;
		text-align: center;

		overflow: initial;
	}
		.order-log-list-item .view-wrapper-figure {
			background: #E5E7EB;

			color: #374151;
		}
		.order-log-list-item .view-wrapper-figure.new-order {
			background: transparent;

			color: #64748B;
		}
		.order-log-list-item .view-wrapper-figure [class*='fa-check'] {
			font-size: 1.125rem;
		}
		.order-log-list-item.order-log-last .view-wrapper-figure [class*='fa-check'] {
			display: none;
		}
			.order-log-list-item .view-wrapper-figure.status-completed [class*='fa'] {
				display: inline-block;
			}
		.order-log-list-item .view-wrapper-figure:after,
		.order-log-list-item .squircle:after {
			content: "";

			position: absolute;
			top: 45px;
			left: 19px;

			width: 1px;
			height: 40px;
			border-left: 3px solid #E2E8F0;
		}
			.order-log-list-item .view-wrapper-figure.new-order:after {
				top: 40px;
			}
			.order-log-list-item .view-wrapper-figure.status-cancelled:after,
			.order-log-list-item .view-wrapper-figure.status-order-declined:after {
				border-left: 3px dotted #F1F5F9;
			}

			.order-log-list-item:last-child .view-wrapper-figure:after,
			.order-log-list-item:last-child .squircle:after {
				display: none;
			}
	.order-log-list-item .order-status-summary {

	}
		.order-log-list-item .order-status-summary p {
			margin-bottom: 0;
		}
		.order-log-list-item .view-wrapper-figure.status-overdue + .order-status-summary > *,
		.order-log-list-item .view-wrapper-figure.status-cancelled + .order-status-summary > *,
		.order-log-list-item .view-wrapper-figure.status-order-declined + .order-status-summary > * {
			color: #DC2626;
		}
		.order-log-list-item .order-status-summary .order-status-message {
			margin: 0.25em 0 0.25em 1em;

			color: #666666;
			font-size: 0.75rem;
		}



/* ! Site Footer	*/
.site-footer {
	position: relative;
	clear: both;
	padding: 1em 0;
	margin: 0;
	background: #1c4636;

    color: #f0dfce;
	font-size: 0.65rem;
	text-align: center;
}

	.site-footer .container { max-width: 1200px; margin: auto; }


/* ! Error Pages */
.error-header {
	font-size: 3rem;
}
.error-code {
	font-size: 0.75rem;
}


/* ! PLAIN template */
.t-plain-hampers {
	background: var(--primary-color);
}
	.t-plain-hampers header {
		display: flex;
		justify-content: flex-end;
		flex-direction: column;
		flex-grow: 1;

		margin: 0;
		padding: 0;
		background: transparent;
	}
		.t-plain-hampers .site-title {
			width: 60%;
			margin: 5% auto;
			border-bottom: none;
		}
		.t-plain-hampers .site-title > a {
			left: 0;
			margin: 0 0 2%;
			width: 100%;
			height: 150px;
            border: none;

			background-position: center center;
			background-image: url("/img/logo-ccb-white-2023.svg");
		}
	.t-plain-hampers main,
	.t-plain-hampers .main-region {
		padding: 0;
		margin: 0 auto;
		width: 440px;
		background: none;

		color: white;
		text-align: center;
	}
		.t-plain-hampers main {
			align-items: flex-start;
		}
	.t-plain-hampers label {
		color: #fbf1e3;
	}
	.t-plain-hampers input {
		border: none;
		width: 100%;
		margin-bottom: 1em;

		text-align: center;
	}
	.t-plain-hampers a {
		color: #fbf1e3;
		text-decoration: underline;
	}
		.t-plain-hampers a:hover {
			color: white;
		}
	.t-plain-hampers .button {
		display: block;
		margin: 1em auto;
		border: none;
		background-color: #1c4636;

		color: white;
	}
	.t-plain-hampers .button:not([type="submit"]) {
		border: none;
		background: none;
		color: #fbf1e3;
		text-transform: none;
		font-weight: inherit;
		font-size: inherit;
		font-family: inherit;
	}
	.t-plain-hampers .button:hover {
		color: white;
	}
		.t-plain-hampers .controls-group > .button + .button {
			margin: 0;
		}
	.t-plain-hampers .site-footer {
		margin: 0 auto 1em auto;
		width: 800px;
		border-top: 1px solid #fbf1e3;
		background: none;

		color: #fbf1e3;
		text-align: center;
	}



/* ! Flyouts */
body [data-action^="click->"]:hover {
    color: #035700;

    cursor: pointer;
}

#data-flyout-target {
    position: absolute;

    margin-top: 6px;
    margin-left: -200px;

    padding: 0;
    width: 400px;
    min-height: 200px;
    border-radius: 12px;
    background: white;

    z-index: 10;

    -webkit-box-shadow:  0px 0px 0px 9999px rgba(0, 0, 0, 0.1);
    box-shadow:  0px 0px 0px 9999px rgba(40, 0, 0, 0.2);
}

    #data-flyout-target.popup-left {
        margin-left: -40px;
    }

    #data-flyout-target.popup-right {
        margin-left: -360px;
    }

    #data-flyout-target.hidden {
        display: none;
    }

    #data-flyout-target:after {
        content: "";

        position: absolute;
        top: -15px;
        left: 50%;
        margin-left: -6px;
        width: 0;
        height: 0;
        border-left: 12px solid transparent;
        border-right: 12px solid transparent;
        border-bottom: 15px solid white;

        z-index: 10;
    }

        #data-flyout-target.popup-left:after {
            margin-left: -40px;
            left: 65px;
        }

        #data-flyout-target.popup-right:after {
            left: 360px;
        }

    #data-flyout-target:before {
        content: "";

        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;

        border-radius: 12px;

        z-index: -1;

        box-shadow: 0 6px 9px rgba(0,0,0,0.1);
    }

.flyout-card {
    display: flex;

    padding: 24px;
    border-top: 1px solid #eee;

    color: #666666;
}

    .flyout-card:first-child {
        border-top: none;
    }

    .flyout-link {
        display: block;

        min-width: 40px;
        margin-right: 15px;
    }

#data-flyout-target form {
	padding: 1em;
	margin: 0
}

	#data-flyout-target .input-radio > label {
		width: 100%;
		padding-bottom: 0.5em;
		border-bottom: 1px solid #eee;

		font-size: 0.875rem;
		font-weight: 600;
	}

	#data-flyout-target .input-radio-option {
		display: flex;
		justify-content: flex-start;
		align-items: center;

		width: 100%;
		margin: 0;
		padding: 0.35em 1em;
		border-bottom: 1px solid #eee;
	}

		#data-flyout-target form .input-radio-option label {}

		#data-flyout-target form .input-radio-option input {}



.input-password .reveal-password {
    position: absolute;
    margin: 0.25em 0 0 0.5em;

    cursor: pointer;
}

    .input-password .reveal-password.reveal-password-hidden {}
    .input-password .reveal-password.reveal-password-shown {}
