/* CSS Reset - https://andy-bell.co.uk/a-more-modern-css-reset/ */ *, *::before, *::after { box-sizing: border-box; } html { -moz-text-size-adjust: none; -webkit-text-size-adjust: none; text-size-adjust: none; scroll-behavior: smooth; } body, h1, h2, h3, h4, p, figure, blockquote, dl, dd { margin: 0; } body { min-height: 100vh; line-height: 1.5; } h1, h2, h3, h4, button, input, label { line-height: 1.1; } h1, h2 { text-wrap: balance; } a:not([class]) { text-decoration-skip-ink: auto; } img, picture { max-width: 100%; } input, button, textarea, select { font: inherit; } textarea:not([rows]) { min-height: 10em; } :target { scroll-margin-block: 5ex; }
body.app *, body.app *:after, body.app *:before { box-sizing: border-box; }
html, body, input, textarea, select, button { margin: 0; padding: 0; color: var(--color-dark); font-family: "LeagueSpartan", sans-serif; font-size: 17px; font-weight: 400; line-height: 1.4em; text-align: left; }
body.public { font-size: 22px; line-height: 1.3em; }
html { overflow-y: scroll; }

/* Fonts */
@font-face { font-family: "LeagueSpartan"; src: url("../fonts/LeagueSpartan.ttf"); font-weight: 400 700; font-synthesis: none; font-display: swap; }

/* Global */
:root {
	--color-focus: #75D481;
	--color-dark: #0a312c;
	--color-dark-neutral: #353535;
	--color-dark-primary: #296377;
	--color-primary: #3a758d;
	--color-light-primary: #d1e2e8;
	--color-dark-secondary: #20852E;
	--color-secondary: #75D481;
	--color-light-secondary: #9AEDB6;
	--color-barely-secondary: #dbffe7;
	--color-very-light-secondary: #f1ffee;
	--color-live-marketplace: #BAD7F2;
	--color-forward-agreement-marketplace: #f8ceb1;
	--color-dark-green: #234747;
	--color-red: #C91A32;
	--color-dark-red: #960014;
	--color-orange: #c25400;
	--color-yellow: #FCDE57;
	--color-barely-yellow: #fff9e2;
	--color-dark-grey: #6d686c;
	--color-grey: #d3d3d3;
	--color-light-grey: #f2f2f2;
	--color-white: #FFF;
	--color-white-opacity0: rgba(255,255,255,0); --color-white-opacity10: rgba(255,255,255,0.1); --color-white-opacity20: rgba(255,255,255,0.2); --color-white-opacity30: rgba(255,255,255,0.3); --color-white-opacity40: rgba(255,255,255,0.4); --color-white-opacity50: rgba(255,255,255,0.5); --color-white-opacity60: rgba(255,255,255,0.6); --color-white-opacity70: rgba(255,255,255,0.7); --color-white-opacity80: rgba(255,255,255,0.8); --color-white-opacity90: rgba(255,255,255,0.9); --color-white-opacity100: rgba(255,255,255,1);
	--color-dark-opacity0: rgb(10, 49, 44,0); --color-dark-opacity5: rgb(10, 49, 44,0.05); --color-dark-opacity10: rgb(10, 49, 44,0.1); --color-dark-opacity20: rgb(10, 49, 44,0.2); --color-dark-opacity30: rgb(10, 49, 44,0.3); --color-dark-opacity40: rgb(10, 49, 44,0.4); --color-dark-opacity50: rgb(10, 49, 44,0.5); --color-dark-opacity60: rgb(10, 49, 44,0.6); --color-dark-opacity70: rgb(10, 49, 44,0.7); --color-dark-opacity80: rgb(10, 49, 44,0.8); --color-dark-opacity90: rgb(10, 49, 44,0.9); --color-dark-opacity100: rgb(10, 49, 44,1);
	--spacing-large: 2.6vw; --spacing-medium: 1.6vw; --spacing-small: 0.6rem;
	--negative-spacing-large: -2.6vw; --negative-spacing-medium: -1.6vw; --negative-spacing-small: -0.6rem;
	--border-radius-large: 2rem; --border-radius-medium-container: 0.8rem; --border-radius-medium: 0.6rem; --border-radius-small: 0.3rem;
	--transition-fast: all 0.25s ease 0s; --transition-mid: var(--transition-fast);
	--shadow-large: 0px 0.8px 2.8px rgba(0, 0, 0, 0.006), 0px 2px 6.7px rgba(0, 0, 0, 0.008), 0px 3.8px 12.5px rgba(0, 0, 0, 0.01), 0px 6.7px 22.3px rgba(0, 0, 0, 0.012), 0px 12.5px 41.8px rgba(0, 0, 0, 0.014), 0px 30px 100px rgba(0, 0, 0, 0.02);
	--shadow-medium: 0px 2.1px 3.4px var(--color-dark-opacity10), 0px 5.2px 8.7px rgba(0, 0, 0, 0.069), 0px 10.6px 17.7px rgba(0, 0, 0, 0.056), 0px 21.9px 36.5px rgba(0, 0, 0, 0.044), 0px 60px 100px rgba(0, 0, 0, 0.031);
	--shadow-small: 0px 0.2px 0.5px rgba(0, 0, 0, 0.024), 0px 0.5px 1.3px rgba(0, 0, 0, 0.035), 0px 1.2px 3px rgba(0, 0, 0, 0.046), 0px 4px 10px rgba(0, 0, 0, 0.07);
}

/* Skip To Content */
.skip { background: #333; display: inline-block; position: fixed; z-index: 9000; top: -46px; left: 0; height: 46px; padding: 10px 20px; border: 0; color: var(--color-white); text-decoration: none; font-weight: 700; }
	.skip:focus-visible { top: 0; color: var(--color-white); }

/* Keyboard Navigation Outline */
body.app :focus-visible { outline: 2px solid var(--color-focus); }
/* For elements showing a white outline before transitioning to the focus color */
body.app a, button, body.app .k-wizard .k-step, body.app #panelbar li { outline: 2px solid transparent; }
	body.app a:focus-visible, body.app button:focus-visible, body.app .k-wizard .k-step.k-step-focus:focus-visible, body.app #panelbar li#panelbar_pb_active { outline: 2px solid var(--color-focus); }

/* --- Flex Grid System --- */
body .grid-container{width: 100%;max-width:94%;margin-right:auto;margin-left:auto}body .grid-container.wide{max-width:100%}body .grid-container.width1400{width:1400px}body .grid-container.width1200{width:1200px}body .grid-container.width1000{width:1000px}body .grid-container.width800{width:800px}body .grid-container.width600{width:600px}body .grid-container.width440{width:440px}.row{display:flex;flex:0 1 auto;flex-direction:row;flex-wrap:wrap}.row.reverse{flex-direction:row-reverse}.col.reverse{flex-direction:column-reverse}.col-xs,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{box-sizing:border-box;flex:0 0 auto}.col-xs{flex-grow:1;flex-basis:0;max-width:100%}.col-xs-1{flex-basis:8.333%;max-width:8.333%}.col-xs-2{flex-basis:16.667%;max-width:16.667%}.col-xs-3{flex-basis:25%;max-width:25%}.col-xs-4{flex-basis:33.333%;max-width:33.333%}.col-xs-5{flex-basis:41.667%;max-width:41.667%}.col-xs-6{flex-basis:50%;max-width:50%}.col-xs-7{flex-basis:58.333%;max-width:58.333%}.col-xs-8{flex-basis:66.667%;max-width:66.667%}.col-xs-9{flex-basis:75%;max-width:75%}.col-xs-10{flex-basis:83.333%;max-width:83.333%}.col-xs-11{flex-basis:91.667%;max-width:91.667%}.col-xs-12{flex-basis:100%;max-width:100%}.col-xs-offset-1{margin-left:8.333%}.col-xs-offset-2{margin-left:16.667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.333%}.col-xs-offset-5{margin-left:41.667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.333%}.col-xs-offset-8{margin-left:66.667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.333%}.col-xs-offset-11{margin-left:91.667%}.start-xs{justify-content:flex-start;text-align:start}.center-xs{justify-content:center;text-align:center}.end-xs{justify-content:flex-end;text-align:end}.top-xs{align-items:flex-start}.middle-xs{align-items:center}.bottom-xs{align-items:flex-end}.around-xs{justify-content:space-around}.between-xs{justify-content:space-between}.first-xs{order:-1}.last-xs{order:1}.fit-items-xs{flex-wrap:nowrap}@media only screen and (min-width:680px){.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{box-sizing:border-box;flex:0 0 auto}.col-sm{flex-grow:1;flex-basis:0;max-width:100%}.col-sm-1{flex-basis:8.333%;max-width:8.333%}.col-sm-2{flex-basis:16.667%;max-width:16.667%}.col-sm-3{flex-basis:25%;max-width:25%}.col-sm-4{flex-basis:33.333%;max-width:33.333%}.col-sm-5{flex-basis:41.667%;max-width:41.667%}.col-sm-6{flex-basis:50%;max-width:50%}.col-sm-7{flex-basis:58.333%;max-width:58.333%}.col-sm-8{flex-basis:66.667%;max-width:66.667%}.col-sm-9{flex-basis:75%;max-width:75%}.col-sm-10{flex-basis:83.333%;max-width:83.333%}.col-sm-11{flex-basis:91.667%;max-width:91.667%}.col-sm-12{flex-basis:100%;max-width:100%}.col-sm-offset-1{margin-left:8.333%}.col-sm-offset-2{margin-left:16.667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.333%}.col-sm-offset-5{margin-left:41.667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.333%}.col-sm-offset-8{margin-left:66.667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.333%}.col-sm-offset-11{margin-left:91.667%}.start-sm{justify-content:flex-start;text-align:start}.center-sm{justify-content:center;text-align:center}.end-sm{justify-content:flex-end;text-align:end}.top-sm{align-items:flex-start}.middle-sm{align-items:center}.bottom-sm{align-items:flex-end}.around-sm{justify-content:space-around}.between-sm{justify-content:space-between}.first-sm{order:-1}.last-sm{order:1}.fit-items-sm{flex-wrap:nowrap}}@media only screen and (min-width:980px){.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{box-sizing:border-box;flex:0 0 auto}.col-md{flex-grow:1;flex-basis:0;max-width:100%}.col-md-1{flex-basis:8.333%;max-width:8.333%}.col-md-2{flex-basis:16.667%;max-width:16.667%}.col-md-3{flex-basis:25%;max-width:25%}.col-md-4{flex-basis:33.333%;max-width:33.333%}.col-md-5{flex-basis:41.667%;max-width:41.667%}.col-md-6{flex-basis:50%;max-width:50%}.col-md-7{flex-basis:58.333%;max-width:58.333%}.col-md-8{flex-basis:66.667%;max-width:66.667%}.col-md-9{flex-basis:75%;max-width:75%}.col-md-10{flex-basis:83.333%;max-width:83.333%}.col-md-11{flex-basis:91.667%;max-width:91.667%}.col-md-12{flex-basis:100%;max-width:100%}.col-md-offset-1{margin-left:8.333%}.col-md-offset-2{margin-left:16.667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.333%}.col-md-offset-5{margin-left:41.667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.333%}.col-md-offset-8{margin-left:66.667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.333%}.col-md-offset-11{margin-left:91.667%}.start-md{justify-content:flex-start;text-align:start}.center-md{justify-content:center;text-align:center}.end-md{justify-content:flex-end;text-align:end}.top-md{align-items:flex-start}.middle-md{align-items:center}.bottom-md{align-items:flex-end}.around-md{justify-content:space-around}.between-md{justify-content:space-between}.first-md{order:-1}.last-md{order:1}.fit-items-md{flex-wrap:nowrap}}@media only screen and (min-width:1300px){.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{box-sizing:border-box;flex:0 0 auto}.col-lg{flex-grow:1;flex-basis:0;max-width:100%}.col-lg-1{flex-basis:8.333%;max-width:8.333%}.col-lg-2{flex-basis:16.667%;max-width:16.667%}.col-lg-3{flex-basis:25%;max-width:25%}.col-lg-4{flex-basis:33.333%;max-width:33.333%}.col-lg-5{flex-basis:41.667%;max-width:41.667%}.col-lg-6{flex-basis:50%;max-width:50%}.col-lg-7{flex-basis:58.333%;max-width:58.333%}.col-lg-8{flex-basis:66.667%;max-width:66.667%}.col-lg-9{flex-basis:75%;max-width:75%}.col-lg-10{flex-basis:83.333%;max-width:83.333%}.col-lg-11{flex-basis:91.667%;max-width:91.667%}.col-lg-12{flex-basis:100%;max-width:100%}.col-lg-offset-1{margin-left:8.333%}.col-lg-offset-2{margin-left:16.667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.333%}.col-lg-offset-5{margin-left:41.667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.333%}.col-lg-offset-8{margin-left:66.667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.333%}.col-lg-offset-11{margin-left:91.667%}.start-lg{justify-content:flex-start;text-align:start}.center-lg{justify-content:center;text-align:center}.end-lg{justify-content:flex-end;text-align:end}.top-lg{align-items:flex-start}.middle-lg{align-items:center}.bottom-lg{align-items:flex-end}.around-lg{justify-content:space-around}.between-lg{justify-content:space-between}.first-lg{order:-1}.last-lg{order:1}.fit-items-lg{flex-wrap:nowrap}}
.row.gap { margin-right: -1rem; margin-left: -1rem; } .row.gap > * { padding-right: 1rem; padding-left: 1rem; } .row.gap.large { margin-right: -2rem; margin-left: -2rem; } .row.gap.large > * { padding-right: 2rem; padding-left: 2rem; } .row > * { flex-grow: 1; flex-shrink: 1; } .row > .small { flex-grow: 0; } body .push-up { margin-top: 2rem !important; }	body .push-down { margin-bottom: 2rem !important; } body .push-up.big-push { margin-top: 3rem !important; }body .push-down.big-push { margin-bottom: 3rem !important; } body .push-up.small-push { margin-top: 1rem !important; }body .push-down.small-push { margin-bottom: 1rem !important; }	body .hide { display: none; }

/* Heading */
h1, h2, h3, h4 { margin: 0.6rem 0; color: var(--color-dark); font-weight: 700; line-height: normal; }
h1:first-of-type, h2:first-of-type, h3:first-of-type, h4:first-of-type { margin-top: 0; }
h1:last-of-type, h2:last-of-type, h3:last-of-type, h4:last-of-type { margin-bottom: 0; }
.remove-heading-padding h1, .remove-heading-padding h2, .remove-heading-padding h3, .remove-heading-padding h4 { margin: 0; }
h1 { color: var(--color-primary); font-size: 2.4em; font-weight: 700; line-height: 1em; }
h2 { margin-bottom: 0; font-size: 1.6em; }
h3 { font-size: 1.3em; font-weight: 700; }
h4 { font-size: 1.1em; }

.public h2 { font-size: clamp(2rem, -12.542rem + 20.48vw, 5.375rem); line-height: 1em; }
.public h2.section-title { display: inline-block; width: 100%; font-weight: 400; }
.public .flex-container h2.section-title { width: auto; }
	.public h2:has(br)::first-line { font-size: 0.6em; line-height: 1em; }
	.public h2 strong { color: var(--color-primary); }
	.public .dark h2 strong { color: var(--color-light-secondary); }
.public h3 { font-size: 2.6rem; line-height: 1.1em; }

/* Paragraph */
p:not(.remove-paragraph-padding) { margin: 1rem 0 0; }
	p img { max-width: 100%; height: auto !important; }
	b, strong { font-weight: 700; }

/* Links */
a, button { background: none; padding: 0; border: 0; color: var(--color-primary); font-weight: 700; text-decoration: none; cursor: pointer; transition: 0.2s ease 0s; transition-property: border, background, color; }
	a:hover, button:hover { color: var(--color-dark-primary); text-decoration: none; outline: none; }
main a, main button { text-decoration: underline; text-decoration-color: var(--color-secondary); }
	main a:hover, main button:hover { text-decoration: underline; text-decoration-color: var(--color-secondary); }
.dark a, .dark button { color: var(--color-white); }
	.dark a:hover, .dark button:hover { color: var(--color-white-opacity80); }

/* Links / Buttons */
body .button, body .k-button { display: inline-flex; align-items: center; gap: 0.2em; margin-top: 1rem; padding: 0.4em 1.2em; border: 3px solid var(--color-secondary); border-radius: var(--border-radius-small); background: var(--color-white); color: var(--color-dark); font-size: 1rem; font-weight: 700; text-decoration: none; }
body .button:has(.k-icon) { gap: 1em; padding: 0.4rem 0 0.4rem 1.2rem; overflow: hidden; }
body .button.full-width { justify-content: space-between; width: 100%; }
body .button.red { border: 3px solid var(--color-red); }
body .button.green { border: 3px solid var(--color-primary); color: var(--color-dark-secondary); }
body .button.secondary { border: 3px solid var(--color-dark-opacity0); background: var(--color-light-grey); }
body .dark .button.secondary:not(:hover) { background: var(--color-dark-opacity80); color: var(--color-white); }
	body .button.secondary:hover { border: 3px solid var(--color-secondary); background: var(--color-light-grey); }
body .button.compact, body .button.compact:hover { padding: 0; }
body .button.no-border, body .button.no-border:hover { border: 0; }
	/* Hover */
	body .button:hover, body .k-button:hover { border: 3px solid var(--color-light-secondary); color: var(--color-dark); text-decoration: none; }
	body .button:not(.no-border):has(.k-icon):hover, body .k-button:not(.no-border):has(.k-icon):hover { border: 3px solid var(--color-secondary); color: var(--color-dark); }
	body .button.red:not(.no-border):has(.k-icon):hover, body .k-button.red:not(.no-border):has(.k-icon):hover { border: 3px solid var(--color-red); color: var(--color-dark); }
		body .button .k-icon { width: 2.5em; height: 2.5em; margin: -0.4rem 0; border-radius: 0 3px 3px 0; background: var(--color-light-grey); color: var(--color-dark-primary); transition: 0.2s ease 0s; transition-property: border, background, color; }
		body .button.secondary .k-icon { background: var(--color-dark-opacity10); }
			body .button:hover .k-icon { background: var(--color-secondary); color: var(--color-white); }
			body .button.red:hover .k-icon { background: var(--color-red); }

/* HR */
hr { background: var(--color-grey); display: inline-block; width: 100%; height: 1px; margin: 1.6rem 0 0; border: 0; }
hr.vertical { width: 1px; height: 100%; margin: 0 1rem; }
.input-container hr { margin: 1rem 0 0; }

/* Image */
.fit-image { max-width: 100%; max-height: 100%; overflow: hidden; }
	.fit-image > img { object-fit: cover; object-position: center; width: 100%; height: 100%; }
	.fit-image.contain > img { object-fit: contain; }
	.fit-image.position-center > img { object-position: center; }

/* Dark */
.dark, .dark h1, .dark h2, .dark h3, .dark h4 { color: var(--color-white); }

/* --- Header --- */

header { position: sticky; z-index: 100; top: 0; width: 100%; padding: 0.8em 0; box-shadow: 0 0 20px -16px var(--color-dark); background: var(--color-white); }

	/* Logo */
	header .logo { max-width: 260px; margin: -16px 0; }
	.public header .logo { margin: -12px 0; }
		header .logo img { max-width: 100%; margin-top: 10px; }

	/* User */
	header .grid-container > .user { position: relative; z-index: 5; gap: 0.4em; margin-left: auto; padding-left: 2em; }
		header .grid-container > .user button { display: flex; align-items: center; gap: 0.4em; color: var(--color-dark); font-size: 0.9rem; font-weight: 400; line-height: 1em; }
		header .grid-container > .user a, header .grid-container > .user span { display: flex; align-items: center; gap: 0.4em; font-size: 0.9rem; line-height: 1em; }
		header .grid-container > .user span { position: relative; }
			header .grid-container > .user span .user-dropdown { display: none; position: absolute; z-index: 2; top: 100%; right: 0; min-width: 180px; margin-top: 0.4rem; width: 100%; padding: 0.6rem 1.2rem; border: 1px solid var(--color-dark-opacity5); border-radius: var(--border-radius-small); box-shadow: var(--shadow-small); background: var(--color-light-grey); }
				header .grid-container > .user span .user-dropdown a { width: 100%; padding: 0.6rem 0; border-bottom: 1px solid var(--color-grey); text-decoration: none; }
				header .grid-container > .user span .user-dropdown a:last-child { border: 0; }
		/* User Menu */
		header .grid-container > .user .user-menu { align-items: baseline; padding: 0.4em 0; }
			header .grid-container > .user .user-menu a, header .grid-container > .user .user-menu button { color: var(--color-dark); font-size: 0.85rem; font-weight: 500; text-decoration: underline; text-decoration-color: var(--color-grey); }
				header .grid-container > .user .user-menu a:hover, header .grid-container > .user .user-menu button:hover { color: var(--color-dark-secondary); }
			header .grid-container > .user .user-menu a:has(.tally) { display: inline-flex; align-items: center; justify-content: center; margin: -0.2rem 0; padding: 0.3rem 0.5rem 0.2rem; border-radius: var(--border-radius-small); background: var(--color-light-grey); font-size: 0.9rem; line-height: 1em; text-decoration: none; }
				header .grid-container > .user .user-menu a:has(.tally) .tally { font-weight: 700; }
		/* Primary Menu */
		header .grid-container > .user .secondary-menu a { color: var(--color-dark); padding: 0 0.6rem; border-right: 1px solid var(--color-grey); }
		header .grid-container > .user .secondary-menu a:last-child { border-right: 0; padding-right: 0; }
			header .grid-container > .user .secondary-menu a .tally { display: inline-flex; padding: 6px 6px 3px; border-radius: var(--border-radius-small); background: var(--color-orange); color: var(--color-white); font-size: 0.7rem; text-align: center; text-transform: uppercase; letter-spacing: 1px; }

	/* Search */
	header search { flex: 1 1 auto; display: flex; align-items: center; position: relative; }
		header search form { width: 100%; }

	/* Menu - Primary */
	header .menu-primary, header .menu-primary ul { display: flex; align-items: center; justify-content: center; margin: 0 auto 0 0; padding: 0 3%; list-style: none; }
		header .menu-primary li { position: relative; }
			header .menu-primary a, header .menu-primary li > span { display: flex; flex-flow: row wrap; align-items: center; position: relative; width: min-content; padding: 0.4rem 1.2rem 0; border-bottom: 2px solid var(--color-white); color: var(--color-dark); font-size: 0.9rem; font-weight: 500; line-height: 1em; text-transform: uppercase; letter-spacing: 0.1em; }
				header .menu-primary a::before, header .menu-primary li > span::before { content: ''; position: absolute; bottom: -4px; left: 1.2rem; width: calc(100% - 2.4rem); height: 3px; border-radius: 2px; background: var(--color-white); }
					header .menu-primary a.active::before, header .menu-primary button.active::before { background: var(--color-secondary); }
				header .menu-primary a strong { display: inline-block; width: 100%; font-size: 1.2rem; line-height: 1.2em; }
	/* Public */
	.public header .menu-primary { margin: 0; }
		.public header .menu-primary a, .public header .menu-primary li > span { width: max-content; padding: 1rem; font-size: clamp(0.8rem, -0.091rem + 1.45vw, 1rem); font-weight: 700; line-height: 1.2em; text-transform: none; letter-spacing: 0; }
			.public header .user { padding-left: 0; }
				/* Submenus */
				.public header .menu-primary li ul { flex-flow: column; align-items: flex-start; position: absolute; top: 100%; left: 0; width: 300px; max-width: 100vw; margin: 0; padding: 0; opacity: 0; background: var(--color-light-grey); font-size: 0.8em; pointer-events: none; transition: var(--transition-fast); }
				.public header .menu-primary > li:last-child ul, .public header .menu-primary > li:nth-last-child(2) ul { right: 0; left: inherit; }
					.public header .menu-primary li:hover > ul, .public header .menu-primary li.active > ul, .public header .menu-primary li:focus-visible > ul { top: 100%; opacity: 1; pointer-events: all; }
						.public header .menu-primary li ul li { width: 100%; margin: 0; padding: 0; border-top: 1px solid var(--color-dark-opacity10); }
						.public header .menu-primary li ul li:first-child { border-top: none; }
							.public header .menu-primary li ul li::before { display: none; }
								.public header .menu-primary li ul a { width: 100%; padding: 0.6rem 1rem 0.5rem; color: var(--color-dark); font-size: 0.9rem; font-weight: 700; line-height: 1.2em; }
									.public header .menu-primary > li > ul ul { display: none; top: -0.4rem !important; right: 100%; left: auto; padding: 0.4em 1em; }

	/* Menu - Toggle */
	body header .menu-toggle, body header .menu-toggle:hover { display: none; margin: 0; padding: 0 !important; border: 0 !important; background: var(--color-light-grey); color: var(--color-dark-secondary); }
		body header .menu-toggle strong { opacity: 0; position: absolute; }
		body header .menu-toggle .k-icon { width: auto; height: auto; margin: 0; padding: 0.4em !important; color: var(--color-primary); }
			body header .menu-toggle .k-icon::before { position: relative; }
		body header .menu-toggle .tally { display: none; padding: 6px 6px 3px; border-radius: var(--border-radius-small); background: var(--color-orange); color: var(--color-white); font-size: 0.7rem; text-align: center; text-transform: uppercase; letter-spacing: 1px; }

/* --- Content --- */

.main-content { display: flex; flex-direction: column; }
.login .main-content { justify-content: center; min-height: 100vh; }

.green-bar { border-image: linear-gradient(180deg, var(--color-dark-primary) 0%, var(--color-dark-primary) 40%, rgba(85,149,36,0) 40%, rgba(85,149,36,0) 100%) fill 0 // 0 100vw; }

/* Inquiry Status */
.status { display: inline-flex; align-items: center; gap: 0.2rem; width: 100%; font-size: 0.9em; line-height: 1.4em; }
	.status-indicator.status-green { color: var(--color-secondary); }
	.status-indicator.status-red { color: var(--color-red); }

/* Flex Container */
.flex-container { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: flex-start; align-content: stretch; }
.flex-container.inline { display: inline-flex; }
.flex-container.stretch { width: 100%; }
.flex-container.column { flex-flow: column; }
.flex-container.wrap { flex-flow: row wrap; }
.flex-container.gap { gap: 30px; }
.flex-container.gap.dense { gap: 15px; }
.align-start { align-items: flex-start; }
.align-center { align-items: center; }
.align-end { align-items: flex-end; }
.justify-start { justify-content: flex-start; }
.justify-center { justify-content: center; }
.justify-end { justify-content: flex-end; }
	.flex-item { order: 0; flex: 1 1 auto; margin: 0; }
	.flex-item.stretch { width: 100%; }
	.flex-item.auto-width { flex-grow: 0 !important; flex-basis: auto !important; width: auto; }

.text-align-center { text-align: center; }

body .shadow-card { border-radius: var(--border-radius-medium); box-shadow: var(--shadow-large); background: var(--color-white); overflow: hidden; }
body .shadow-card:has(.section-info) { overflow: visible; }

body .no-margin { margin-top: 0 !important; }
body .pad-large { padding: var(--spacing-large); }
body .pad-medium { padding: var(--spacing-medium); }
body .pad-small { padding: var(--spacing-small); }

/* Page Title */
body .page-title { display: flex; flex-flow: row wrap; align-items: center; justify-content: space-between; gap: 1em; margin: 0; border-radius: 0 0 var(--border-radius-medium) var(--border-radius-medium); background: var(--color-dark-primary); }
	body .page-title h1 { margin: 0.4em 0 0; color: var(--color-white); }

/* Info Popup */
.section-info-popup { display: none; }
.section-info { position: relative; font-size: 0.9rem; font-weight: 500; line-height: 1.4em; text-transform: none; }
	.section-info button { margin: -4px 0; padding: 4px; vertical-align: top; line-height: 1em; }
	.section-info .section-info-popup { display: none; opacity: 0; position: absolute; z-index: 10; bottom: 100%; left: 50%; transform: translate(-50%, -0.2rem); width: 280px; padding: 1.2rem 1.4rem; border-radius: var(--border-radius-medium); background: var(--color-dark-primary); color: var(--color-white); transition: var(--transition-fast); pointer-events: none; }
		.section-info.active .section-info-popup { opacity: 1; transform: translate(-50%, -0.8rem); width: 280px; padding: 1.2rem 1.4rem; border-radius: var(--border-radius-medium); background: var(--color-dark-primary); color: var(--color-white); pointer-events: all; }
			.section-info .section-info-popup::before { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border-top: 8px solid var(--color-dark-primary); border-right: 8px solid transparent; border-left: 8px solid transparent; }
		.section-info .section-info-popup button.hide-section-info { position: absolute; top: 4px; right: 4px; width: 20px; height: 20px; margin: 0; padding: 0; border: 2px solid var(--color-white-opacity20); border-radius: var(--border-radius-small); background: var(--color-red); color: #fff; line-height: 14px; transition: all 0.25s ease 0s; }
			.section-info .section-info-popup button.hide-section-info:hover { border: 2px solid var(--color-white-opacity50); background: var(--color-red); color: #fff; }
.approved-supplier-absolute-container { position: relative; margin-bottom: -15px; }
	.approved-supplier-absolute-container .approved-supplier-absolute { position: absolute; top: -2rem; right: 0; }

/* --- Forms --- */

/* Wizard */
#wizard { overflow: visible; }
	#wizard, #wizard .k-widget, #wizard .k-wizard-steps { margin: 0 0 1rem; padding: 0; background: none; }
	#wizard .k-stepper { margin: 0; padding: 0; border-radius: 3px 5px 0 0; background: var(--color-white); }
	main:not(.review-general-enrollment-application):not(.review-medicare-switch-enrollment) #wizard .k-stepper { margin: 0 0 1rem; border-bottom: 1px solid var(--color-dark-opacity10); border-radius: 0 0 5px 5px; }

	#admin-review-checklist { display: flex; flex-flow: row wrap; align-items: center; margin: 0 0 1rem; padding: 0 0 1rem; border-bottom: 1px solid var(--color-dark-opacity10); border-radius: 0 0 5px 5px; background: var(--color-white); text-align: center; }
		#admin-review-checklist h3 { display: flex; align-items: center; gap: 1em; width: 100%; margin: 0; padding: 0 3% 0.6rem; color: var(--color-dark-opacity50); font-size: 0.8rem; font-weight: 500; text-align: left; text-transform: uppercase; letter-spacing: 0.1em; }
			#admin-review-checklist h3::before, #admin-review-checklist h3::after { content: ''; flex: 1 1 auto; height: 1px; background: var(--color-light-grey); }
		#admin-review-checklist .input-container { display: inline-flex; flex: 1 1 auto; justify-content: center; margin: 0; text-align: center; }
			#admin-review-checklist .input-container label { padding: 0; border: 0; }
				#admin-review-checklist .input-container label span { display: none; }

		#wizard .k-stepper .k-step .k-step-link { position: relative; padding: 1rem 0; overflow: visible; }
			#wizard .k-stepper .k-step { margin: 0; }
				#wizard .k-stepper .k-step-current .k-step-indicator { color: var(--color-white); }
					#wizard .k-stepper .k-step .k-step-indicator { border-color: var(--color-grey); box-shadow: 0 0 6px 4px var(--color-white); background: var(--color-white); color: var(--color-dark); }
					#wizard .k-stepper .k-step-current .k-step-indicator { border-color: var(--color-red); box-shadow: 0 0 6px 6px var(--color-white); background-color: var(--color-red); color: var(--color-white); }
					#wizard .k-stepper .k-step-done .k-step-indicator { border: 2px solid var(--color-dark-green); background-color: var(--color-white); color: var(--color-dark-green); }
				#wizard .k-stepper .k-step .k-step-label { position: absolute; opacity: 0; top: 70%; width: 140px; max-width: inherit; margin: 0; padding: 0.8em 1em; border-radius: var(--border-radius-small); box-shadow: 0 2px 18px -4px var(--color-dark-opacity20); background: var(--color-white); color: var(--color-dark); font-size: 0.9em; line-height: 1.2em; transition: var(--transition-fast); pointer-events: none; }
					#wizard .k-stepper .k-step:hover .k-step-label { opacity: 1; top: 90%; }
						#wizard .k-stepper .k-step .k-step-label::before { content: ''; position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); border-right: 4px solid transparent; border-bottom: 4px solid var(--color-dark-primary); border-left: 4px solid transparent; }
							#wizard .k-stepper .k-step .k-step-label .k-step-text { overflow: visible; max-width: 100%; white-space: initial; }

		#wizard .k-progressbar-horizontal { top: calc(50% - 1px); margin: 0; border-color: var(--color-light-grey); }
			#wizard .k-progressbar-horizontal .k-state-selected { border-color: var(--color-grey); }

	#wizard .k-wizard-steps .k-wizard-step { padding: 0; }

	/* Buttons */
	#wizard .k-wizard-buttons { padding: 1rem 1.2rem; border-radius: var(--border-radius-small); background: var(--color-dark-primary); color: var(--color-white); }
		#wizard .k-wizard-buttons > span { display: flex; align-items: center; gap: 0.8em; }
			#wizard .k-wizard-buttons > span button { margin: 0; padding: 0.6rem 0.8rem; }

/* Fieldset */
fieldset { display: inline-block; position: relative; width: 100%; margin: 2rem 0 0.4rem; padding: 0 2rem 2rem; border: 1px solid var(--color-grey); border-radius: var(--border-radius-small); }
	fieldset legend { margin-left: -1.3rem; padding: 0 1em; color: var(--color-primary); font-size: 1.3rem; font-weight: 700; }
	fieldset .controls { position: absolute; top: 0; right: 1em; transform: translateY(-82%); }
		fieldset .controls .button { margin: 0; padding: 0.4em 0.8em; background: var(--color-white); }
			fieldset .controls .button:hover { background: var(--color-red); color: var(--color-white); }
				fieldset .controls .button .k-icon { color: var(--color-red); }
					fieldset .controls .button:hover .k-icon { color: var(--color-white); }

/* Headings */
.form-wrapper h2 { margin: 1.2rem 0 0.2rem; }
.form-wrapper h3 { margin: 1rem 0 0.2rem; padding: 0.8rem 1rem; border-top: 1px solid var(--color-white); border-radius: var(--border-radius-small); background: var(--color-white-opacity90); color: var(--color-primary); font-size: 1.3rem; }
.form-wrapper h4 { margin: 1.2rem 0 -0.6rem; font-weight: 700; }

/* Containers */
.input-container { position: relative; margin-top: 1rem; }
.input-container.auto-width { width: auto; }
	.input-container label, .input-container strong { display: block; margin-top: 0.4rem; font-weight: 700; }
	.input-container label.hide, .input-container strong.hide { position: absolute; width: 0; height: 0; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
	.input-container p { font-size: 0.9em; line-height: 1.2em; }
	.input-container li strong, .input-container p strong, .input-container span strong { display: inline; margin-top: 0; font-size: 1em; }
/* Lineup */
.input-container.lineup, .row .input-container.lineup { display: flex; flex-flow: row wrap; align-items: center; gap: 0.8rem; }
	.input-container.lineup strong { width: 100%; }
	.input-container.lineup > label:first-child:not(.radio-container):not(.checkbox-container) { width: 100%; margin: 0; }
	.input-container.lineup > p { display: inline-block; width: 100%; margin: 0; }
		.input-container.lineup > p > em { display: inline-block; width: 100%; line-height: 1.4em; }
/* Row Specific */
.row .input-container { display: block; width: initial; }
/* Totals */
.input-container .total { display: inline-block; margin-top: 0.4em; padding: 0.8em; border-radius: var(--border-radius-small); background: var(--color-primary); color: var(--color-white); font-size: 1.1rem; font-weight: 700; line-height: 1.4em; }
/* Monetary */
body .input-container:has(.k-i-dollar) input { padding: 0.8rem 0.8rem 0.8rem 1.8rem; }
.input-container:has(.k-i-dollar) .k-i-dollar { position: absolute; bottom: 1.2rem; left: 10px; }
/* Percentage */
body .input-container:has(.char-percentage) input { padding: 0.8rem 0.8rem 0.8rem 1.8rem; }
.input-container:has(.char-percentage) .char-percentage { position: absolute; bottom: 0.8rem; left: 12px; }

/* Inputs */
input, textarea, select, .app .k-autocomplete input { width: 100%; margin-top: 0.6rem; padding: 0.8rem; border: 1px solid var(--color-grey); border-radius: var(--border-radius-small); background: var(--color-white); font-size: 1rem; appearance: none; }
body .big-input input[type="text"], body .big-input select, .big-input textarea { padding: 1.2rem; border-radius: var(--border-radius-medium); font-size: 1.1em; }
input::placeholder, textarea::placeholder, select::placeholder { color: #000; }
/* Search */
body.app .search-container { flex: 1 1 240px !important; align-self: center !important; }
	body.app .search-container label { position: absolute; left: 1em; top: 50%; transform: translateY(-50%); }
	body.app .k-autocomplete { width: 100%; padding: 0; border: 0; }
		body.app .k-autocomplete > .k-i-close { right: 1rem; transform: translateY(-30%); color: var(--color-dark-grey); }
		body.app search .k-autocomplete > .k-i-close { right: 50px; }
	body.app .search-container input { margin: 0; padding: 0.6em 48px 0.6em 0.8em; border: 2px solid transparent; background: var(--color-light-grey); }
	body.app .search-container button { display: inline-flex; position: absolute; z-index: 2; right: 0.4em; top: 50%; transform: translateY(-50%); padding: 0.6em; border-radius: var(--border-radius-small); color: var(--color-dark); }
		body.app .search-container button:hover { background: var(--color-primary); color: var(--color-white); }
			body.app .search-container button::before { content: ''; display: inline-block; position: absolute; z-index: 0; top: 20%; left: 0; width: 1px; height: 60%; background: var(--color-grey); }
				body.app .search-container button:hover::before { background: none; }
/* Select */
body .select-container { position: relative; }
body .input-container.medium .select-container { max-width: 400px; }
body .input-container.small .select-container { max-width: 200px; }
	body .select-container > span.k-icon { position: absolute; top: calc(50% + 0.3rem); right: 10px; transform: translateY(-50%); pointer-events: none; }
	body .grid-sorting .select-container > span.k-icon { top: 50%; }
		body select { padding: 0.8em 30px 0.8em 0.6em; cursor: pointer; }
/* Multi-Select */
body .k-multiselect .k-multiselect-wrap, body .input-container .k-multiselect .k-list-container { display: flex; flex-flow: row wrap; gap: 0.4rem; margin-top: 0.6rem; padding: 0.5rem; border: 1px solid var(--color-grey); border-radius: var(--border-radius-small); }
body .dark .k-multiselect .k-multiselect-wrap { background: var(--color-dark-opacity10); border: 1px solid var(--color-dark-opacity30); }
	body .k-multiselect-wrap ul { display: flex; flex-flow: row wrap; gap: 0.4rem; position: relative; z-index: 2; max-width: calc(100% - 20px); }
	body .k-multiselect-wrap ul:empty { display: none; }
		body .k-multiselect-wrap li { display: flex; align-items: center; margin: 0; padding: 0.2rem 1.4rem 0.2rem 0.4rem; border: 2px solid var(--color-dark-opacity0); border-radius: 5px; background: var(--color-yellow); color: var(--color-dark); font-size: 0.85em; transition: var(--transition-fast); }
			body .k-multiselect-wrap li:hover { border: 2px solid var(--color-dark-opacity20) !important; color: var(--color-dark) !important; }
				body .k-multiselect-wrap li .k-select[title="delete"] { display: inline-flex; }
				body .k-multiselect .k-multiselect-wrap input { opacity: 1; width: 34px !important; height: 34px; padding: 0; border: 1px solid var(--color-dark-opacity20); background: url(../images/icon_add-category.svg) no-repeat center var(--color-white); background-size: 20px auto; color: transparent; cursor: pointer; }
	body .k-multiselect > span { display: flex !important; top: 50% !important; left: 52px !important; transform: translateY(-50%); width: calc(100% - 66px); visibility: visible !important; }
		body .k-multiselect .k-multiselect-wrap > span.k-i-close { top: 50% !important; left: auto; transform: translateY(-50%); }
	body .k-listbox .k-item, body .k-popup .k-list .k-item { margin: 0; padding: 0.4rem 0.8rem; border-bottom: 1px solid var(--color-grey); font-size: 0.9em; }
		body .k-listbox .k-item:hover, body .k-popup .k-list .k-item:hover, body .k-listbox .k-item:focus-visible, body .k-popup .k-list .k-item:focus-visible { background: var(--color-dark-opacity5); }
/* Radio and Checkbox */
body .radio-container, body .checkbox-container { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 0.9em 1em; border: 1px solid var(--color-grey); border-radius: var(--border-radius-small); background: var(--color-white); color: var(--color-dark); font-weight: 500; cursor: pointer; transition: var(--transition-fast); cursor: pointer; }
	body .radio-container:hover, body .checkbox-container:hover { border: 1px solid var(--color-primary); }
		body input.k-radio, body input.k-checkbox { flex: 0 0 20px; width: 20px; height: 20px; margin: -2px 0 0; padding: 0; border: 1px solid var(--color-grey); background: var(--color-white); }
		body input.k-radio { border-radius: 50%; }
			body input.k-radio:checked, body .k-radio.k-checked, body input.k-checkbox:checked, body input.k-checkbox.k-checked { border: 1px solid var(--color-primary); color: var(--color-primary); }
				body .option-description { display: inline-flex; align-items: center; margin: -0.2rem 0; padding: 0.2rem 0.4rem; border-radius: var(--border-radius-small); background: var(--color-light-grey); font-size: 0.8rem; line-height: 1.4em; }
	/* Bigger is Better, Sometimes */
	body .big-input label.checkbox-container, body .big-input label.radio-container { align-items: flex-start; font-size: 1.1em; }
		body .big-input label.checkbox-container input, body .big-input label.radio-container input { margin-right: 0.4rem; padding: 0.7rem; }
	/* Smaller */
	body .input-container.small-input .radio-container, body .input-container.small-input .checkbox-container { gap: 0.4em; margin: 0; padding: 0; border: 0; }
		body .small-input label.checkbox-container, body .small-input label.radio-container { align-items: flex-start; }
			body .small-input label.checkbox-container input, body .small-input label.radio-container input { padding: 0.2rem; }
				.k-radio::before, .k-checkbox::before { color: var(--color-dark); line-height: 1em; }
				.small-input .k-radio::before { width: 6px; height: 6px; }
	/* Date / Time */
	body .k-datetime-container { background: var(--color-white); }
		body .k-datetime-container .k-button-group .k-button { border: 0; border-bottom: 5px solid var(--color-grey); background: var(--color-white); }
		body .k-datetime-container .k-button-group .k-button.k-state-active { border-bottom: 5px solid var(--color-orange); }
		/* Picker */
		body .input-container .k-datepicker { margin-top: 0.6rem; }
			body .input-container .k-picker-wrap { padding-right: 36px; border: 0; border-radius: 5px; background: var(--color-primary); color: var(--color-white); }
				body .input-container .k-picker-wrap input { margin: 0; padding: 0.6rem 0.4rem; border: 1px solid var(--color-grey); border-radius: 5px 0 0 4px; }
				body .input-container .k-picker-wrap .k-select { display: flex; align-items: center; justify-content: center; width: 36px; border: 0; cursor: pointer; }
					body .input-container .k-picker-wrap .k-select .k-link { display: inline-flex; width: auto; padding: 1rem 0.4rem; color: var(--color-white); }
					body .input-container .k-picker-wrap .k-select .k-link:first-child { border-right: 1px solid rgba(0, 0, 0, 0.2); }
			body .input-container .k-datetimepicker .k-picker-wrap { padding-right: 70px; }
				body .input-container .k-datetimepicker .k-picker-wrap .k-select { width: 70px; }
	/* Calendar Picker */
	.app .k-calendar { margin-top: 0.6rem; }
	.app .k-calendar, .k-calendar .k-header, .k-calendar .k-content th { border-color: var(--color-grey); }
	.k-calendar .k-content td.k-state-selected .k-link { background: var(--color-primary); color: var(--color-white); }
	.k-calendar .k-footer { background: var(--color-light-grey); }
/* File Upload */
body input[type="file"] { background: none; cursor: pointer; }
body .file-upload input[type="text"] { padding: 0.4rem 0 0; border: 0; border-radius: 0; background: none; }
	/* Big Upload */
	html body .input-container .big-file-upload { position: relative; display: flex; gap: 10px; flex-direction: column; justify-content: center; align-items: center; padding: 20px; border-radius: 5px; border: 2px dashed var(--color-grey); font-weight: 500; cursor: pointer; transition: background .2s ease-in-out, border .2s ease-in-out; }
		html body .input-container .big-file-upload:hover, html body .input-container .drop-container.drag-active { background: rgba(0, 0, 0, 0.1); }
			html body .input-container .big-file-upload .drop-title { font-size: 1.2rem; font-weight: bold; line-height: 1.3em; text-align: center; transition: color .2s ease-in-out; }
			html body .input-container .big-file-upload .ps { width: auto; padding: 0.4rem 0.6rem 0.2rem; border-radius: var(--border-radius-small); background: var(--color-light-grey); font-style: normal; }
				html body .input-container .file-upload input[type="file"] { width: 100%; padding: 0.6rem; border-radius: 5px; border: 1px solid var(--color-grey); background: var(--color-white); font-size: 0.9rem; }
				html body .input-container .file-upload input[type="file"]::file-selector-button { margin-right: 20px; border: none; background: #C3353E; padding: 10px 20px; border-radius: 5px; color: var(--color-white); cursor: pointer; transition: background .2s ease-in-out; }
	/* Last Upload */
	.last-upload { display: flex; flex-flow: row wrap; align-items: center; gap: 1em; border-radius: var(--border-radius-small); background: var(--color-white-opacity50); }
		.last-upload h3, .last-upload p { margin: 0; }

/* Optional / Required */
.input-container:has(input:not(.k-checkbox):not(.k-radio):not([type="file"])[required]) label::after { content: '*'; display: inline-block; margin-left: 4px; color: var(--color-red); font-size: 1.3em; font-weight: 500; line-height: 0; }
.input-container:has(.radio-container):has(.checkbox-container) strong::after { content: '*'; display: inline-block; margin-left: 4px; color: var(--color-red); font-size: 1.3em; font-weight: 500; line-height: 0; }
.input-container:has(input[type="file"][required]) .drop-title::after { content: '*'; display: inline-block; margin-left: 4px; color: var(--color-red); font-size: 1.3em; font-weight: 500; line-height: 0; }
.required-indicator { content: '*'; display: inline-block; margin-left: 4px; color: var(--color-red); font-size: 1.3em; font-weight: 500; line-height: 0; }

/* Input Description - aria-described-by */
.ps { display: inline-block; width: 100%; margin-top: 0.4rem; font-size: 0.85em; font-weight: 400; line-height: 1.4em; }
input + .ps { padding: 1em 0 0; }

/* Submit Box */
#submit-box { margin-top: 2rem; padding: 1rem; border-radius: var(--border-radius-medium); background: var(--color-primary); }
#submit-box.sticky { position: sticky; z-index: 10; bottom: 1em; box-shadow: var(--shadow-medium); }
	#submit-box .button { margin: 0; padding: 1.2em 2.2vw; border: 3px solid var(--color-secondary); background: var(--color-white-opacity10); color: var(--color-white); font-size: 1.2rem; line-height: 1.4em; }
		#submit-box .button:hover { background: var(--color-dark-primary); }
	#submit-box .button.secondary, #submit-box .button.secondary:hover { border: 0; background: none; }

/* --- Panelbar --- */

.k-panelbar.mimic-fieldset { border: none; }
	.k-panelbar.mimic-fieldset li { margin: 1rem 0 0.4rem; padding: 0; border: 1px solid var(--color-grey); border-radius: var(--border-radius-small); transition: var(--transition-fast); }
		.k-panelbar.mimic-fieldset li.k-state-active { margin: 3rem 0 0.4rem; padding: 0 0 2em; border: 1px solid var(--color-primary); }
			.k-panelbar.mimic-fieldset li::before { display: none; }
			.k-panelbar.mimic-fieldset li .k-header { padding: 1.4rem; border: 0; transition: var(--transition-fast); }
				.k-panelbar.mimic-fieldset li.k-state-active .k-header { margin-top: -1.2em; padding: 0 2rem; }
					.k-panelbar.mimic-fieldset li .k-header .panelbar-block-title { margin-left: -1.2rem; padding: 0 1em; background: var(--color-light-grey); color: var(--color-primary); font-size: 1.3rem; font-weight: 700; }
					.k-panelbar.mimic-fieldset li .k-header .k-panelbar-collapse.k-icon, .k-panelbar.mimic-fieldset li .k-header .k-panelbar-expand.k-icon { right: 2rem; width: 2em; height: 2em; margin-top: -1em; padding: 0; border-radius: 50%; background: var(--color-white); transition: var(--transition-fast); }
						.k-panelbar.mimic-fieldset li:hover .k-header .k-panelbar-collapse.k-icon, .k-panelbar.mimic-fieldset li:hover .k-header .k-panelbar-expand.k-icon { background: var(--color-red); color: var(--color-white); }
						.k-panelbar.mimic-fieldset li.k-state-active .k-header .k-panelbar-collapse.k-icon, .k-panelbar.mimic-fieldset li.k-state-active .k-header .k-panelbar-expand.k-icon { transform: rotate(-180deg); background: var(--color-primary); color: var(--color-white); }
							.k-panelbar.mimic-fieldset li.k-state-active .k-header .k-panelbar-collapse.k-icon:hover, .k-panelbar.mimic-fieldset li.k-state-active .k-header .k-panelbar-expand.k-icon:hover { background: var(--color-red); color: var(--color-white); }
								.k-panelbar.mimic-fieldset li .k-header .k-panelbar-collapse.k-icon::before, .k-panelbar.mimic-fieldset li .k-header .k-panelbar-expand.k-icon::before { content: '\e015'; }
			.k-panelbar.mimic-fieldset li .k-content { padding: 0 2rem; border: 0; }
				.k-panelbar.mimic-fieldset li .controls { position: absolute; top: 50%; transform: translateY(-50%); right: 4em; opacity: 0; transition: all 0.3s ease 0.2s; }
					.k-panelbar.mimic-fieldset li.k-state-active .controls { margin: 0 -0.4rem; right: 5em; opacity: 1; }
						.k-panelbar.mimic-fieldset li .controls .button { margin: 0 0.4rem; border-radius: var(--border-radius-small); background: var(--color-primary); color: var(--color-white); line-height: 1.2em; }
							.k-panelbar.mimic-fieldset li .controls .button:hover { background: var(--color-red); }
								.k-panelbar.mimic-fieldset li .controls .button .k-icon { color: var(--color-white); }

/* Tabs */

body.app .k-tabstrip, body.app .k-tabstrip:focus { border: 0; box-shadow: none; background: none; }

	/* Tab Nav */
	body.app .k-tabstrip .k-tabstrip-items { display: flex; flex-flow: row; gap: 1.2rem; margin-bottom: 1rem; padding: 0.8rem 0; border: 2px solid var(--color-white); border-radius: var(--border-radius-medium); background: var(--color-white-opacity40); }

		body.app .k-tabstrip .k-tabstrip-items .k-item { flex: 1 1 auto; border: 3px solid var(--color-dark-opacity10); border-radius: var(--border-radius-medium); box-shadow: var(--shadow-large); background: var(--color-white-opacity60); transition: var(--transition-fast); }
			body.app .k-tabstrip .k-tabstrip-items .k-item:hover { border: 3px solid var(--color-secondary); background: var(--color-white); }
			body.app .k-tabstrip .k-tabstrip-items .k-item.k-state-active { margin-bottom: 0; border: 3px solid var(--color-secondary); background: var(--color-light-secondary); }
				body.app .k-tabstrip .k-tabstrip-items .k-item:before { display: none; }

				body.app .k-tabstrip .k-tabstrip-items .k-item span.k-link { display: flex; flex-flow: row wrap; align-items: center; justify-content: center; position: relative; z-index: 10; width: 100%; height: 100%; padding: 0.8rem 1.2rem; color: var(--color-primary); font-size: 1.1em; line-height: 1.1em; font-weight: 700; text-align: center; text-transform: uppercase; letter-spacing: 0.1em; }
					body.app .k-tabstrip .k-tabstrip-items .k-item.k-state-active span.k-link { color: var(--color-dark); text-shadow: 0 0 12px var(--color-white); }
						body.app .k-tabstrip .k-tabstrip-items .k-item span.tally { display: inline-block; margin: -4px 0 0 0.4rem; padding: 3px 8px 0; border: 2px solid var(--color-secondary); border-radius: var(--border-radius-small); vertical-align: middle; background: var(--color-white-opacity70); color: var(--color-dark); font-size: 0.75rem; text-align: center; letter-spacing: 1px; }
						body.app .k-tabstrip .k-tabstrip-items .k-item .k-loading { display: none; }
							body.app .k-tabstrip .k-tabstrip-items .k-item span.k-link .step-status { margin-top: 0.2rem; padding: 0.3rem 0.4rem 0.2rem; border: 1px solid var(--color-secondary); border-radius: var(--border-radius-small); background: var(--color-white-opacity80); color: var(--color-dark-secondary); font-size: 0.7rem; font-weight: 600; line-height: 1.4em; }
								body.app .k-tabstrip .k-tabstrip-items .k-item span.k-link .step-status.incomplete { border: 1px solid var(--color-dark-red); color: var(--color-dark-red); }

				body.app .k-tabstrip .k-tabstrip-items .k-item span.k-link::before { content: ''; position: absolute; left: 50%; top: 100%; transform: translateX(-50%); width: 0; height: 0; border-right: 12px solid transparent; border-top: 0 solid var(--color-secondary); border-left: 12px solid transparent; transition: all 0.1s ease 0s; }
					body.app .k-tabstrip .k-tabstrip-items .k-item.k-state-active span.k-link::before { border-top: 8px solid var(--color-secondary); }

	/* Tab Content */
	body.app .k-tabstrip .k-content {  margin: 0; padding: var(--spacing-medium); border: 0; }

/* --- Kendogrid --- */

body.app .action-bar h2 { margin-right: auto; }
body.app .action-bar a, body.app .action-bar button { margin: 0; }

body.app .live-marketplace-container, body.app .forward-agreement-marketplace-container { position: relative; padding: 0 var(--spacing-medium) var(--spacing-medium) var(--spacing-medium); border: 3px solid var(--color-live-marketplace); border-radius: var(--border-radius-medium); }
body.app .forward-agreement-marketplace-container { border: 3px solid var(--color-forward-agreement-marketplace); }
	body.app .live-marketplace-container > h3, body.app .forward-agreement-marketplace-container > h3 { display: inline-block; position: absolute; top: -0.6em; left: calc(var(--spacing-medium) - 0.6em); padding: 0 0.6em; background: var(--color-white); text-transform: uppercase; letter-spacing: 0.1em; }

	body.app .k-grid:not(table) { width: 100%; border: none; border-radius: 5px; background: none; overflow: hidden; }
		body.app .k-grid .k-grid-header { border: 0; }
		body.app .k-grid .k-grid-toolbar { padding: 0.4em; border-bottom: none; border-radius: var(--border-radius-small); box-shadow: 0 2px 6px -2px var(--color-grey) inset; background: var(--color-light-grey); }
			body.app .k-grid .k-grid-header-wrap { border: 0; border-bottom: 1px solid var(--color-dark-opacity10); }
				body.app .k-grid .k-grid-content table { background: var(--color-white-opacity70); }
					body.app .k-grid th, body.app .k-grid td { padding: 0.9rem; border: 0; vertical-align: top; line-height: 1.2em; }
					body.app .k-grid tr:has(.img-container) td { padding: 1.6rem 0.6vw; }
					body.app .k-grid tr td:has(.img-container) { padding: 0.4rem 0.6vw; font-size: 1.1rem; line-height: 1.4em; font-weight: 700; }
						body.app .k-grid tr td:has(.img-container) .td-layout { align-items: flex-end; min-height: 56px; margin: 0; padding: 0; }
					body.app .k-grid th:first-child, body.app .k-grid td:first-child { padding-left: 0; }
					body.app .k-grid th:last-child, body.app .k-grid td:last-child { padding-right: 0; }
						body.app .k-grid-header th.k-header > *, body.app .k-grid tr td > *:not(.row) { float: none; display: inline-flex; margin: -0.4rem 0; padding: 0.4rem 0; color: var(--color-dark); line-height: 1.1em; vertical-align: middle; white-space: initial; text-decoration: none; }
						body.app .k-grid tr td > div:not(:first-child) { margin-top: 1rem; padding: 1rem; border-radius: var(--border-radius-medium); background: var(--color-dark-opacity5); }

		/* Buttons */
		body.app .grid-sorting .button { gap: 0 0.4em; margin: 0; padding: 0.6rem 0.4vw; border: 1px solid var(--color-white-opacity20); background: var(--color-white-opacity10); line-height: 1.7rem; }
		body.app .grid-sorting .button:first-of-type { margin-left: auto; }
			body.app .grid-sorting .button:hover { background: var(--color-red); }
				body.app .grid-sorting .button.overdue { border: 1px solid var(--color-white-opacity40); background: var(--color-orange); }
				body.app .grid-sorting .button.active { border: 1px solid var(--color-white-opacity100); background: var(--color-white); color: var(--color-dark-primary); }
					body.app .grid-sorting .button.active span.k-icon { color: var(--color-dark-primary); }
		body.app .grid-sorting span.sort-by { color: var(--color-white-opacity80); font-size: 0.9em; text-transform: uppercase; letter-spacing: 0.1em; white-space: nowrap; }
		body.app .grid-sorting span.tally { display: inline-block; padding: 0.2rem 0.4em; border-radius: var(--border-radius-small); vertical-align: middle; background: var(--color-dark-opacity20); line-height: 1.3rem; text-align: center; letter-spacing: 1px; }
		body.app .grid-sorting .button.active span.tally { background: var(--color-dark-opacity10); }

		/* td layout */
		body .k-grid .td-layout { display: flex; gap: 0.4em; }
		body .k-grid .td-layout:has(.img-container) { position: relative; width: 100%; }
		body .k-grid .td-layout.wrap { flex-flow: row wrap; }
			body .k-grid .td-layout .button { margin: calc(-0.4em - 4px) 0; padding: 0.2em 0.4em; font-size: 0.9em; white-space: nowrap; }
			body .k-grid .td-layout.wrap .button { text-align: left; }
			body .k-grid .td-layout:has(.img-container) .product-name { position: relative; z-index: 5; width: 100%; padding: 0.6rem 0.4rem 0.2rem; border-radius: 0 0 var(--border-radius-small) var(--border-radius-small); background: linear-gradient(0deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%); color: var(--color-white); font-size: 0.8rem; line-height: 1.1em; text-shadow: 0 0 6px var(--color-dark); }
			body .k-grid .td-layout .img-container { position: absolute; width: 100%; height: 100%; width: 100%; border-radius: var(--border-radius-small); overflow: hidden; }
				body .k-grid .td-layout .img-container img { object-fit: cover; width: 100%; height: 100%; }
			body .k-grid .td-layout hr { flex: 0 0 1px; height: 2.4em; margin: 0 6px; background: var(--color-grey); }

		/* Detail Row */
		body.app .k-grid tr.k-detail-row td.k-detail-cell { padding: 0 0 1rem; font-size: 0.9rem; overflow: hidden; }

		/* Inputs */
		body.app .grid-sorting .input-container { display: flex; flex: 0 1 auto; align-items: center; gap: 1.4em; width: auto; margin: 0; border-radius: var(--border-radius-small); }
			body.app .grid-sorting .input-container label { display: none; color: var(--color-white); }
			body.app .grid-sorting .input-container input { margin: 0; padding: 0.8rem; border: 1px solid var(--color-white-opacity30); background: none; color: var(--color-white); font-size: 0.9rem; }
			body.app .grid-sorting .input-container select { margin: 0; border: 1px solid var(--color-white-opacity30); background: none; color: var(--color-white); font-size: 0.9rem; }
				body.app .grid-sorting .input-container select option { padding: 0; color: var(--color-dark); }
			body.app .grid-sorting .input-container span.k-icon { margin: 0; color: var(--color-white); }
			/* Search Based */
			body.app .k-grid.search-based .k-grid-toolbar .grid-sorting .input-container label, body.app .k-grid.search-based .k-grid-toolbar .grid-sorting .input-container span.k-icon { color: var(--color-dark); }
			body.app .k-grid.search-based .k-grid-toolbar .grid-sorting .input-container input, body.app .k-grid.search-based .k-grid-toolbar .grid-sorting .input-container select { border: 1px solid var(--color-grey); background: var(--color-white); color: var(--color-dark); }
		/* Show Labels */
		body.app .grid-sorting.show-labels .input-container { flex-flow: column; align-items: flex-start; gap: 0.6rem; }
			body.app .grid-sorting.show-labels .input-container label { display: block; margin: 0; color: var(--color-white); white-space: nowrap; }

/* Header */
body.app .k-grid-header th.k-header { font-size: 0.8rem; font-weight: 700; vertical-align: middle; text-transform: uppercase; }
.k-popup { background: var(--color-white); }
	.k-popup .k-widget > span { border-radius: 5px; border-color: var(--color-grey); }

/* Body */
body.app .k-grid tr { transition: all 0.03s ease 0s; }
body.app .k-grid tr.k-alt, body.app .k-grid tbody tr:hover, body.app .k-grid tbody tr.k-state-hover { background: var(--color-white-opacity50); }
body.app .k-grid tbody tr:hover, body.app .k-grid tbody tr.k-state-hover { background: var(--color-white); }
	body.app .k-grid tr:not(:last-child) td { border-bottom: 1px solid var(--color-dark-opacity10); }

/* Links */
body.app .k-grid td a:not(.k-icon) { display: flex; align-items: center; gap: 0.2rem; width: 100%; color: var(--color-dark-primary); }
/* Commands */
body.app .k-grid td.k-command-cell a { display: inline-flex; width: auto; margin-right: 0.2rem; padding: 0.4rem 0.6rem; }
body.app .k-grid td.k-command-cell a.k-grid-delete, body.app .k-grid td.k-command-cell a.k-grid-cancel { border: 3px solid var(--color-red); color: var(--color-dark-red); }
body.app .k-grid td.k-command-cell a:last-child { margin-right: 0; }

/* Buttons */
body.app tbody td .button { display: flex; align-items: center; gap: 0.2em; position: relative; text-align: left; white-space: nowrap; }
	body.app tbody td .button span.k-icon { width: 1em; height: 1em; margin-top: -7px; background: none; color: var(--color-dark); font-size: 1em; }
/* Status */
body.app .k-grid tr td .status { color: var(--color-dark); }
	body.app .k-grid tr td .status.red { color: var(--color-red); font-weight: 700; }
	body.app .k-grid tr td .status.orange { color: var(--color-orange); }
/* Select */
body.app .k-grid tr td .select-container { margin: -1.2vw 0; }
	body.app .k-grid tr td .select-container select { max-width: 96%; padding: 0.6rem 30px 0.6rem 0.4rem; border: 1px solid var(--color-light-grey); background: var(--color-white); font-size: 0.9em; }
	body.app .k-grid tr td .select-container > span.k-icon { right: 18px; }
/* Pager */
body.app .k-pager-wrap { padding: 1em; }
	body.app .k-pager-wrap .k-link { border: 0; background: var(--color-dark-primary); color: var(--color-white); }
	body.app .k-pager-wrap .k-link.k-state-selected { background: var(--color-white); color: var(--color-dark); }
	body.app .k-pager-wrap .k-link.k-state-disabled { background: var(--color-dark-opacity30); }
		body.app .k-pager-wrap .k-link span { margin: 0; }

/* Modal */

body .k-overlay { background: var(--color-dark-opacity70); }
body .k-window { max-width: 94%; padding-top: 0 !important; border: 0; border-radius: var(--border-radius-medium); box-shadow: 0px 1.4px 1.4px rgba(0, 0, 0, 0.035), 0px 3.8px 3.8px rgba(0, 0, 0, 0.05), 0px 9px 9px rgba(0, 0, 0, 0.065), 0px 30px 30px var(--color-dark-opacity10); }
body .k-window:not([data-role="draggable"]) { position: fixed; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 680px; max-width: 94%; max-height: 80vh; overflow: auto; overscroll-behavior: contain; }

	body .k-window .k-window-titlebar { position: sticky; z-index: 5; top: 0; margin-top: 0 !important; padding: 1.4rem 1.8rem; border: 1px solid var(--color-white-opacity30); border-radius: var(--border-radius-medium) var(--border-radius-medium) 0 0; background: var(--color-dark-primary); color: var(--color-white); }
		body .k-window .k-window-titlebar .k-window-title { font-weight: 700; }
		body .k-window .k-window-titlebar .k-window-actions { display: flex; right: 2em; gap: 0.4rem; }
			body .k-window .k-window-titlebar .k-window-action { opacity: 1; width: 30px; height: 30px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: var(--color-primary) !important; color: var(--color-white); }
				body .k-window .k-window-titlebar .k-window-action:hover { border: 0; background: var(--color-red) !important; color: var(--color-white); }
		body .k-window .k-window-content { width: 100%; max-width: 100%; margin: 0 auto; padding: 0 1.8rem 1.4rem; border: 1px solid var(--color-white-opacity30); border-radius: 0 0 5px 5px; background: var(--color-white); transition: var(--transition-fast); }
			body .k-window .k-window-content h2:first-child { margin-top: 0; }
			body .k-window .k-window-content h3 { font-size: 1.4em; font-weight: 700; }
		/* Form */
		body .k-window .k-window-content.form { font-size: 1em; }
			body .k-window .k-window-content.form #submit-box { border-radius: 0; }
			body .k-window .k-window-content.form #submit-box .button { padding: 1em 1.6em; }

	/* Remote Content */
	body .k-window header { display: none; }
	body .k-window main { padding-top: 0; }

/* Map */
body.app .leaflet-pane { z-index: 2; }
	body.app .leaflet-control-container .leaflet-top, body.app .leaflet-control-container .leaflet-bottom { z-index: 4; }

/* --- Screen | Login --- */

/* Divider Text */
body.app .divider-text { justify-content: flex-start; position: relative; z-index: 10; }
body.app .divider-text.centered { text-align: center; }

	body.app .divider-text::before { content: ''; position: absolute; z-index: -10; top: 50%; left: 0; width: 100%; height: 1px; background: var(--color-light-grey); }
	body.app .divider-text.light-grey::before { background: var(--color-dark-opacity10); }
	body.app .dark .divider-text::before { background: var(--color-primary); }
	body.app .divider-text.reverse::before { background: var(--color-primary); }

		body.app .divider-text > * { display: inline-block; margin: 1.4em 0; padding: 0.4rem 1.4rem 0.4rem 0; background: var(--color-white); }
		body.app .divider-text.light-grey > * { background: var(--color-light-grey); }
		body.app .dark .divider-text > * { background: var(--color-dark-primary); }
		body.app .divider-text.centered > * { padding: 0.4rem 1.4rem; }
		body.app .divider-text.reverse > * { background: var(--color-dark-primary); color: var(--color-white); }
		body.app .divider-text > h1 { margin: 0; }
			body.app .divider-text > a:hover, body.app .divider-text > button:hover { background: var(--color-white); color: var(--color-red); }
			body.app .divider-text.no-hover > a:hover, body.app .divider-text.no-hover > button:hover { background: var(--color-light-grey); }

/* Login Box */
body .login .login-box .logo { padding: 2.6rem 1rem 0; text-align: center; }
	body .login .login-box .logo img { max-width: 280px; }
	body .login .login-box .logo h1 { margin: 0; color: var(--color-red); font-size: 2rem; text-transform: uppercase; letter-spacing: 1px; }

body .login .login-box .sign-in, body .login .login-box .forgot-password { padding: 1rem 2vw 2vw; }
body .login .login-box .forgot-password { display: none; }
	body .login .login-box .sign-in .form-wrapper, body .login .login-box .forgot-password .form-wrapper { margin: 0; }
		body .login .login-box .sign-in .form-wrapper h1, body .login .login-box .forgot-password .form-wrapper h1, body .login .login-box .sign-in .form-wrapper h2, body .login .login-box .forgot-password .form-wrapper h2 { margin: 0; font-size: 1.8em; text-align: center; }

body .login-box .button.submit { width: 100%; justify-content: center; font-weight: 700; }
body .login-box .button.submit.secondary { border-color: var(--color-dark-opacity5); background: var(--color-light-grey); }
	body .login-box .button.submit.secondary:hover { border-color: var(--color-light-secondary); }

/* --- Screen | Create Login --- */

body .create-login .personal-info-box { border: 10px solid var(--color-white); border-radius: 15px; background: var(--color-dark-primary); overflow: hidden; }
	body .create-login .info-row-container { padding: calc(3rem - 10px); }
		body .create-login .info-row-container .row .highlight-block { padding: 1.4rem; }
		body .create-login .info-row-container .row .info-block { padding: 1.4vw 1.4rem 0 0; text-align: left; }
			body .create-login .info-row-container .row .info-block h3 { letter-spacing: 0.1em; }

	body .create-login .create-login-box { padding: 2rem 3rem 3rem; }

/* --- Screen | Home --- */

.feature-container { position: relative; padding: 6vw; border: 0; background: var(--color-dark); overflow: hidden; }
	.feature-container .fit-image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
		.feature-container .fit-image::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(122deg, rgba(53,53,53,0.6) 0%, rgba(53,53,53,0.1) 100%); }
	.feature-container .feature { position: relative; z-index: 2; width: 60%; max-width: 800px; }
		.feature-container .feature img { width: 340px; max-width: 80%; }
		.feature-container .feature h1, .feature-container .feature h2 { text-shadow: 0 0 1rem var(--color-dark-neutral); }
			.feature-container .feature h1 strong, .feature-container .feature h2 strong { color: var(--color-yellow); }
		.feature-container .feature h3 { font-size: 2rem; font-weight: 500; text-shadow: 0 0 1rem var(--color-dark-neutral); }
		.feature-container .feature p, .feature-container .feature ul { margin: 0.6rem 0; font-size: 1.8rem; line-height: 1.4em; text-wrap: balance; text-shadow: 0 0 1rem var(--color-dark-neutral); }
		.feature-container .feature .button { font-size: 1.2rem; line-height: 1.4em; }

.offerings { padding: 4rem 0; }
	.offerings .offering-block { height: 100%; border: 3px solid var(--color-light-primary); box-shadow: var(--shadow-medium); text-align: center; }
		.offerings .offering-block h2 { font-size: 2rem; }
		.offerings .offering-block img { margin-top: 1rem; width: 6rem; max-width: 80%; }
		.offerings .offering-block p { margin-bottom: auto; }
		.offerings .offering-block .user-price { gap: 0.4rem; margin-top: 1rem; font-size: 3rem; line-height: 1em; font-weight: 700; }
			.offerings .offering-block .user-price .rate { align-self: flex-start; padding: 0.3rem 0.6rem 0.1rem; border-radius: var(--border-radius-large); background: var(--color-dark-opacity5); font-size: 0.7rem; font-weight: 500; line-height: 1.4em; text-transform: uppercase; letter-spacing: 0.1em; }
.offerings.distribution-network { padding: 0 0 4rem; }
	.offerings.distribution-network > h2 { margin-bottom: 3rem; color: var(--color-primary); font-size: 4rem; line-height: 1em; text-align: center; }
	.offerings.distribution-network .offering-block { height: 100%; border: none; box-shadow: none; text-align: center; }
		.offerings .offering-block img { margin: 0 0 1rem; }

.veggie-banner { position: relative; margin: 4vw 0; }
	.veggie-banner .text-container { position: absolute; bottom: 35%; left: 40%; width: 55%; }
		.veggie-banner .text-container h2 { color: var(--color-primary); font-size: 5vw; }

.about .audience:has(.benefit-buyers) { padding: 0 0 4rem; }
	.audience h3 { flex: 1 1 100%; margin: 0; padding: 1.4rem 2rem 0; }
	.audience .audience-block { flex: 1 0 20%; text-align: center; }
	.audience .audience-block.push { margin-left: 60%; }
		.audience .audience-block .fit-image { width: 120px; max-width: 90%; }
	.audience .for-buyers { position: relative; border: 3px solid var(--color-dark); border-radius: var(--border-radius-medium); background: var(--color-dark-primary); }
		.audience .flex-container > h3, .audience .flex-container > .audience-block h4 { color: var(--color-white); }
		.audience .for-buyers > h3 { margin-left: 60%; }
		.audience .for-producers { position: absolute; top: -2rem; left: -1rem; width: 60%; border: 3px solid var(--color-dark-opacity30); border-radius: var(--border-radius-medium); background: var(--color-very-light-secondary); }
			.audience .for-producers .flex-container > .audience-block h4 { color: var(--color-dark); }
	.about .audience .grid-container:has(.benefit-buyers) { margin-right: 0; }
		.about .audience .benefit-buyers { position: relative; padding: 5vw 0 5vw 5vw; border: 3px solid var(--color-dark); border-radius: var(--border-radius-medium) 0 0 var(--border-radius-medium); background: var(--color-dark-primary); }
			.about .audience .text-container { width: 100%; color: var(--color-white); font-size: 1.8rem; line-height: 1.2em; }
			.about .audience .benefit-buyers .text-container { padding-right: 5vw; }
				.about .audience h3 { padding: 0; color: var(--color-light-secondary); font-size: 4vw; line-height: 1.2em; }
			.about .audience .audience-block { flex: 1 0 16.66%; text-align: left; }
				.about .audience .audience-block h4 { margin: 0.6rem 0 0; font-size: 1.6rem; line-height: 1.2em; }
				.about .audience .audience-block p { margin-top: 0; color: var(--color-white); }

/* Swiper */
.swiper { padding: 0 3em; }
.nav-swiper > div { padding: 1rem 0; }
	.nav-swiper button { justify-content: center; width: 100%; height: 100%; margin: 0; padding: 1rem; font-size: 1.2rem; line-height: 1em; }
.slider-container { padding: 4rem 0; background: var(--color-dark-primary); }
.swiper-button-prev, .swiper-button-next { color: var(--color-white) !important; }
/* Light */
.slider-container.light { padding: 4rem 0; background: var(--color-barely-secondary); }
	.slider-container.light .swiper-wrapper { display: flex; align-items: center; }
		.slider-container.light .swiper { padding: 0 3em; }
			.slider-container.light .swiper-button-next, .slider-container.light .swiper-button-prev { color: var(--color-dark) !important; }
			.slider-container.light .swiper-slide { vertical-align: middle; }
				.slider-container.light .swiper-slide img { object-fit: contain; width: 500px; max-width: 80%; max-height: 120px; }
		.slider-container.light .swiper-button-prev, .slider-container.light .swiper-button-next { top: 0; left: 0; transform: none; height: 100%; margin: 0; padding: 0 2em; background: var(--color-barely-secondary); color: var(--color-dark-primary) !important; }
		.slider-container.light .swiper-button-next { right: 0; left: auto; }

.feature-container.food-safety { margin-top: 0; margin-bottom: 0; }
.feature-container:last-child { margin-bottom: 0; }

.feature-container.distribution-network { margin: 2em 0; }
	.feature-container.distribution-network .feature h2 { font-weight: 400; }
		.feature-container.distribution-network .feature h2 strong { color: var(--color-white); font-size: 1.8em; }
	.feature-container.distribution-network .feature h3 { margin-top: 2rem; font-weight: 700; }

.cost { padding: 6vw 0; font-size: 1.6rem; line-height: 1.4em; }
	.cost .cost-info { max-width: 90%; }
		.cost .cost-info h2 { color: var(--color-dark-secondary); }
	.cost .nopes h3 { font-size: 2rem; }
	.cost .nopes .k-icon { flex: 0 0 100px; height: 100px; border-radius: 100px; aspect-ratio: 1 / 1; background: var(--color-secondary); color: var(--color-white); }
		.cost .nopes .k-icon::before { font-size: 2em; }
	.cost .nopes img { width: 100px; }

/* --- Screen | About --- */

.about .feature-container .feature { width: 45%; max-width: 800px; }
	.about .feature-container:has(.sponsor) .fit-image > img { object-position: bottom; }
		.about .feature-container:has(.sponsor) .fit-image::before { background: linear-gradient(90deg, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0.8) 45%, rgba(255,255,255,0) 65%, rgba(255,255,255,0) 100%); }
	.about .feature-container .feature h1, .about .feature-container .feature h2, .about .feature-container .feature p { color: var(--color-dark); text-shadow: none; }
	.about .feature-container .feature h1 { margin-left: -1rem; font-size: 6vw; }
		.about .feature-container .feature h1 span { position: absolute; top: -1.4em; left: 3.6em; font-size: 1.4vw; font-weight: 400; }
	.about .feature-container .feature p { text-shadow: 0 0 1rem var(--color-white);}
	.about .feature-container .sponsor { position: absolute; top: 1.4rem; right: 1.4rem; width: 340px; max-width: 50%; }
		.about .feature-container .sponsor img { max-width: 100%; max-height: 100%; color: var(--color-dark); }

.about .veggie-banner { margin: 4rem 0 8rem; padding: 12rem 10rem 0 0; max-width: 1400px; overflow: visible; }
	.about .veggie-banner.fit-image > img { object-position: bottom; }

.about .producers-feature .fit-image.large-image { height: 100%; }
	.about .producers-feature .fit-image.large-image img { object-position: bottom right; }
.about .producers-feature .benefit-producers { padding: 0 5vw; }
	.about .producers-feature .audience-block { flex: 1 0 50%; }
		.about .producers-feature h3, .about .producers-feature p, .about .producers-feature .audience-block h4, .about .producers-feature .audience-block p { color: var(--color-primary); }

.live-marketplace-intro { width: 70%; padding: 8vw; background: url(../images/title-bg.webp) no-repeat center left / contain; font-size: 1.4rem; line-height: 1.4em; }
	.live-marketplace-intro h2 { font-size: 4vw; }
	.live-marketplace-public .fit-image { width: 160px; max-width: 10vw; margin-top: 1rem; }

.forward-agreement-marketplace-public { padding: var(--spacing-large); background: var(--color-dark-primary); }
	.forward-agreement-marketplace-intro { height: 100%; padding: var(--spacing-large); border-radius: var(--border-radius-medium); background: var(--color-white); }
		.forward-agreement-marketplace-intro h2 { font-size: 4vw; padding-left: 1.4rem; border-left: 4px solid var(--color-light-secondary); }
	.forward-agreement-marketplace-public .fam-feature { display: flex; align-items: center; gap: 1.4rem; margin: 1.4rem 0; }
		.forward-agreement-marketplace-public .fam-feature .fit-image { width: 120px; }
		.forward-agreement-marketplace-public .fam-feature p { margin: 0; }

/* --- Screen | Forward Contract Agreements --- */

.how-it-works { padding: 3rem 0; text-align: center; }
	.hiw-intro { color: var(--color-primary); font-size: 2rem; line-height: 1.1em; }
	.how-it-works .hiw-block { height: 100%; }
		.how-it-works .hiw-block h2 { font-size: 2rem; }
		.how-it-works .hiw-block img { margin-top: 1rem; width: 6rem; max-width: 80%; }
		.how-it-works .hiw-block p { margin-bottom: auto; }

.benefits-title-container { background: var(--color-dark-opacity10); }
	.benefits-title .fit-image { width: 160px; max-width: 25%; }
	.benefits-title h2 { font-size: 3.4rem; }

	.public-pillbox > span { display: flex; align-items: center; padding: 0.4rem 1.6rem; border: 2px solid var(--color-secondary); border-radius: 100px; gap: 0.4em; background: var(--color-very-light-secondary); font-size: 0.9rem; font-weight: 700; }
		.public-pillbox > span .fit-image { display: inline-flex; align-items: center; flex: 0 0 4rem; height: 4rem; margin: 0 -0.6rem 0 -1.2rem; padding: 10px; border: 4px solid var(--color-primary); border-radius: 100px; background: var(--color-white); }
		.public-pillbox > span span { font-size: 1.2rem; font-weight: 400; line-height: 1.1em; }

/* --- Screen | Find Producers / Find Buyers --- */

.map-container { flex: 1 1 auto; display: flex; min-width: 320px; min-height: 400px; background: #fff; }
.map-container.auto-height { height: auto; }
.map-container #map { flex: 1 1 auto; background: #efefef; }
	.map-container #map .leaflet-container { height: 100% !important; min-height: 60vh; }


body .blocks { align-self: flex-start; display: grid; grid-template-columns: repeat(auto-fill, minmax(100%, 1fr)); gap: 15px; }
	body .block-item { position: relative; gap: 0.4rem; padding: 1.4rem; border: 3px solid var(--color-white); overflow: visible; transition: var(--transition-fast); cursor: pointer; }
		body .block-item:hover { border: 3px solid var(--color-secondary); }
			body .block-item .profile-img-container { flex: 0 0 120px; width: 120px; height: 120px; margin: 0; border-radius: 50%; border: 8px solid var(--color-white); box-shadow: var(--shadow-small); overflow: hidden; transition: all 0.25s ease 0s; }
			body.app .live-marketplace-container, body.app .forward-agreement-marketplace-container { margin: 0.6rem 0 0.2rem; padding: 0.6rem 0.5rem 0.2rem; border-width: 2px; }
				body.app .live-marketplace-container > h3, body.app .forward-agreement-marketplace-container > h3 { font-size: 0.9rem; line-height: 1.4em; }
			body .block-item .listing-container { width: 100%; margin: auto auto auto 1rem; }
				body .block-item .listing-container h2 { margin: 0.4rem 0 0; }
				body .block-item .badge-container { margin: 0.4rem 0 1rem; }
					body .block-item .badge, .badge { position: relative; gap: 0.4rem; padding: 0.4rem 0.6rem 0.4rem 0.4rem; border: 1px solid var(--color-dark-opacity10); border-radius: var(--border-radius-medium); }
						body .block-item .badge .fit-image, .badge .fit-image { width: 30px; height: 30px; }
						body .block-item .badge strong, .badge strong { display: inline-flex; font-size: 0.8rem; line-height: 1.1em; }
				body .block-item .block-pills { flex-flow: row wrap; gap: 0.4rem; margin: 0.2rem 0; }
					body .block-item .block-pills > span { display: inline-flex; align-content: center; padding: 0.2rem 0.6rem 0.1rem; border-radius: var(--border-radius-large); background: var(--color-light-grey); font-size: 0.85rem; line-height: 1.4em; }
				body .inquiry-actions { margin-top: 0.8rem; }

body .k-rating-container { margin: 0; }
	body .k-rating-container .k-rating-item, body.app .k-grid tr td > .k-rating { padding: 0; cursor: pointer; }
		body .k-rating-container .k-rating-item .k-icon::before { color: var(--color-primary); }

/* --- Screen | Product Management --- */

#recent-listings { padding: var(--spacing-medium); border-radius: var(--border-radius-medium); background: var(--color-light-grey); }
	#recent-listings .input-container.flex-container { padding: 1rem; border-radius: var(--border-radius-medium); background: var(--color-white-opacity70); }

/* --- Screen | Producer Overview --- */
.big-stat { flex-flow: row-reverse; align-items: last baseline; justify-content: start; color: var(--color-dark); }
.big-stat:has(.medium-tally) { padding: 1rem 1.4rem; border-radius: var(--border-radius-medium); }
.big-stat.stat-total-sales { color: var(--color-primary); }
.big-stat.stat-live-marketplace { background: var(--color-live-marketplace); }
.big-stat.stat-forward-agreement-marketplace { background: var(--color-forward-agreement-marketplace); }
	.big-stat h2 { color: var(--color-dark); font-size: 1.2rem; line-height: 1.2em; font-weight: 500; text-align: left; text-transform: uppercase; letter-spacing: 0.05em; }
		.big-stat h2:has(br)::first-line { color: var(--color-dark-opacity80); font-size: 1rem; text-transform: none; letter-spacing: 0; }
	.big-stat .big-tally { font-size: 4vw; line-height: 1em; font-weight: 900; }
	.big-stat .medium-tally { font-size: 3.2rem; line-height: 1em; font-weight: 900; }

	.k-chart text { font-family: inherit !important; color: var(--color-dark); letter-spacing: 0.02em; }
	.k-chart-tooltip { font-weight: 500; }

/* --- Screen | Profile --- */

.profile-sidebar strong { color: var(--color-dark-primary); font-size: 1.1rem; line-height: 1.4em; }

/* --- Screen | Profile Settings --- */

.profile-intro-container { padding-top: 3vw; }

	.profile-details { margin-top: -66px; padding: 2em; }

		.profile-intro .profile-secondary-image { height: 400px; max-height: 35vw; }
		.profile-details .profile-img-container { flex: 0 0 160px; width: 160px; height: 160px; margin-bottom: -8px; border-radius: 50%; border: 8px solid var(--color-white); box-shadow: var(--shadow-medium); overflow: hidden; }

		.profile-details .profile-location { margin-top: 50px; margin-right: auto; }
			.profile-details .profile-location .profile-location-parts span { margin: 0.3em 0; padding: 0.2em 0.6em 0 0.6em; border-left: 1px solid var(--color-grey); line-height: 1em; }
			.profile-details .profile-location .profile-location-parts span:first-child { padding-left: 0; border-left: 0; }

		.profile-details .profile-contact { flex: 1 1; margin-top: auto; text-align: right; }
			.profile-details .profile-contact .status { width: auto; }

body .k-window .k-window-content.selected-live-marketplace { box-shadow: 0 0 0 6px var(--color-live-marketplace) inset; }
body .k-window .k-window-content.selected-forward-market-agreement { box-shadow: 0 0 0 6px var(--color-forward-agreement-marketplace) inset; }
body .live-marketplace { border-bottom: 3px solid var(--color-live-marketplace); }
	body .live-marketplace:hover { border: 1px solid var(--color-live-marketplace); border-bottom: 3px solid var(--color-live-marketplace); }
body .forward-agreement-marketplace { border-bottom: 3px solid var(--color-forward-agreement-marketplace); }
	body .forward-agreement-marketplace:hover { border: 1px solid var(--color-forward-agreement-marketplace); border-bottom: 3px solid var(--color-forward-agreement-marketplace); }

/* Pillbox */
.pillbox { padding: 1.4rem; border: 1px solid var(--color-grey); border-radius: var(--border-radius-medium); }
	.pillbox .item-title { gap: 0 10px; margin: -1.4rem -1.4rem 0.4rem; border-radius: 0.6rem 0 0 0; overflow: hidden; }
		.pillbox .item-title h3 { display: inline-flex; margin-right: auto; padding: 0.6rem 1.4rem; border-radius: 0 0 var(--border-radius-medium) 0; background: var(--color-yellow); color: var(--color-dark); font-size: 1.1em; line-height: 1.4em; }
		.pillbox .item-title .remove { width: 1.6rem; height: 1.6rem; margin: 0 0.8em; padding: 0; border-radius: var(--border-radius-large); font-size: 1rem; }
			.pillbox .item-title .remove .k-icon { background: var(--color-red); color: var(--color-white); }
	.pillbox > *:not(.item-title) { display: inline-flex; align-items: center; padding: 0.4em 0.8em; border-radius: var(--border-radius-large); gap: 0.4em; background: var(--color-light-grey); font-size: 0.9rem; font-weight: 700; }
	.pillbox > *:not(.item-title):has(.k-i-check) { background: var(--color-dark-primary); color: var(--color-white); }

/* Small Gallery */
.small-gallery-item { flex: 1 1 100px; position: relative; width: 100px; height: 100px; }
	.small-gallery-item img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--border-radius-small); }
	.small-gallery-item .view-image { opacity: 0; display: inline-flex; align-items: center; justify-content: center; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: var(--border-radius-small); background: var(--color-dark-opacity50); color: var(--color-white); transition: var(--transition-fast); }
		.small-gallery-item:hover .view-image, .small-gallery-item .view-image:focus-visible { opacity: 1; }
			.small-gallery-item .view-image .k-icon { font-size: 1.8rem; }
			.small-gallery-item .image-delete { position: absolute; top: 2px; right: 2px; z-index: 100; width: 1em; text-align: center; background-color: #fff; font-weight: bold; cursor: pointer; }

/* Gallery Viewer Modal */
@keyframes mmfadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}
@keyframes mmfadeOut {
	from { opacity: 1; }
	to { opacity: 0; }
}
@keyframes mmslideIn {
	from { transform: translateY(15%); }
	to { transform: translateY(0); }
}
@keyframes mmslideOut {
	from { transform: translateY(0); }
	to { transform: translateY(-10%); }
}

.micromodal-slide { display: none; }
.micromodal-slide.is-open { display: block; }
.micromodal-slide[aria-hidden="false"] .micromodal__overlay { animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1); }
.micromodal-slide[aria-hidden="false"] .micromodal__container { animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1); }
.micromodal-slide[aria-hidden="true"] .micromodal__overlay { animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1); }
.micromodal-slide[aria-hidden="true"] .micromodal__container { animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1); }
.micromodal-slide .micromodal__container, .micromodal-slide .micromodal__overlay { will-change: transform; }

.micromodal { display: none; position: fixed; z-index: 120; }
	.micromodal.is-open { display: block; }
		.micromodal__overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: var(--color-dark-opacity90); display: flex; justify-content: center; align-items: center; }
			.micromodal__container { background-color: var(--color-white); padding: 3px; border-radius: var(--border-radius-medium); overflow-y: auto; }
				.micromodal button.close { position: absolute; top: 1em; right: 1em; }
					.micromodal img { width: auto; max-width: 100%; height: auto; max-height: 80vh; border-radius: var(--border-radius-medium); vertical-align: middle; }

/* --- Screen - Message Center --- */

/* Conversation List */
.conversation-list { border-radius: 0 0 var(--border-radius-medium) var(--border-radius-medium); color: var(--color-white); overflow: auto; }
	.conversation-list .shadow-card { box-shadow: var(--shadow-small); }
	/* New Message Container */
	.new-message-container { border-radius: var(--border-radius-medium); background: var(--color-secondary); }
	/* Search Conversations */
	.conversation-search { padding: 1rem; border: 1px solid var(--color-white); border-bottom: 0; background: var(--color-light-grey); border-radius: var(--border-radius-medium) var(--border-radius-medium) 0 0; }
		body.app .conversation-search .search-container input { border: 1px solid var(--color-dark-opacity10); background: var(--color-white); font-size: 0.9rem; line-height: 1.4em; }
	/* Conversation Items */
	.current-conversations h2 { margin: 0; padding: 0.8rem 1.4rem 0.6rem; background: var(--color-dark-opacity10); font-size: 0.9rem; font-weight: 500; line-height: 1.2em; text-transform: uppercase; letter-spacing: 0.1em; }
	.conversation-list .conversation { position: relative; padding: 1rem 1.4rem 2rem; border: 0; border-bottom: 1px solid var(--color-primary); background: var(--color-dark-primary); transition: all 0.3s ease 0s; cursor: pointer; }
		.conversation-list .conversation:hover { background: var(--color-primary); }
			.conversation-list h3 { position: relative; z-index: 10; margin: 0; color: var(--color-white); font-size: 1.2rem; }
			.conversation-list p { position: relative; z-index: 10; margin: 0.2rem 0 0; color: var(--color-white-opacity80); font-size: 0.8rem; line-height: 1.4em; }
			.conversation-list p.topic { font-size: 0.9rem; font-weight: 700; line-height: 1.1em; }
				.conversation-list p strong { color: var(--color-white-opacity90); }
			.conversation-list .conversation .read-status { opacity: 0; position: absolute; top: 0; right: 0; padding: 0.3em 0.4em 0 0.6em; border-radius: 0 0 0 var(--border-radius-small); box-shadow: var(--shadow-small); background: var(--color-white-opacity90); color: var(--color-dark-secondary); font-size: 0.7rem; font-weight: 700; line-height: 1.4em; text-transform: uppercase; letter-spacing: 0.1em; transition: var(--transition-fast); }
				.conversation-list .conversation .read-status.new { opacity: 1; }
			.conversation-list .conversation .status { position: absolute; bottom: -1px; left: 0; width: fit-content; padding: 0.3em 0.4em 0 0.6em; border-radius: 0 var(--border-radius-small) 0 0; box-shadow: var(--shadow-small); background: var(--color-white-opacity90); color: var(--color-dark-secondary); font-size: 0.7rem; font-weight: 700; line-height: 1.4em; text-transform: uppercase; letter-spacing: 0.1em; transition: var(--transition-fast); }
		/* Active Message */
		.conversation-list .conversation.active { border-bottom: 1px solid var(--color-white); background: var(--color-white); }
			.conversation-list .conversation.active h3, .conversation-list .conversation.active p strong { color: var(--color-dark); }
			.conversation-list .conversation.active p.topic { color: var(--color-primary); }
			.conversation-list .conversation.active p { color: var(--color-dark-opacity90); }

/* Messaging */
.message-center .messaging .conversation-header { margin: var(--negative-spacing-medium); margin-bottom: 1.6rem; background: var(--color-primary); }
	.message-center .messaging .conversation-header .pillbox { border: 1px solid var(--color-white-opacity20); box-shadow: inset 0 2px 20px -12px var(--color-dark); }
		.message-center .messaging .conversation-header .pillbox > span { background: var(--color-dark-opacity40); }

.message-center .messaging .message-container { border-bottom: 1px solid var(--color-dark-opacity10); color: var(--color-dark); }
.message-center .messaging .message-container:last-child { border-bottom: 0; }
	.message-center .messaging .message-container h4 { color: var(--color-dark); }
		.message-center .messaging .message-container h4 .note-timestamp { background: var(--color-light-grey); color: var(--color-dark); font-size: 0.7rem; line-height: 1.4em; letter-spacing: 0.1em; }

.messaging .input-container { margin: 0; justify-content: flex-end; }
.messaging .input-container textarea { height: 140px; max-height: 60vh; }
	.messaging .input-container .submit-button { justify-content: center; }

.messaging .message-container { padding: 1.6rem 0; border-bottom: 1px solid var(--color-dark-opacity10); font-size: 0.85em; line-height: 1.2rem; }
.message-center .messaging .message-container { font-size: 1em; }
.messaging .message-container h4 { display: flex; flex-flow: row wrap; align-items: center; justify-content: space-between; margin: 0; font-size: 1.1em; font-weight: 700; }
	.messaging .message-container h4 .note-timestamp { padding: 0.6em 0.8em 0.4em; border-radius: 30px; background: var(--color-dark-opacity5); font-size: 0.8em; font-weight: 300; letter-spacing: 0.05em; }
.messaging .message-container p { margin-top: 0.8rem; }

.messaging .send-message { margin-right: auto; }
.messaging .quick-response strong { color: var(--color-dark-grey); font-size: 0.8rem; line-height: 1.4em; text-transform: uppercase; letter-spacing: 0.1em; }

.message-container-original .message-original-text {
    margin: 0.2rem 0 0;
    color: var(--color-white-opacity80);
    font-size: 1.2rem;
    line-height: 1.4em;
}

.declined, .denied { color: red !important; }
.confirmed, .accepted, .finalized { color: green !important; }

/* --- Footer --- */

#footer { padding: var(--spacing-large) 0; background: var(--color-dark-primary); }
	#footer .logo { display: inline-block; max-width: 100px; margin-right: 2rem; }
		#footer .logo img { max-width: 100%; height: calc(100% + 20px); vertical-align: middle; }
	#footer .menu-footer a { padding: 0.4rem 1rem; color: var(--color-white); font-size: 1rem; line-height: 1.4em; }

.sticky-footer { margin-top: auto; }

/* 1240 */

@media only screen and (max-width: 1240px) {

	/* --- Content --- */

	/* Kendogrid */
	body.app .k-grid-header th.k-header > *, body.app .k-grid tr td:not(.k-detail-cell) > * { white-space: nowrap; }

}

/* > 980 */

@media only screen and (min-width: 980px) {

	/* --- Type --- */

	a[href^="tel:"], a[href^="tel:"]:hover { color: inherit; cursor: pointer; text-decoration: none; font-weight: inherit; cursor: default; }
	body.app .k-grid td a[href^="tel:"], body.app .k-grid td a[href^="tel:"]:hover { background: none; color: var(--color-dark); }

	h1 { font-size: clamp(1.6rem, 0.019rem + 2.58vw, 2.6rem); }

	/* --- Header --- */

	body header .user { flex-flow: column; }

	/* --- Content --- */

	/* Page Title */
	body .page-title { flex-wrap: nowrap; align-items: flex-end; }
		body .page-title h1 { flex: 1 1; }

	/* --- Screen | Home --- */

	.feature-container { min-height: 60vh; margin: 4vw 0; }
	.feature-container.auto-height { min-height: auto; }
	.feature-container:first-child { margin: 0; }
		.feature-container .feature h1, .feature-container .feature h2 { font-size: clamp(2.6rem, -0.667rem + 5.33vw, 4rem); }
		.feature-container .feature.large-title h1 { font-size: clamp(0rem, -12.542rem + 20.48vw, 5.375rem); }

	/* --- Screen | About --- */

	.about .feature-container .feature p { font-size: 1.6vw; }

	.about .audience .benefit-buyers .text-container { margin-left: auto; text-align: right; }

}

/* 980 */

@media only screen and (max-width: 980px) {

	html, body { font-size: 15px; }
	body.public { font-size: 18px; }

	/* Global */
	:root {
		--spacing-large: 2.6rem; --spacing-medium: 1.6rem; --spacing-small: 0.4rem;
		--negative-spacing-large: -2.6rem; --negative-spacing-medium: -1.6rem; --negative-spacing-small: -0.4rem;
		--border-radius-large: 1.4rem; --border-radius-medium-container: 0.5rem; --border-radius-medium: 0.4rem; --border-radius-small: 0.2rem;
	}

	/* --- Type --- */

	h1 { font-size: 2em; }
	h2 { font-size: 1.4em; }
	h3 { font-size: 1.2em; }

	.public h2 { font-size: 2.4em; }
	.public h3 { font-size: 2em; }

	/* --- Header --- */

	header { position: relative; height: auto; padding: 0 0 1rem; border-top: 0.3em solid var(--color-primary); }

		header .logo, .public header .logo { max-width: 30%; margin: 0 1rem 0 0; }
		.public header .logo { min-width: 180px; }

		header .grid-container { align-items: center; justify-content: space-between; position: relative; padding: 0; }
			header .grid-container > * { order: 2; }
			header .grid-container .menu-primary { margin: 0; padding: 0; }
				header .menu-primary a, header .menu-primary span { padding: 0.6rem 1rem 0; }
			header .grid-container .user { order: 1; flex-flow: row-reverse; width: 100%; padding: 0.8rem 0; }
				header .grid-container .user > div { width: auto; }
					header .grid-container > .user .secondary-menu a:first-child { padding-left: 0; }

			/* User Profile Link */
			header .grid-container > .user { justify-content: space-between; margin-left: auto; font-size: 0.9em; line-height: 1.2em; text-align: right; }

			/* Public */
			.public header { padding-bottom: 0; }
				.public header .grid-container > .user { border-bottom: 1px solid var(--color-light-grey); }
				/* .public header .menu-primary { max-width: calc(100% - (3% + 82px)); } */
					.public header .menu-primary a { width: auto; }

	/* --- Content --- */

	/* Page Title */
	.green-bar { border-image: linear-gradient(180deg, var(--color-dark-primary) 0%, var(--color-dark-primary) 20%, rgba(85,149,36,0) 20%, rgba(85,149,36,0) 100%) fill 0 // 0 100vw; }

	/* Rows */
	.info-row-container, .dashboard .info-row-container { padding: 2em; }
		.info-row-container .row { gap: 1em 0; }
	/* Form Type */
	.info-row-container .row .highlight-block, .info-row-container .row:first-child .highlight-block { padding: 1em; font-size: 1.4rem; }
	/* Actions */
	.info-row-container .row .actions { flex-flow: column; gap: 0.6em 0; }

	/* Forms */

	input, textarea, select { font-size: 0.9em; }
	.big-input input, .big-input select, .big-input textarea { padding: 0.8em; font-size: 1em; }

	/* Admin Tools */
	body.app .admin-tools { position: relative; top: 0; }
		body.app .admin-tools .details-container { gap: 0.8rem; }

	/* Kendogrid */

	body.app .k-grid colgroup col:not(:last-child) { width: auto !important; }
	body.app .k-grid colgroup col.k-hierarchy-col { width: 20px !important; }
	body.app .k-grid-content td .button, body.app .k-grid-content td a { gap: 0.6em; line-height: 1.4em; }

	/* Tabs */

	body.app .k-tabstrip .k-tabstrip-items { max-width: 100%; }
		body.app .k-tabstrip .k-tabstrip-items .k-item span.k-link { font-size: 0.9em; }

	/* Wizard */
	#wizard .k-stepper .k-step:first-child .k-step-label { left: 0; }
		#wizard .k-stepper .k-step:first-child .k-step-label::before { left: 18px; }
	#wizard .k-stepper .k-step:last-child .k-step-label { right: 0; }
		#wizard .k-stepper .k-step:last-child .k-step-label::before { right: 12px; left: inherit; }

	/* --- Screen | Login --- */

	.login .grid-container .logo { padding: 1.4em 2em 0; }
		.login .grid-container .logo img { max-width: 100px; }

	body .login .login-box .sign-in, body .login .login-box .forgot-password { padding: 2em; }

	body .login .button, body .login .k-button { margin-top: 0; }

	/* --- Screen | Create Login --- */

	body .create-login .info-row-container { padding: calc(2rem - 10px); }
	body .create-login .create-login-box { padding: 1rem 2rem 2rem; }

	/* --- Screen | Home --- */

	.feature-container .feature p { font-size: 1.2rem; }

	.audience .audience-block { flex: 1 0 160px; }
	.audience .for-buyers { padding: 1rem; }
		main:not(.about) .audience h3 { text-align: center; }
		.audience .for-buyers > h3, .audience .audience-block.push { margin-left: 0; }
	.audience .for-producers { position: relative; top: 0; left: 0; width: 100%; }

	.offerings .row > div { margin-bottom: 2rem; }

	/* --- Screen | About --- */

	.about .feature-container .feature h1 { font-size: 3.2rem; }
		.about .feature-container .feature h1 span { font-size: 0.76rem; }
	.about .feature-container .sponsor { position: relative; top: inherit; right: inherit; display: block; width: auto; margin-top: 2rem; }

	.about .veggie-banner { margin: 0; }
		.about .veggie-banner .text-container h2 { font-size: 2.2rem; line-height: 1.2rem; }

	.about .audience > .grid-container { max-width: 92%; }
		.about .audience .fit-image { max-width: 10vw; }

	/* --- Screen | Find Buyers / Find Producers --- */

	.map-container { height: 400px; max-height: 80vh; }

	body .block-item { flex-flow: column; }
		body .block-item .profile-img-container { flex: 0 0 100px; width: 100px; height: 100px; border: 5px solid var(--color-white); }
		body .block-item .listing-container { margin: 0; }

	/* --- Screen | Profile --- */

	.profile-intro-container { padding-top: 3vw; }

		.profile-details { flex-flow: row wrap; justify-content: flex-start; margin-top: -40px; padding: 2em; }

			.profile-details .profile-location { margin-top: -30px; flex: 1 1 calc(100% - 220px); }
				.profile-details .profile-contact, .profile-details .profile-contact .inquiry-actions { flex-flow: row-reverse wrap; align-items: center; width: auto; }

}

/* 680 */

@media only screen and (max-width: 680px) {

	html, body { font-size: 14px; }

	body .grid-container { max-width: 86%; }

	.flex-container.gap { gap: 20px; }
	.flex-container.gap.dense { gap: 10px; }

	/* --- Type --- */

	h1 { font-size: 1.8em; }
	h2 { font-size: 1.3em; }
	h3 { font-size: 1.1em; }
	h4 { font-size: 1em; }

	.public h2 { font-size: 2rem; }
	.public h3 { font-size: 1.6rem; }

	/* --- Header --- */

	header { padding: 0; }

		header .grid-container > * { order: 0; }

		header .logo, .public header .logo { max-width: 38%; margin: 0.4rem 0.4rem 0.4rem 0; }

		header .grid-container > .user { display: none; order: 1; flex-flow: column; width: 100vw; margin: 0 -7vw 1.2rem; padding: 2rem 7vw; background: var(--color-primary); font-size: 0.9em; color: var(--color-white); }
			header .grid-container .user > div { flex-flow: column; align-items: flex-start; justify-content: center; }
			header .grid-container > .user .user-menu { align-items: stretch; justify-content: flex-start; gap: 0; padding: 0; }
				header .grid-container > .user span { flex-flow: column; align-items: stretch; color: var(--color-white); font-size: 1.1rem; }
				header .grid-container > .user .user-menu a, header .grid-container > .user .user-menu a:hover, header .grid-container > .user .user-menu button { padding: 0.4em 0; border-right: 0; color: var(--color-white); font-size: 1.1rem; text-decoration: none; }
					header .grid-container > .user .secondary-menu a, header .grid-container > .user .secondary-menu a:hover { padding: 0.4em 0; border: 0; color: var(--color-white); font-size: 1.1rem; }

					header .grid-container > .user span .user-dropdown { position: relative; top: 0; width: 100%; margin: 0 0 0.6rem; box-shadow: none; background: var(--color-dark-primary); }
						header .grid-container > .user span .user-dropdown a { border-bottom: 1px solid var(--color-white-opacity10); }

		header .menu-primary a, header .menu-primary span { padding: 0.6rem 0.4rem 0; }
			header .menu-primary a strong { font-size: 0.9rem; }
		.public header .grid-container > .menu-primary { display: none; }

		header .grid-container > search { order: 2; width: 100%; margin: 0 0 1.2rem; }

		/* Public */
		.public header .grid-container .menu-primary { width: 96vw; margin: 0 -5% }
			.public header .grid-container .menu-primary > ul { flex-flow: row wrap; gap: 0.4rem; width: 100%; padding: 0.4rem 0 1rem; }
			.public header .grid-container > .user { margin-bottom: 0; }
				.public header .menu-primary > ul > li { flex: 1 1 calc(33.33% - 0.6rem); }
				.public header .menu-primary li:has(ul) { width: 100%; }
					.public header .menu-primary li:has(ul) > span { width: 100%; padding: 1rem 0; background: none; text-transform: uppercase; letter-spacing: 0.1em; }
					.public header .menu-primary li ul { opacity: 1; position: relative; top: 0; left: 0; width: 100%; pointer-events: all; }
						.public header .menu-primary a, .public header .menu-primary li > span, .public header .menu-primary li ul a { padding: 1rem; background: var(--color-light-grey); font-size: 1.3rem; line-height: 1.4em; }
							.public header .menu-primary li ul a { padding: 1rem; }


		/* Menu - Toggle */
		body header .menu-toggle, body header .menu-toggle:hover { display: inline-flex; position: relative; margin-left: auto; overflow: visible !important; }
			body header .menu-toggle .tally { display: inline-flex; align-items: center; justify-content: center; position: absolute; top: -0.7rem; right: -0.7rem; width: 1.2rem; height: 1.2rem; padding: 0; border-radius: var(--border-radius-large); font-size: 0.8rem; }

	/* --- Content --- */

	/* --- Grid --- */

	body.app .k-grid-toolbar { flex-flow: column; }
		body.app .k-grid-toolbar span.k-grid-search { width: 100%; }
		.grid-sorting .input-container { width: 100%; }
			.grid-sorting .input-container .select-container { flex: 1 1 auto; }

	/* --- Forms --- */

	body .account-search .shadow-card { padding: 1.4em; }

	/* Tabs */

	body.app .k-tabstrip .k-tabstrip-items { flex-flow: column; }

	/* Wizard */
	#wizard .k-stepper { padding: 1vw 2vw; }
		#wizard .k-stepper .k-step-current .k-step-indicator { width: 1.8rem; height: 1.8rem; font-size: 0.9rem; }

	/* Submit Box */
	#submit-box .grid-container { flex-flow: column-reverse; }
		#submit-box .button { padding: 1em 1.4em; }

	/* --- Home --- */

	.home .feature-container .feature { width: 100%; }

	.offerings { padding: 2rem 0; }

	.audience .audience-block { flex: 1 1 120px; padding: 3vw; }

	/* --- About --- */

	.about .feature-container { background: var(--color-light-grey); }
		.about .feature-container .feature { width: 100%; max-width: 100%; padding: 0; }
			.about .feature-container .fit-image { position: relative; width: calc(100% + 12vw); max-width: inherit; height: 240px; margin: -6vw -6vw 3rem; }
				.about .feature-container .fit-image::before { display: none; }

	.about .veggie-banner { margin: 2rem 0 0; padding: 0; }
		.veggie-banner .text-container { position: relative; left: 0; bottom: 0; width: 86%; margin: 0 7% 2rem; }

}



/* Added by developer */
#gridCurrentInventoryLiveMarketplace .k-hierarchy-cell .k-icon, #gridCurrentInventoryForwardAgreementMarketplace .k-hierarchy-cell .k-icon {
    font-size: 30px; /* Increase icon size */
    color: green;  /* Change icon color (e.g., Bootstrap blue) */
}

.col-xs-12.col-sm-6.col-md-7 .description {
    font-size: 28px;
}