/* Download cards — Desktop docs hub */
.download-section-heading {
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #22b9ca !important;
	margin: 10px 0 8px;
}

.download-section-heading + .separator-2 {
	width: 80px;
	height: 3px;
	background: #22b9ca;
	border: 0;
	margin: 0 auto 28px;
}

.download-card {
	background: #ffffff;
	border: 1px solid #d9e2e4;
	padding: 36px 22px 30px;
	margin-bottom: 24px;
	min-height: 240px;
	border-radius: 4px;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
	color: #555;
}

.download-card.featured {
	border-color: #22b9ca;
	border-width: 2px;
	padding: 28px 22px 24px;
	min-height: 0;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.download-card.featured .download-card-icon {
	font-size: 56px;
	height: 60px;
	margin-bottom: 12px;
}

.download-card.featured h4 {
	font-size: 20px;
	margin-bottom: 8px;
}

.download-card.featured p {
	font-size: 14px;
	line-height: 1.45;
}

.download-card.featured .btn {
	margin-top: 4px;
}

.download-card-icon {
	display: block;
	font-size: 72px;
	line-height: 1.1;
	height: 80px;
	color: #22b9ca;
	margin: 0 auto 20px;
}

.download-card-icon.small {
	font-size: 64px;
	height: 72px;
	margin-bottom: 18px;
}

.download-card-icon i {
	display: inline-block;
	line-height: inherit;
}

.download-card h4 {
	margin-top: 0;
	margin-bottom: 12px;
	font-size: 22px;
	font-weight: 700;
	color: #2c3e46 !important;
}

.download-card h5 {
	margin-top: 0;
	margin-bottom: 14px;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #2c3e46 !important;
}

.download-card .btn {
	margin: 6px 4px;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.download-card .btn-sm.btn-animated {
	padding-right: 38px !important;
}

/* Filled buttons with clear bordered rollover */
.download-card .btn-view,
.download-card a.btn-view {
	background-color: #22b9ca !important;
	background-image: none !important;
	border: 2px solid #22b9ca !important;
	color: #ffffff !important;
	box-shadow: none;
}

.download-card .btn-view:hover,
.download-card .btn-view:focus,
.download-card .btn-view:active,
.download-card a.btn-view:hover,
.download-card a.btn-view:focus {
	background-color: #ffffff !important;
	border-color: #1a9aaa !important;
	color: #1a9aaa !important;
	box-shadow: 0 2px 10px rgba(26, 154, 170, 0.35);
}

.download-card .btn-download,
.download-card a.btn-download {
	background-color: #2c3e46 !important;
	background-image: none !important;
	border: 2px solid #2c3e46 !important;
	color: #ffffff !important;
	box-shadow: none;
}

.download-card .btn-download:hover,
.download-card .btn-download:focus,
.download-card .btn-download:active,
.download-card a.btn-download:hover,
.download-card a.btn-download:focus {
	background-color: #ffffff !important;
	border-color: #2c3e46 !important;
	color: #2c3e46 !important;
	box-shadow: 0 2px 10px rgba(44, 62, 70, 0.3);
}

.download-card .btn-view i,
.download-card .btn-download i {
	color: #ffffff !important;
}

.download-card .btn-view:hover i,
.download-card .btn-view:focus i,
.download-card .btn-download:hover i,
.download-card .btn-download:focus i {
	color: inherit !important;
}

.download-card code {
	background: #f0f4f5;
	padding: 1px 6px;
	border-radius: 3px;
	font-size: 90%;
	color: #2c3e46;
}

.separator-2.center {
	margin-left: auto;
	margin-right: auto;
}

.hero-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: stretch;
}

.hero-cta .btn {
	margin: 0 !important;
}

/* Mobile hero (phones) — static, no Revolution caption scaling */
.mobile-hero {
	display: none;
	background: #0b1216;
	position: relative;
	z-index: 1;
}

.mobile-hero-media {
	height: 42vw;
	min-height: 180px;
	max-height: 260px;
	background-color: #0b1216;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.mobile-hero-panel {
	padding: 24px 20px 30px !important;
	background: #121a1f !important;
	color: #f2f4f5 !important;
}

.mobile-hero-panel h2 {
	margin: 0 0 10px;
	font-size: 22px;
	line-height: 1.25;
	font-weight: 400;
	color: #ffffff !important;
	letter-spacing: 0.02em;
}

.mobile-hero-panel h2 strong {
	font-weight: 700;
}

.mobile-hero-panel .separator-2 {
	margin: 0 0 14px;
}

.mobile-hero-panel p {
	margin: 0 0 18px !important;
	font-size: 15px !important;
	line-height: 1.55 !important;
	color: #d8dee0 !important;
}

.mobile-hero-panel .hero-cta {
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 12px !important;
}

.mobile-hero-panel .hero-cta .btn,
.mobile-hero-panel .hero-cta .btn-block {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	text-align: center !important;
	font-size: 14px;
	padding: 12px 16px;
	margin: 0 !important;
	float: none !important;
}

/* Pricing — solid dark fallback so white/light copy stays readable */
.pricing-section.dark-translucent-bg,
.pricing-section.background-img-16 {
	background-color: #1a2328 !important;
	background-size: cover !important;
	background-position: center center !important;
}

.pricing-section.dark-translucent-bg:after {
	background-color: rgba(8, 12, 16, 0.72) !important;
}

.pricing-section .pricing-copy,
.pricing-section p.large,
.dark-translucent-bg p.large {
	color: #f2f4f5 !important;
}

.contact-email,
.contact-email a {
	color: #f2f4f5 !important;
}

.contact-email a {
	color: #22b9ca !important;
	text-decoration: none;
}

.contact-email a:hover {
	color: #ffffff !important;
	text-decoration: underline;
}

/* Accordion / help panels — full-width title bar + clear expand arrows */
.collapse-style-2 .panel {
	border: 1px solid #d9e2e4 !important;
	border-radius: 3px;
	margin-bottom: 10px;
	overflow: hidden;
}

.collapse-style-2 .panel-heading {
	background: transparent !important;
	padding: 0 !important;
}

.collapse-style-2 .panel-heading .panel-title {
	margin: 0;
	font-size: 16px;
	line-height: 1.35;
}

.collapse-style-2 .panel-heading a,
.collapse-style-2 .panel-heading a.collapsed,
.collapse-style-2 .panel-heading a:not(.collapsed) {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	position: relative !important;
	padding: 14px 48px 14px 16px !important;
	margin: 0 !important;
	color: #ffffff !important;
	background-color: #22b9ca !important;
	background-image: none !important;
	text-decoration: none !important;
	white-space: normal !important;
	border-radius: 0 !important;
}

.collapse-style-2 .panel-heading a.collapsed {
	background-color: #6e7e82 !important;
}

.collapse-style-2 .panel-heading a strong {
	background: transparent !important;
	color: inherit !important;
	font-weight: 600;
}

.collapse-style-2 .panel-heading a:after {
	font-family: "FontAwesome" !important;
	content: "\f106" !important; /* angle-up when open */
	position: absolute !important;
	right: 16px !important;
	top: 50% !important;
	margin-top: -8px !important;
	width: 20px;
	text-align: center;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	color: #ffffff !important;
	opacity: 1 !important;
	visibility: visible !important;
	display: inline-block !important;
	pointer-events: none;
}

.collapse-style-2 .panel-heading a.collapsed:after {
	content: "\f107" !important; /* angle-down when closed */
}

.collapse-style-2 .panel-body {
	padding: 16px !important;
	background: #ffffff !important;
}

/* Mobile adjustments */
@media (max-width: 767px) {
	/* Full-bleed header — no side margin / rounded inset */
	html, body, .page-wrapper {
		overflow-x: hidden;
	}

	.header-container {
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.transparent-header header.header.transparent-header-on,
	.transparent-header header.header.dark.transparent-header-on,
	.transparent-header.gradient-background-header header.header.dark.transparent-header-on,
	header.header.fixed,
	header.header.dark {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		margin: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
		max-width: none !important;
		border-radius: 0 !important;
		border-top: none !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
		background: #2d3437 !important;
		background-image: none !important;
		z-index: 1030 !important;
	}

	header.header > .container {
		width: 100% !important;
		max-width: none !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
		margin: 0 !important;
	}

	header.header .row {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	header.header .col-md-9 {
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
		float: none !important;
	}

	.navbar-default {
		margin-bottom: 0;
		border: none;
		background: transparent;
	}

	.navbar-header {
		margin-left: 0 !important;
		margin-right: 0 !important;
		float: none;
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 52px;
		padding: 8px 0;
	}

	/* Logo left, hamburger right */
	.navbar-header .header-first.visible-xs {
		order: 1;
		padding: 0;
		float: none;
		margin: 0;
	}

	.navbar-header .navbar-toggle {
		order: 2;
		margin: 0 0 0 auto;
		padding: 8px 10px;
		border-color: rgba(255, 255, 255, 0.4);
		float: none;
	}

	.transparent-header .header-first.visible-xs {
		padding: 0;
		float: none;
	}

	#logo-mobile.logo,
	#logo-mobile.logo img {
		max-height: 30px;
		width: auto;
		margin: 0;
	}

	.navbar-collapse {
		margin: 0;
		padding-left: 0;
		padding-right: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.12);
		max-height: 70vh;
		overflow-y: auto;
		background-color: #2d3437;
	}

	.navbar-default .navbar-nav > li > a {
		padding: 12px 4px;
	}

	/* Show static mobile hero; hide Revolution slideshow */
	.mobile-hero {
		display: block !important;
		padding-top: 52px; /* fixed header clearance */
	}

	.mobile-hero-media {
		padding-top: 0;
		box-sizing: border-box;
	}

	.banner {
		margin: 0;
		padding: 0;
	}

	/* Team: name/title above bio on phones */
	.team-members {
		display: flex;
		flex-direction: column;
	}

	.team-members > aside:nth-child(2) {
		order: 1;
	}

	.team-members > .main:nth-child(1) {
		order: 2;
	}

	.team-members > aside:nth-child(4) {
		order: 3;
	}

	.team-members > .main:nth-child(3) {
		order: 4;
	}

	.team-members > aside {
		padding-left: 16px;
		padding-right: 16px;
		margin-bottom: 6px;
	}

	.team-members > .main {
		padding-left: 16px;
		padding-right: 16px;
		margin-bottom: 28px;
	}

	.team-members > aside .title {
		margin-top: 0;
		margin-bottom: 8px;
		font-size: 18px;
		line-height: 1.35;
		color: #2c3e46 !important;
	}

	.team-members > .main p {
		color: #555555 !important;
		font-size: 15px;
		line-height: 1.55;
	}

	.team-members > .main .separator-2 {
		display: none;
	}

	/* Page sections */
	.main-container {
		padding: 28px 0;
	}

	.main-container > .container {
		padding-left: 16px;
		padding-right: 16px;
	}

	/* Section titles — fit mobile width (INTRODUCING / DOWNLOADS / etc.) */
	.main-container .row > h1.title.large,
	.main-container h1.title.large,
	h1.title.large {
		font-size: 24px !important;
		line-height: 1.25 !important;
		letter-spacing: 0.04em !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100%;
		word-wrap: break-word;
		overflow-wrap: break-word;
		box-sizing: border-box;
	}

	.main-container .row > p.large,
	.main-container p.large:not(.pricing-copy) {
		font-size: 15px !important;
		line-height: 1.45 !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
		color: #555555 !important;
	}

	.main-container .row {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.pricing-section .container {
		padding-left: 16px;
		padding-right: 16px;
	}

	.pricing-section p.large,
	.pricing-section .pricing-copy {
		font-size: 16px !important;
		line-height: 1.5 !important;
		padding: 0 4px;
	}

	.download-card {
		padding: 26px 16px 22px;
		min-height: 0;
	}

	.download-card.featured {
		padding: 22px 16px 18px;
	}

	/* Equal-width stacked View / Download buttons */
	.download-card .btn-view,
	.download-card .btn-download,
	.download-card a.btn-view,
	.download-card a.btn-download {
		display: block !important;
		width: 100% !important;
		max-width: 200px;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-top: 8px !important;
		margin-bottom: 0 !important;
		box-sizing: border-box !important;
		text-align: center !important;
		float: none !important;
	}

	.download-card .btn-sm.btn-animated {
		padding-left: 18px !important;
		padding-right: 38px !important;
	}

	.download-card-icon {
		font-size: 56px;
		height: 64px;
		margin-bottom: 14px;
	}

	.download-card-icon.small {
		font-size: 48px;
		height: 56px;
		margin-bottom: 14px;
	}

	.download-card h4 {
		font-size: 19px;
	}

	.download-card h5 {
		font-size: 14px;
	}

	.download-section-heading {
		font-size: 22px;
	}

	/* Gallery / feature cards */
	.col-lg-4.p-40,
	.p-40 {
		padding: 16px !important;
	}

	.image-box.shadow.bordered {
		margin-bottom: 12px;
	}

	/* Accordion titles — readable multi-line bars + arrows on phones */
	.collapse-style-2 .panel-heading a,
	.collapse-style-2 .panel-heading a.collapsed,
	.collapse-style-2 .panel-heading a:not(.collapsed) {
		padding: 14px 44px 14px 14px !important;
		font-size: 15px !important;
		line-height: 1.4 !important;
	}

	.collapse-style-2 .panel-heading a:after {
		right: 12px !important;
		font-size: 20px !important;
	}
}
