@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;400;600;900&display=swap');

:root {
	color-scheme: dark;
	--disabled-button-color: #333333;
	--button-color: #555555;
	--lighter-button-color: #666666;
	--light-text-color: #dddddd;
	--lighter-text-color: #bbbbbb;
	--lightish-text-color: #999999;
	--text-color: #737373;
	--primary-color: #2e3240;
	--dark-background-color: #222222;
	--light-orange: rgb(255, 148, 77);
	--orange: rgb(255, 100, 0);
	--darker-orange: rgb(229, 91, 0);
	--dark-orange: rgb(204, 82, 0);
	--light-gray: rgb(238, 238, 238);
}

body {
	margin: 0;
	padding: 0;
	font-family: 'Montserrat', sans-serif;
}

button {
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
}

select,
input,
textarea {
	font-family: 'Montserrat', sans-serif;
}

.Hide {
	display: none !important;
}

.SmallFont {
	font-size: small;
	white-space: nowrap;
}

span.radio-container {
	white-space: nowrap;
}

div#alignToolButtons i,
div#camera-identifiers-form i {
	color: var(--lightish-text-color);
	font-size: medium;
	font-weight: 600;
}

img#logo {
	width: 25%;
	max-width: 500px;
	min-width: 250px;
}

img#welcomeLogo {
	width: 300px;
	max-width: 100%;
}

div#logoBox {
	margin-bottom: 0px;
}

button {
	cursor: pointer;
	-webkit-user-select: none;
	/* Safari 3.1+ */
	-moz-user-select: none;
	/* Firefox 2+ */
	-ms-user-select: none;
	/* IE 10+ */
	user-select: none;
	/* Standard syntax */
}

button:disabled {
	cursor: auto;
	pointer-events: none;
}

button:disabled img {
	opacity: 0.15;
}

div#main {
	margin: 0 auto;
	border: none;
	padding: 0;
	text-align: center;
	background-color: var(--primary-color);
	color: white;
	position: relative;
	min-width: 375px;
	min-height: calc(100vh - 22px);
}

div#footer {
	margin: 0px auto;
	text-align: center;
	background-color: var(--dark-background-color);
	color: var(--lightish-text-color);
	width: 100%;
	position: absolute;
	bottom: 0;
	min-height: 22px;
	max-height: 22px;
	font-size: 1rem;
}

div#appContainer {
	background-color: var(--primary-color);
	color: white;
	padding: 0;
	box-sizing: border-box;
	min-height: 100vh;
	position: relative;
	padding-bottom: 22px;
}

.Flex {
	display: flex;
	justify-content: center;
	align-items: center;
}

.FlexCol {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

div.FieldIconBox {
	display: inline-block;
	position: relative;
	margin: 0;
	padding: 0;
	z-index: 0;
	background-color: transparent;
}

div.FieldAndLabel {
	padding: 10px 10px;
}

div#signInPage {
	text-align: center;
}

img.FieldIcon {
	position: absolute;
	top: 18px;
	left: 5px;
	z-index: -1;
}

button.PasswordVisibility {
	margin: 0;
	padding: 0;
	position: absolute;
	top: 18px;
	right: 5px;
	left: auto;
	border: none;
	background-color: transparent;
}

div#pzLocalInstructions {
	padding: 10px;
	border-collapse: collapse;
	box-shadow: 0 0 8px rgb(0 0 0 / 25%);
	border-radius: 15px;
}

div#pzLocalInstructions p {
	font-size: 1.2em;
}

img.ErrorIcon {
	top: 18px;
	left: 5px;
	z-index: -1;
	vertical-align: middle;
}

.AuthInput {
	margin: 5px auto;
	font-size: large;
	width: 300px;
	padding: 10px;
	padding-left: 30px;
	border: 1px solid #aaaaaa;
	color: white;
	background-color: transparent;
}

.AuthInput::placeholder {
	color: var(-lightish-text-color);
	opacity: 1
}

img.ButtonIcon {
	vertical-align: middle;
}

img.ButtonIcon.Products {
	width: 30px;
}

img.FooterIcon {
	width: 8%;
	min-width: 100px;
	padding: 0 10px;
}

div#calibrationStepsBox h1,
h2,
h3,
h4 {
	margin: 5px;
	padding: 0;
}

form h1,
h2 {
	text-align: center;
	margin: 5px;
	padding: 0;
}

form h3 {
	text-align: center;
	margin: 2px;
	padding: 0;
}

textarea#note {
	width: 15vw;
	height: 60px;
	vertical-align: middle;
}

button.Close {
	color: var(--orange);
	float: right;
	font-size: 28px;
	font-weight: bold;
	border: none;
	background-color: var(--button-color);
}

button.Close:hover,
button.Close:focus {
	color: var(--lighter-button-color);
	text-decoration: none;
}

div#confirmationBox {
	border-radius: 15px;
	background-color: var(--primary-color);
	color: white;
	width: 50%;
	max-width: 800px;
	margin: 0 auto;
	padding: 5px 15px;
	min-width: 320px;
	border: 1px solid #555555;
}

div#confirmationBox h3,
div.PopupMain h3 {
	color: var(--orange);
	font-weight: 600;
}

button.ConfirmationButton {
	font-size: large;
	border: none;
	/*2px solid #62727b*/
	padding: 10px;
	color: white;
	background-color: var(--button-color);
	display: inline-block;
	min-width: 100px;
	margin: 10px;
	border-radius: 5px;
}

button.ConfirmationButton:hover {
	background-color: var(--lighter-button-color);
}

button.ConfirmationButton:disabled {
	background-color: #cccccc !important;
	color: #aaaaaa !important;
	cursor: default;
}

div#verifyEmail {
	min-height: 300px;
	height: 66vh;
}

div#verifyEmail h2 {
	color: var(--orange);
	font-weight: 600;
}

div#outboundEmailBackground {
	z-index: 4;
}

div.PopupMain {
	max-width: 600px;
	width: 90%;
	min-width: 300px;
	background-color: var(--primary-color);
	margin: 40px auto;
}

div.PopupBox {
	padding: 10px;
}

p.PopupP {
	text-align: left;
	margin-left: 20px;
	margin-right: 20px;
}

div.PopupField {
	margin: 10px;
}

div#signOutBox {
	text-align: right;
	position: relative;
	/* overflow: hidden; */
	height: 32px;
	background-color: var(--dark-background-color);
}

img#smallLogo {
	width: 8%;
}

img#signOutLogo {
	height: 1.9em;
}

a#signOutImage {
	position: absolute;
	top: 0;
	left: 0;
	padding: 0 4px;
}

button.SignInUp {
	font-size: medium;
	border: none;
	padding: 5px 8px;
	margin-right: 8px;
	min-width: 100px;
	background-color: var(--button-color);
	color: white;
	border-radius: 4px;
}

button.SignInUp.ProductsButtons {
	margin: 10px 0;
	width: 300px;
	font-size: medium;
}

button.Disabled {
	filter: grayscale(100%);
	/* Makes the images gray */
	color: gray;
}

button.SignInUp.FullWidthButton {
	width: calc(100% - 10px);
	text-align: left;
}

.ButtonList button.SignInUp {
	margin: 5px;
	font-weight: normal;
	min-width: 30px;
	display: inline-block;
}

.ButtonList#subscriptionUsersList button.SignInUp {
	min-width: 242px;
}

button.SignInUp:hover {
	background-color: var(--lighter-button-color);
}

button.SignInUp:disabled {
	color: #aaaaaa !important;
	cursor: default;
}


button.SignUp:disabled {
	background-color: #cccccc !important;
	color: #aaaaaa !important;
	cursor: default;
}

img.ButtonIconTBottom {
	vertical-align: text-bottom;
}

button.SignIn {
	font-size: large;
	border: none;
	padding: 10px;
	margin-left: 5px;
	margin-right: 5px;
	min-width: 200px;
	background-color: var(--button-color);
	color: var(--orange);
	border-radius: 4px;
}

button.SignIn.SecondarySignIn {
	color: var(--lighter-text-color);
}

button.SignIn:hover {
	background-color: var(--lighter-button-color);
}

button.SignInStatusBox {
	font-size: medium;
	padding: 5px;
	border: none;
	background-color: #444444;
	color: var(--light-text-color);
}

button.SignInStatusBox span {
	font-size: small;
}

button#trialVersion.SignInStatusBox {
	font-weight: 600;
	background-color: var(--dark-orange);
	color: white;
}

button.SignOut {
	font-size: medium;
	border: none;
	padding: 5px;
	color: white;
	min-width: 100px;
	width: auto;
	background-color: #666666;
}

button#goBackHistoryPageButton {
	float: left;
}

button.SignOut:hover {
	background-color: #888888;
}

button.Settings {
	background-color: #555555;
	color: white;
	min-width: auto;
	width: auto;
	position: relative;
}

button.Settings:disabled {
	background-color: var(--disabled-button-color) !important;
	color: var(--button-color) !important;
	cursor: default;
}

button.SmallIconButton {
	font-size: large;
	font-weight: normal;
	border: none;
	padding: 5px;
	min-width: 20px;
	background-color: var(--button-color);
	border-radius: 5px;
	margin: 0 3px;
}

button.SmallIconButton:hover {
	background-color: var(--lighter-button-color);
}

button.SmallIconButton img {
	width: 18px;
}

div#historyPage {
	min-width: 320px;
	max-width: 900px;
	margin: 0 auto;
	border: none;
	padding: 20px;
	text-align: center;
	background-color: black;
}

div#historyPage h1,
div#historyPage h2 {
	color: var(--lightish-text-color);
	font-weight: 600;
}

div#historyPage b {
	font-weight: 600;
}


div#machineHistory {
	overflow: auto !important;
	width: 100%;
	position: relative;
	height: calc(100vh - 54px);
}

div#machineHistory p {
	width: auto;
	vertical-align: top;
	padding: 0;
}

span.MachineHistoryTextCell {
	display: block;
	padding: 0px 80px;
}

table.MachineHistoryMainTable {
	border-top: 1px solid gray;
	margin: 15px auto;
	border-spacing: 1px;
	text-align: left;
	break-inside: avoid;
}

table.DeltaTable {
	border-collapse: collapse;
	max-width: 300px;
	text-align: center;
	margin: 10px auto;
}

table.DeltaTable tr,
table.DeltaTable th,
table.DeltaTable td {
	border: 1px solid var(--text-color);
	padding: 0 10px;
}

table.DeltaTable td {
	text-align: right;
	background-color: var(--dark-background-color);
}

table.DeltaTable th {
	background-color: var(--primary-color);
	text-align: center;
	font-weight: 600;
}


img.MachineHistoryImage {
	width: 320px;
	display: block;
}

/*MACHINE HISTORY SLIDESHOW*/
div#toolsSlideshow {
	position: relative;
	margin-left: auto;
	margin-right: auto;
}

div.Slide {
	display: block;
}

div.Slide img {
	width: auto;
	height: calc(100vh - 120px);
}

div.InformationDiv {
	background-color: #fff !important;
	color: #000 !important;
	position: relative;
	margin: 0 auto;
	width: 40vw;
	padding: 20px;
	border-collapse: collapse;
	box-shadow: 0 0 20px rgb(0 0 0 / 10%);
	border-radius: 15px;
}

div.InformationDiv span {
	margin: 0 10px;
}

button.SlideshowButton {
	border: none;
	background-color: transparent;
	font-size: 3.5vw;
	color: white;
	z-index: 10;
}

button.SlideshowButton:hover {
	font-weight: bold;
}

button#leftButtonSlideshow {
	position: absolute;
	top: 50vh;
	left: 0%;
	transform: translate(0%, -50%);
}

button#rightButtonSlideshow {
	position: absolute;
	top: 50vh;
	right: 0%;
	transform: translate(0%, -50%);
}

button#slideshowPopupCloseButton {
	color: white;
	right: 0%;
	font-size: 3vw;
	border: none;
	z-index: 10;
	position: absolute;
	background-color: transparent;
}

button#slideshowPopupCloseButton:hover {
	font-weight: bold !important;
}

div#historyPagePopup {
	background-color: rgba(100, 100, 100, .99);
}

textarea {
	resize: none;
}

a.Weblink,
a.Weblink:visited {
	text-decoration: none;
	color: var(--lighter-text-color);
}

a.Weblink:hover {
	color: var(--light-text-color);
}

hr#splitLine {
	color: black;
	max-width: 600px;
}

hr.SignInPagesplitLine {
	display: inline-block;
	width: 80px;
	margin: 3px;
}

table#mainTable {
	width: 100%;
	margin: 0;
	padding: 0;
	border-collapse: collapse;
	height: calc(100vh - 54px);
}

table#mainTable td {
	margin: 0;
	padding: 0;
	vertical-align: top;
}

table#mainTable td#left {
	background-color: black;
	min-width: 300px;
}

table#mainTable td#right {
	position: relative;
	width: 300px;
	max-width: 300px;
	background-color: var(--primary-color);
	min-width: 300px;
	/* RIGHT SIDE MIN WIDTH FOR FORMS*/
	padding: 0 10px;
}

div#rightContent {
	vertical-align: top;
	overflow: auto;
	min-width: 300px;
	/* RIGHT SIDE MIN WIDTH FOR FORMS*/
	padding: 0;
	position: relative;
	text-align: left;
}

div#rightContent .FlexContainer {
	justify-content: left;
}

div#rightContent h1,
div#rightContent h2,
div#rightContent h3 {
	text-align: left;
}

div#rightContent h2 {
	font-weight: 600;
	color: var(--lighter-text-color);
}

div#rightContent b {
	font-weight: 600;
}

div#welcomeBox {
	color: var(--lightish-text-color);
}

div#cameraContainer {
	position: relative;
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: calc(100vh - 54px);
	/*Fixes the height resizing */
	max-height: calc(100vh - 54px);
	margin: 0;
	padding: 0;
	background-color: transparent;
	overflow: auto;
	overscroll-behavior: contain;
}

div#zoomContainer {
	margin: 0;
	padding: 0;
	width: 100%;
	height: auto;
	overflow: hidden;
	position: relative;
	overscroll-behavior: contain;
}

div#inspectionPrintsContainer {
	width: 100%;
	background-color: transparent
}

img#cameraContainerLogo {
	position: absolute;
	opacity: 0.3;
	top: 40%;
	transform: translateY(-50%);
	transform: translateX(-50%);
	width: 40%;
	min-width: 250px;
	max-width: 500px;
}

button#expandButton {
	display: block;
	width: 100%;
	margin: 0 -10px;
	padding: 0 10px;
	box-sizing: content-box;
	border: none;
	background-color: var(--button-color);
	font-size: large;
	font-weight: bold;
	color: var(--orange)
}

button#expandButton:hover {
	background-color: var(--lighter-button-color);
	cursor: auto;
}

button#expandButton:disabled {
	background-color: var(--dark-background-color);
	color: black;
	display: none;
}

button#expandButton::after {
	content: '\2B9E';
}

table#mainTable td#right.RightExpand {
	width: 20px !important;
	min-width: 20px !important;
	padding: 0 !important;
	overflow: hidden;
}

table#mainTable td#right.RightExpand button {
	position: absolute;
	top: 0;
	bottom: 0;
}

table#mainTable td#right.RightExpand button::after {
	content: '\2B9C' !important;
}

table#mainTable td#right.RightExpand div {
	display: none;
}

video#usbCamera,
video#webCam {
	display: block;
	width: 100%;
	height: auto;
}

img#wifiCamera,
img#freezeFrame {
	display: block;
	width: 100%;
	height: auto;
}

canvas {
	position: absolute;
	display: block;
	top: 0;
	/* background-color: rgba(0, 0, 255, 0.1); */
}

/*MEDIA QUERIES */
@media print {

	button,
	div#signOutBox,
	div#footer,
	table#mainTable {
		display: none;
	}


	div#historyPage {
		border: none;
		margin: 0;
		padding: 0;
		height: auto;
		font-size: 0.8rem;
		page-break-after: avoid;
		background-color: white;
	}

	select {
		border: none;
		-webkit-appearance: none;
		appearance: none;
		text-indent: 1px;
		text-overflow: '';
	}
}

@media screen and (max-width: 1280px) {

	/* div#app,
		button.SignInUp,
		div.ToolForm .FieldLabel,
		.FieldInput, .FieldAndLabel,
		div.InputInspection {
			font-size: 1.1vw;
		} */
}

/* Footer changes height at this point */
@media screen and (max-width: 1038px) {

	#footer {
		font-size: xx-small !important;
	}

	#productsButtons {
		margin-bottom: 15px;
	}
}

@media (max-width: 768px) {

	#usernameBox {
		display: none;
	}

	#expandButton {
		font-size: xx-large !important;
	}

	table#mainTable td#right.RightExpand {
		width: 35px !important;
		min-width: 35px !important;
	}
}

/* END OF MEDIA QUERIES */

select {
	min-width: 70px;
	max-width: 100%;
	background-color: var(--button-color);
	padding: 5px 8px;
	border: none;
	color: white;
	font-size: medium;
	font-weight: 600;
	vertical-align: middle;
	border-radius: 4px;
}

select#calibrationHistorySelect {
	min-width: 163px;
}

div.TextBox {
	margin: 5px;
	padding: 5px;
	border: 1px solid var(--button-color);
}

div#rightContent div.TextBox {
	margin: 2px;
	padding: 0;
	display: inline-block;
	border: none;
}

div#coordinatesBox {
	display: inline-block;
	min-width: 16ch;
	text-align: left;
	font-family: monospace;
	font-size: larger;
}

div#diameterTextBox {
	min-width: 23ch;
	text-align: left;
	font-family: monospace;
	font-size: larger;
}

div#mainControls {
	font-weight: 600;
	position: sticky;
	top: 0;
	padding-top: 5px;
	background-color: var(--primary-color);
	z-index: 1;
	border-bottom: 1px solid var(--button-color);
}

div#viewHistoryWelcomePage {
	border-top: 1px solid var(--button-color);
	margin-top: 1em;
	padding-top: 1em;
}

div.ButtonBox {
	margin: 10px;
	padding: 5px;
}

div.FlexContainer {
	display: flex;
	justify-content: center;
	line-height: 2.5em;
	flex-wrap: wrap;
}

div.FlexContainer#wifiCameraControlButtons {
	z-index: 1;
	top: 0;
	left: 0;
	position: absolute;
	margin-top: 35px;
}

button.VideoButton {
	background-color: rgba(238, 238, 238, .4);
	height: 25px;
	margin: 5px;
	border: none;
	outline: none;
	border-radius: 5px;
	min-width: 120px;
}

button.VideoButton:hover {
	background-color: rgba(238, 238, 238, .8) !important;
}

button.VideoButton:disabled {
	background-color: rgba(238, 238, 238, .3);
	color: gray;
}

/* div.FlexChild {
		margin-top: 10px;
	} */

div.FieldBox.ToolForm {
	background-color: transparent;
	padding: 0;
	margin: 2px;
}

div.FieldBox.ToolForm.Inline {
	display: inline-block;
}

div.FieldBox.ToolForm input {
	font-size: medium;
	font-weight: 600;
	padding: 5px 8px;
	background-color: transparent;
	border: 1px solid #aaaaaa;
	max-width: calc(100% - 140px);
}

div.FieldBox.ToolForm.Inline input {
	max-width: unset;
}

div.FieldBox.ToolForm select {
	width: calc(100% - 120px);
	min-width: calc(100% - 120px);
	max-width: calc(100% - 120px);
}

div.FieldBox.ToolForm select.WithButton {
	width: calc(100% - 170px);
	min-width: calc(100% - 170px);
	max-width: calc(100% - 170px);
}

div.FieldBox.ToolForm input[type="number"] {
	width: 10ch;
}

div.FieldBox.ToolForm input[type="range"] {
	width: calc(100% - 100px);
	max-width: 100%
}

div.FieldBox.ToolForm input[type="range"]:disabled {
	cursor: not-allowed;
}

div.FieldBox.ToolForm input:disabled {
	border: 1px solid #444444;
}

div.FieldBox.ToolForm input:read-only {
	border: none;
	color: var(--orange);
}

div.FieldBox.ToolForm label.FieldLabel {
	padding: 0;
	vertical-align: middle;
	text-align: left;
}

div.FieldBox.ToolForm textarea {
	resize: both;
	width: 75%;
	max-width: 400px;
	height: 1.25em;
	background-color: transparent;
	border: 1px solid #aaaaaa;
	vertical-align: middle;
	font-size: medium;
	padding: 5px 8px;
}

form .FlexContainer {
	margin: 10px 0;
}

div.SignInButtonBox {
	margin: 5px;
	padding: 5px;
}

div#wifiCameraContent {
	display: block;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 10px;
}

div.PopupContent h3,
div.PopupContent h2 {
	color: var(--orange);
	font-weight: 600;
}

div.PopupContent b {
	font-weight: 600;
}

div.PopupFieldBox {
	/* width: 28vw; */
	margin: 15px 15px;
}

span#reviewNote {
	display: block;
	overflow: auto;
}

div.SpinnerBackground {
	background-color: rgba(100, 100, 100, .5);
	/*light gray 50%*/
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 5;
}

table.SpinnerTable {
	position: fixed;
	height: 100%;
	width: 100%;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

div.Spinner {
	border: 16px solid #eeeeee;
	border-top: 16px solid #bbbbbb;
	border-radius: 50%;
	width: 120px;
	height: 120px;
	animation: spin 2s linear infinite;
	margin: 0 auto;
}


div.FieldBox {
	padding: 10px;
}

label.FieldLabel {
	font-size: medium;
	font-weight: 600;
	display: inline-block;
	text-align: right;
	vertical-align: middle;
	min-width: 110px;
	color: var(--lightish-text-color);
}

div#autoCalibrationSettings label.FieldLabel,
div#targetSettings label.FieldLabel {
	min-width: 220px;
}

img.FieldIconSmall {
	position: absolute;
	top: 6px;
	left: 5px;
	z-index: -1;
}

input.FieldInput {
	font-size: medium;
	min-width: 200px;
	padding: 5px;
	padding-left: 30px;
	vertical-align: middle;
	border: 1px solid #aaaaaa;
	position: relative;
	background-color: transparent;
	color: white;
}

input.FieldInput:disabled {
	background-color: transparent;
	color: var(--light-text-color);
	border: 1px solid #888888;
}

div#noShopMessage {
	text-align: center;
	margin: 0 auto;
	max-width: 500px;
	padding: 60px;
}

div#noShopMessage h1 {
	color: var(--orange);
	font-weight: 600;
}

div#noShopMessage p {
	text-align: left;
}

.inviteCodeEmail {
	font-size: x-large;
	margin: 20px auto;
	display: block;
	width: 100%;
	text-align: center;
}

input.AuthInput#inviteCode {
	width: 125px;
}

div.ListBlock {
	background-color: var(--dark-background-color);
	padding: 2px 10px;
	margin: 10px 0;
	text-align: left;
}

div.ListBlock li {
	color: white;
}

label.ListLabel {
	min-width: 350px;
	display: inline-block;
}

label.ListLabel b {
	font-weight: 600;
	color: var(--orange);
}

img.ListIcon {
	vertical-align: baseline;
}

img.FieldIconMedium {
	position: absolute;
	top: 12px;
	left: 5px;
	z-index: -1;
}

button.SearchButton {
	width: 100%;
	background-color: #333333;
	color: white;
	font-size: large;
	padding: 10px;
	display: block;
	border: none;
	margin: 10px 0;
}

button.SearchButton:hover {
	background-color: #555555
}

span#signInMessage {
	font-size: medium;
	color: var(--light-orange);
}

input#baselineMeasurementInput::-webkit-outer-spin-button,
input#baselineMeasurementInput::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

button.BaselineTargets {
	font-size: medium;
	font-weight: normal;
	background-color: #bbb;
	padding: 4px;
}

select#measurementUnitSelect {
	margin-left: 35px;
	width: 65px;
}

/* Help*/
html {
	scroll-behavior: smooth;
}

div#help {
	padding: 20px;
	text-align: left;
	margin: 0 auto;
	width: 85%;
	max-width: 1700px;
	text-align: center;
	overflow: auto;
	display: flex;
	background-color: #eeeeee;
	min-height: calc(100vh - 54px);
}

div#optionsSection {
	width: 300px;
	float: left;
	margin-top: 20px;
	padding: 10px;
}

div#contentSection {
	width: 100%;
	padding: 0;
	text-align: left;
}

button.helpButton {
	background-color: #bbb;
	padding: 10px;
	width: 180px;
	margin-bottom: 20px;
	border: none;
	font-size: medium;
}

button.helpButton:hover {
	background-color: #cccccc !important;
}

#help img {
	width: 100%;
	height: auto;
	margin-bottom: 20px;
}

#help li {
	margin-bottom: 20px;
}

button#scrollUp {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 18px;
	z-index: 99;
	border: none;
	outline: none;
	background-color: rgb(187, 187, 187, .7);
	color: white;
	padding: 15px;
	border-radius: 50px;
	width: 50px;
	height: 50px;
}

button#scrollUp:hover {
	background-color: rgb(158, 158, 158);
}

button#scrollUp img {
	width: 100%;
	height: 100%;
}

ol>li::marker {
	font-weight: bold;
}

h1#subscriptionType,
span#subscriptionBox {
	font-weight: 600;
	margin: 0;
	color: var(--orange);
}

span#subscriptionBox {
	color: var(--orange);
	font-weight: 600;
	margin: 0;
	position: absolute;
	bottom: 1px;
	padding-left: 5px;
	text-align: left;
	width: 250px;
}

button#upgradeToAdvance {
	position: absolute;
	right: calc(50vw - 85px);
	width: 170px;
	margin-top: 5px;
	border-radius: 5px;
	border: none;
	background-color: var(--dark-orange);
	color: white;
	height: 1.5rem;
}

button#upgradeToAdvance:hover {
	background-color: var(--darker-orange);
}

button.GrayedOut {
	background-color: lightgray;
	color: gray;
	cursor: auto;
}

div#coordinates {
	display: inline-block;
	/* font-size: small; */
}

div#diameterInPixels {
	display: inline-block;
	/* font-size: small; */
}

div#mySettings h1,
div#mySettings h2 {
	color: var(--orange);
	font-weight: 600;
}

button#downloadButton {
	font-weight: 600;
	color: black;
	background-color: var(--light-orange);
}

button#downloadButton:hover {
	background-color: var(--orange);
}

/* PLANS PAGE */

div.ProductBox {
	display: inline-block;
	width: 370px;
	height: 220px;
	vertical-align: top;
	margin: 5px 15px;
	position: relative;
	border-collapse: collapse;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	border-radius: 15px;
}

div.ProductBoxLink {
	cursor: pointer;
}

div.ProductBox .ProductTitle {
	color: black;
	margin: 20px;
	text-align: center;
	padding: 5px 15px;
}

div.ProductBox p {
	margin: 10px 25px;
	text-align: center;
}

div#productsWrapper a,
/* a:visited,
	a:hover,
	a:active, */
a {
	color: white;
	text-decoration: none;
}


/* INSPECTION */
div#inspectionInstructionsBox {
	background: transparent;
	height: 40px;
}

select.InspectionList {
	min-width: 100px;
}

#inspectionDeltaTable {
	font-size: 1.2em;
}

#inspectionDeltaTable td,
#inspectionDeltaTable th {
	padding: 5px !important;
}

#inspectionDeltaTable th {
	min-width: 30px;
}

#inspectionDeltaTable td {
	min-width: 150px;
	vertical-align: middle !important;
}

div#inspectionControlButtons {
	z-index: 1;
	top: 3px;
	left: 0;
	position: absolute;
}

div#inspectionControlButtons input {
	background: white;
	margin: 5px;
	height: 20px;
	width: 100px;
	outline: none;
	border: 1px solid transparent;
	text-align: center;
	color: red;
}

button.InspectionButton.SignInUp {
	display: block;
	margin: 5px auto;
	border: transparent 2px solid;
	font-size: small;
	/* min-width: 310px; */
	width: 80%;
	position: relative;
	font-size: medium;
}

button.InspectionButton.SignInUp.MachineHistoryInspectionButton {
	margin: 15px auto;
	min-width: 400px;
}

div#elementsBox {
	overflow: auto;
	height: 40vh;
	background-color: white;
	overscroll-behavior: contain;
	padding: 0 10px;
	width: 97%;
}

div#elementsBox button,
div#specificationsBox button {
	width: 97%;
}

button.SignInUp.Selected {
	background-color: var(--light-orange);
	border: #000 2px solid;
}

div#inspectionMainButtonsBox {
	margin-top: 2px;
	position: absolute;
	left: 50vw;
	transform: translateX(-50%);
	z-index: 3;
}

div#inspectionMainButtonsBox button {
	font-weight: bolder;
}

div#inspectionMainButtonsBox img {
	width: 80%;
}

button#newBestFitCircleInspection {
	color: var(--light-orange);
	;
}

button#newBestFitCircleInspection:disabled {
	color: rgba(0, 255, 255, 0.284);
}

button.InspectionButton.ToolBarButton {
	min-width: 40px;
	max-height: 28px;
	margin: 0 3px;
	border: none;
	font-size: large;
	border: transparent 2px solid;
	line-height: 14px;
}

button.InspectionButton.ToolBarButton.Selected {
	border: 2px solid black;
}

button.InspectionButton.ToolBarButton.Active {
	border: 2px solid black;
	background-color: #ddd;
}

div#m-page-1 h4 {
	margin: 1px;
}

div#inspectionFilters {
	display: flex;
	justify-content: space-evenly;
	position: relative;
	margin: 0;
	padding: 0;
	z-index: 0;
}

div#inspectionFilters select,
div#inspectionFilters input {
	width: 20%;
}

select#machinesListHistoryPageInspection:invalid,
select#machinesListHistoryPageInspection option[value=""] {
	color: lightgrey;
}

div#inspectionSummary {
	position: absolute;
	right: 0;
	bottom: 0;
}

button#inspectionSummaryButton {
	width: 50px;
	height: 22px;
	border-top-left-radius: 110px;
	border-top-right-radius: 110px;
	border: none;
	border-bottom: 0;
	background-color: rgba(238, 238, 238, .4);
	outline: none;
}

div#inspectionSummaryContent {
	margin: auto;
	min-width: 250px;
	padding: 10px 30px;
	background-color: rgba(255, 255, 255, .35);
	min-height: 100px;
	color: black;
}

div#inspectionSummaryContent div {
	margin-right: 20px;
}

div#inspectionSummaryContent p {
	text-align: left;
}

div#inspectionSummaryContent.InspectionSummaryCollapsed {
	display: none;
}

span#operatorInspectionSummary,
span#partNameInspectionSummary,
td#operatorPrintMainTable {
	text-transform: capitalize;
}

/*INSPECTION REPORT TABLES*/
table#inspectionTable,
table#specificationsTable,
table#featureByFeatureTable,
table#pointsAndGeometriesTable {
	margin: 40px auto;
	min-width: 90%;
}

table#inspectionTable td {
	text-align: center;
	min-width: 250px;
}

table#inspectionTable tr,
table#inspectionTable th {
	border: 1px solid black;
	padding: 4px 5px;
	background-color: #bbbbbb;
	text-align: center;
}

table#specificationsTable td,
table#specificationsTable th,
table#featureByFeatureTable td,
table#featureByFeatureTable th {
	padding: 4px 5px;
}

table#specificationsTable td {
	text-align: left;
}

table#specificationsTable th {
	text-align: center;
}

td.FeatureByFeatureCell {
	min-width: 200px;
	max-width: 350px;
	text-align: center !important;
	word-wrap: break-word;
}

table#featureByFeatureTable {
	border-collapse: collapse;
	text-align: center;
	border: 1px solid black;
}

table#featureByFeatureTable th {
	min-width: 200px;
}

td#pointsTd,
td#geometriesTd {
	width: 50%;
	vertical-align: top;
}

td#pointsTd {
	border-right: 1px solid grey;
}

tr#pointsAndGeometriesData div {
	height: 100%;
}

div.InputInspection {
	margin: auto 3px;
}

div.InputInspection input {
	width: 50px;
}

div#newBestFitCircleInspection {
	position: relative;
	display: inline-block;
}

div.InspectionDropdownContent {
	position: absolute;
	background-color: #f1f1f1;
	z-index: 1;
	font-size: small;
	margin-top: 3px;
}

div.InspectionDropdownContent button {
	padding: 5px;
	display: block;
	border: none;
	font-size: small;
	font-weight: normal !important;
}

div.InspectionDropdownContent button:hover {
	background-color: #ddd;
}

span#inspectionInstructions {
	color: var(--light-orange);
	font-size: small;
	font-weight: bold;
}

button.ButtonAsLink {
	color: var(--light-orange);
	;
	background-color: transparent;
	text-decoration: underline;
	border: none;
	margin: 0;
	padding: 0;
	font-family: sans-serif;
	cursor: pointer;
	margin-left: 10px;
	font-size: medium;
}

button.ButtonAsLink:hover {
	color: var(--dark-orange);
}

button#backPrintButton.SignInUp {
	float: left;
	margin: 0 0 10px 0;
}

#loadEditPrintFormContainer h2 {
	clear: both;
	padding-top: 10px;
	text-align: center !important;
}

div#specificationsBox {
	overflow: auto;
	height: 20vh;
	background-color: white;
	width: 100%;
	overscroll-behavior: contain;
	margin: 25px auto;
}

div#specificationsPopupContent.PopupContent {
	max-width: 80%;
}

#closeSpecificationsPopup {
	position: absolute;
	top: 5px;
	right: 5px;
	padding: 2px 7px;
	cursor: pointer;
	border: none;
	background: transparent;
	font-size: 30px;
}

#closeSpecificationsPopup:hover {
	color: var(--dark-orange);
}

#specificationsPopupContent {
	position: relative;
}

img.SpecificationCheckImg {
	float: right;
	width: 15px;
}

table#pointsAndGeometriesTable td {
	vertical-align: top !important;
}

div#pointsPrint button,
div#geometriesPrint button {
	border: none !important;
	background: transparent !important;
	font-size: 0.8rem !important;
	width: 95%;
	display: block;
	cursor: auto;
}

div.InspectionBox {
	display: block !important;
	width: auto;
	height: auto;
	overflow: visible !important;
}

div#printReportPopupContent label {
	min-width: 270px;
	display: inline-block;
	text-align: left;
}

div#printReportPopupContent div {
	margin: 5px;
}

.FrameText {
	/* position: absolute;
	right: 5px;
	font-weight: bold; */
	background: white;
	padding: 0 5px;
	border-radius: 4px;
	color: black !important;
	font-size: x-small;
}

.FrameText.ConfirmPoint {
	/* position: absolute;
	right: 5px;
	font-weight: bold; */
	background: white;
	padding: 0 5px;
	border-radius: 4px;
	font-size: x-small;
}

.FrameText.ConfirmPoint:hover {
	color: cornflowerblue !important;
}

span.GeometryText {
	flex: 1;
}

button.FrameButton {
	display: flex !important;
	justify-content: space-evenly;
	align-items: center;
}

button#multiFrameViewButton {
	background: #6495eda6;
}

button#multiFrameViewButton:hover {
	background: #6495ed66;
}

div.PopupContent {
	background-color: var(--primary-color);
	margin: 20px auto;
	padding: 20px;
	border: none;
	width: 30vw;
	min-width: 400px;
	border-collapse: collapse;
	box-shadow: 0 0 20px rgb(0 0 0 / 10%);
	border-radius: 15px;
	border: 1px solid #555555;
	/* Add these properties to position relative to current viewport */
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1000;
	overflow-y: auto;
}

div#appPopupContent {
	width: 35vw;
	max-height: 80vh;
	overflow: hidden;
}

div#appPopupData {
	padding: 10px;
	overflow-y: auto;
	max-height: calc(80vh - 40px);
	box-sizing: border-box;
}

.AnchorButton {
	background-color: var(--dark-orange);
	color: white;
	font-size: large;
	font-weight: 600;
	border: none;
	padding: 10px;
	margin-left: 5px;
	margin-right: 5px;
	border-radius: 4px;
	display: inline-block;
	cursor: pointer;
	text-decoration: none;
}

.AnchorButton:hover {
	background-color: var(--darker-orange);
}

/* SHOP VISION*/
#cameraListShopVision {
	height: 60vh;
	overflow: auto;
	background-color: var(--dark-background-color);
	width: 100%;
	overscroll-behavior: contain;
	margin: 25px auto;
}

#cameraListShopVision button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 96%;
}

#cameraListShopVision input {
	text-align: center;
	border: none;
	width: 80%;
	max-width: 80%;
	margin: 0 5px;
	color: white;
}

#cameraListShopVision input:read-only {
	text-align: center;
	background: none;
	border: none;
	color: white;
	cursor: pointer;
	width: 80%;
	margin: 0 5px;
}

#cameraListShopVision input:read-only:focus {
	outline: none;
	width: 80%;
	max-width: 80%;
}

.WebcamImgButton {
	border: 1px solid transparent;
	background-color: transparent;
	border-radius: 50%;
	padding: 2px;
}

.WebcamImgButton:hover {
	background-color: #ddd;
	border-radius: 50%;
	padding: 2px;
}

.WebcamButton div {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
}

.WebcamButton span {
	font-size: 11px;
	font-weight: bold;
	margin-right: 5px;
}

/* TOOL TIPS */

/* Tooltip container */
[data-i18n-tooltip] {
	position: relative;
	cursor: help;
}

/* Tooltip text */
[data-i18n-tooltip]::before {
	content: attr(data-tooltip-text);
	position: fixed;
	/* Change to fixed to position relative to the viewport */
	top: 2px;
	/* Position at the top of the window */
	left: 50%;
	/* Center horizontally */
	transform: translateX(-50%);
	background-color: black;
	color: var(--orange);
	font-size: medium;
	font-weight: 600;
	border: 1px solid var(--lightish-text-color);
	padding: 10px;
	border-radius: 5px;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s;
	transition-delay: 0.5s;
	z-index: 1000;
	/* Ensure it appears above other elements */
}

/* Tooltip arrow */
[data-i18n-tooltip]::after {
	content: '';
	position: absolute;
	top: -6px;
	left: 50%;
	transform: translateX(-50%);
	border-width: 5px;
	border-style: solid;
	border-color: var(--orange) transparent transparent transparent;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s;
	transition-delay: 0.5s;
	z-index: 1000;
}

/* Show the tooltip text on hover */
[data-i18n-tooltip]:hover::before {
	opacity: 1;
	visibility: visible;
}

#primaryButtons button {
	padding: 20px;
	margin: 5px;
}

#previousUltraCalibration,
#previousRigidMountCalibration {
	color: black;
	background-color: var(--light-orange);
}

#previousUltraCalibration:hover,
#previousRigidMountCalibration:hover {
	--light-orange: rgb(224, 132, 70);
}

/* Camera Inactivity Overlay */
#cameraInactivityOverlay {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(0, 0, 0, 0.8);
	color: white;
	border-radius: 10px;
	text-align: center;
	z-index: 1000;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
}

#cameraInactivityOverlay button {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 20px;
	background: rgb(255, 148, 77);
	color: black;
	font-size: medium;
	border-radius: 5px;
	cursor: pointer;
	transition: background-color 0.3s;
	border: none;
}

#cameraInactivityOverlay button:hover {
	background-color: rgb(224, 132, 70);
}

#cameraInactivityOverlay button img {
	width: 20px;
	height: 20px;
}

#cameraInactivityOverlay button span {
	font-size: 14px;
}

.machine-edit-container {
	display: flex;
	align-items: center;
	gap: 10px;
}

.machine-input {
	border: none;
	background: transparent;
	font-size: inherit;
	color: inherit;
	outline: none;
	width: auto;
}

.machine-input-model {
	font-weight: bold;
}

.machine-input-number {
	font-weight: bold;
}

.machine-input-type {
	font-style: italic;
}

.machine-input-editing {
	border: 1px solid #ccc;
	background: #fff;
	padding: 2px 4px;
	border-radius: 3px;
}