/* Global app styles */
/* Note that many of these custom properties are also referenced within JavaScript files! */
:root {
	--main-bg-color: #eee;
	--alt-bg-color: #fff;
	--hover-bg-color: #efefef;
	--highlight-bg-color: #e3f2fe;
	--header-bg-color: #333;
	--header-text-color: #fff;
	--border-color: #d8d8d8;
	--border-hover-color: #999;
	--table-border-color: #ccc;
	--main-text-color: #000;
	--alt-text-color: #333;
	--tertiary-color: #555;
	--medium-dark-gray: #6E6E6E;
	--medium-gray: #777;
	--med-med-light-gray: #888;
	--med-light-gray: #aaa;
	--light-gray: #ddd;
	--light-text-color: #a3a3a3;
	--list-text-color: #9b9b9b;
	--highlight-color: #449fff;
	--action-color: #2563eb; /* tailwind blue-600 */
	--accent-color: #95c734;
	--active-color: #6C9223;
	--inactive-color: #777;
	--caution-color: #d70101;

	--main-padding: 30px;
	--alt-padding: 30px;
	--min-padding: 10px;
	--main-margin: 20px;
	--alt-margin: 10px;
	--min-margin: 4px;

	--border-radius: 6px; /* rounded-md equivalent */

	--half-length: 12px;

	--main-text-size: 14px;
	--main-line-height: 20px;
	--lg-text-size: 18px;
	--lg-line-height: 24px;
	--sm-text-size: 12px;
	--sm-line-height: 16px;

	--main-font-family: Poppins,sans-serif;
	--main-font-weight: 300;
	--bold-font-weight: 500;
}

body {
	font: var(--main-font-weight) var(--main-text-size)/var(--main-line-height) var(--main-font-family);
	color: var(--main-text-color);
}

table {
	border-spacing: 0 5px;
	width: 100%;
}
table :is(th,td) {
	padding: 8px 15px;
	text-align: left;
	vertical-align: top;
}

blockquote {
	margin-left: 16px;
	border-left: 4px solid var(--border-color);
	padding-left: var(--min-padding);
}

hr {
	border-top-style: none;
	border-bottom: 1px solid var(--table-border-color);
}

a {
	color: var(--action-color);
}
a img {border: 0 none;}

strong, b {
	font-weight: var(--bold-font-weight);
}

abbr {
	text-decoration-thickness: from-font;
    cursor: help;
}

code, pre {
	font-family: Consolas, 'Courier New', Courier, monospace;
}
code {
	display: inline-block;
	border-radius: var(--border-radius);
	background-color: var(--main-bg-color);
	padding: 0 2px;
	color: var(--alt-text-color);
}

small {
	color: #888;
}

iframe {
	border-style: none;
}

/* Content-area-specific styles */

/* Standardized line spacing */
.proposal-section.content-page .table-of-contents, /* only for backwards compatibility */
.proposal-section .item-content :is(h3, h4, h5, h6, p, table, blockquote),
.mce-content-body :is(h3, h4, h5, h6, p, table, blockquote) {
	margin-top: 1.5em;
}
.proposal-section .item-content :is(ul, ol),
.mce-content-body :is(ul, ol) {
	margin-top: 0.7em;
}
.proposal-section .item-content *:first-child,
.mce-content-body *:first-child {
	margin-top: 0;
}
.proposal-section .item-content table:first-child,
.mce-content-body table:first-child {
	margin-top: 0.5em;
}
.proposal-section .item-content h4:not(.last-child),
.mce-content-body h4:not(.last-child) {
	margin-bottom: var(--alt-margin);
}
.proposal-section.content-page .table-of-contents, /* only for backwards compatibility */
.proposal-section.content-page .mce-toc,
.mce-content-body .mce-toc {
	margin-bottom: 3em;
}
.proposal-section .item-content, .mce-content-body {
	line-height: 1.5;
}

/* Heading levels 3-6 (levels 1-2 not supported for user content) */
.proposal-section .item-content :is(h3, h4, h5, h6),
.mce-content-body :is(h3, h4, h5, h6) {
	clear: left;
	font-weight: var(--bold-font-weight);
	line-height: inherit;
}
.proposal-section .item-content h3,
.mce-content-body h3 {
	font-weight: var(--main-font-weight);
	font-size: 24px;
}
.proposal-section .item-content h4,
.mce-content-body h4 {
	font-size: 18px;
}
.proposal-section .item-content h5,
.mce-content-body h5 {
	font-size: 16px;
}
.proposal-section .item-content h6,
.mce-content-body h6 {
	font-size: 14px;
}

/* (Un)ordered lists */
.proposal-section .item-content :is(ul,ol),
.mce-content-body :is(ul,ol){
	padding-left: var(--alt-padding);
}
.proposal-section .item-content ul,
.mce-content-body ul {
	list-style-type: disc;
}
.proposal-section .item-content :is(ul, ol) ul,
.mce-content-body :is(ul, ol) ul {
	margin-top: 0;
	list-style-type: circle;
}
.proposal-section .item-content ol,
.mce-content-body ol {
	list-style-type: decimal;
}
.proposal-section .item-content :is(ul, ol) ol,
.mce-content-body :is(ul, ol) ol {
	margin-top: 0;
	list-style-type: lower-alpha;
}

/* Tables */
.proposal-section .item-content table,
.mce-content-body table {
	border-collapse: collapse;
}
.proposal-section .item-content th,
.mce-content-body th {
	border-left: 1px solid var(--table-border-color);
	background-color: var(--header-bg-color);
	font-weight: var(--main-font-weight);
	color: var(--header-text-color);
}
.proposal-section .item-content tr:first-child > th:first-child,
.mce-content-body tr:first-child > th:first-child {
	border-left-color: var(--header-bg-color);
}
.proposal-section .item-content td,
.mce-content-body td {
	border: 1px solid var(--table-border-color);
}
.proposal-section .item-content table.info-table td {
	background-color: var(--alt-bg-color);
	color: var(--alt-text-color);
}
.proposal-section .item-content table.info-table td:first-child {
	background-color: #e5e5e5;
}

/* Prevent embedded content from going outside its container */
.proposal-section .item-content :is(img, iframe, embed, video, audio),
.mce-content-body :is(img, iframe, embed, video, audio) {
	object-fit: contain;
}
.proposal-section .item-content :is(img:not(.full-width), iframe, embed, video, audio),
.mce-content-body :is(img:not(.full-width), iframe, embed, video, audio) {
	max-width: 100% !important;
}
.proposal-section .item-content img,
.mce-content-body img:not(.mce-pagebreak) {
	height: auto;
}

/* Misc */
.proposal-section .item-content *[style] > a {
	color: inherit;
}

img.align-left {
	float: left;
}

img.align-right {
	float: right;
}

.mce-toc li {
	list-style-type: none;
}
