@import url(fontawesome-all.min.css);

/*
	Ubuntu Condensed is served from this origin rather than Google Fonts, so no
	visitor request leaves this app. See public/assets/webfonts/ for the files and
	the Ubuntu Font Licence they ship under.

	Each subset keeps the unicode-range Google published for it, so browsers still
	download only the subsets a page actually needs. These rules must stay below
	the @import above: CSS ignores an @import that follows any other rule.
*/

/* cyrillic-ext */
@font-face {
	font-family: 'Ubuntu Condensed';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../webfonts/ubuntu-condensed-cyrillic-ext.woff2') format('woff2');
	unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
	font-family: 'Ubuntu Condensed';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../webfonts/ubuntu-condensed-cyrillic.woff2') format('woff2');
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* greek-ext */
@font-face {
	font-family: 'Ubuntu Condensed';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../webfonts/ubuntu-condensed-greek-ext.woff2') format('woff2');
	unicode-range: U+1F00-1FFF;
}

/* greek */
@font-face {
	font-family: 'Ubuntu Condensed';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../webfonts/ubuntu-condensed-greek.woff2') format('woff2');
	unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* latin-ext */
@font-face {
	font-family: 'Ubuntu Condensed';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../webfonts/ubuntu-condensed-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
	font-family: 'Ubuntu Condensed';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../webfonts/ubuntu-condensed-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/*
	Minimaxing by HTML5 UP
	html5up.net | @ajlkn
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/


:root {
	/* Centralized light theme tokens consumed by shared surfaces/components. */
	--color-page-bg: #f4f5f0;
	--color-surface: #ffffff;
	--color-surface-muted: #fffff0;
	--color-text-primary: #2f3728;
	--color-text-secondary: #596051;
	--color-text-inverse: #ffffff;
	--color-border: #b6bcae;
	--color-divider: #ced0b7;
	--color-link: #236e9a;
	--color-link-hover: #1b5475;
	--color-accent: #7f3035;
	--color-accent-hover: #660000;
	--color-control-bg: #f1f1f1;
	--color-control-text: #2f3728;
	--color-control-border: #9ba493;
	--color-overlay: rgba(0, 0, 0, 0.4);
	--color-shadow: rgba(0, 0, 0, 0.16);
	--color-warning-bg: #fff8e5;
	--color-warning-border: #f0ad4e;
	--color-warning-text: #3f2a00;
	--color-error-bg: #fbe9e7;
	--color-error-border: #d9534f;
	--color-error-text: #681916;
}

html[data-theme='dark'] {
	/* Dark theme token overrides keep all route styling consistent via shared variables. */
	--color-page-bg: #141816;
	--color-surface: #1d231f;
	--color-surface-muted: #273026;
	--color-text-primary: #edf4e6;
	--color-text-secondary: #d0dcc3;
	--color-text-inverse: #f8fff3;
	--color-border: #4f5b4f;
	--color-divider: #485146;
	--color-link: #85cbf1;
	--color-link-hover: #a3ddff;
	--color-accent: #a84953;
	--color-accent-hover: #bf5f68;
	--color-control-bg: #121613;
	--color-control-text: #ecf6e2;
	--color-control-border: #667265;
	--color-overlay: rgba(0, 0, 0, 0.6);
	--color-shadow: rgba(0, 0, 0, 0.45);
}

html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video, button {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section,button {
	display: block;}

body {
	line-height: 1;
}

dd {
	margin-bottom: 0.5rem;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

	blockquote:before, blockquote:after, q:before, q:after {
		content: '';
		content: none;
	}

fieldset {
	margin: 0;
	padding-bottom: 2rem;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

/* Text for assistive technology only: it stays in the accessible name and out of the layout. */
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Table Style */
table {
	border: .2rem solid #7f3035;
	border-collapse: collapse;
	border-spacing: 0;
	border-radius: 0.35rem;
	display: block;
	width: 100%;
	table-layout: fixed;
}

thead {
	font-size: 2rem;
	font-weight: bold;
	background-color: #7f3035;
	color: #ffffff;
}

td, th {
	padding: 0.5rem;
	display: inline-block;
	vertical-align: top;
}

tr {
	border-bottom: .2rem solid #7f3035;
}

tr:nth-child(even) {
	background-color: #d3d3d3;
}


/* End Table Style */

body {
	-webkit-text-size-adjust: none;
}

mark {
	background-color: transparent;
	color: inherit;
}

/*input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input, select, textarea {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
}*/

input {
    margin: .2rem 0 .2rem 0;
}

/* Basic */

	html {
		box-sizing: border-box;
	}

	*, *:before, *:after {
		box-sizing: inherit;
	}

	@-ms-viewport {
		width: device-width;
	}

	body {
		font-size: 16pt;
		font-family: sans-serif;
		background-color: #fff;
		font-family: 'Ubuntu Condensed', sans-serif;
		color: #878e83;
		letter-spacing: -1px;
	}

	h1, h2, h3, h4 {
		color: #7f3035;
		font-weight: normal;
	}

	h1 {
		text-transform: lowercase;
	}

	h2 {
		font-size: 1.6em;
		letter-spacing: -1px;
		margin-bottom: 1em;
	}

	h3, h4 {
		color: #283121;
		margin-bottom: 0.5em;
	}

	h3 {
		font-size: 1.2em;
		margin-bottom: 0.8em;
	}

	h4 {
		font-size: 1em;
	}

	p, ul {
		margin-bottom: 1.25em;
	}

	p {
		line-height: 1.8em;
	}

	strong {
		color: #474e43;
	}

	img.left {
		float: left;
		margin: 2px 1.25em 0 0;
	}

	img.top {
		margin: 4px 0 2.25em 0;
	}

	ul {
		padding: 0.25em 0 0 0;
	}

	a {
		color: #5d93a2;
		text-decoration: underline;
	}

		a:hover {
			text-decoration: none;
		}

	* > p:last-child {
		margin-bottom: 0 !important;
	}

	section, article {
		margin: 0 0 60px 0;
	}

	section:last-child, article:last-child {
		margin-bottom: 0;
	}

/* Recon.html and index.html sub-header styles */

	#sub-header-container, #sub-header-container-2, #sub-header-container-3, #sub-header-container-4{
		height: 150px;
	}
	#sub-header-container h2, #sub-header-container-2 h2, #sub-header-container-3 h2, #sub-header-container-4 h2{
		padding-top: 43px;
		padding-left: 50px;
	}
	#sub-header-container ul, #sub-header-container-2 ul, #sub-header-container-3 ul, #sub-header-container-4 ul{
		padding-left: 50px;
	}
	#second-sub-header-container, #third-sub-header-container {
		height: 40px;
	}
	#second-sub-header-container h2, #third-sub-header-container h2 {
		padding-left: 50px;
	}
	#second-sub-header-container ul, #third-sub-header-container ul {
		padding-left: 50px;
		padding-top: 40px;
	}

/* Diagram Chart Overlay */
	#DiagramConditional {
		width: 100%; 
		height: 100%;
		z-index: 10;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-color: rgba(240,240,240,0.9);
		transition: 0.8s;
		display: none;
		overflow: auto;
	}	

	.DiagramColumn{
		display: grid;
		grid-template-columns: 1fr 4fr;
		height: 100%;
		gap: 50px;
	}

	#toolbar, .drawing-board-container{
		padding-top: 80px;
	}

	#drawing-board{
		border: 3px solid #7f3035;
	}

	@media screen and (max-width: 800px) {

		.DiagramColumn{
			grid-template-columns: 1fr;
		}
		#toolbar, .drawing-board-container{
			padding-top: 0;
		}
		#drawing-board{
			margin-bottom: 200px;
			height: 700px;
		}
	}


/* Grid Lines Overlay */
	#gridOverlay {
		width: 100%; 
		height: 100%;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-color: rgba(240,240,240,0.9);
		transition: 0.8s;
		display: none;
		z-index: 3;
		overflow: auto;
	}

	.gridColumn{
		display: grid;
		grid-template-columns: 1fr 4fr;
		height: 100%;
		gap: 50px;
	}

	#first-space, .gridContainer{
		padding-top: 80px;
	}

	#grids {
		background: repeating-linear-gradient(0deg, transparent, transparent 19px, rgb(0,0,0) 19px, rgb(0,0,0) 40px),
			repeating-linear-gradient(90deg, transparent, transparent 19px, rgb(0,0,0) 19px, rgb(0,0,0) 40px);
		background-size: 20px 20px;
	}

	@media screen and (max-width: 800px) {

		.gridColumn{
			grid-template-columns: 1fr;
		}
		#first-space {
			padding-top: 0;
			background-color: white;
		}
		.gridContainer{
			padding-top: 0;
		}
		#grids{
			margin-bottom: 200px;
		}
	}

			
/* Recon Chart Overlay */
	#recon-chart-overlay {
		width: 100%; 
		height: 100%;
		z-index: 10; /* We need to make sure that this overlay remains on top of the page. */
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-color: rgba(240,240,240,0.9);
		transition: 0.8s;
		display: none; /* Let's keep it hidden until the user selects a Recon graph */
	}

/* Recon Progress Circle Overlay */
	#progress-circle-overlay {
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 10; /* We need to make sure that this overlay remains on top of the page. */
		background-color: rgba(240,240,240,0.9);
		transition: 0.0s;
		display: none;
	}

	/* The record being read, under the circle (#231): the overlay's ground is
	   the same light grey in both themes, so the text colour is fixed too. */
	#progress-circle-message {
		margin: 1rem auto 0;
		text-align: center;
		font-size: 1.1rem;
		color: #222;
	}

/* Recon Data Session Overlay */	
	#data-session-overlay {
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 10; /* We need to make sure that this overlay remains on top of the page. */
		background-color: rgba(240,240,240,0.9);
		transition: 0.0s;
	}
	
	#data-session-content {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 100%;
		padding-top: 10%;
	}

	/* The equilibrium-exclusion option in the session picker (#219). */
	.recon-session-option {
		display: flex;
		align-items: flex-start;
		gap: 0.6em;
		max-width: 36em;
		margin: 0 1em 1.5em;
		text-align: left;
		cursor: pointer;
	}

	.recon-session-option input[type="checkbox"] {
		flex: 0 0 auto;
		margin-top: 0.3em;
	}

	.recon-session-option input[type="checkbox"]:disabled + span {
		opacity: 0.5;
	}

	
/* Device Tables */

	.table-layout {
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}
	
	.device {
		
	}

/* Device Overlap */
	#device-overlay {
		width: 100%;
		height: 100%;
		background-color: rgba(135,142,131,0.9);
		display: none;
		z-index: 8;
		position: absolute;
		left: 0;
		right: 0;
		padding: 50px 0 50px 0;
	}

/* Floating Button */	
	.fab-container-left {
		position: fixed;
		bottom: 2rem;
		left: 3rem;
		z-index: 10;
	}
	
	.fab-container-right {
		position: fixed;
		bottom: 2rem;
		right: 3rem;
		z-index: 10;
	}

	[data-title]:hover:after {
	    opacity: 1;
	    transition: all 0.01s ease 0.5s;
	    visibility: visible;
	}

	[data-title]:after {
	    content: attr(data-title);
	    background-color: #7f3035;
	    color: #ffffff;
	    font-family: 'Ubuntu Condensed', sans-serif;
	    position: absolute;
	    padding: 3px 20px;
	    bottom: 4em;
	    left: -200%;
	    white-space: nowrap;
	    opacity: 0;
	    box-shadow: 2px 2px 3px #999;
	    visibility: hidden;
	    border-radius: 2em;	    
	}
	
	.floating-button {
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0.4rem;
		width: 4rem;
		height: 4rem;
		background-color: #7f3035;
		color: #ffffff;
		border-radius: 2em;
		box-shadow: 2px 2px 3px #999;
		z-index: 1;
		text-decoration: none;
		position: relative;
		border: none;
		cursor: pointer;
	}
	
	.floating-button-icon {
		font-size: 1.5rem;
	}

	.tooltip-text {
		visibility: hidden;
		background-color: #7f3035;
		color: #fff;
		width: 17rem;
		text-align: center;
		border-radius: 5px;
		padding: 5px;
		position: absolute;
		z-index: 1;
		bottom: 0rem;
		left: 9.5em;
		transform: translateX(-50%);
		opacity: 0;
		transition: opacity 0.3s;
	}

	.floating-button:hover .tooltip-text {
		visibility: visible;
		opacity: 1;
	}

	.tooltip-text-bug, .tooltip-text-usb, .tooltip-text-bluetooth {
		visibility: hidden;
		background-color: #7f3035;
		color: #fff;
		width: 8rem;
		text-align: center;
		border-radius: 5px;
		padding: 5px;
		position: absolute;
		z-index: 1;
		bottom: 0rem;
		right: 1rem;
		transform: translateX(-50%);
		opacity: 0;
		transition: opacity 0.3s;
	}

	.floating-button:hover .tooltip-text-bug, .floating-button:hover .tooltip-text-usb, .floating-button:hover .tooltip-text-bluetooth {
		visibility: visible;
		opacity: 1;
	}

	.tooltip-text-transfer-session {
		background-color: #7f3035;
		color: #fff;
		width: 10rem;
		text-align: center;
		border-radius: 5px;
		padding: 5px;
		position: absolute;
		z-index: 1;
		bottom: 0rem;
		right: 1rem;
		transform: translateX(-50%);
		opacity: 1;
	}	

	#toggle-ble-usb {
		position: relative;
	}

	#usb-symbol, #bluetooth-symbol {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
	}

	#usb-symbol img, #bluetooth-symbol img {
		width: 3rem;
		height: 3rem;
		object-fit: contain;
	}

	#bluetooth-symbol {
		display: none;
	}

	#toggle-ble-usb.bluetooth #usb-symbol {
		display: none;
	}

	#toggle-ble-usb.bluetooth #bluetooth-symbol {
		display: flex;
	}

	/* A <dialog> opened with showModal(): the element itself is the full-viewport
	   overlay, so the UA's fit-content box, border and backdrop are removed. */
	.modal {
		display: none;
		position: fixed;
		z-index: 1;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		max-width: none;
		max-height: none;
		margin: 0;
		border: 0;
		overflow: auto;
		background-color: rgb(0, 0, 0);
		background-color: rgba(0, 0, 0, 0.4);
		padding-top: 60px;
	}

	.modal[open] {
		display: block;
	}

	.modal::backdrop {
		background: transparent;
	}

	.modal-content {
		background-color: #fefefe;
		margin: 5% auto;
		padding: 20px;
		border: 1px solid #888;
		width: 50%;
		box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
	}

	.close {
		color: #aaa;
		float: right;
		font-family: inherit;
		font-size: 28px;
		font-weight: bold;
		line-height: 1;
		padding: 0;
		border: 0;
		background: none;
	}

	.close:hover,
	.close:focus {
		color: black;
		text-decoration: none;
		cursor: pointer;
	}

	.close:focus-visible {
		outline: 3px solid var(--color-link);
		outline-offset: 2px;
	}

	.form-container {
		font-size: 16px;
		font-family: 'Ubuntu Condensed', sans-serif;
		overflow: hidden;
	}

	.tutorial-video-container {
		position: relative;
		width: min(100%, 960px);
		aspect-ratio: 16 / 9;
		overflow: hidden;
		margin: 1rem auto 0;
	}

	.tutorial-video-container video {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border: 0;
		border-radius: 10px;
		background-color: #000;
	}

	.tutorial-video-fallback {
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		transform: translateY(-50%);
		margin: 0;
		padding: 0 1rem;
		text-align: center;
		font-size: 16px;
	}

	.tutorial-transcript {
		width: min(100%, 960px);
		margin: 1rem auto 0;
		font-size: 16px;
		font-family: 'Ubuntu Condensed', sans-serif;
	}

	.tutorial-transcript summary {
		cursor: pointer;
		font-weight: bold;
	}

	.tutorial-transcript-list {
		max-height: 15rem;
		overflow-y: auto;
		margin: 0.75rem 0 0;
		padding-left: 0;
		list-style: none;
	}

	.tutorial-transcript-list li {
		display: flex;
		gap: 0.75rem;
		padding: 0.15rem 0;
	}

	.tutorial-transcript-time {
		flex: 0 0 3.5rem;
		font-variant-numeric: tabular-nums;
		opacity: 0.7;
	}

	.input-wrapper {
		display: flex;
		flex-direction: column;
		margin-bottom: 15px;
	}

	.input-wrapper input,
	.input-wrapper textarea {
		padding: 10px;
		font-size: 16px;
		border: 1px solid #ccc;
		border-radius: 4px;
		width: 100%;
		box-sizing: border-box;
	}

	.diagnostics-opt-in .input-wrapper {
		flex-direction: row;
		align-items: flex-start;
		gap: 0.5rem;
		font-weight: normal;
	}

	.diagnostics-opt-in .input-wrapper input {
		width: auto;
		margin-top: 0.25rem;
	}

	/* No display rule on the container itself, so its hidden attribute keeps working. */
	.diagnostics-preview p {
		margin: 0 0 0.5rem;
	}

	.diagnostics-preview textarea {
		display: block;
		width: 100%;
		box-sizing: border-box;
		margin-bottom: 15px;
		padding: 10px;
		font-family: monospace;
		font-size: 13px;
		border: 1px solid #ccc;
		border-radius: 4px;
		white-space: pre;
	}

	#sendEmailButton {
		background-color: #7f3035;
		color: white;
		padding: 10px 20px;
		border: none;
		border-radius: 4px;
		cursor: pointer;
		font-size: 16px;
	}

	#sendEmailButton:hover {
		background-color: #5a2326;
	}


/* Container */

	.container {
		margin: 30px auto;
		max-width: 100%;
		width: 1200px;
		position: relative;
	}

		@media screen and (max-width: 1680px) {

			.container {
				width: 1200px;
			}

		}

		@media screen and (max-width: 1280px) {

			.container {
				width: calc(100% - 70px);
			}

		}

		@media screen and (max-width: 980px) {

			.container {
				width: calc(100% - 100px);
			}

		}

		@media screen and (max-width: 736px) {

			.container {
				width: calc(100% - 40px);
			}

		}

/* Row */

	.row {
		display: flex;
		flex-wrap: wrap;
		box-sizing: border-box;
		align-items: stretch;
	}

		.row > * {
			box-sizing: border-box;
		}

		.row.gtr-uniform > * > :last-child {
			margin-bottom: 0;
		}

		.row.aln-left {
			justify-content: flex-start;
		}

		.row.aln-center {
			justify-content: center;
		}

		.row.aln-right {
			justify-content: flex-end;
		}

		.row.aln-top {
			align-items: flex-start;
		}

		.row.aln-middle {
			align-items: center;
		}

		.row.aln-bottom {
			align-items: flex-end;
		}

		.row > .imp {
			order: -1;
		}

		.row > .col-1 {
			width: 8.33333%;
		}

		.row > .off-1 {
			margin-left: 8.33333%;
		}

		.row > .col-2 {
			width: 16.66667%;
		}

		.row > .off-2 {
			margin-left: 16.66667%;
		}

		.row > .col-3 {
			width: 25%;
		}

		.row > .off-3 {
			margin-left: 25%;
		}

		.row > .col-4 {
			width: 33.33333%;
		}

		.row > .off-4 {
			margin-left: 33.33333%;
		}

		.row > .col-5 {
			width: 41.66667%;
		}

		.row > .off-5 {
			margin-left: 41.66667%;
		}

		.row > .col-6 {
			width: 50%;
		}

		.row > .off-6 {
			margin-left: 50%;
		}

		.row > .col-7 {
			width: 58.33333%;
		}

		.row > .off-7 {
			margin-left: 58.33333%;
		}

		.row > .col-8 {
			width: 66.66667%;
		}

		.row > .off-8 {
			margin-left: 66.66667%;
		}

		.row > .col-9 {
			width: 75%;
		}

		.row > .off-9 {
			margin-left: 75%;
		}

		.row > .col-10 {
			width: 83.33333%;
		}

		.row > .off-10 {
			margin-left: 83.33333%;
		}

		.row > .col-11 {
			width: 91.66667%;
		}

		.row > .off-11 {
			margin-left: 91.66667%;
		}

		.row > .col-12 {
			width: 100%;
		}

		.row > .off-12 {
			margin-left: 100%;
		}

		.row.gtr-0 {
			margin-top: 0px;
			margin-left: 0px;
		}

			.row.gtr-0 > * {
				padding: 0px 0 0 0px;
			}

			.row.gtr-0.gtr-uniform {
				margin-top: 0px;
			}

				.row.gtr-0.gtr-uniform > * {
					padding-top: 0px;
				}

		.row.gtr-25 {
			margin-top: -12.5px;
			margin-left: -12.5px;
		}

			.row.gtr-25 > * {
				padding: 12.5px 0 0 12.5px;
			}

			.row.gtr-25.gtr-uniform {
				margin-top: -12.5px;
			}

				.row.gtr-25.gtr-uniform > * {
					padding-top: 12.5px;
				}

		.row.gtr-50 {
			margin-top: -25px;
			margin-left: -25px;
		}

			.row.gtr-50 > * {
				padding: 25px 0 0 25px;
			}

			.row.gtr-50.gtr-uniform {
				margin-top: -25px;
			}

				.row.gtr-50.gtr-uniform > * {
					padding-top: 25px;
				}

		.row {
			margin-top: -50px;
			/*margin-left: -50px;*/
		}

			.row > * {
				padding: 50px 25px 0 25px;
			}

			.row.gtr-uniform {
				margin-top: -50px;
			}

				.row.gtr-uniform > * {
					padding-top: 50px;
				}

		.row.gtr-150 {
			margin-top: -75px;
			margin-left: -75px;
		}

			.row.gtr-150 > * {
				padding: 75px 0 0 75px;
			}

			.row.gtr-150.gtr-uniform {
				margin-top: -75px;
			}

				.row.gtr-150.gtr-uniform > * {
					padding-top: 75px;
				}

		.row.gtr-200 {
			margin-top: -100px;
			margin-left: -100px;
		}

			.row.gtr-200 > * {
				padding: 100px 0 0 100px;
			}

			.row.gtr-200.gtr-uniform {
				margin-top: -100px;
			}

				.row.gtr-200.gtr-uniform > * {
					padding-top: 100px;
				}

		@media screen and (max-width: 1680px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-xlarge {
					order: -1;
				}

				.row > .col-1-xlarge {
					width: 8.33333%;
				}

				.row > .off-1-xlarge {
					margin-left: 8.33333%;
				}

				.row > .col-2-xlarge {
					width: 16.66667%;
				}

				.row > .off-2-xlarge {
					margin-left: 16.66667%;
				}

				.row > .col-3-xlarge {
					width: 25%;
				}

				.row > .off-3-xlarge {
					margin-left: 25%;
				}

				.row > .col-4-xlarge {
					width: 33.33333%;
				}

				.row > .off-4-xlarge {
					margin-left: 33.33333%;
				}

				.row > .col-5-xlarge {
					width: 41.66667%;
				}

				.row > .off-5-xlarge {
					margin-left: 41.66667%;
				}

				.row > .col-6-xlarge {
					width: 50%;
				}

				.row > .off-6-xlarge {
					margin-left: 50%;
				}

				.row > .col-7-xlarge {
					width: 58.33333%;
				}

				.row > .off-7-xlarge {
					margin-left: 58.33333%;
				}

				.row > .col-8-xlarge {
					width: 66.66667%;
				}

				.row > .off-8-xlarge {
					margin-left: 66.66667%;
				}

				.row > .col-9-xlarge {
					width: 75%;
				}

				.row > .off-9-xlarge {
					margin-left: 75%;
				}

				.row > .col-10-xlarge {
					width: 83.33333%;
				}

				.row > .off-10-xlarge {
					margin-left: 83.33333%;
				}

				.row > .col-11-xlarge {
					width: 91.66667%;
				}

				.row > .off-11-xlarge {
					margin-left: 91.66667%;
				}

				.row > .col-12-xlarge {
					width: 100%;
				}

				.row > .off-12-xlarge {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0px;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0px;
						}

				.row.gtr-25 {
					margin-top: -12.5px;
					margin-left: -12.5px;
				}

					.row.gtr-25 > * {
						padding: 12.5px 0 0 12.5px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -12.5px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 12.5px;
						}

				.row.gtr-50 {
					margin-top: -25px;
					margin-left: -25px;
				}

					.row.gtr-50 > * {
						padding: 25px 0 0 25px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -25px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 25px;
						}

				.row {
					margin-top: -50px;
					/*margin-left: -50px;*/
				}

					.row > * {
						/*padding: 50px 0 0 50px;*/
					}

					.row.gtr-uniform {
						margin-top: -50px;
					}

						.row.gtr-uniform > * {
							padding-top: 50px;
						}

				.row.gtr-150 {
					margin-top: -75px;
					margin-left: -75px;
				}

					.row.gtr-150 > * {
						padding: 75px 0 0 75px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -75px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 75px;
						}

				.row.gtr-200 {
					margin-top: -100px;
					margin-left: -100px;
				}

					.row.gtr-200 > * {
						padding: 100px 0 0 100px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -100px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 100px;
						}

		}

		@media screen and (max-width: 1280px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-large {
					order: -1;
				}

				.row > .col-1-large {
					width: 8.33333%;
				}

				.row > .off-1-large {
					margin-left: 8.33333%;
				}

				.row > .col-2-large {
					width: 16.66667%;
				}

				.row > .off-2-large {
					margin-left: 16.66667%;
				}

				.row > .col-3-large {
					width: 25%;
				}

				.row > .off-3-large {
					margin-left: 25%;
				}

				.row > .col-4-large {
					width: 33.33333%;
				}

				.row > .off-4-large {
					margin-left: 33.33333%;
				}

				.row > .col-5-large {
					width: 41.66667%;
				}

				.row > .off-5-large {
					margin-left: 41.66667%;
				}

				.row > .col-6-large {
					width: 50%;
				}

				.row > .off-6-large {
					margin-left: 50%;
				}

				.row > .col-7-large {
					width: 58.33333%;
				}

				.row > .off-7-large {
					margin-left: 58.33333%;
				}

				.row > .col-8-large {
					width: 66.66667%;
				}

				.row > .off-8-large {
					margin-left: 66.66667%;
				}

				.row > .col-9-large {
					width: 75%;
				}

				.row > .off-9-large {
					margin-left: 75%;
				}

				.row > .col-10-large {
					width: 83.33333%;
				}

				.row > .off-10-large {
					margin-left: 83.33333%;
				}

				.row > .col-11-large {
					width: 91.66667%;
				}

				.row > .off-11-large {
					margin-left: 91.66667%;
				}

				.row > .col-12-large {
					width: 100%;
				}

				.row > .off-12-large {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0px;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0px;
						}

				.row.gtr-25 {
					margin-top: -8.75px;
					margin-left: -8.75px;
				}

					.row.gtr-25 > * {
						padding: 8.75px 0 0 8.75px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -8.75px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 8.75px;
						}

				.row.gtr-50 {
					margin-top: -17.5px;
					margin-left: -17.5px;
				}

					.row.gtr-50 > * {
						padding: 17.5px 0 0 17.5px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -17.5px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 17.5px;
						}

				.row {
					margin-top: -35px;
					margin-left: -35px;
				}

					.row > * {
						padding: 35px 0 0 35px;
					}

					.row.gtr-uniform {
						margin-top: -35px;
					}

						.row.gtr-uniform > * {
							padding-top: 35px;
						}

				.row.gtr-150 {
					margin-top: -52.5px;
					margin-left: -52.5px;
				}

					.row.gtr-150 > * {
						padding: 52.5px 0 0 52.5px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -52.5px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 52.5px;
						}

				.row.gtr-200 {
					margin-top: -70px;
					margin-left: -70px;
				}

					.row.gtr-200 > * {
						padding: 70px 0 0 70px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -70px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 70px;
						}

		}

		@media screen and (max-width: 980px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-medium {
					order: -1;
				}

				.row > .col-1-medium {
					width: 8.33333%;
				}

				.row > .off-1-medium {
					margin-left: 8.33333%;
				}

				.row > .col-2-medium {
					width: 16.66667%;
				}

				.row > .off-2-medium {
					margin-left: 16.66667%;
				}

				.row > .col-3-medium {
					width: 25%;
				}

				.row > .off-3-medium {
					margin-left: 25%;
				}

				.row > .col-4-medium {
					width: 33.33333%;
				}

				.row > .off-4-medium {
					margin-left: 33.33333%;
				}

				.row > .col-5-medium {
					width: 41.66667%;
				}

				.row > .off-5-medium {
					margin-left: 41.66667%;
				}

				.row > .col-6-medium {
					width: 50%;
				}

				.row > .off-6-medium {
					margin-left: 50%;
				}

				.row > .col-7-medium {
					width: 58.33333%;
				}

				.row > .off-7-medium {
					margin-left: 58.33333%;
				}

				.row > .col-8-medium {
					width: 66.66667%;
				}

				.row > .off-8-medium {
					margin-left: 66.66667%;
				}

				.row > .col-9-medium {
					width: 75%;
				}

				.row > .off-9-medium {
					margin-left: 75%;
				}

				.row > .col-10-medium {
					width: 83.33333%;
				}

				.row > .off-10-medium {
					margin-left: 83.33333%;
				}

				.row > .col-11-medium {
					width: 91.66667%;
				}

				.row > .off-11-medium {
					margin-left: 91.66667%;
				}

				.row > .col-12-medium {
					width: 100%;
				}

				.row > .off-12-medium {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0px;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0px;
						}

				.row.gtr-25 {
					margin-top: -12.5px;
					margin-left: -12.5px;
				}

					.row.gtr-25 > * {
						padding: 12.5px 0 0 12.5px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -12.5px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 12.5px;
						}

				.row.gtr-50 {
					margin-top: -25px;
					margin-left: -25px;
				}

					.row.gtr-50 > * {
						padding: 25px 0 0 25px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -25px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 25px;
						}

				.row {
					margin-top: -50px;
					margin-left: -50px;
				}

					.row > * {
						padding: 50px 0 0 50px;
					}

					.row.gtr-uniform {
						margin-top: -50px;
					}

						.row.gtr-uniform > * {
							padding-top: 50px;
						}

				.row.gtr-150 {
					margin-top: -75px;
					margin-left: -75px;
				}

					.row.gtr-150 > * {
						padding: 75px 0 0 75px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -75px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 75px;
						}

				.row.gtr-200 {
					margin-top: -100px;
					margin-left: -100px;
				}

					.row.gtr-200 > * {
						padding: 100px 0 0 100px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -100px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 100px;
						}

		}

		@media screen and (max-width: 736px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-small {
					order: -1;
				}

				.row > .col-1-small {
					width: 8.33333%;
				}

				.row > .off-1-small {
					margin-left: 8.33333%;
				}

				.row > .col-2-small {
					width: 16.66667%;
				}

				.row > .off-2-small {
					margin-left: 16.66667%;
				}

				.row > .col-3-small {
					width: 25%;
				}

				.row > .off-3-small {
					margin-left: 25%;
				}

				.row > .col-4-small {
					width: 33.33333%;
				}

				.row > .off-4-small {
					margin-left: 33.33333%;
				}

				.row > .col-5-small {
					width: 41.66667%;
				}

				.row > .off-5-small {
					margin-left: 41.66667%;
				}

				.row > .col-6-small {
					width: 50%;
				}

				.row > .off-6-small {
					margin-left: 50%;
				}

				.row > .col-7-small {
					width: 58.33333%;
				}

				.row > .off-7-small {
					margin-left: 58.33333%;
				}

				.row > .col-8-small {
					width: 66.66667%;
				}

				.row > .off-8-small {
					margin-left: 66.66667%;
				}

				.row > .col-9-small {
					width: 75%;
				}

				.row > .off-9-small {
					margin-left: 75%;
				}

				.row > .col-10-small {
					width: 83.33333%;
				}

				.row > .off-10-small {
					margin-left: 83.33333%;
				}

				.row > .col-11-small {
					width: 91.66667%;
				}

				.row > .off-11-small {
					margin-left: 91.66667%;
				}

				.row > .col-12-small {
					width: 100%;
				}

				.row > .off-12-small {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0px;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0px;
						}

				.row.gtr-25 {
					margin-top: -5px;
					margin-left: -5px;
				}

					.row.gtr-25 > * {
						padding: 5px 0 0 5px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -5px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 5px;
						}

				.row.gtr-50 {
					margin-top: -10px;
					margin-left: -10px;
				}

					.row.gtr-50 > * {
						padding: 10px 0 0 10px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -10px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 10px;
						}

				.row {
					margin-top: -20px;
					margin-left: -20px;
				}

					.row > * {
						padding: 20px 0 0 20px;
					}

					.row.gtr-uniform {
						margin-top: -20px;
					}

						.row.gtr-uniform > * {
							padding-top: 20px;
						}

				.row.gtr-150 {
					margin-top: -30px;
					margin-left: -30px;
				}

					.row.gtr-150 > * {
						padding: 30px 0 0 30px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -30px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 30px;
						}

				.row.gtr-200 {
					margin-top: -40px;
					margin-left: -40px;
				}

					.row.gtr-200 > * {
						padding: 40px 0 0 40px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -40px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 40px;
						}

		}

/* Reusable */

	article.blog-post {
		position: relative;
	}

		article.blog-post .comments {
			position: absolute;
			top: 0;
			right: 0;
			height: 32px;
			line-height: 24px;
			padding-left: 40px;
		}

		article.blog-post .blog-post-image {
			width: 100%;
		}

	ul.small-image-list li {
		overflow: hidden;
		margin-bottom: 1.5em;
	}

		ul.small-image-list li img {
			width: 78px;
		}

	ul.big-image-list li {
		overflow: hidden;
		margin-bottom: 2em;
	}

		ul.big-image-list li img {
			width: 178px;
		}

	ul.link-list li {
		border-top: solid 1px #fff;
		padding: 0.75em 0 0 0;
		margin: 0.75em 0 0 0;
	}

		ul.link-list li:first-child {
			padding-top: 0;
			margin-top: 0;
			border-top: 0;
		}

	.button{
		display: inline-block;
		padding: 15px 25px 15px 25px;
		background-color: #7f3035;
		border-radius: 10px;
		text-transform: lowercase;
		text-decoration: none;
		color: #fff;
		font-size: 1.2em;
		letter-spacing: -1px;
		border: solid 1px #fffff0;
	}
	#logo_input, #file_input, #images_input {
		display: inline-block;
		padding: 10px 15px 8px 8px;
		background-color: #7f3035;
		border-radius: 8px;
		text-transform: lowercase;
		text-decoration: none;
		color: #fff;
		font-size: 0.6em;
		letter-spacing: -1px;
		border: solid 1px #fffff0;
	}

		.button:hover, #logo_input:hover, #file_input #images_input:hover {
			background-image: -moz-linear-gradient(top, #7f3035, #660000);
			background-image: -webkit-linear-gradient(top, #7f3035, #660000);
			background-image: -ms-linear-gradient(top, #7f3035, #660000);
			background-image: linear-gradient(top, #7f3035, #660000);
			background-color: #660000;
			box-shadow: inset 0px 0px 0px 1px #fffff0;
		}

/* Header */

	#header-wrapper {
	}

	#header {
		display: flex;
		-moz-box-sizing: content-box;
		-webkit-box-sizing: content-box;
		-ms-box-sizing: content-box;
		box-sizing: content-box;
		position: relative;
		margin: 2.5% 0 2.5% 0;
		padding: 0 40px 0 40px;
		box-shadow: inset 0px 0px 0px 1px #7f3035, 0px 1px 4px 0px rgba(0, 0, 0, 0.1);
		background-color: #fffff0;
		height: 100px;
	}

		#header h1 {
			/*left: 40px;*/
			padding: 5px 20px 5px 0px;
			line-height: 86px;
			width: 33%;
			height: 90%;
		}

			#header h1 a {
				color: #7f3035;
				text-decoration: none;
			}
				#header h1 a img{
					padding-top: 15px;
					color: #7f3035;
					text-decoration: none;
					width: 90%;
				}

		#header nav {
			height: 98px;
			right: 40px;
			margin-top: 2px;
			margin-left: 0px;
			line-height: 84px;
			text-transform: lowercase;
			font-size: 0.9em;
			letter-spacing: -1px;
		}

			#header nav a {
				display: inline-block;
				text-decoration: none;
				color: #7f3035;
				padding: 0px 25px 0 25px;
				outline: 0;
				height: 75px;
				margin-top: 10px;
			}

				#header nav a.current-page-item {
					background-image: -moz-linear-gradient(top, #800000, #7f3035);
					background-image: -webkit-linear-gradient(top, #800000, #7f3035);
					background-image: -ms-linear-gradient(top, #800000, #7f3035);
					background-image: linear-gradient(top, #800000, #7f3035);
					background-color: #7f3035;
					box-shadow: inset 0px 1px 5px 1px rgba(0, 0, 0, 0.1), 0px 0px 5px 1px rgba(255, 255, 255, 0.1);
					color: #ffffff
				}

				#header nav a:hover {
					background-image: -moz-linear-gradient(top, #800000, #7f3035);
					background-image: -webkit-linear-gradient(top, #800000, #7f3035);
					background-image: -ms-linear-gradient(top, #800000, #7f3035);
					background-image: linear-gradient(top, #800000, #7f3035);
					background-color: #7f3035;
					box-shadow: inset 0px 1px 5px 1px rgba(0, 0, 0, 0.05), 0px 0px 5px 1px rgba(255, 255, 255, 0.05);
					color: #ffffff
				}

/* Banner */

	#banner-wrapper {
		background: #c8d2bc;
		padding: 2em 0;
	}

	#banner {
		position: relative;
		width: 100%;
		padding: 6em 0;
		border-radius: 10px;
		background-color: #7f3035;
		text-align: center;
		box-shadow: inset 0 0 0 20px #fff;
	}

		#banner h2 {
			font-size: 3.3em;
			color: #fff;
			text-align: center;
			letter-spacing: -2px;
			margin: 0;
		}

		#banner span {
			display: block;
			left: 0;
			margin: 0.5em 0 0 0;
			font-size: 1.6em;
			color: #fff;
			letter-spacing: -1px;
			opacity: 0.8;
			padding-left: 30px;
			padding-right: 30px;
		}

/* Quill TextArea Editor */
	.standalone-container {
		border: solid 1px #878e83;
		max-width: 100%;
	}
  
	#client-bubble {
		height: 125px;
	}

	#testsite-bubble {
		height: 125px;
	}

	
/* Main */

	#main {
		background: #fff;
		padding: 2em 0;
	}

/* Device Global Settings */

	#device-globals {
		background: #fff;
		padding: 1em 0;
		display: flex;
		justify-content: center;
	}

/* Footer */

	#footer-wrapper {
		text-align: center;
		padding: 4em 0;
	}

/* Copyright */

	#copyright {
		text-align: center;
		color: #A6A88F;
		border-top: solid 1px #ced0b7;
		padding: 3em 0 0 0;
		margin: 3em 0 0 0;
	}

		#copyright a {
			color: #A6A88F;
		}

/* Large */

	@media screen and (max-width: 1280px) {

		/* Reusable */

			ul.small-image-list img {
				width: 50px;
			}

			ul.big-image-list img {
				width: 75px;
			}

		/* Header */
			#header h1 {
				padding-top: 5px;
				width: 32%;
			}
	

		/* Banner */

			#banner {
				width: 100%;
				padding: 5em 0;
			}

				#banner h2 {
					font-size: 3em;
				}

				#banner span {
					font-size: 1.4em;
				}

		/* Footer */

			#footer-wrapper {
				padding: 4em 0;
			}

		/* Copyright */

			#copyright {
				padding: 3em 0 0 0;
				margin: 4em 0 0 0;
			}

	}

	@media screen and (max-width: 1280px) {
	/* Header */
		#header nav {
			margin-left: 20px;
		}
	}

	@media screen and (max-width: 1223px) {
	/* Header */
		#header h1 {
			padding-top: 11px;
			width: 30%;
		}
	}

	@media screen and (max-width: 1193px) {
	/* Header */
		#header h1 {
			padding-top: 15px;
			width: 28%;
		}
	}

	@media screen and (max-width: 1164px) {
	/* Header */
		#header h1 {
			padding-top: 20px;
			width: 26%;
		}
	}

	@media screen and (max-width: 1136px) {
	/* Header */
		#header h1 {
			padding-top: 23px;
			width: 24%;
		}
	}

	@media screen and (max-width: 1110px) {
	/* Header */
		#header h1 {
			padding-top: 24px;
			width: 22%;
		}
	}

	@media screen and (max-width: 1086px) {
	/* Header */
		#header h1 {
			padding-top: 22px;
			width: 20%;
		}
	}

	@media screen and (max-width: 1062px) {
	/* Header */
		#header h1 {
			padding-top: 20px;
			width: 18%;
		}
	}

	@media screen and (max-width: 1040px) {
	/* Header */
		#header h1 {
			padding-top: 18px;
			width: 16%;
		}
	}

	@media screen and (max-width: 1019px) {
	/* Header */
		#header h1 {
			padding-top: 15px;
			margin-left: -30px;
			width: 14%;
		}
		#header h1 a img{
			padding-top: 15px;
			padding-left: 15px;
			width: 100%;
		}
	}


/* Small */

	#navPanel, #titleBar {
		display: none;
	}

	@media screen and (max-width: 998px) {

		/* Basic */

			html, body {
				/* overflow-x: hidden; */
			}

		/* Page Wrapper */

			#page-wrapper {
				padding-top: 44px;
			}

		/* Header */

			#header-wrapper {
				background-image: -moz-linear-gradient(top, var(--color-surface-muted), var(--color-surface));
				background-image: -webkit-linear-gradient(top, var(--color-surface-muted), var(--color-surface));
				background-image: -ms-linear-gradient(top, var(--color-surface-muted), var(--color-surface));
				background-image: linear-gradient(to bottom, var(--color-surface-muted), var(--color-surface));
				background-color: var(--color-surface-muted);
			}

			#header {
				display: none;
			}

			#banner {
				padding: 6em 0;
			}

				#banner h2 {
					font-size: 2.5em;
				}

		/* Nav */

			#page-wrapper {
				-moz-backface-visibility: hidden;
				-webkit-backface-visibility: hidden;
				-ms-backface-visibility: hidden;
				backface-visibility: hidden;
				-moz-transition: -moz-transform 0.5s ease;
				-webkit-transition: -webkit-transform 0.5s ease;
				-ms-transition: -ms-transform 0.5s ease;
				transition: transform 2s ease;
				padding-bottom: 1px;

			}

			#titleBar {
				-moz-backface-visibility: hidden;
				-webkit-backface-visibility: hidden;
				-ms-backface-visibility: hidden;
				backface-visibility: hidden;
				-moz-transition: -moz-transform 0.5s ease;
				-webkit-transition: -webkit-transform 0.5s ease;
				-ms-transition: -ms-transform 0.5s ease;
				transition: transform 0.5s ease;
				display: block;
				height: 44px;
				left: 0;
				position: fixed;
				top: 0;
				width: 100%;
				z-index: 10001;
				text-align: center;
				color: #7f3035;
				font-size: 1.25em;
				background-color: #7f3035;
			}

				#titleBar .title {
					line-height: 44px;
				}

				#titleBar .toggle {
					position: absolute;
					top: 0;
					left: 0;
					width: 80px;
					height: 60px;
				}

					#titleBar .toggle:after {
						content: '';
						position: absolute;
						left: 4px;
						top: 4px;
						color: #7f3035;
						text-align: center;
						line-height: 31px;
						font-size: 0.8em;
						width: 50px;
						height: 35px;
						border-radius: 5px;
						box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.25), inset 0px 1px 2px 0px rgba(0, 0, 0, 0.5), inset 0px 6px 13px 0px rgba(255, 255, 255, 0.2), 0px 2px 2px 0px rgba(255, 255, 255, 0.1);
					}

					#titleBar .toggle:before {
						content: '';
						position: absolute;
						width: 20px;
						height: 30px;
						background: url("images/mobileUI-site-nav-opener-bg.svg");
						top: 16px;
						left: 19px;
					}

					#titleBar .toggle:active:after {
						background: rgba(0, 0, 0, 0.2);
					}

			#navPanel {
				-moz-backface-visibility: hidden;
				-webkit-backface-visibility: hidden;
				-ms-backface-visibility: hidden;
				backface-visibility: hidden;
				-moz-transform: translateX(-275px);
				-webkit-transform: translateX(-275px);
				-ms-transform: translateX(-275px);
				transform: translateX(-275px);
				-moz-transition: -moz-transform 0.5s ease;
				-webkit-transition: -webkit-transform 0.5s ease;
				-ms-transition: -ms-transform 0.5s ease;
				transition: transform 0.5s ease;
				display: block;
				height: 100%;
				left: 0;
				overflow-y: auto;
				position: fixed;
				top: 0;
				width: 275px;
				z-index: 10002;
				background: #7f3035;
				color: #fff;
			}

				#navPanel .link {
					display: block;
					color: #fff;
					height: 55px;
					line-height: 55px;
					padding: 0 15px 0 15px;
					text-decoration: none;
					font-size: 1.5rem;
					text-transform: lowercase;
				}
				
				#navPanel .link:after,
				#navPanel .link:before {
					transition: all .5s;
				}
				
				#navPanel .link:hover {
					color: #aaa;
				}
					
					/* stroke */
					#navPanel .link {
						position: relative;
					}
					
					#navPanel .link:after {
						position: absolute;
						bottom: 0;
						left: 0;
						right: 0;
						margin: auto;
						width: 0%;
						content: '.';
						color: transparent;
						background: #aaa;
						height: 2px;
					}

					#navPanel .link:hover:after {
						width: 50%;
					}
					
			body.navPanel-visible #page-wrapper {
				-moz-transform: translateX(275px);
				-webkit-transform: translateX(275px);
				-ms-transform: translateX(275px);
				transform: translateX(275px);
			}

			body.navPanel-visible #titleBar {
				-moz-transform: translateX(275px);
				-webkit-transform: translateX(275px);
				-ms-transform: translateX(275px);
				transform: translateX(275px);
			}

			body.navPanel-visible #navPanel {
				-moz-transform: translateX(0);
				-webkit-transform: translateX(0);
				-ms-transform: translateX(0);
				transform: translateX(0);
			}

	}

/* Small */

	@media screen and (max-width: 736px) {

		/* Basic */

			body {
				font-size: 13pt;
			}

			h2 {
				font-size: 1.4em;
			}

			h3 {
				font-size: 1.2em;
			}

			h4 {
				font-size: 1em;
			}

		/* Reusable */

			ul.small-image-list li img {
				width: 100px;
			}

			ul.big-image-list li img {
				width: 100px;
			}

			ul.link-list {
				margin: 0 0 1em 0;
			}

			article.blog-post .comments {
				display: block;
				position: relative;
				top: -0.5em;
				margin: 0 0 0.5em 0;
			}

			.button {
				font-size: 1em;
			}

			.blog-post-image {
				width: 100%;
			}

		/* Banner */

			#banner-wrapper {
				background: #c8d2bc;
				padding: 20px 0;
			}

			#banner {
				box-shadow: inset 0 0 0 10px #fff;
				padding: 4em 1em;
			}

				#banner h2 {
					font-size: 2em;
					letter-spacing: -2px;
					line-height: 1.25em;
				}

				#banner span {
					font-size: 1.25em;
					letter-spacing: -1px;
					line-height: 1.25em;
				}

		/* Main */

			#main {
				padding: 40px 0;
			}

		/* Footer */

			#footer-wrapper {
				padding: 40px 0;
			}

		/* Copyright */

			#copyright {
				text-align: center;
				color: #A6A88F;
				padding: 30px 0 0 0;
				font-size: 0.8em;
				line-height: 1.5em;
			}

				#copyright a {
					color: #A6A88F;
				}

	}

.user-info {
	text-align: right;
	margin-left: auto;
	font-size: 0.8em;
}

#header .user-info {
	text-align: left;
	margin-top: 3.2rem;
	margin-right: 0.8rem;
}

#header .user-info-meta {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
}

#header .user-info .logout-button {
	display: block;
	margin-top: 0.15rem;
}

#user-name,
#user-company {
	white-space: nowrap;
}


/* Shared theme consumption for global surfaces, typography, and controls. */
html, body {
	background-color: var(--color-page-bg);
	color: var(--color-text-secondary);
}

h1, h2, h3, h4, strong {
	color: var(--color-text-primary);
}

a {
	color: var(--color-link);
}

a:hover,
a:focus-visible {
	color: var(--color-link-hover);
}

#page-wrapper,
#main,
.box,
#header-wrapper,
#header,
#footer,
.modal-content,
.login,
.register,
.forgot,
.reset {
	background-color: var(--color-surface);
	color: var(--color-text-secondary);
}

table,
tr,
th,
td {
	border-color: var(--color-border);
}

thead,
button,
.button,
input[type='submit'],
input[type='button'] {
	background-color: var(--color-accent);
	color: var(--color-text-inverse);
	border-color: var(--color-surface-muted);
}

tr:nth-child(even) {
	background-color: color-mix(in srgb, var(--color-surface-muted) 70%, transparent);
}

input,
select,
textarea {
	background-color: var(--color-control-bg);
	color: var(--color-control-text);
	border: 1px solid var(--color-control-border);
}

::placeholder {
	color: var(--color-text-secondary);
	opacity: 0.75;
}

#footer,
#copyright {
	border-top-color: var(--color-divider);
	color: var(--color-text-secondary);
}

/* The shared look for the chrome's menu buttons. "Sign in" and "Dark mode" are
   meant to read as one control set, so the visual is defined once here and both
   wear it; menu-actions.js hands the class name to the two scripts that mount
   them, so neither can spell it differently. */
.menu-action-button {
	display: block;
	padding: 0.45rem 0.8rem;
	border-radius: 0.4rem;
	border: 1px solid var(--color-control-border);
	background-color: var(--color-surface-muted);
	color: var(--color-text-primary);
	font-size: 0.85rem;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 2px 8px var(--color-shadow);
}

/* The rule above sets display, and an author rule outranks the user agent's
   [hidden] { display: none }. Without this the sign-in link would stay on
   screen for signed-in visitors even though the script marked it hidden. */
.menu-action-button[hidden] {
	display: none;
}

.menu-action-button:focus-visible {
	outline: 3px solid var(--color-link);
	outline-offset: 2px;
}

.theme-toggle-button.is-active {
	background-color: var(--color-accent);
	color: var(--color-text-inverse);
}

.menu-sign-in-button:hover,
.menu-sign-in-button:focus-visible {
	background-color: var(--color-accent);
	color: var(--color-text-inverse);
}

/* Both stacks are flex columns, so Sign in sits above Dark mode because
   sign-in-button.js mounts before theme-toggle.js -- DOM order, which keeps the
   keyboard focus order matching what the visitor sees. A flex `order` override
   here would put those two out of step, so the script order is the rule and
   tests/menu-sign-in-button.test.js pins it. */

/* The horizontal (desktop) stack, anchored to the top right of the header. */
#header .header-actions {
	position: absolute;
	right: 5rem;
	top: 0.7rem;
	z-index: 30;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.45rem;
}

#header {
	position: relative;
}

html[data-theme='light'] #navPanel,
html:not([data-theme]) #navPanel {
	background-color: #7f3035;
	color: #fff;
}

#modal,
.modal {
	background-color: var(--color-overlay);
}

@media screen and (max-width: 736px) {
	#header .header-actions {
		top: 0.55rem;
		right: 0.55rem;
	}

	.menu-action-button {
		font-size: 0.75rem;
	}
}


/* Shared banner styles consume theme tokens for light/dark readability. */
.status-banner {
	margin: 1rem auto;
	max-width: 1100px;
	padding: 0.75rem 1rem;
	border-radius: 0.35rem;
	color: var(--color-text-primary);
}

.status-banner-warning {
	border: 1px solid var(--color-warning-border);
	background: var(--color-warning-bg);
	color: var(--color-warning-text);
}

/* Input warnings under the device grid (#222): shown to the technician on this
   page only; nothing stores them and the report never prints them. */
.device-warnings {
	display: grid;
	gap: 0.5rem;
	margin: 0.75rem 0 0;
	padding: 0;
	list-style: none;
}

.device-warnings[hidden] {
	display: none;
}

.device-warnings li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: 0.65rem;
	margin: 0;
	padding: 0.6rem 0.75rem;
	background: var(--color-warning-bg);
	border-left: 0.25rem solid var(--color-warning-border);
	border-radius: 0.25rem;
	color: var(--color-warning-text);
	line-height: 1.4;
}

.device-warnings li > span:last-child {
	display: grid;
	gap: 0.15rem;
	min-width: 0;
}

.device-warnings__badge {
	display: inline-block;
	min-width: 4.25rem;
	padding: 0.2rem 0.45rem;
	border: 1px solid currentColor;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	text-align: center;
}

.status-banner-error {
	border: 1px solid var(--color-error-border);
	background: var(--color-error-bg);
	color: var(--color-error-text);
}

.status-banner a {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.status-banner strong {
	color: inherit;
}

.status-banner-link {
	margin-left: 0.5rem;
}

/* Keep device-global containers aligned with standard dark surfaces. */
html[data-theme='dark'] #device-globals {
	background: #000;
	background-color: #000;
	background: var(--color-surface);
	background-color: var(--color-surface);
	border-color: var(--color-border);
}

#navPanel .user-info {
	text-align: center;
	margin: 1.0rem 0 0;
}

#navPanel .nav-panel-actions {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1rem 15px 0;
}

#navPanel .nav-user-meta,
#navPanel .nav-logout-button {
	display: block;
	text-align: center;
}

/* The vertical (mobile) stack. .nav-panel-actions is already a flex column, so
   the buttons only need centring; which one is on top is decided by the script
   order noted above, not here. */
#navPanel .nav-panel-actions .menu-action-button {
	margin: 0 auto;
}
.persistence-blocking-alert {
  position: relative;
  z-index: 1000;
  margin: 0;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid #8a4b00;
  background: #fff4d6;
  color: #3d2900;
  text-align: center;
  font-weight: 600;
}

.persistence-blocking-alert__retry {
  margin-left: 0.75rem;
  padding: 0.35rem 0.8rem;
  border: 1px solid currentColor;
  border-radius: 0.25rem;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
