/*
Theme Name: SiteOrigin Corp Child
Author: SiteOrigin
Author URI: https://siteorigin.com/
Theme URI: https://siteorigin.com/theme/corp
Description: SiteOrigin Corp Child Theme
Version: 1.0.9
Template: siteorigin-corp
Text Domain: siteorigin-corp
Domain Path: /languages/
*/

/* ==========================================================================
   General
   ========================================================================== */

/* Typography */
body {
	font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: 17px;
	line-height: 1.4; 
}

.site-header .site-branding .site-title,
.site-header .site-branding .site-description,
.main-navigation ul li a,
h1,
h2,
h3,
h4,
h5,
h6,
button,
input,
select,
textarea,
label,
legend,
.entry-title,
.widget-title,
.page-title,
.site-footer,
.site-footer .widget-title {
	font-family: inherit;
}

/* Font Awesome */
.fa,
.fas,
.far,
.fab,
.fal,
.fad,
.fa-solid,
.fa-regular,
.fa-brands,
[class^="fa-"],
[class*=" fa-"] {
	font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands" !important;
}

.fa-brands,
.fab {
	font-family: "Font Awesome 6 Brands" !important;
}


/* ==========================================================================
   Page appearance
   ========================================================================== */

/* Header */
.site-header .site-branding .custom-logo-link,
.site-header .site-branding .custom-logo-wrapper {
	display: block;
	line-height: 0;
}

/* Header — ~30% shorter than default Corp sizing */
.site-header {
	padding: 17.5px 0;
}

.site-header,
.masthead-sentinel {
	margin-bottom: 42px;
}

.site-header .site-branding .custom-logo,
.site-header .site-branding img {
	width: 160px;
	max-width: 160px;
	height: auto;
	max-height: none;
}

@media (max-width: 768px) {
	.site-header .site-branding .custom-logo,
	.site-header .site-branding img {
		width: 120px;
		max-width: 120px;
	}
}

/* Navigation */
.main-navigation ul li,
.main-navigation ul li a,
.main-navigation ul .sub-menu li a,
.main-navigation ul .children li a {
	font-size: 15px;
	font-weight: 500;
}

.main-navigation .fa,
.main-navigation .fas,
.main-navigation .far,
.main-navigation .fab,
.main-navigation .fal,
.main-navigation .fad,
.main-navigation .fa-solid,
.main-navigation .fa-regular,
.main-navigation .fa-brands,
.main-navigation i[class^="fa-"],
.main-navigation i[class*=" fa-"] {
	font-size: 17px;
}

.main-navigation div > ul > li {
	margin: 0 23px -10px 0;
}

/* Site-wide topbar (#topbar) */
#topbar.snk-site-topbar {
	background: #f2f2f2;
	border-bottom: 1px solid #e2e4e7;
	color: #626262;
	font-size: 14px;
}

#topbar.snk-site-topbar .corp-container {
	padding-bottom: 0;
	padding-top: 0;
}

.snk-topbar-inner {
	align-items: center;
	display: flex;
	justify-content: flex-end;
	min-height: 30px;
	padding: 3px 0;
}

.snk-topbar-text {
	align-items: center;
	display: flex;
	flex: 1 1 auto;
	flex-wrap: nowrap;
	justify-content: flex-end;
	min-width: 0;
}

.snk-topbar-part {
	color: #2d2d2d;
	flex-shrink: 0;
	margin-right: 20px;
	white-space: nowrap;
}

.snk-topbar-identity {
	flex-shrink: 1;
	margin-right: 20px;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.snk-topbar-auth {
	font-weight: 600;
	text-decoration: none;
}

.snk-topbar-auth:hover,
.snk-topbar-auth:focus {
	color: #404040;
	text-decoration: underline;
}

.snk-topbar-icon {
	color: #2d2d2d;
	flex-shrink: 0;
	font-size: 15px;
	line-height: 1;
}

@media (max-width: 768px) {
	#topbar.snk-site-topbar {
		font-size: 12px;
	}

	.snk-topbar-inner {
		min-height: 24px;
		padding: 2px 0;
	}

	.snk-topbar-part {
		margin-right: 8px;
	}

	.snk-topbar-identity {
		flex: 1 1 auto;
		max-width: none;
	}

	.snk-topbar-text {
		flex: 1 1 auto;
		min-width: 0;
	}

	.snk-topbar-icon {
		font-size: 14px;
	}
}


/**
 * Downloads block
 * Child theme — css/downloads.css
 */

.apogee-downloads {
	margin: 2rem 0;
}

.apogee-downloads__heading {
	margin: 0 0 1rem;
}

.apogee-downloads__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.5rem;
	grid-template-columns: 1fr;
}

@media (min-width: 600px) {
	.apogee-downloads__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 900px) {
	.apogee-downloads__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.apogee-downloads__item {
	margin: 0;
	min-width: 0;
}

.apogee-downloads__link {
	display: flex;
	align-items: center;
	gap: 0.875rem;
	height: 100%;
	padding: 0.75rem 1rem;
	border: 1px solid #e2e2e2;
	border-radius: 6px;
	background: #fff;
	text-decoration: none;
	color: inherit;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.apogee-downloads__link:hover,
.apogee-downloads__link:focus-visible {
	border-color: #b9b9b9;
	background: #fafafa;
}

.apogee-downloads__link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

/* Extension badge — text-based, so no icon assets to maintain
   and no missing-image fallback to worry about. */
.apogee-downloads__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 3.25rem;
	border-radius: 4px;
	background: #6b7280;
	color: #fff;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.apogee-downloads__icon[data-ext="pdf"]  { background: #c0392b; }
.apogee-downloads__icon[data-ext="doc"],
.apogee-downloads__icon[data-ext="docx"] { background: #2b579a; }
.apogee-downloads__icon[data-ext="xls"],
.apogee-downloads__icon[data-ext="xlsx"],
.apogee-downloads__icon[data-ext="csv"]  { background: #217346; }
.apogee-downloads__icon[data-ext="ppt"],
.apogee-downloads__icon[data-ext="pptx"] { background: #d24726; }
.apogee-downloads__icon[data-ext="zip"]  { background: #7d6608; }
.apogee-downloads__icon[data-ext="jpg"],
.apogee-downloads__icon[data-ext="jpeg"],
.apogee-downloads__icon[data-ext="png"],
.apogee-downloads__icon[data-ext="gif"],
.apogee-downloads__icon[data-ext="webp"] { background: #6d4c9f; }

.apogee-downloads__details {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	min-width: 0;
}

.apogee-downloads__title {
	font-weight: 600;
	overflow-wrap: anywhere;
}

.apogee-downloads__meta {
	font-size: 0.8125rem;
	color: #6b7280;
}

@media (max-width: 480px) {
	.apogee-downloads__link {
		padding: 0.625rem 0.75rem;
		gap: 0.75rem;
	}

	.apogee-downloads__icon {
		width: 2.25rem;
		height: 2.75rem;
	}
}