/* tlc-root-font-enforcement */
:root {
  --tlc-root-font-family: 'Inter', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
}

html,
body,
button,
input,
select,
textarea,
option {
  font-family: var(--font-family, var(--tlc-root-font-family)) !important;
}

/* Use Rich Black as the primary accent color for text and UI elements */
:root { --accent:#010203; --muted:#010203; }
html,body{height:100%;margin:0;font-family: 'Helvetica Neue', Arial, sans-serif;color:var(--accent);background:#ffffff}
body{display:flex;flex-direction:column;align-items:stretch;min-height:100vh}
.page-content{flex:1;display:flex;flex-direction:column;align-items:stretch}
.top-nav{display:flex;align-items:center;justify-content:space-between;padding:28px 48px;position:relative}
.top-left,.top-right{display:flex;gap:28px;align-items:center}
.top-center{position:absolute;left:50%;transform:translateX(-50%);font-size:22px;letter-spacing:2px}
a.nav-link{color:var(--accent);text-decoration:none;font-size:18px}
.landing-title{margin-top:112px;margin-bottom:0;text-align:center;font-size:36px;font-weight:500}
.search-wrap{display:flex;justify-content:center;align-items:center;margin-top:22px;margin-bottom:16px}
.search-box{
	width:74%;
	max-width:980px;
	height:68px;
	border:1px solid #b4becb;
	padding:0 24px 0 56px;
	font-size:19px;
	border-radius:999px;
	box-sizing:border-box;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2374869f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") 24px center/18px 18px no-repeat,
		linear-gradient(180deg,#ffffff 0%,#f3f6fa 100%);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,0.96),
		inset 0 -1px 0 rgba(120,132,147,0.20),
		0 10px 26px rgba(8,14,26,0.10);
	transition:border-color 180ms ease, box-shadow 220ms ease, transform 180ms ease;
}
.search-box:focus{
	outline:none;
	border-color:#7289a5;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,0.95),
		inset 0 -1px 0 rgba(102,121,143,0.28),
		0 12px 30px rgba(8,14,26,0.14),
		0 0 0 3px rgba(114,137,165,0.20);
	transform:translateY(-1px);
}
.landing-page .search-wrap { position: relative; }
.landing-page .search-fake-caret { --caret-w: 1px; --caret-h: 42%; position: absolute; left: 0; top: 0; transform: translateY(0); width: var(--caret-w); height: var(--caret-h); background: var(--accent); animation: landing-caret-blink 0.9s step-start infinite; pointer-events: none; z-index: 10; border-radius: 1px; }
@keyframes landing-caret-blink { 50% { opacity: 0 } 100% { opacity: 1 } }
.mid-links{display:flex;justify-content:center;gap:56px;margin-top:14px;color:var(--accent);font-size:20px}
.mid-links a{color:var(--accent);text-decoration:none}
.landing-page .results{margin:6px auto 4px auto}
@media (max-width:800px){
	.landing-title{margin-top:92px}
	.search-wrap{margin-top:18px}
	.search-box{
		width:90%;
		height:58px;
		padding:0 16px 0 46px;
		font-size:18px;
		border-radius:999px;
	}
}
.landing-page footer.page-footer{
	margin-top:auto;
	padding:4px 0;
	display:flex;
	align-items:center;
	font-size:14px;
	color:#010203;
}

.landing-page .footer-container{
	margin-top: 10px;
	width:100%;
	max-width:100%;
	margin:0;
	padding:0;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
}

/* Prevent footer from collapsing on medium-wide viewports by enforcing a minimum width
   thereby preventing the center copy from overlapping left/right links on semi-full screens */
@media (min-width:1000px){
	.landing-page .footer-container,
	.landing-page:not(.markdown-page) .footer-container{
		min-width:800px;
		padding:0 24px;
	}
	.landing-page .footer-left, .landing-page .footer-right{ flex:1 1 0; }
	.landing-page .footer-center{ flex: 0 1 auto; }
}

/* evenly distribute the three footer columns to occupy the full width */
.landing-page .footer-left{
	display:flex;
	align-items:center;
	gap:24px;
	min-width:0;
	flex:1 1 0;
	margin-bottom: 12px;
	padding-left: 10px;
	margin-left: 10px;
	padding-right: 20px;
	margin-right: 20px;
	font-size: 14px;
}
.landing-page .footer-right{
	display:flex;
	align-items:center;
	gap:18px;
	min-width:0;
	flex:1 1 0;
	margin-bottom: 12px;
	padding-right: 10px;
	margin-right: 10px;
	padding-left: 10px;
	margin-left: 10px;
	font-size: 14px;
}

.landing-page .footer-center{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	min-width:0;
	flex:1 1 0;
	margin-bottom: 20px;
	font-size: 14px;
}

.landing-page #site-footer{margin-top:auto;width:100%}
.landing-page .footer-left{ justify-content:flex-start; padding-right: 12px }
.landing-page .footer-center{ justify-content:center; text-align:center; padding-right: 20px; padding-left: 20px}
.landing-page .footer-right{ justify-content:flex-end; padding-right: 12px }

/* center identifier styling */
.landing-page .footer-center .footer-identifier{
	font-weight:400;
	color:#010203;
	white-space:nowrap;
}
.landing-page .footer-center .footer-copy{
	color:#010203;
	white-space:nowrap;
}

/* Links: no underline, black color, show full words (allow wrapping if needed) */
.landing-page .footer-left.footer-links a,
.landing-page .footer-right.footer-links a,
.landing-page .footer-center a{
	display:inline-block;
	white-space:normal;
	overflow:visible;
	text-overflow:clip;
	color:#010203 !important;
	text-decoration:none !important;
	padding:4px 8px;
}

/* Ensure visited links keep the same color and no underline */
.landing-page .footer-left.footer-links a:visited,
.landing-page .footer-right.footer-links a:visited,
.landing-page .footer-center a:visited{
	color:#010203 !important;
	text-decoration:none !important;
}

.footer-links{display:flex;gap:16px;align-items:center}

/* Mobile: stacked footer layout for small screens */
@media (max-width:1000px){
	footer.page-footer, .landing-page footer {
		display: block !important;
		padding: 10px 12px !important;
		text-align: center !important;
		font-size: 13px !important;
		flex-wrap: nowrap !important;
	}

	/* Keep footer columns inline on narrow screens; allow wrapping to a single row if needed */
	.landing-page .footer-container{
		flex-direction:row !important;
		align-items:center !important;
		justify-content:flex-start !important;
		gap:12px !important;
		padding:8px 12px !important;
		flex-wrap:nowrap !important;
		overflow-x:auto !important;
		-webkit-overflow-scrolling:touch !important;
	}

	.landing-page .footer-left,
	.landing-page .footer-center,
	.landing-page .footer-right{
		width:auto !important;
		display:flex !important;
		justify-content:center !important;
		gap:8px !important;
		margin:6px 12px !important;
		flex:0 0 auto !important;
	}

	.landing-page .footer-left.footer-links a,
	.landing-page .footer-right.footer-links a,
	.landing-page .footer-center a{
		display:inline-block !important;
		padding:6px 10px !important;
		font-size:13px !important;
		white-space:nowrap !important;
		flex-shrink:0 !important;
	}
}

/* Search results */
.results{width:80%;max-width:1100px;margin:16px auto;color:var(--accent);box-sizing:border-box}
.result-item{padding:12px 16px;font-size:16px}
.result-item .title{font-weight:600;text-decoration:none !important}
.result-item .title:visited{text-decoration:none !important}
.result-item .title:hover{text-decoration:none !important}
.result-item .snippet{color:var(--accent);margin-top:6px;font-size:14px}
.result-empty{text-align:center;padding:12px 16px;color:var(--accent)}

/* Ensure input placeholder uses accent color */
::placeholder{color:var(--accent);opacity:0.6}

/* Style contact links inside markdown pages: stack and remove default blue/underline */
.landing-page .page-content a[href^="mailto:"]{
	display:inline !important;
	color:inherit !important;
	text-decoration:none !important;
	margin:0 4px !important;
	padding:0 !important;
}
.landing-page .page-content a[href^="Phone:"]{
	display:block !important;
	color:inherit !important;
	text-decoration:none !important;
	margin:8px 0 !important;
	padding:0 !important;
}
.landing-page .page-content a[href^="mailto:"]:hover,
.landing-page .page-content a[href^="tel:"]:hover{
	text-decoration:none !important;
	color:inherit !important;
}

/* Axel Street Cloud Console specific styles */
.acloud-page{min-height:100vh;display:flex;flex-direction:column;background:#ffffff}
.acloud-page .page-content{flex:1;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}
.acloud-page .top-nav{padding:22px 36px}
.acloud-page .top-nav{position:relative}

/* Lock header elements so title stays centered regardless of mark size */
.acloud-page .top-nav{min-height:180px}
.acloud-page .top-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);}
.acloud-page .top-left{position:fixed;left:-110px;top:-70px;transform:none;z-index:10000;pointer-events:none}
.acloud-page .top-right{position:absolute;right:36px;top:50%;transform:translateY(-50%);}

@media (max-width:800px){
	.acloud-page .top-nav{min-height:88px}
	.acloud-page .official-source-mark-img{height:56px;margin-top:10px;margin-left:30px}
}
.acloud-page h1{margin-top:48px;text-align:center;font-size:36px}
.acloud-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;width:100%;max-width:1600px;margin:40px auto;box-sizing:border-box;padding:0 40px}
.acloud-grid > div{display:flex;flex-direction:column;justify-content:center}
.acloud-item{position:relative;display:inline-block;padding:6px 12px;border-radius:999px;transition:transform 200ms cubic-bezier(.2,.9,.2,1),box-shadow 200ms ease;cursor:pointer;white-space:nowrap}
/* White hover bubble effect: very translucent pill that fits its content */
.acloud-item::before{
	content:'';
	position:absolute;
	inset:0;
	border-radius:999px;
	background:rgba(255,255,255,0.18);
	box-shadow:0 10px 30px rgba(0,0,0,0.05);
	opacity:0;
	transform:scale(0.995);
	transition:opacity 180ms ease,transform 180ms ease;
	pointer-events:none;
}
.acloud-item:hover::before{opacity:1;transform:scale(1.01)}
.acloud-item:hover{transform:translateY(-6px) scale(1.02);transition:transform 180ms cubic-bezier(.2,.9,.2,1)}

/* Generic page item for shared blowup hover across pages */
.page-item{position:relative;display:inline-block;padding:6px 12px;border-radius:999px;transition:transform 200ms cubic-bezier(.2,.9,.2,1),box-shadow 200ms ease;cursor:pointer;white-space:nowrap}
.page-item::before{content:'';position:absolute;inset:0;border-radius:999px;background:rgba(255,255,255,0.18);box-shadow:0 10px 30px rgba(0,0,0,0.05);opacity:0;transform:scale(0.995);transition:opacity 180ms ease,transform 180ms ease;pointer-events:none}
.page-item:hover::before{opacity:1;transform:scale(1.01)}
.page-item:hover{transform:translateY(-6px) scale(1.02);transition:transform 180ms cubic-bezier(.2,.9,.2,1)}

/* Make content take whole screen on large displays */
@media (min-width:1200px){
	/* Reduce the required min-height so content isn't pushed too far down on very large viewports */
	.page-content{min-height:calc(100vh - 120px); justify-content:flex-start}

	/* Keep footer in normal document flow instead of fixed positioning */
	.landing-page:not(.markdown-page) footer.page-footer{
		display: flex !important;
		position: static !important;
		margin-top:auto !important;
		left:auto;
		right:auto;
		bottom:auto;
		padding:8px 12px; /* tighter padding to reduce visual bulk */
		background:transparent;
		align-items:center;
		justify-content:center;
	}

	/* Full-width footer container for non-markdown landing pages */
	.landing-page:not(.markdown-page) .footer-container{width:100%;max-width:none;margin:0;padding:0 24px; gap:12px; align-items:center; justify-content:space-between;}

	/* Remove padding-bottom since footer is no longer fixed */
	.landing-page:not(.markdown-page) .page-content{padding-bottom:0;}

	/* Keep center copy from expanding and forcing wraps */
	.landing-page:not(.markdown-page) .footer-center{ max-width:520px; flex:0 1 auto; padding:0 8px; }
	.landing-page:not(.markdown-page) .footer-left,
	.landing-page:not(.markdown-page) .footer-right{ flex:0 1 auto; }

	/* Remove extra bottom margins on footer columns for large screens */
	.landing-page .footer-left,
	.landing-page .footer-center,
	.landing-page .footer-right{ margin-bottom: 0; }

	/* Ensure footer link groups remain inline on large screens */
	.landing-page:not(.markdown-page) .footer-container{ flex-wrap: nowrap; align-items: center; }
	.landing-page:not(.markdown-page) .footer-left,
	.landing-page:not(.markdown-page) .footer-right{ flex-wrap: nowrap; white-space: nowrap; }
	.landing-page:not(.markdown-page) .footer-left.footer-links a,
	.landing-page:not(.markdown-page) .footer-right.footer-links a{ white-space:nowrap; }
	/* Keep center copy from expanding and forcing wraps */
	.landing-page:not(.markdown-page) .footer-center{ flex: 0 0 auto; }
}

/* Apply hover bubble to other interactive elements on the Cloud page */
.acloud-page a.nav-link, .acloud-page h1, .acloud-page .footer-links a {
	position:relative;display:inline-block;border-radius:999px;padding:4px 10px;transition:transform 180ms ease,box-shadow 180ms ease;white-space:nowrap
}
.acloud-page a.nav-link::before, .acloud-page h1::before, .acloud-page .footer-links a::before {
	content:'';position:absolute;inset:0;border-radius:999px;background:rgba(255,255,255,0.12);box-shadow:0 8px 24px rgba(0,0,0,0.04);opacity:0;transform:scale(0.995);transition:opacity 180ms ease,transform 180ms ease;pointer-events:none
}
.acloud-page a.nav-link:hover::before, .acloud-page h1:hover::before, .acloud-page .footer-links a:hover::before { opacity:1; transform:scale(1.01) }
.acloud-page a.nav-link:hover, .acloud-page h1:hover, .acloud-page .footer-links a:hover { transform:translateY(-4px) }

/* Disable the pill hover for specific titles that opt-out */
.acloud-page h1.no-hover-title::before { display: none !important }
.acloud-page h1.no-hover-title:hover { transform: none !important }

/* OfficialSourceMark styling */
.official-source-mark{display:inline-flex;align-items:center;justify-content:center;padding:2px;border-radius:8px;background:transparent;border:0}
.official-source-mark-img{height:400px !important;width:auto !important;display:block;max-width:60vw}
/* Ensure the huge mark scales down on small screens */
@media (max-width:800px){
	.official-source-mark-img{height: 300px !important;max-width:40vw}
}

/* Ensure the top-left container doesn't clip the image */
.acloud-page .top-left{overflow:visible}

/* LOCK OfficialSourceMark to viewport top-left for Cloud and Source APIs pages */
.acloud-page .top-left, .source-apis-page .top-left {
	position: fixed !important;
	left: 0 !important;
	top: 0 !important;
	transform: none !important;
	z-index: 10000;
	pointer-events: none;
	overflow: visible;
}

/* Ensure the mark itself sits flush in the corner and scales responsively */
.acloud-page .official-source-mark-img, .source-apis-page .official-source-mark-img {
	display:block; margin:0; padding:0;
	height:420px !important; width:auto !important; max-width:60vw; box-sizing:border-box;
}
@media (max-width:800px){
	.acloud-page .official-source-mark-img, .source-apis-page .official-source-mark-img{
		height:220px !important; max-width:40vw;
	}
}

/* Source APIs page specific styles | isolated from the Cloud page */
.source-apis-page{min-height:100vh;display:flex;flex-direction:column;background:#ffffff}
.source-apis-page .page-content{padding-top:12px}
.source-apis-page .top-nav{position:relative;padding:16px 36px;min-height:120px}
.source-apis-page .top-left{position:absolute;left:20px;top:12px;transform:none;pointer-events:auto;z-index:100}
.source-apis-page .top-center{position:absolute;left:50%;top:12px;transform:translateX(-50%);font-size:20px;letter-spacing:1px}
.source-apis-page .official-source-mark-img{height:150px !important;max-width:30vw;display:block}
.source-apis-page h1{margin-top:20px;text-align:center;font-size:28px}
.source-apis-page .acloud-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;width:100%;max-width:1000px;margin:8px auto;box-sizing:border-box;padding:0 20px}
.source-apis-page .acloud-grid > div{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}
.source-apis-page .acloud-grid .page-item{display:block;padding:10px 8px;border-radius:8px;font-size:18px;margin:6px 0;background:transparent}
.source-apis-page .page-item::before{background:rgba(255,255,255,0.06);box-shadow:none}
.source-apis-page .no-hover-title::before{display:none}
.source-apis-page .top-right{display:block}



/* Ensure footer stays at bottom and small screens are reasonable */

/* Markdown pages: ensure footer sits under the markdown content and centers columns */
.landing-page.markdown-page footer.page-footer{
	display:block !important;
	position:static !important;
	top:auto !important;
	bottom:auto !important;
	left:auto !important;
	right:auto !important;
	transform:none !important;
	z-index:0 !important;
	margin-top:24px !important;
	padding:20px 12px !important;
	text-align:center !important;
	background:transparent !important;
}

/* Default: stacked, centered footer for narrow screens (markdown) */
.landing-page.markdown-page .footer-container{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:8px;
	max-width:900px;
	margin:20px auto 0 auto;
	padding:0 12px;
	box-sizing:border-box;
}
.landing-page.markdown-page .footer-left,
.landing-page.markdown-page .footer-center,
.landing-page.markdown-page .footer-right{
	width:100%;
	display:flex;
	justify-content:center;
	gap:12px;
	margin:0;
	font-size:14px;
}
.landing-page.markdown-page .footer-left.footer-links a,
.landing-page.markdown-page .footer-right.footer-links a,
.landing-page.markdown-page .footer-center a{
	display:inline-block;
	white-space:normal;
	padding:6px 8px;
}

/* At large desktop widths, make markdown footers full-bleed and inline like other pages */
@media (min-width:1200px){
	.landing-page.markdown-page .footer-container{
		flex-direction:row;
		align-items:center;
		justify-content:space-between;
		width:100%;
		max-width:none;
		margin:0;
		padding:0 24px;
		box-sizing:border-box;
		gap:12px;
	}
	.landing-page.markdown-page .footer-left,
	.landing-page.markdown-page .footer-center,
	.landing-page.markdown-page .footer-right{
		width:auto;
		display:flex;
		justify-content:flex-start;
		gap:12px;
		margin:0;
		font-size:14px;
		flex:0 1 auto;
	}
	.landing-page.markdown-page .footer-center{ justify-content:center; flex:0 1 auto; }
	.landing-page.markdown-page .footer-left.footer-links a,
	.landing-page.markdown-page .footer-right.footer-links a,
	.landing-page.markdown-page .footer-center a{
		white-space:nowrap;
	}
}

/* Prevent the large-screen min-height from forcing footer into viewport middle
   by letting markdown pages use natural document flow instead of full-viewport min-height */
@media (min-width:1200px){
	.landing-page.markdown-page .page-content{
		min-height:auto !important;
		padding-bottom:0 !important;
	}
	/* ensure footer is pushed after content and has a clear separation */
	.landing-page.markdown-page footer.page-footer{
		margin-top:40px !important;
	}
}
@media (max-width:800px){
	.acloud-grid{grid-template-columns:1fr;gap:18px;padding:12px}
	.acloud-item{border-radius:8px}
}


/* codex-scrollbar-hide-global */
html,
body,
* {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
*::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
  background: transparent;
}
