/* =========================================================
   KEN'S DISTRIBUTING
   OPTIMIZED GENERAC MANUALS PAGE
   ========================================================= */


/* =========================================================
   PAGE
   ========================================================= */

.kendisco-manuals-page {
	--kendisco-manuals-width: 1440px;
	--kendisco-manuals-navy: #0F172A;
	--kendisco-manuals-orange: #FF5F14;
	--kendisco-manuals-text: #334155;
	--kendisco-manuals-border: #E2E8F0;
	--kendisco-manuals-panel: #F8FAFC;

	width: 100%;
	margin: 0;
	padding: 0;

	background: #FFFFFF;
	color: var(--kendisco-manuals-text);

	font-family:
		Arial,
		Helvetica,
		sans-serif;
}


.kendisco-manuals-page *,
.kendisco-manuals-page *::before,
.kendisco-manuals-page *::after {
	box-sizing: border-box;
}


.kendisco-manuals-width {
	width: 100%;
	max-width: var(--kendisco-manuals-width);
	margin: 0 auto;
}


/* =========================================================
   PAGE TITLE
   ========================================================= */

.kendisco-manuals-heading-section {
	width: 100%;
	padding: 22px 20px 10px;
	background: #FFFFFF;
}


.kendisco-manuals-page-title {
	margin: 0 !important;
	padding: 0 0 10px !important;

	border-bottom:
		2px solid
		var(--kendisco-manuals-orange);

	/* Requested high-contrast heading color. */
	color:
		var(--kendisco-manuals-navy) !important;

	font-family:
		Arial,
		Helvetica,
		sans-serif !important;

	font-size: 30px !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	letter-spacing: 0 !important;
	text-align: center;
}


/* =========================================================
   CONTENT
   ========================================================= */

.kendisco-manuals-content {
	width: 100%;
	padding: 0 20px 26px;
	background: #FFFFFF;
}


.kendisco-manual-section {
	width: 100%;
	margin: 0 0 18px;
	scroll-margin-top: 100px;
}


/* =========================================================
   SECTION TITLES
   ========================================================= */

.kendisco-manual-section-title {
	position: relative;

	margin: 0 !important;
	padding: 10px 16px !important;

	border-top:
		1px solid
		var(--kendisco-manuals-border);

	border-bottom:
		1px solid
		var(--kendisco-manuals-border);

	background: #FFFFFF;

	/*
	 * Fixes the Lighthouse contrast failures shown in the screenshots.
	 */
	color:
		var(--kendisco-manuals-navy) !important;

	font-family:
		Arial,
		Helvetica,
		sans-serif !important;

	font-size: 15px !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	text-align: center;
	text-transform: uppercase;
}


/* =========================================================
   PANELS
   ========================================================= */

.kendisco-manual-panel {
	min-width: 0;

	padding:
		16px 20px
		18px;

	background:
		var(--kendisco-manuals-panel);

	border:
		1px solid
		#E5EAF0;
}


.kendisco-manual-group-grid {
	display: grid;
	width: 100%;
	align-items: stretch;
}


.kendisco-manual-group-grid > .kendisco-manual-panel {
	height: 100%;
}


.kendisco-manual-group-title {
	margin:
		0 0
		10px !important;

	padding: 0 !important;

	color:
		var(--kendisco-manuals-navy) !important;

	font-family:
		Arial,
		Helvetica,
		sans-serif !important;

	font-size: 15px !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
}


/* =========================================================
   MANUAL LISTS / LINK TARGET SPACING
   =========================================================
 *
 * The links are intentionally given real vertical target area instead
 * of relying only on line-height.
 *
 * This addresses Lighthouse's target-spacing failures on both desktop
 * and mobile while keeping the manual lists easy to scan.
 */

.kendisco-manual-list {
	margin: 0;

	padding:
		0 0
		0 20px;

	list-style: disc;
}


.kendisco-manual-columns-2
.kendisco-manual-panel
> .kendisco-manual-list {
	columns: 2;

	column-gap:
		48px;

	column-rule:
		1px solid
		var(--kendisco-manuals-border);
}


.kendisco-manual-list li {
	margin: 0;
	padding:
		2px 8px
		2px 0;

	break-inside: avoid;

	color:
		var(--kendisco-manuals-navy);

	font-size: 12px;
	line-height: 1.45;
}


.kendisco-manual-list a,
.kendisco-manual-list a:link,
.kendisco-manual-list a:visited {
	display:
		inline-flex;

	width:
		calc(100% - 2px);

	min-height:
		44px;

	align-items:
		center;

	margin:
		2px 0;

	padding:
		7px 8px;

	border:
		1px solid
		transparent;

	border-radius:
		2px;

	color:
		var(--kendisco-manuals-navy) !important;

	font-family:
		Arial,
		Helvetica,
		sans-serif !important;

	font-size:
		inherit !important;

	font-weight:
		600 !important;

	line-height:
		1.4 !important;

	text-decoration:
		none !important;

	overflow-wrap:
		anywhere;

	transition:
		color 0.15s ease,
		background-color 0.15s ease,
		border-color 0.15s ease;
}


.kendisco-manual-list a:hover,
.kendisco-manual-list a:focus-visible {
	background:
		#FFFFFF;

	border-color:
		#CBD5E1;

	color:
		#C2410C !important;

	text-decoration:
		underline !important;

	text-underline-offset:
		3px;
}


.kendisco-manual-list a:focus-visible {
	outline:
		2px solid
		var(--kendisco-manuals-orange);

	outline-offset:
		2px;
}


/* =========================================================
   3-COLUMN GROUP LAYOUT
   ========================================================= */

.kendisco-manual-group-grid-3
.kendisco-manual-group-grid {
	grid-template-columns:
		repeat(
			3,
			minmax(0, 1fr)
		);
}


.kendisco-manual-group-grid-3
.kendisco-manual-panel
+ .kendisco-manual-panel {
	border-left: 0;
}


/* =========================================================
   2-COLUMN GROUP LAYOUT
   ========================================================= */

.kendisco-manual-group-grid-2
.kendisco-manual-group-grid {
	grid-template-columns:
		repeat(
			2,
			minmax(0, 1fr)
		);
}


.kendisco-manual-group-grid-2
.kendisco-manual-panel
+ .kendisco-manual-panel {
	border-left: 0;
}


/* =========================================================
   WIDESCREEN
   ========================================================= */

@media (min-width: 1600px) {

	.kendisco-manuals-page {
		--kendisco-manuals-width:
			1520px;
	}


	.kendisco-manuals-page-title {
		font-size:
			34px !important;
	}


	.kendisco-manual-list li {
		font-size:
			13px;
	}

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

	.kendisco-manual-columns-2
	.kendisco-manual-panel
	> .kendisco-manual-list {
		columns: 1;
		column-rule: 0;
	}


	.kendisco-manual-group-grid-3
	.kendisco-manual-group-grid {
		grid-template-columns:
			1fr;
	}


	.kendisco-manual-group-grid-3
	.kendisco-manual-panel
	+ .kendisco-manual-panel {
		border-left:
			1px solid
			#E5EAF0;

		border-top:
			0;
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

	.kendisco-manuals-heading-section {
		padding:
			18px 15px
			8px;
	}


	.kendisco-manuals-page-title {
		font-size:
			26px !important;
	}


	.kendisco-manuals-content {
		padding:
			0 15px
			22px;
	}


	.kendisco-manual-section {
		margin-bottom:
			15px;
	}


	.kendisco-manual-section-title {
		padding:
			10px 10px !important;

		font-size:
			13px !important;

		line-height:
			1.4 !important;
	}


	.kendisco-manual-panel {
		padding:
			14px 13px
			16px;
	}


	.kendisco-manual-group-title {
		font-size:
			14px !important;
	}


	.kendisco-manual-list {
		padding-left:
			18px;
	}


	.kendisco-manual-list li {
		font-size:
			11px;
	}


	/*
	 * Keep a true 44px+ tap target on mobile and add visible separation
	 * between adjacent PDF links.
	 */
	.kendisco-manual-list a,
	.kendisco-manual-list a:link,
	.kendisco-manual-list a:visited {
		min-height:
			46px;

		margin:
			3px 0;

		padding:
			8px 7px;

		line-height:
			1.45 !important;
	}


	.kendisco-manual-group-grid-2
	.kendisco-manual-group-grid {
		grid-template-columns:
			1fr;
	}


	.kendisco-manual-group-grid-2
	.kendisco-manual-panel
	+ .kendisco-manual-panel {
		border-left:
			1px solid
			#E5EAF0;

		border-top:
			0;
	}

}
