/* =========================================================
   KEN'S DISTRIBUTING
   LIGHTWEIGHT CUSTOM FOOTER
   ========================================================= */


/* =========================================================
   VARIABLES
   ========================================================= */

.kendisco-footer-cta,
.kendisco-site-footer {
	--kendisco-footer-width: 1440px;
	--kendisco-footer-navy: #0F172A;
	--kendisco-footer-orange: #FF5F14;
	--kendisco-footer-white: #FFFFFF;
	--kendisco-footer-muted: #CBD5E1;

	font-family: inherit;
}


.kendisco-footer-cta *,
.kendisco-footer-cta *::before,
.kendisco-footer-cta *::after,
.kendisco-site-footer *,
.kendisco-site-footer *::before,
.kendisco-site-footer *::after {
	box-sizing: border-box;
}


/* =========================================================
   CTA SECTION
   ========================================================= */

.kendisco-footer-cta {
	display: block;

	width: 100%;

	margin: 0;

	padding:
		24px 20px;

	background:
		#F9FAFB;
}


.kendisco-footer-cta-inner {
	width: 100%;

	max-width:
		var(--kendisco-footer-width);

	margin:
		0 auto;

	padding:
		32px 25px;

	background:
		var(--kendisco-footer-navy);

	border-radius:
		5px;

	text-align: center;
}


/* =========================================================
   CTA TITLE
   ========================================================= */

.kendisco-footer-cta-title {
	margin:
		0 0 20px !important;

	padding:
		0 !important;

	color:
		#FFFFFF !important;

	font-family:
		inherit !important;

	font-size:
		24px !important;

	font-style:
		normal !important;

	font-weight:
		700 !important;

	line-height:
		1.25 !important;

	letter-spacing:
		0 !important;

	text-transform:
		none !important;
}


/* =========================================================
   CTA BUTTONS
   ========================================================= */

.kendisco-footer-cta-buttons {
	display: flex;

	align-items: center;

	justify-content: center;

	flex-wrap: wrap;

	gap: 12px;
}


.kendisco-footer-cta-button,
.kendisco-footer-cta-button:link,
.kendisco-footer-cta-button:visited,
.kendisco-footer-cta-button:hover,
.kendisco-footer-cta-button:focus,
.kendisco-footer-cta-button:active {
	display: inline-flex;

	min-height: 40px;

	align-items: center;

	justify-content: center;

	padding:
		0 18px;

	/*
	 * Border always exists.
	 * Hover therefore does not change button geometry.
	 */
	border:
		1px solid
		#FFFFFF;

	background:
		#FFFFFF;

	color:
		var(--kendisco-footer-navy) !important;

	font-family:
		inherit !important;

	font-size:
		12px !important;

	font-style:
		normal !important;

	font-weight:
		600 !important;

	line-height:
		1 !important;

	letter-spacing:
		0 !important;

	text-decoration:
		none !important;

	white-space:
		nowrap;

	transform:
		none !important;

	transition:
		background-color 0.15s ease,
		border-color 0.15s ease,
		color 0.15s ease;
}


.kendisco-footer-cta-button:hover,
.kendisco-footer-cta-button:focus {
	background:
		var(--kendisco-footer-orange);

	border-color:
		var(--kendisco-footer-orange);

	color:
		#FFFFFF !important;

	font-weight:
		600 !important;
}


/* =========================================================
   MAIN FOOTER
   ========================================================= */

.kendisco-site-footer {
	display: block;

	width: 100%;

	margin: 0;

	padding: 0;

	background:
		var(--kendisco-footer-navy);

	color:
		#FFFFFF;
}


/* =========================================================
   FOOTER GRID
   ========================================================= */

.kendisco-footer-inner {
	width: 100%;

	max-width:
		var(--kendisco-footer-width);

	margin:
		0 auto;

	padding:
		40px 20px
		28px;

	display: grid;

	grid-template-columns:
		minmax(0, 1.65fr)
		minmax(160px, 0.55fr)
		minmax(220px, 0.8fr);

	gap: 60px;

	align-items: start;
}


/* =========================================================
   COMPANY COLUMN
   ========================================================= */

.kendisco-footer-company {
	width: 100%;

	max-width: 650px;

	min-width: 0;
}


/* =========================================================
   BRAND
   ========================================================= */

.kendisco-footer-brand {
	display: flex;

	align-items: center;

	gap: 12px;

	margin:
		0 0 18px;

	padding: 0;
}


/* =========================================================
   FOOTER LOGO
   CLS-SAFE RESERVED BOX
   ========================================================= */

.kendisco-footer-logo {
	display: flex;

	flex:
		0 0 58px;

	width: 58px;
	min-width: 58px;

	height: 52px;
	min-height: 52px;

	align-items: center;

	justify-content: center;

	margin: 0;

	padding: 0;

	text-decoration:
		none !important;
}


.kendisco-footer-logo-image {
	display: block !important;

	width:
		58px !important;

	height:
		52px !important;

	min-width:
		58px !important;

	min-height:
		52px !important;

	max-width:
		58px !important;

	max-height:
		52px !important;

	margin:
		0 !important;

	padding:
		0 !important;

	border:
		0 !important;

	object-fit:
		contain;

	object-position:
		center;
}


/* =========================================================
   COMPANY NAME
   ========================================================= */

.kendisco-footer-brand-name {
	margin: 0;

	padding: 0;

	color:
		#FFFFFF;

	font-size:
		16px;

	font-weight:
		700;

	line-height:
		1.25;
}


/* =========================================================
   COMPANY TITLE
   ========================================================= */

.kendisco-footer-company-title {
	margin:
		0 0 11px !important;

	padding:
		0 !important;

	color:
		#FFFFFF !important;

	font-family:
		inherit !important;

	font-size:
		15px !important;

	font-style:
		normal !important;

	font-weight:
		600 !important;

	line-height:
		1.4 !important;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

.kendisco-footer-description {
	max-width: 600px;

	margin:
		0 0 18px !important;

	padding: 0;

	color:
		var(--kendisco-footer-muted) !important;

	font-size:
		12px !important;

	font-weight:
		400 !important;

	line-height:
		1.65 !important;
}


/* =========================================================
   CONTACT
   ========================================================= */

.kendisco-footer-contact {
	display: flex;

	flex-direction: column;

	gap: 8px;

	margin:
		0 0 22px;

	padding: 0;
}


.kendisco-footer-contact-row,
.kendisco-footer-contact-row:link,
.kendisco-footer-contact-row:visited,
.kendisco-footer-contact-row:hover,
.kendisco-footer-contact-row:focus {
	display: flex;

	align-items: flex-start;

	gap: 8px;

	margin: 0;

	padding: 0;

	color:
		var(--kendisco-footer-muted) !important;

	font-size:
		12px;

	font-weight:
		400;

	line-height:
		1.45;

	text-decoration:
		none !important;
}


a.kendisco-footer-contact-row:hover,
a.kendisco-footer-contact-row:focus {
	color:
		var(--kendisco-footer-orange) !important;
}


.kendisco-footer-contact-row strong {
	color: inherit;

	font-weight:
		600;
}


/* =========================================================
   CONTACT ICON
   ========================================================= */

.kendisco-footer-contact-icon {
	display: flex;

	flex:
		0 0 15px;

	width: 15px;

	height: 15px;

	min-width: 15px;

	min-height: 15px;

	margin-top: 1px;

	color:
		var(--kendisco-footer-orange);
}


.kendisco-footer-contact-icon svg {
	display: block;

	width: 15px;

	height: 15px;

	flex:
		0 0 15px;

	fill:
		currentColor;
}


/* =========================================================
   FOOTER HEADINGS
   ========================================================= */

.kendisco-footer-heading {
	margin:
		0 0 14px !important;

	padding:
		0 !important;

	color:
		var(--kendisco-footer-orange) !important;

	font-family:
		inherit !important;

	font-size:
		13px !important;

	font-style:
		normal !important;

	font-weight:
		700 !important;

	line-height:
		1.3 !important;

	letter-spacing:
		0 !important;

	text-transform:
		uppercase;
}


/* =========================================================
   QUICK LINKS / PRODUCTS
   ========================================================= */

.kendisco-footer-column {
	min-width: 0;
}


.kendisco-footer-links {
	display: flex;

	flex-direction: column;

	gap: 9px;

	margin: 0;

	padding: 0;

	list-style:
		none;
}


.kendisco-footer-links li {
	margin: 0;

	padding: 0;

	list-style:
		none;
}


.kendisco-footer-links a,
.kendisco-footer-links a:link,
.kendisco-footer-links a:visited,
.kendisco-footer-links a:hover,
.kendisco-footer-links a:focus,
.kendisco-footer-links a:active {
	display: inline;

	color:
		#FFFFFF !important;

	font-size:
		12px !important;

	font-weight:
		400 !important;

	line-height:
		1.4 !important;

	text-decoration:
		none !important;

	transition:
		color 0.15s ease;
}


.kendisco-footer-links a:hover,
.kendisco-footer-links a:focus {
	color:
		var(--kendisco-footer-orange) !important;

	font-weight:
		400 !important;
}


/* =========================================================
   SHIPPING
   ========================================================= */

.kendisco-footer-shipping {
	margin:
		4px 0 20px;

	padding: 0;
}


.kendisco-footer-shipping-row {
	display: flex;

	flex-wrap: wrap;

	gap: 4px;

	margin:
		0 0 8px;

	padding: 0;

	color:
		var(--kendisco-footer-muted);

	font-size:
		12px;

	line-height:
		1.45;
}


.kendisco-footer-shipping-row strong {
	color:
		#FFFFFF;

	font-weight:
		600;
}


.kendisco-footer-hours {
	margin:
		13px 0 0;

	padding: 0;

	color:
		var(--kendisco-footer-muted);

	font-size:
		12px;

	line-height:
		1.45;
}


.kendisco-footer-hours strong {
	color:
		#FFFFFF;

	font-weight:
		600;
}


/* =========================================================
   SOCIAL
   ========================================================= */

.kendisco-footer-social {
	margin:
		4px 0 0;

	padding: 0;
}


.kendisco-footer-social-icons {
	display: flex;

	align-items: center;

	gap: 7px;
}


/* =========================================================
   SOCIAL LINKS
   ========================================================= */

.kendisco-footer-social-link,
.kendisco-footer-social-link:link,
.kendisco-footer-social-link:visited,
.kendisco-footer-social-link:hover,
.kendisco-footer-social-link:focus {
	display: flex;

	flex:
		0 0 28px;

	width: 28px;

	height: 28px;

	min-width: 28px;

	min-height: 28px;

	align-items: center;

	justify-content: center;

	margin: 0;

	padding: 0;

	background:
		#FFFFFF;

	border:
		1px solid
		#FFFFFF;

	border-radius:
		50%;

	color:
		var(--kendisco-footer-orange) !important;

	text-decoration:
		none !important;

	transform:
		none !important;

	transition:
		background-color 0.15s ease,
		border-color 0.15s ease,
		color 0.15s ease;
}


.kendisco-footer-social-link svg {
	display: block;

	width: 14px;

	height: 14px;

	fill:
		currentColor;
}


.kendisco-footer-social-link:hover,
.kendisco-footer-social-link:focus {
	background:
		var(--kendisco-footer-orange);

	border-color:
		var(--kendisco-footer-orange);

	color:
		#FFFFFF !important;
}


/* =========================================================
   COPYRIGHT
   ========================================================= */

.kendisco-footer-bottom {
	width: 100%;

	margin: 0;

	padding: 0;

	border-top:
		1px solid
		rgba(255,255,255,0.08);
}


.kendisco-footer-bottom-inner {
	width: 100%;

	max-width:
		var(--kendisco-footer-width);

	margin:
		0 auto;

	padding:
		15px 20px;

	color:
		var(--kendisco-footer-muted);

	font-size:
		11px;

	font-weight:
		400;

	line-height:
		1.4;

	text-align:
		center;
}


/* =========================================================
   WIDESCREEN
   ========================================================= */

@media (min-width: 1600px) {

	.kendisco-footer-cta,
	.kendisco-site-footer {
		--kendisco-footer-width: 1520px;
	}


	.kendisco-footer-inner {
		gap: 80px;
	}

}


/* =========================================================
   TABLET
   ========================================================= */

@media
(min-width: 768px)
and
(max-width: 1100px) {

	.kendisco-footer-inner {
		grid-template-columns:
			minmax(0, 1.3fr)
			minmax(150px, 0.6fr)
			minmax(190px, 0.8fr);

		gap: 30px;
	}


	.kendisco-footer-cta-title {
		font-size:
			21px !important;
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {


	/* CTA */

	.kendisco-footer-cta {
		padding:
			18px 15px;
	}


	.kendisco-footer-cta-inner {
		padding:
			25px 15px;
	}


	.kendisco-footer-cta-title {
		margin-bottom:
			16px !important;

		font-size:
			19px !important;

		line-height:
			1.35 !important;
	}


	.kendisco-footer-cta-buttons {
		display: grid;

		grid-template-columns:
			1fr;

		width: 100%;

		max-width: 300px;

		margin:
			0 auto;

		gap: 9px;
	}


	.kendisco-footer-cta-button,
	.kendisco-footer-cta-button:hover,
	.kendisco-footer-cta-button:focus {
		width: 100%;

		min-height: 42px;

		border-width:
			1px;
	}


	/* =====================================================
	   MAIN FOOTER
	   ===================================================== */

	.kendisco-footer-inner {
		padding:
			32px 20px
			24px;

		grid-template-columns:
			1fr;

		gap: 30px;
	}


	.kendisco-footer-company {
		max-width:
			none;
	}


	.kendisco-footer-links {
		gap: 10px;
	}


	.kendisco-footer-heading {
		margin-bottom:
			12px !important;
	}


	.kendisco-footer-bottom-inner {
		padding:
			14px 15px;

		font-size:
			10px;
	}

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

	.kendisco-footer-brand-name {
		font-size:
			14px;
	}


	.kendisco-footer-logo {
		flex:
			0 0 52px;

		width: 52px;

		min-width: 52px;

		height: 46px;

		min-height: 46px;
	}


	.kendisco-footer-logo-image {
		width:
			52px !important;

		height:
			46px !important;

		min-width:
			52px !important;

		min-height:
			46px !important;

		max-width:
			52px !important;

		max-height:
			46px !important;
	}

}