html {
	font-size: 14px;
}

@media (min-width: 768px) {
	html {
		font-size: 16px;
	}
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
	box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
	height: 100%;
	/*
	position: relative;
	min-height: 100%;
	*/
}

body {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	/*
	margin-bottom: 60px;
	*/
}

.layoutDiv {
	flex: 1 0 auto;
}

.generalPanel + h1,
.generalPanel + h2,
.generalPanel + h3,
.generalPanel + h4,
.generalPanel + h5,
.generalPanel + h6 {
	margin-top: 0.35em;
}

.fileInputPrompt {
	margin-top: 4pt;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
	color: var(--bs-secondary-color);
	text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
	text-align: start;
}


.nav-item {
	border: 1px solid rgba(0, 0, 0, 0);
	border-radius: 5px;
}

	.nav-item:hover {
		border: 1px solid gray;
		border-radius: 5px;
	}


.nav-item-centred {
	text-align: center;
}

.evenMarginPs p {
	margin-top: 0.25em;
	margin-bottom: 0.25em;
}

.paddedTD {
	padding: 0.6em;
}

.hiddenOnLoad {
	display: none;
}

.hidden {
	display: none;
}

input[readonly],
textarea[readonly] {
	background-color: #e9ecef;
	cursor: not-allowed;
}

.row label {
	margin-top: 0.5em;
}

.row .form-floating label {
	margin-top: 0em;
}

.noBottomPadding {
	padding-bottom: 0;
}

.noTopPadding {
	padding-top: 0;
}

.marginAbove {
	margin-top: 1em;
}

.explanatoryNote {
	font-size: 80%;
}



.requestIDOnErrorPage {
	position: fixed;
	bottom: 0px;
}

.responseSummaryLabel {
	margin-bottom: 0;
	font-weight: bold;
	font-size: 80%;
}

.responseSummaryText {
	font-style: italic;
	font-size: 80%;
	margin-bottom: 0;
}

.previousResponseUserMesssage {
	font-size: 80%;
	margin-bottom: 0;
	margin-left: 2em;
	margin-top: 0.25em;
}

button.indexDataGroupDisplayNameBtn {
	width: 15em;
	height: 3.2em;
	background-color: #b88100;
	border: #b88100 thin;
	border-radius: 5px;
	font-weight: bold;
	color: white;
}

span.indexDataGroupDescription {
}

span.indexDataGroupActions {
	font-size: 80%;
}


.inlineBlockTextControl {
	display: inline-block;
	width: 20em;
}

a.asButton {
	appearance: button;
	display: inline-block;
	border: #b88100 thin;
	border-radius: 5px;
	font-weight: bold;
	text-decoration: none;
	color: white;
	text-align: center;
	vertical-align: middle !important;
	align-content: center;
	cursor: pointer;
}

a.indexDataGroupBtn,
a.indexAnalysisBtn,
a.selectRegistrationTypeBtn,
a.generalNavBtn,
a.asButtonFull {
	appearance: button;
	display: inline-block;
	height: 3.2em;
	border: #b88100 thin;
	border-radius: 5px;
	font-weight: bold;
	text-decoration: none;
	color: white;
	text-align: center;
	vertical-align: middle !important;
	align-content: center;
	cursor: pointer;
	/* Add box-shadow to match button appearance */
	box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
	/* Ensure consistent positioning with buttons */
	line-height: 3.2em;
	padding: 0;
	/* Match button border style */
	border-style: solid;
	border-width: 1px;
}

.borderless {
	border: none;
}

.backgroundless {
	background: none;
}

a.indexDataGroupBtn {
	background-color: #b88100;
	width: 15em;
}

a.indexAnalysisBtn {
	background-color: #0303d4;
	width: 7em;
}

a.selectRegistrationTypeBtn {
	background-color: lightblue;
	width: 15em;
}

div.generalNavPanel {
	margin: 2em 0 2em 0;
}

div.generalNarrowButtonPanel {
	margin: 5px 0 5px 0;
}

a.generalNavBtn {
	background-color: darkgoldenrod;
	width: 11em;
}

	a.generalNavBtn.wide {
		width: 20em;
	}

button.hover-button,
a.hover-button {
	color: #e8e8e8;
}

	button.hover-button:has(:hover),
	a.hover-button:has(:hover),
	a.hover-button-alwaysOn {
		color: black;
	}


	button.hover-button[disabled],
	a.hover-button[disabled] {
		color: #c8c8c8;
	}

button.hover-button-stronger,
a.hover-button-stronger {
	color: #989898;
}

.largeIcon {
	font-size: 20pt;
}



.data-entry-form {
}

	.data-entry-form label {
	}


.dataEntryPanel {
	padding: 0.7em;
	border: solid thin #bababa;
	border-radius: 5px;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

	.dataEntryPanel + .dataEntryPanel {
	}


.questionArea {
}

.questionSubArea {
	padding: 1em;
	padding-top: 0.25em;
}

.responseText {
	font-weight: bold;
}

.responseLabel {
	/*
	font-weight: bold;
	*/
}

label.generalLabel {
	font-size: 85%;
	color: rgb(38, 38, 38);
}

ul.dataEntryCheckboxList {
	list-style: none; /* Remove bullets */
	padding-left: 0; /* Remove default padding */
	margin: 0; /* Remove default margin */
}
	/* Each LI item */
	ul.dataEntryCheckboxList li {
		display: flex;
		align-items: center;
		gap: 0.5rem; /* Space between checkbox and label */
		margin-bottom: 0.5rem;
		padding: 0.25rem 0.5rem;
		border-radius: 4px;
		transition: background-color 0.2s ease, box-shadow 0.2s ease;
	}
		/* Checkbox styling */
		ul.dataEntryCheckboxList li input[type="checkbox"] {
			flex-shrink: 0; /* Prevent checkbox from shrinking */
			width: 1.2rem;
			height: 1.2rem;
			cursor: pointer;
		}
		/* Label styling */
		ul.dataEntryCheckboxList li label {
			cursor: pointer;
			user-select: none; /* Prevent text selection on click */
		}
		/* Hover effect */
		ul.dataEntryCheckboxList li:hover {
			background-color: #f0f4f8;
		}
		/* Focus effect for accessibility */
		ul.dataEntryCheckboxList li input[type="checkbox"]:focus + label {
			outline: 2px solid #007bff;
			outline-offset: 2px;
		}
		/* Optional: remove margin from last LI */
		ul.dataEntryCheckboxList li:last-child {
			margin-bottom: 0;
		}

.buttonPanel {
	padding: 0.25em;
	padding-bottom: 0.5em;
}

div.inplaceEditor {
	padding: 0.25em;
	padding-bottom: 0.5em;
	background-color: #f8f8f8;
	border: solid 1px #d0d0d0;
	border-radius: 5px;
}

.dataEntrySaveBtnsPanelContainer {
	margin-top: 1em;
	position: relative;
	text-align: center;
}

.dataEntrySaveBtnsPanel {
	margin: 0 auto;
	display: inline-block;
}

.dataEntrySaveBtnsPanelTopRowItem, .dataEntrySaveBtnsPanelBottomRowItem {
	display: inline-block;
	width: 10em;
	text-align: center;
	padding: 0.25em;
	padding-bottom: 0.5em;
}

.dataEntryButton {
	width: 9em;
	height: 3.2em;
	border-radius: 6px;
	color: white;
	font-weight: bold;
	/* Add consistent shadow for all dataEntryButtons */
	box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
	/* Ensure consistent vertical alignment */
	vertical-align: middle;
	/* For anchor tags styled as buttons */
	display: inline-block;
	line-height: 3.2em;
	text-align: center;
	text-decoration: none;
	/* Consistent border */
	border-style: solid;
	border-width: 1px;
	/* Remove any default padding that might cause misalignment */
	padding: 0;
	/* Consistent box-sizing */
	box-sizing: border-box;
}

	.dataEntryButton.submitButton {
		background-color: blue;
		border-color: blue;
	}

		.dataEntryButton.submitButton[disabled] {
			background-color: lightblue;
			border-color: lightblue;
		}

	.dataEntryButton.saveProgressButton {
		background-color: green;
		border-color: green;
	}

	.dataEntryButton.editButton {
		background-color: darkgoldenrod;
		border-color: darkgoldenrod;
	}

	.dataEntryButton.backButton {
		background-color: grey;
		border-color: darkgray;
	}

	.dataEntryButton.deleteButton {
		background-color: indianred;
		border-color: indianred;
	}
/* Hover effect for anchor tags styled as buttons */
a.dataEntryButton:hover {
	filter: brightness(0.9);
	text-decoration: none;
}
/* Active/pressed state for anchor tags */
a.dataEntryButton:active {
	box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
	transform: translateY(1px);
}


.dataEntryButton.smallButton {
	width: 6em;
	height: 2em;
}

.roQuestionArea {
	background-color: #f0f0f0;
	padding: 0.5em;
	border-radius: 5px;
}

.previousResponseArea {
	border: 2px solid lightblue;
	border-radius: 6px;
	margin-top: 0.5em;
	padding: 0.5em;
	background-color: #f8f8f8;
}

div[data-optionsothertext] input[type='text'] {
	width: 30em;
}


table.dataEntityList {
}


	table.dataEntityList td,
	table.dataEntityList th {
		padding: 0.5em;
	}

.impactLevelRadiosSectionRow {
}

	.impactLevelRadiosSectionRow + .impactLevelRadiosSectionRow {
		border-top: 1px dotted black;
	}

.impactLevelRadiosSectionCell {
	display: inline-block;
	vertical-align: top;
	padding: 0.25em;
}

.impactLevelRadiosSectionCellHeadingAndDescription {
	width: 300px;
}


.impactLevelRadiosSectionRow .radioGroupHeading {
	font-variant: small-caps;
	font-weight: bold;
}

.impactLevelRadiosSectionRow .radioGroupDescription {
	font-style: italic;
}

.analysisOuterContainer {
	width: 100%;
	display: flex;
	justify-content: center;
}

.analysisTreeMapContainer {
	width: 700px;
}

.analysisPieChartContainer {
	width: 400px;
}


.sortControlsPanel,
.generalPanel,
.generalPanelWithTopAndBottomMargin,
.generalPanelWithAllPadding {
	border: 1px #d0d0d0 solid;
	border-radius: 5px;
	padding: 0.25em;
}

.generalPanelWithTopAndBottomMargin {
	margin-top: 0.25em;
	margin-bottom: 0.25em;
}

.generalPanelWithAllPadding {
	margin-top: 0.25em;
	margin-bottom: 0.25em;
	padding: 1.0em;
}

.generalBorderlessPanel {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.smallPadding {
	padding: 0.5em;
}

.mediumPadding {
	padding: 1.0em;
}

.largePadding {
	padding: 1.5em;
}

.buttonBar {
	background-color: #f8f8f8;
	border: 1px gray solid;
	border-radius: 5px;
	padding: 0.25em;
}

.form-group-section {
	padding-top: 0.25em;
	padding-bottom: 0.25em;
}

	.form-group-section + .form-group-section {
		padding-top: 0;
	}

.DigSolInstanceDisplayInnerCoreContainer {
	border: 2px solid lightblue;
	border-radius: 6px;
	margin-top: 0.5em;
	padding: 0.5em;
	background-color: #f8f8f8;
	margin-bottom: 1em;
}

.DigSolInstanceDisplayInnerCore {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.digSolInstanceUpdateButtonContainer {
	margin-top: 0.5em;
}

.digSolInstanceNewResponseArea {
	margin-top: 0.5em;
}
/*
	Fading in and out
*/
.htmxFadeIn.htmx-added {
	opacity: 0;
}

.htmxFadeIn {
	opacity: 1;
	transition: opacity 800ms ease-out;
}

.htmxFadeOut.htmx-swapping {
	opacity: 0;
	transition: opacity 500ms ease-out;
}


.selectRegistrationTypeRow {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.vendorDataSummaryDisplayBlock-noResponse,
.vendorDataSummaryDisplayBlock-no,
.vendorDataSummaryDisplayBlock-minor,
.vendorDataSummaryDisplayBlock-moderate,
.vendorDataSummaryDisplayBlock-major,
.vendorDataSummaryDisplayBlock-IANoResponse,
.vendorDataSummaryDisplayBlock-IATrue,
.vendorDataSummaryDisplayBlock-IAFalse {
	width: 2em;
	height: 2.5em;
	border: solid 1.5px #abac7f;
	margin: auto;
}

.vendorDataSummaryDisplayBlock-IANoResponse,
.vendorDataSummaryDisplayBlock-noResponse {
	border-color: #e0e0e0;
}

.vendorDataSummaryDisplayBlock-IAFalse,
.vendorDataSummaryDisplayBlock-no {
	background-color: white;
}

.vendorDataSummaryDisplayBlock-minor {
	background-color: #fae7b2;
}

.vendorDataSummaryDisplayBlock-moderate {
	background-color: #d9b653;
}

.vendorDataSummaryDisplayBlock-major {
	background-color: #9a7305;
}


.vendorDataSummaryDisplayBlock-IATrue {
	background-color: #4ade26;
}



.vendorSolutionTable,
.vendorDeletedSolutionTable {
	table-layout: fixed;
	width: 100%;
	cursor: default;
}

	.vendorSolutionTable th,
	.vendorSolutionTable td {
		font-size: 9pt;
		padding-left: 0.5em;
		padding-right: 0.5em;
	}

	.vendorDeletedSolutionTable th,
	.vendorDeletedSolutionTable td,
	.vendorSolutionTable th,
	.vendorSolutionTable td {
		text-align: center;
	}

	.vendorSolutionTable div.solutionName a.asButton {
		font-size: 16pt;
	}

	.vendor-summary-table {
		table-layout: inherit;
		width: 100%;
	}

.vendorSolutionTable .improvementHeading {
	font-size: 100%;
}

.vendorSolutionTable .solutionNameHeading {
	font-size: 18pt;
	height: 130px;
}

.vendorDeletedSolutionTable {
	margin-top: 3em;
}

	.vendorDeletedSolutionTable .solutionNameHeading {
		font-size: 18pt;
		height: 20px;
	}

	.vendorDeletedSolutionTable div,
	.vendorSolutionTable div {
		text-align: left;
	}

		.vendorSolutionTable div.solutionName {
			font-size: 12pt;
			overflow: clip;
			text-wrap: nowrap;
		}

.vendorSolutionTable thead tr:nth-child(2) {
}

	.vendorSolutionTable thead tr:nth-child(2) th {
		vertical-align: bottom;
	}

		.vendorSolutionTable thead tr:nth-child(2) th div {
		}

.vendorDeletedSolutionTable col.solution-col,
.vendorSolutionTable col.solution-col {
	width: calc(100% * 9 / 27);
}

.vendorSolutionTable col.impact-col {
	width: calc(100% * 2 / 27);
}

.vendorSolutionTable col.improvement-col {
	width: calc(100% * 1 / 27);
}

.vendorSolutionTable .impactBanner {
	background-color: #d9dcc1;
}

.vendorSolutionTable .improvementBanner {
	background-color: #bdd9d6;
}




.keywordsQuestionText,
.focusAreasQuestionText {
	margin-bottom: 0;
}

div.vendor-solution-uses,
div.vendor-solution-focusAreas,
div.vendor-solution-keywords {
	border: solid 1px #e0e0e0;
	border-radius: 5px;
	padding: 0.25em;
	margin-bottom: 0.5em;
}

	div.vendor-solution-uses .use,
	div.vendor-solution-focusAreas .focusArea,
	div.vendor-solution-keywords .keyword {
		background-color: #e8f0f0;
		border-radius: 5px;
		padding-left: 0.35em;
		padding-right: 0.25em;
		padding-bottom: 3px;
		margin-right: 0.35em;
		font-size: 90%;
	}

.MTIVendorSolutionEdit li.solutionUse {
	list-style-type: none;
}


.rotate90NoWrap,
.rotate90 {
	transform-origin: 1em 0.5em;
	transform: translate(0.5em, -0.5em) rotate(-75deg);
	--overflow: clip;
}

.rotate90NoWrap {
	white-space: nowrap;
}

tr.noSolutionsListedMessage p {
	padding: 2em;
}

tbody tr.noSolutionsListedMessage:not(:only-child) {
	display: none;
}

.youAreLoggedInAs {
	font-size: 10pt;
	/*	width: 11em;		*/
	text-align: center;
	word-wrap: normal;
}


.dimText {
	color: #a0a0a0;
}

.invisibleText {
	color: white;
}

.MTIVendorSolutionEdit h3 {
	font-weight: bold;
	font-size: 16pt;
}

.highlightedFocusArea {
	font-weight: bold;
}




.userSearchResultTable {
	font-size: 80%;
}

.vendor-solution-new-focusArea .form-floating {
	margin-top: 0.25em;
	margin-bottom: 0.25em;
}


.vendor-solution-urls table {
	width: 100%;
}

.vendor-solution-urls th {
	width: 33.33%;
}

.vendor-solution-urls td input.nameInput {
	width: 90%;
}

.vendor-solution-urls td input.descriptionInput,
.vendor-solution-urls td input.urlInput {
	width: 99%;
}


