/* Better readability for users with low vision: most site text is set in
   em units cascading from the root, so bumping the root size scales body
   copy, headings and menus together. A few components use fixed px sizes
   and get explicit bumps below since they don't inherit from this. */
html {
	font-size: 119%;
}

/* phone and email links: brand green instead of inheriting surrounding
   text color (they carry an inline color:inherit, hence !important) */
a.obf-tel,
a.obf-mail {
	color: #20c997 !important;
}

/* footer "Menu" links: same active/hover treatment as the main navigation */
.menu-module li > a:hover {
	color: #b3db68 !important;
}
.menu-module li.active > a,
.menu-module li.current > a {
	color: #678841 !important;
}

.card-body .article-intro-text,
.card-body .item-title,
.jd-services-showcase .content .title a,
.jd-services-showcase .content .description,
.visform label,
.visform input,
.visform textarea {
	font-size: 1.12em;
}

/* homepage inverter-list text: the column's d-lg-flex utility puts its two
   paragraphs side by side as flex items -- stack them instead */
.home-about .col-lg-5.d-lg-flex {
	flex-direction: column;
}

/* footer: keep the email address and the copyright line from wrapping */
.address-info .content a.obf-mail {
	white-space: nowrap;
}
.astroid-footer, #astroid-footer {
	white-space: nowrap;
}

/* Powerbox "Modular Design" section: image on its own centered line */
.modular-img {
	max-width: 480px;
	width: 100%;
	display: inline-block;
}
.modular-table {
	border: 1px solid #20c997;
	border-radius: 3px;
	padding: 14px 18px;
}

/* spec tables can be wider than their content-box content (unbreakable
   cell text), which pushes them past the right edge -- make them scroll
   horizontally inside their own box instead of overflowing the page */
.description table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.description table td,
.description table th {
	white-space: nowrap;
}

.framed-img {
	border: 6px solid #ffffff;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22);
	border-radius: 3px;
}

.description {
	border: 1px solid #20c997;
	border-radius: 3px;
	padding: 14px 18px;
}

/* homepage product cards: title sits next to (not inside) .description --
   frame both together as one box instead of nesting two borders */
.service-box .content {
	border: 1px solid #20c997;
	border-radius: 3px;
	padding: 14px 18px;
}
.service-box .content .description {
	border: none;
	border-radius: 0;
	padding: 8px 0 0;
}

/* homepage product cards: the template pulls the content card up over the
   image with transform: translateY(-50%) -- cancel it so image and text
   sit apart with clear space instead of overlapping */
section.jd-services-showcase .service-box .service-box-inner .content {
	transform: none;
	width: 100%;
	margin-top: 15px;
}

/* product listing pages: title + intro text card */
article.item .card-body {
	border: 1px solid #20c997;
	border-radius: 3px;
	padding: 14px 18px;
}

/* product listing pages: same overlap-over-image transform as the homepage
   cards -- cancel it so image and text sit apart with clear space */
div.services-view .card-body.has-image {
	transform: none;
	width: 100%;
	margin: 15px 0 0;
}

/* Downloads page: no hairline frame around the description text */
body.downloads-alias .description {
	border: none;
	border-radius: 0;
	padding: 0;
}

/* The template's overlap-content design pulls the description over the
   image with a negative margin -- cancel that everywhere it's used (product
   pages, downloads) so image and text sit apart with clear space instead
   of overlapping */
.overlap-content .row:nth-child(odd) .description,
.overlap-content .row:nth-child(even) .description {
	margin-left: 0;
	margin-right: 0;
	margin-top: 20px;
}
.overlap-content .col-lg-6 {
	padding-left: 25px;
	padding-right: 25px;
}
