/*<meta />*/

@namespace MadCap url(http://www.madcapsoftware.com/Schemas/MadCap.xsd);

/* TrueContext docs homepage: Field Intelligence redesign (UA-2025).
   Used only by Home.htm. Classes are prefixed hfi- so they
   can't collide with the skin or the global stylesheet. */

/* ===== Brand tokens (same values as TCBrandingStylesheet.css) ===== */

:root
{
	--Black: #000000;
	--White: #ffffff;
	--Light: #e6f5fe;
	--Brand1: #002446;
	--Brand2: #007377;
	--Dark: #2f3c3b;
	--Medium: #d4f203;
	--Link1: #005296;
	--Link2: #077ec3;
	--Line: #d5dedd;
	--Wash: #f3f6f6;
	--OnDark: #cfe3f5;
}

/* ===== Carried over from the current homepage stylesheet ===== */

.NoGlossaryTerms
{
	mc-disable-glossary-terms: true;
}

body
{
	font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
	font-size: 1em;
	line-height: 1.5;
	color: #2f3c3b;
	background: #ffffff;
	margin: 0;
	mc-disable-glossary-terms: true;
	/* No glossary terms anywhere on the home page */
}

html.home-topic .body-container	/* Overrides padding set in the skin */
{
	padding: 0;
}

html.home-topic .main-section > .outer-row	/* Overrides padding set in the skin when in tablet/mobile */
{
	max-width: 100%;
	padding: 0;
}

.nav-search	/* The hero has its own search, so hide the one in the top bar */
{
	display: none;
}

a
{
	color: #005296;
	text-decoration: none;
}

ul.hfi-panel-links a:visited
{
	color: #002446;
}

a:hover
{
	color: #002446;
	text-decoration: underline;
}

p.hfi-suggested a:hover
{
	color: #ffffff;
}

ul.hfi-panel-links a:hover
{
	color: #007377;
	text-decoration: none;
}

ul.hfi-panel-links a:hover::after
{
	transform: translateX(0.3em);
}

.hfi-reduce-motion ul.hfi-panel-links a:hover::after
{
	transform: none;
}

a:focus-visible,
button:focus-visible
{
	outline: 3px solid #d4f203;
	outline-offset: 2px;
}

/* Lime is invisible on white, so use navy for focus in the white sections. */

.hfi-flywheel a:focus-visible,
.hfi-flywheel button:focus-visible,
.hfi-tiles a:focus-visible
{
	outline-color: #002446;
}

/* ===== Layout ===== */

.hfi-container
{
	max-width: 74em;
	margin: 0 auto;
	padding: 0 1.5em;
	box-sizing: border-box;
}

/* ===== Hero ===== */

.hfi-hero
{
	background: #002446;
	color: #ffffff;
	position: relative;
	overflow: hidden;
}

/* Faint TrueContext orb behind the hero text. Adjust opacity to make it
   more or less visible. */

.hfi-hero-orb
{
	position: absolute;
	right: -6em;
	top: 50%;
	transform: translateY(-50%);
	width: 34em;
	height: 34em;
	background: url('../Images/TrueContext/TrueContext_orb.svg') no-repeat center center;
	background-size: contain;
	opacity: 0.07;
	pointer-events: none;
}

@media (max-width: 768px)
{
	.hfi-hero-orb
	{
		width: 20em;
		height: 20em;
		right: -5em;
		opacity: 0.05;
	}
}

.hfi-hero-body
{
	position: relative;
	padding-top: 5em;
	padding-bottom: 4em;
}

h1.hfi-hero-title
{
	margin: 0 0 0.6em;
	padding: 0;
	max-width: 12em;
	font-size: 4.5em;
	line-height: 1.02;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #ffffff;
}

/* Search bar proxy, restyled as a rounded field with a round lime button.
   Flare generates this markup from the Home-Search-Bar skin:
   div.search-bar.search-bar-container._Skins_Home_Search_Bar.mc-component >
   input.search-field + .search-filter-wrapper + .search-submit-wrapper > .search-submit
   The skin's own rules use the same class chain, so these selectors repeat it
   (plus .hfi-search) to win. Verified against a HomePageTest build. */

.hfi-search
{
	max-width: 40em;
}

.hfi-search MadCap|searchBarProxy.search-bar
{
	padding: 0;
	margin: 0;
}

.hfi-search .search-bar.search-bar-container._Skins_Home_Search_Bar.mc-component
{
	position: relative;
	width: 100%;
	height: 3.5em;
	margin: 0;
	border-radius: 999px;
	background: #ffffff;
	box-shadow: 0 0.5em 1.5em rgba(0, 0, 0, 0.25);
}

.hfi-search .search-bar.search-bar-container._Skins_Home_Search_Bar.mc-component .search-field
{
	height: 100%;
	width: 100%;
	box-sizing: border-box;
	border: none;
	border-radius: 999px;
	padding: 0 4.25em 0 1.4em;
	font-size: 1.1em;
	color: #2f3c3b;
	background-color: transparent;
}

.hfi-search .search-bar.search-bar-container._Skins_Home_Search_Bar.mc-component .search-field::placeholder
{
	color: #5f6b6a;
}

.hfi-search .search-bar.search-bar-container._Skins_Home_Search_Bar.mc-component .search-submit-wrapper
{
	top: 0.4em;
	right: 0.4em;
}

.hfi-search .search-bar.search-bar-container._Skins_Home_Search_Bar.mc-component .search-submit,
.hfi-search .search-bar.search-bar-container._Skins_Home_Search_Bar.mc-component .search-submit:hover
{
	width: 2.7em;
	height: 2.7em;
	border: none;
	border-radius: 50%;
	background-color: #d4f203;
	/* keeps the skin's magnifier icon on top */
}

.hfi-search .search-bar.search-bar-container._Skins_Home_Search_Bar.mc-component .search-submit:hover
{
	filter: brightness(0.95);
}

/* Suggested searches */

p.hfi-suggested
{
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em 1.25em;
	margin: 1em 0 0;
}

.hfi-suggested-label
{
	color: #cfe3f5;
	opacity: 0.8;
	padding: 0.25em 0;
}

p.hfi-suggested a
{
	color: #cfe3f5;
	text-decoration: underline;
	text-underline-offset: 0.25em;
	text-decoration-color: rgba(207, 227, 245, 0.4);
	padding: 0.25em 0;
}

/* Reference buttons */

p.hfi-references
{
	display: flex;
	flex-wrap: wrap;
	gap: 0.75em;
	margin: 2em 0 0;
}

a.hfi-ref
{
	display: inline-flex;
	align-items: center;
	gap: 0.6em;
	min-height: 3em;
	padding: 0 1.4em;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	color: #ffffff;
	font-size: 1.05em;
	text-decoration: none;
	box-sizing: border-box;
}

a.hfi-ref:hover
{
	color: #ffffff;
	background: rgba(255, 255, 255, 0.08);
	text-decoration: none;
}

a.hfi-ref-primary
{
	border: 2px solid #d4f203;
	font-weight: 600;
}

.hfi-ref-icon
{
	color: #d4f203;
	font-weight: 700;
	font-family: Consolas, 'Courier New', monospace;
}

/* Latest additions band */

.hfi-latest
{
	position: relative;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	background: rgba(0, 0, 0, 0.18);
}

.hfi-latest-grid
{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(14em, 1fr));
	gap: 1em;
	padding-top: 1.75em;
	padding-bottom: 1.75em;
	align-items: stretch;
}

.hfi-latest-head
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.25em;
}

p.hfi-latest-title
{
	display: flex;
	align-items: center;
	gap: 0.5em;
	margin: 0;
	font-size: 1.25em;
	font-weight: 700;
	color: #ffffff;
}

.hfi-dot
{
	width: 0.6em;
	height: 0.6em;
	border-radius: 50%;
	background: #d4f203;
	flex-shrink: 0;
}

p.hfi-latest-all
{
	margin: 0;
}

p.hfi-latest-all a
{
	color: #cfe3f5;
	font-size: 0.95em;
}

a.hfi-latest-card
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75em;
	min-height: 4.5em;
	padding: 1.1em 1.25em;
	box-sizing: border-box;
	border: 1px solid rgba(212, 242, 3, 0.55);
	border-radius: 0.9em;
	background: rgba(255, 255, 255, 0.06);
	color: #ffffff;
	font-size: 1.1em;
	font-weight: 600;
	text-decoration: none;
	transition: border-color 0.15s, background 0.15s;
}

a.hfi-latest-card:hover
{
	border-color: #d4f203;
	background: rgba(212, 242, 3, 0.1);
	color: #ffffff;
	text-decoration: none;
}

.hfi-arrow
{
	color: #d4f203;
	flex-shrink: 0;
}

/* ===== Flywheel ===== */

.hfi-flywheel
{
	background: #ffffff;
}

.hfi-flywheel-grid
{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(20em, 1fr));
	gap: 4em;
	align-items: center;
	padding-top: 6em;
	padding-bottom: 6em;
}

/* Wheel column */

.hfi-wheel-col
{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.25em;
	width: 100%;
}

/* The wheel: a ring with three stage buttons placed on it */

.hfi-wheel
{
	position: relative;
	width: 100%;
	max-width: 28em;
	aspect-ratio: 1 / 1;
	margin: 0 auto;
}

.hfi-wheel-ring
{
	position: absolute;
	inset: 9.1%;
	border: 2px solid #d5dedd;
	border-radius: 50%;
}

/* Arrowheads on the ring, pointing clockwise */

.hfi-wheel-arrow
{
	position: absolute;
	width: 0;
	height: 0;
	border-top: 0.45em solid transparent;
	border-bottom: 0.45em solid transparent;
	border-left: 0.9em solid #007377;
	transform: translate(-50%, -50%) rotate(var(--hfi-rot));
}

.hfi-wheel-arrow-1
{
	left: 85.4%;
	top: 29.5%;
	--hfi-rot: 60deg;
}

.hfi-wheel-arrow-2
{
	left: 50%;
	top: 90.9%;
	--hfi-rot: 180deg;
}

.hfi-wheel-arrow-3
{
	left: 14.6%;
	top: 29.5%;
	--hfi-rot: -60deg;
}

p.hfi-wheel-center
{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 46%;
	margin: 0;
	text-align: center;
	font-size: 1.1em;
	line-height: 1.35;
	font-weight: 600;
	color: #002446;
}

button.hfi-node
{
	position: absolute;
	transform: translate(-50%, -50%);
	width: 7.25em;
	height: 7.25em;
	border-radius: 50%;
	border: 2px solid #002446;
	background: #ffffff;
	color: #002446;
	font: inherit;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.1em;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}

button.hfi-node:hover
{
	background: #e6f5fe;
}

button.hfi-node.hfi-active
{
	background: #002446;
	color: #d4f203;
}

.hfi-node-1
{
	left: 50%;
	top: 9.1%;
}

.hfi-node-2
{
	left: 85.5%;
	top: 70.5%;
}

.hfi-node-3
{
	left: 14.5%;
	top: 70.5%;
}

.hfi-node-num
{
	font-size: 0.8em;
	font-weight: 600;
	opacity: 0.8;
}

.hfi-node-name
{
	font-size: 1.1em;
	font-weight: 700;
}

/* Stage panels. Without the script, all three show stacked. With it
   (hfi-js on the flywheel), only the active panel shows. */

.hfi-panel + .hfi-panel
{
	margin-top: 3em;
}

.hfi-js .hfi-panel
{
	display: none;
}

.hfi-js .hfi-panel.hfi-active
{
	display: block;
	margin-top: 0;
	animation: hfi-fade-in 0.4s ease-out;
}

@keyframes hfi-fade-in
{
	from { opacity: 0; transform: translateY(0.4em); }
	to { opacity: 1; transform: none; }
} 

/* Reduced motion. Flare's stylesheet processor can't handle a media query
   on the reduced-motion preference: it empties the block and drops every rule
   after it. So HomeFlywheel.js detects the setting and adds the
   hfi-reduce-motion class to the html element instead. */

.hfi-reduce-motion .hfi-js .hfi-panel.hfi-active
{
	animation: none;
}

h2.hfi-panel-title
{
	margin: 0 0 0.5em;
	padding: 0;
	font-size: 2.75em;
	line-height: 1.05;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #002446;
}

p.hfi-panel-line
{
	margin: 0 0 1.5em;
	font-size: 1.25em;
	line-height: 1.45;
}

ul.hfi-panel-links
{
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid #e3e9e8;
}

ul.hfi-panel-links li
{
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #e3e9e8;
}

ul.hfi-panel-links a
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1em 0;
	font-size: 1.1em;
	color: #002446;
}

/* The arrow is an image, not a text character: browsers force visited links'
   pseudo-elements to the link's own color, which turned text arrows dark. */

ul.hfi-panel-links a::after
{
	content: '';
	flex-shrink: 0;
	width: 1.1em;
	height: 1.1em;
	margin-left: 1em;
	background: url('../Images/TrueContext/hfi-arrow-teal.svg') no-repeat center center;
	background-size: contain;
	transition: transform 0.15s ease-out;
}

/* Hover: no underline on these full-width rows; the text turns teal and the
   arrow nudges right instead. */

.hfi-reduce-motion ul.hfi-panel-links a::after
{
	transition: none;
}

/* ===== Tiles ===== */

.hfi-tiles
{
	background: #f3f6f6;
}

.hfi-tiles-grid
{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(14em, 1fr));
	gap: 1em;
	padding-top: 4em;
	padding-bottom: 4em;
}

a.hfi-tile
{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 1em;
	min-height: 7.5em;
	padding: 1.75em;
	box-sizing: border-box;
	border-radius: 1em;
	background: #ffffff;
	color: #002446;
	text-decoration: none;
}

a.hfi-tile:hover
{
	text-decoration: none;
	box-shadow: 0 0.25em 1em rgba(0, 36, 70, 0.12);
}

a.hfi-tile-primary
{
	background: #007377;
	color: #ffffff;
}

a.hfi-tile-primary:hover
{
	color: #ffffff;
}

.hfi-tile-title
{
	font-size: 1.4em;
	font-weight: 700;
}

.hfi-tile-caption
{
	font-size: 1em;
	color: #2f3c3b;
}

a.hfi-tile-primary .hfi-tile-caption
{
	color: #e6f5fe;
}

/* ===== Footer links ===== */

.hfi-footer
{
	background: #002446;
}

p.hfi-footer-links
{
	display: flex;
	flex-wrap: wrap;
	gap: 1em 2em;
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 2em;
	padding-bottom: 2em;
}

p.hfi-footer-links a
{
	color: #ffffff;
}

/* ===== Responsive ===== */

@media (max-width: 768px)
{
	.hfi-hero-body
	{
		padding-top: 3em;
		padding-bottom: 3em;
	}

	h1.hfi-hero-title
	{
		font-size: 2.6em;
	}

	.hfi-flywheel-grid
	{
		grid-template-columns: 1fr;
		/* one column, so narrow phones don't scroll sideways */
		gap: 2.5em;
		padding-top: 3.5em;
		padding-bottom: 3.5em;
	}

	button.hfi-node
	{
		width: 5.75em;
		height: 5.75em;
	}

	h2.hfi-panel-title
	{
		font-size: 2em;
	}
}

/* ===== Logo sizing in the skin's top bar =====
   Carried over unchanged from the current homepage stylesheet. Without it
   the logo renders at the wrong size on this page. Keep at the end. */

@media only screen
{
	.title-bar-layout a.logo
	{
		display: block;
		background-color: transparent;
		background-image: url('../Images/TrueContext/TrueContext_horizontal_dark.svg');
		background-position: left center;
		background-repeat: no-repeat;
		height: 48px;
		background-size: auto 56px;
		width: 200px;
	}
}

@media (min-width: 480px)
{
	.title-bar-layout a.logo
	{
		height: 56px;
		background-size: auto 64px;
		width: 240px;
	}
}

@media (min-width: 768px)
{
	.title-bar-layout a.logo
	{
		height: 64px;
		background-size: auto 72px;
		width: 280px;
	}
}

@media (min-width: 1024px)
{
	.title-bar-layout a.logo
	{
		height: 72px;
		background-size: auto 80px;
		width: 320px;
	}
}

@media (min-width: 1600px)
{
	.title-bar-layout a.logo
	{
		height: 84px;
		background-size: auto 92px;
		width: 360px;
	}
}

