/*
	Theme Name: PMG News
	Description: Theme for ProMedia Group news websites.
	Version: 4.0
	Author: Steven Don
	Author URI: http://www.shdon.com/
	Tags: white, two-columns, fixed-width
*/

/* CSS reset */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* Base rules */

:root
{
	--pmgn-premium-fg: #FFFFFF;
	--pmgn-premium-bg: #F09000;
	--pmgn-subscribe-fg: #000000;
	--pmgn-subscribe-bg: #FFFFFF;
	--pmgn-zapfline-1: #009FE4;
	--pmgn-zapfline-2: #009FE4;
	--pmgn-zapfline-3: #009FE4;
	--pmgn-zapfline-4: #009FE4;
	--pmgn-zapfline-5: #009FE4;
	--pmgn-zapfline-6: #009FE4;
	--pmgn-zapfline-7: #009FE4;
	--pmgn-zapfline-8: #009FE4;
	--pmgn-title: #000000;
	--pmgn-heading: #137EBE;
	--pmgn-links: #137EBE;
	--pmgn-footer-fg: #FFFFFF;
	--pmgn-footer-bg: #990000;
	--pmgn-copyright-fg: #FFFFFF;
	--pmgn-copyright-bg: #5B0000;
	--pmgn-lbl-txt-1: none;
	--pmgn-lbl-fg-1: #000000;
	--pmgn-lbl-bg-1: #F0C000;
	--pmgn-lbl-txt-2: none;
	--pmgn-lbl-fg-2: #000000;
	--pmgn-lbl-bg-2: #F0C000;
	--pmgn-lbl-txt-3: none;
	--pmgn-lbl-fg-3: #000000;
	--pmgn-lbl-bg-3: #F0C000;
	--pmgn-lbl-txt-4: none;
	--pmgn-lbl-fg-4: #000000;
	--pmgn-lbl-bg-4: #F0C000;
	--pmgn-lbl-txt-5: none;
	--pmgn-lbl-fg-5: #000000;
	--pmgn-lbl-bg-5: #F0C000;
	--pmgn-lbl-txt-6: none;
	--pmgn-lbl-fg-6: #000000;
	--pmgn-lbl-bg-6: #F0C000;
	--pmgn-lbl-txt-7: none;
	--pmgn-lbl-fg-7: #000000;
	--pmgn-lbl-bg-7: #F0C000;
	--pmgn-lbl-txt-8: none;
	--pmgn-lbl-fg-8: #000000;
	--pmgn-lbl-bg-8: #F0C000;
	--pmgn-lbl-txt-9: none;
	--pmgn-lbl-fg-9: #000000;
	--pmgn-lbl-bg-9: #F0C000;
	--pmgn-lbl-txt-10: none;
	--pmgn-lbl-fg-10: #000000;
	--pmgn-lbl-bg-10: #F0C000;
	--pmgn-btn-bg: #FFA200;
	--pmgn-btn-fg: #FFFFFF;

	--base-lh: 1.75;
	--serif: "Roboto Slab", serif;
	--sans-serif: "Roboto", sans-serif;
	
	--font-body: var(--serif);
	--font-heading: var(--serif);
	--font-nav: var(--serif);
	--font-zapfline: var(--serif);
}

body
{
	background: #FFF;
	color: #000;
	display: flex;
	flex-direction: column;
	font-family: var(--font-body);
	min-height: 100vh;
	padding-inline: 1rem;
}

/* Generic elements */

h1
{
	font-family: var(--font-heading);
	font-size: 28px;
	font-weight: bold;
}

h2
{
	font-family: var(--font-heading);
	font-size: 21px;
	font-weight: bold;
	text-transform: uppercase;
}

h3
{
	font-family: var(--font-heading);
	font-size: 18px;
	font-weight: bold;
	text-transform: uppercase;
}

h4
{
	font-weight: bold;
}

code, pre, tt
{
	font-family: monospace;
}

a { color: #00437A; text-decoration: underline; }
a img { border: none; }

b, strong { font-weight: bold; }
i, em { font-style: italic; }

blockquote
{
	border-radius: 1ex;
	color: #333;
	font-family: serif;
	font-size: 24px;
	font-style: italic;
	margin: 0 auto;
	max-width: 450px;
	padding: 1em 4em;
	position: relative;
	quotes: "\201C" "\201D";
	text-align: center;
}
blockquote::before, blockquote::after
{
	color: #CCC;
	display: inline-block;
	font-family: "Times New Roman", serif;
	font-style: normal;
	font-size: 300%;
	font-weight: bold;
	line-height: 1ex;
	position: absolute;
}
blockquote::before
{
	content: open-quote;
	left: 1ex;
	top: 0.75ex;
}
blockquote::after
{
	bottom: 0;
	content: close-quote;
	right: 1ex;
}

button, input[type=button], input[type=submit]
{
	font-family: inherit;
}

#content-column blockquote > p:first-child
{
	margin-top: 0;
}
#content-column blockquote > p:last-child
{
	margin-bottom: 0;
}

figure.wp-caption
{
	margin: 1em 0;
}

figcaption.wp-caption-text
{
	color: #666;
	font-size: 80%;
	margin-top: 1ex;
}

hr
{
	background: #C5C5C5;
	border: none;
	color: #C5C5C5;
	clear: both;
	height: 1px;
	margin: 1ex 0;
}

input[type=email],
input[type=password],
input[type=tel],
input[type=text],
input[type=url],
select,
textarea
{
	background: #FFF;
	border: 1px solid #BFBFBF;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color: #000;
	padding: 3px;
}

main p
{
	margin-block: 1em;
}

/* Grid system */

.col-xs-3, .col-xs-4, .col-xs-6, .col-xs-8, .col-xs-9, .col-xs-12,
.col-sm-3, .col-sm-4, .col-sm-6, .col-sm-8, .col-sm-9, .col-sm-12,
.col-md-3, .col-md-4, .col-md-6, .col-md-8, .col-md-9, .col-md-12,
.col-lg-3, .col-lg-4, .col-lg-6, .col-lg-8, .col-lg-9, .col-lg-12
{
	box-sizing: border-box;
	min-height: 1px;
	padding-left: 15px;
	padding-right: 15px;
	position: relative;
}

.col-xs-3, .col-xs-4, .col-xs-6, .col-xs-8, .col-xs-12 { float: left; }
.col-xs-12 { width: 100%; }
.col-xs-9 { width: 75%; }
.col-xs-8 { width: 66.66666667%; }
.col-xs-6 { width: 50%; }
.col-xs-4 { width: 33.33333333%; }
.col-xs-3 { width: 25%; }
.offset-xs-3 { margin-left: 25%; }
.offset-xs-4 { margin-left: 33.33333333%; }
.offset-xs-6 { margin-left: 50%; }
.offset-xs-8 { margin-left: 66.66666667%; }
.offset-xs-9 { margin-left: 75%; }

.row
{
	margin-left: -15px;
	margin-right: -15px;
}

.row:after
{
	clear: both;
}

.row:after, .row:before
{
	content: '';
	display: table;
}

@media (min-width: 768px)
{
	.col-sm-3, .col-sm-4, .col-sm-6, .col-sm-8, .col-sm-9, .col-sm-12 { float: left; }
	.col-sm-12 { width: 100%; }
	.col-sm-9 { width: 75%; }
	.col-sm-8 { width: 66.66666667%; }
	.col-sm-6 { width: 50%; }
	.col-sm-4 { width: 33.33333333%; }
	.offset-sm-3 { margin-left: 25%; }
	.offset-sm-4 { margin-left: 33.33333333%; }
	.offset-sm-6 { margin-left: 50%; }
	.offset-sm-8 { margin-left: 66.66666667%; }
	.offset-sm-9 { margin-left: 75%; }
}

@media (min-width: 992px)
{
	.col-md-3, .col-md-4, .col-md-6, .col-md-8, .col-md-9, .col-md-12 { float: left; }
	.col-md-12 { width: 100%; }
	.col-md-9 { width: 75%; }
	.col-md-8 { width: 66.66666667%; }
	.col-md-6 { width: 50%; }
	.col-md-4 { width: 33.33333333%; }
	.col-md-3 { width: 25%; }
	.offset-md-3 { margin-left: 25%; }
	.offset-md-4 { margin-left: 33.33333333%; }
	.offset-md-6 { margin-left: 50%; }
	.offset-md-8 { margin-left: 66.66666667%; }
	.offset-md-9 { margin-left: 75%; }
}

@media (min-width: 1200px)
{
	.col-lg-3, .col-lg-4, .col-lg-6, .col-lg-8, .col-lg-9, .col-lg-12 { float: left; }
	.col-lg-12 { width: 100%; }
	.col-lg-9 { width: 75%; }
	.col-lg-8 { width: 66.66666667%; }
	.col-lg-6 { width: 50%; }
	.col-lg-4 { width: 33.33333333%; }
	.col-lg-3 { width: 25%; }
	.offset-lg-3 { margin-left: 25%; }
	.offset-lg-4 { margin-left: 33.33333333%; }
	.offset-lg-6 { margin-left: 50%; }
	.offset-lg-8 { margin-left: 66.66666667%; }
	.offset-lg-9 { margin-left: 75%; }
	.wrapper { max-width: 1140px; }
}

/* Scaffolding and presentational classes */

.no-js .js-only
{
	display: none;
}

.pillar
{
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: 1170px;
	position: relative;
	width: 100%;
}

.pull-left
{
	float: left;
}

.pull-right
{
	float: right;
}

.sr-only
{
	border: 0;
	clip: rect(0,0,0,0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

@media (min-width: 768px)
{
	.pillar
	{
		padding-inline: 1rem;
	}
}

/* Scaffolding: Header */

header a[href]
{
	color: inherit;
	text-decoration: none;
}

header .menu
{
	line-height: 1;
}

header .menu-item
{
	display: inline;
	padding: 0;
}

header .social-media
{
	align-items: center;
	background: #FFF;
	border-radius: 50%;
	display: inline-flex;
	height: 1.5em;
	justify-content: center;
	line-height: 1.75em;
	margin-right: 1ex;
	text-align: center;
	vertical-align: middle;
	width: 1.5em;
}

#topbar
{
	background: #E3E3E3;
	color: #525252;
	margin-inline: -1rem;
	padding-inline: 1rem;
	padding-top: 0.5rem;
}

#topbar > .pillar
{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	min-height: 2rem;
}

#menu-topnav
{
	display: flex;
	flex-direction: row;
	line-height: 1.5rem;
}

#menu-topnav a
{
	display: inline-block;
}

#menu-topnav a[href="/"],
#menu-topnav a[href="#"]
{
	background: #FAFAFA;
	padding-inline: 0.5rem;
}

#branding-wrapper
{
	margin-inline: -1rem;
	padding-inline: 1rem;
}

#branding
{
	align-items: center;
	display: flex;
	flex-direction: row;
	gap: 1rem;
	justify-content: space-between;
}

#logo-link
{
	flex: 0 1 auto;
	margin-bottom: 2em;
	margin-top: 2em;
}

#logo
{
	display: block;
	height: auto;
	max-height: 64px;
	max-width: 100%;
	position: relative;
	z-index: 2;
}

#promo-image-link
{
	flex: 0 0 auto;
}

#promo-image
{
	display: block;
	height: auto;
	max-height: 96px;
	width: auto;
}

#account-nav
{
	flex: 1 0 auto;
	font-size: 12px;
	line-height: 1.5;
	margin-bottom: 0;
	position: relative;
	text-align: right;
	text-transform: uppercase;
	z-index: 2;
}

#account-nav > ul
{
	display: flex;
	flex-direction: row;
	gap: 0.5rem;
	justify-content: flex-end;
}

#account-nav li
{
	display: inline-block;
}

#account-nav a
{
	display: inline-block;
	font-weight: bold;
	padding: 1.2ex;
}

#account-nav .btn-inline-toggle
{
	background: #E3E3E3;
	color: #000;
	display: inline-block;
}

#account-nav .active
{
	background-color: #808080;
	box-shadow: 2px 2px 2px rgba(0,0,0,0.5);
	color: #FFF;
}

#account-nav .inline-dropdown
{
	background: #E3E3E3;
	box-shadow: 2px 2px 2px rgba(0,0,0,0.5);
	color: #000;
	display: none;
	line-height: 2;
	min-width: 200px;
	opacity: 0;
	padding: 1rem;
	position: absolute;
	right: 0;
	text-align: left;
	text-transform: none;
	top: 100%;
	transition: opacity 0.25s;
	z-index: 2;
}

#account-nav .menu-item-subscribe
{
	background: transparent;
	background-color: var(--pmgn-subscribe-bg, transparent);
}

#account-nav .menu-item-subscribe a
{
	color: var(--pmgn-subscribe-fg, #000000);
}

#account-nav .menu-item-subscribe .subscribe-ext
{
	display: none;
}

#account-nav label[for]
{
	display: block;
	font-size: x-small;
}

#account-nav .active .inline-dropdown
{
	display: block;
	opacity: 1;
}

#account-nav .pmgsub-btn.pmgsub-btn-primary
{
	margin-bottom: 0;
}

#account-nav input[type=checkbox]
{
	vertical-align: middle;
}

#account-nav .inline-profile-menu a
{
	display: block;
}

#account-nav p.login-username,
#account-nav p.login-password
{
	margin-bottom: 1ex;
}

#account-nav p.login-submit
{
	margin-block: 1ex 1em;
}

#account-nav a.forgot-pw
{
	color: #00437A;
	display: block;
	font-weight: normal;
	line-height: normal;
	padding: 0;
}

#account-nav a.forgot-pw:hover
{
	text-decoration: underline;
}

@media (min-width: 576px)
{
	#account-nav
	{
		font-size: unset;
	}
	
	#account-nav .inline-login
	{
		min-width: 300px;
	}
}

@media (min-width: 1200px)
{
	#account-nav .menu-item-subscribe .subscribe-basic { display: none; }
	#account-nav .menu-item-subscribe .subscribe-ext { display: inline; }
}

#navbar-wrapper
{
	margin-inline: -1rem;
	padding-inline: 1rem;
}

#navbar
{
	box-sizing: border-box;
	font-family: var(--font-nav);
	font-weight: bold;
	margin: 0 auto;
	max-width: 1170px;
	text-transform: uppercase;
}

#navbar .pillar
{
	align-items: center;
	border-bottom: 2px solid #000;
	display: flex;
	padding-inline: 0;
	position: relative;
}

.menu-main-container
{
	flex-grow: 1;
}

#menu-main
{
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 1;
}

#menu-main > li
{
	position: relative;
}

#menu-main .sub-menu
{
	border-top: 1px solid rgba(0,0,0,0.25);
	display: none;
	flex-direction: column;
}

#menu-main .sub-menu a::before
{
	border-color: #000;
	border-style: solid solid none none;
	border-width: 2px;
	content: '';
	display: inline-block;
	height: 0.4rem;
	margin-right: 0.5rem;
	transform: translateY(-0.25em) rotate(45deg);
	vertical-align: bottom;
	width: 0.4rem;
}

#menu-main > .menu-item-has-children a
{
	position: relative;
}

#menu-main > .menu-item-has-children > a
{
	padding-right: 1rem;
}

#menu-main > .menu-item-has-children > a::after
{
	border-color: #000;
	border-style: solid solid none none;
	border-width: 2px;
	content: '';
	height: 0.4rem;
	position: absolute;
	right: 1em;
	top: 50%;
	transition: transform ease 0.5s;
	transform: translateY(-50%) rotate(45deg);
	width: 0.4rem;
}

#menu-main > .menu-item-has-children.active > a::after
{
	transform:  translateY(-50%) rotate(135deg);
}

#menu-main > .menu-item-has-children.active > .sub-menu
{
	display: flex;
}

#navbar .search-box
{
	flex: 1 0 auto;
	text-align: right;
}

#navbar .search-form
{
	align-items: center;
	background: #FFFFFF;
	border-bottom: 2px solid #000;
	border-top: 2px solid #E3E3E3;
	box-shadow: 0 1ex 0.5ex rgba(0,0,0,0.25);
	bottom: auto;
	display: none;
	left: 0;
	line-height: 2;
	padding: 1ex 1rem;
	position: absolute;
	right: 0;
	top: 100%;
	z-index: 2;
}

#navbar .search-form button
{
	background: transparent;
	border-color: #000;
	border-style: none solid none none;
	border-width: 2px;
	color: inherit;
}

#navbar .search-form input
{
	flex: 1 0 auto;
}

#navbar .search-box.active .search-form
{
	display: flex;
}

@media(min-width: 768px)
{
	#menu-topnav .menu-item
	{
		margin-left: 1ex;
	}
	
	#navbar
	{
		padding-inline: 1rem;
	}
	
	#navbar .pillar
	{
		padding-bottom: 0.25rem;
	}
	
	#navbar .menu-item
	{
		display: inline-block;
	}
	
	#navbar #menu-toggle
	{
		display: none;
	}
	
	#menu-main
	{
		flex-direction: row;
		gap: 1rem;
	}
	
	#menu-main .sub-menu
	{
		display: none !important;
	}
	
	#menu-main > .menu-item-has-children > a::after
	{
		right: 0;
		transition: none;
		transform: translateY(-75%) rotate(135deg) !important;
	}

	#menu-main .sub-menu a::before
	{
		content: none;
	}

	#menu-main > li:nth-child(n + 2)::before
	{
		border-left: 1px solid #000;
		bottom: 0;
		content: '';
		left: -8px;
		position: absolute;
		top: 0;
	}
	
	#menu-main > li.menu-item-has-children:hover::before
	{
		background: #FFF;
		border-color: #E3E3E3;
		border-style: solid solid none;
		border-width: 1px;
		box-shadow: 2px 2px 2px rgba(0,0,0,0.5);
		content: '';
		inset: -10px -12px;
		position: absolute;
		z-index: 2;
	}

	#menu-main > li.menu-item-has-children:hover::after
	{
		background: #FFF;
		content: '';
		inset: -9px -11px -1px;
		position: absolute;
		z-index: 3;
	}

	#menu-main > li.menu-item-has-children > a
	{
		position: relative;
		z-index: 4;
	}

	#menu-main .menu-item-has-children > .sub-menu
	{
		background: #FFF;
		border: 1px solid #E3E3E3;
		box-shadow: 2px 2px 2px rgba(0,0,0,0.5);
		flex-direction: column;
		gap: 0.75rem;
		left: -12px;
		min-width: calc(100% - 2px);
		padding: 0.75rem;
		position: absolute;
		white-space: nowrap;
		z-index: 2;
	}
	
	#menu-main .menu-item-has-children:hover > .sub-menu
	{
		display: flex !important;
	}
	
	#menu-main .menu-item-has-children:hover > .sub-menu > li:hover
	{
		background: #E3E3E3;
		outline: 0.5rem solid #E3E3E3;
	}
	
	#navbar .search-box
	{
		position: relative;
	}

	#navbar .search-form
	{
		border: none;
		box-shadow: none;
		left: auto;
		padding: 0;
		right: 0;
		top: 50%;
		transform: translateY(-50%); 
	}
}

@media(max-width: 1023px)
{
	#promo-image-link
	{
		display: none;
	}
}

@media(max-width: 767px)
{
	header
	{
		will-change: scroll-position, contents;
	}
	
	#logo
	{
		transform: translateZ(0);
		transition: max-height 0.5s ease 0s;
	}
	
	.scrolled
	{
		padding-top: 13rem;
	}
	
	.scrolled #logo
	{
		max-height: 32px;
	}
	
	#logo-link
	{
		transition: margin 0.5s ease 0s;
	}
	
	.scrolled #logo-link
	{
		margin-bottom: 8px;
		margin-top: 8px;
	}
	
	.scrolled header
	{
		backdrop-filter: blur(0.5rem);
		background: #FFFFFFDD;
		box-shadow: 0 0 1ex 0.5ex rgba(0,0,0,0.25);
		left: 0;
		position: fixed;
		right: 0;
		top: 0;
		z-index: 10;
	}
	
	.scrolled #topbar,
	.scrolled #topbar + .leaderboard
	{
		display: none;
	}
	
	.scrolled #branding
	{
		min-height: 3rem;
		padding-inline: 1rem;
		width: 100%;
	}
	
	.scrolled #promo-image
	{
		max-height: 2rem;
		opacity: 1;
	}
	
	#navbar
	{
		top: 120px;
		transition: top 0.5s ease 0s, box-shadow 0.5s ease 0s;
	}
	
	.scrolled #navbar .pillar
	{
		padding-inline: 1rem;
	}
	
	#menu-topnav a:not([href="/"]):not([href="#"])
	{
		display: none;
	}
	
	#menu-toggle
	{
		cursor: pointer;
		display: inline-block;
		line-height: 2;
	}
	#menu-toggle .fa-bars
	{
		margin-right: 1ex;
	}
	
	.menu-main-container
	{
		background: #FFF;
		border-bottom: 2px solid #000;
		border-top: 2px solid #000;
		box-shadow: 0 1ex 0.5ex rgba(0,0,0,0.25);
		display: none;
		left: 0;
		position: absolute;
		right: 0;
		top: 100%;
		width: auto;
		z-index: 3;
	}
	
	#menu-toggle.active + .menu-main-container
	{
		display: block;
	}
	
	#menu-main .menu-item a
	{
		border-top: 1px solid rgba(0,0,0,0.25);
		display: block;
		padding: 0.5rem 1rem;
	}
	
	#menu-main .menu-item:first-child a
	{
		border-top: none;
	}
}

/* Scaffolding: footer */

footer
{
	background: #990000;
	background-color: var(--pmgn-footer-bg, #990000);
	color: var(--pmgn-footer-fg, #FFFFFF);
	margin: 2em -1rem 0;
	padding-top: 2em;
}

footer a
{
	color: inherit;
}

footer .pillar
{
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding-inline: 1rem;
}

footer .copyright
{
	background: #5B0000;
	background-color: var(--pmgn-copyright-bg, #5B0000);
	color: var(--pmgn-copyright-fg, #FFFFFF);
	margin-top: 2rem;
	padding-bottom: 1em;
	padding-top: 1em;
}

@media(min-width: 768px)
{
	footer .pillar
	{
		flex-direction: row;
	}
	
	footer address
	{
		flex: 0 1 auto;
	}
	
	footer .newsletter-form
	{
		align-self: flex-end;
		flex: 1 1 50%;
	}
	
	footer .menu-footer-container
	{
		flex: 1 1 auto;
		padding-inline: 3rem;
	}
}

@media(min-width: 1024px)
{
	footer .newsletter-form
	{
		flex: 0 1 360px;
	}
}

/* Scaffolding: content */

#main
{
	flex: 1 1 auto;
	padding-top: 1rem;
}

#main > .pillar
{
	display: flex;
	flex-direction: column;
	gap: 1rem;
	justify-content: space-between;
}

#main > .pillar > p
{
	flex-basis: 100%;
	margin: 1em 0;
}

#sidebar-column
{
	display: flex;
	flex-direction: column;
	gap: 1rem;
	order: 999;
}

@media(min-width: 1200px)
{
	#main > .pillar
	{
		flex-direction: row;
		flex-wrap: wrap;
	}

	#content-column
	{
		box-sizing: border-box;
		flex: 1 1 750px;
	}
	
	#content-column.wide
	{
		padding-bottom: 4em;
	}
	
	#sidebar-column
	{
		flex: 0 0 360px;
		order: 0;
	}
}

/* Basic content */

.error
{
	background: #FFEBE8;
	border-color: #CC0000;
}

.notice
{
	background: #FFFFE0;
	border-color: #E6DB55;
}

.error,
.notice
{
	border-radius: 3px;
	border-style: solid;
	border-width: 1px;
	margin: 1rem 0;
	padding: 0 1rem;
}

.disclaimer
{
	background: #CECECE;
	box-sizing: border-box;
	flex: 1 0 100%;
	margin-bottom: 1rem;
	padding: 0.5rem 1rem;
}

.mnl-signup .mnl-field-email .mnl-label
{
	display: none;
}

.mnl-field-submit .mnl-btn-submit:disabled
{
	background: #CCC;
}

.grecaptcha-badge
{
	display: none;
}

.meta
{
	color: #525252;
	font-size: 12px;
}

.meta-comments
{
	color: inherit;
	text-decoration: none;
}

.meta-sep
{
	margin: 0 0.5ex;
}

.meta-sep-before-author,
.meta-author
{
	display: none;
}

.wp-post-image
{
	height: auto;
	max-width: 100%;
}

.post-title
{
	font-family: var(--font-heading);
}

.zapfline
{
	color: var(--pmgn-zapfline-1, #009FE4);
	display: block;
	font-family: var(--font-zapfline);
	font-weight: bold;
	hyphens: auto;
	text-transform: uppercase;
}
.zapfline.zapfline-1 { color: var(--pmgn-zapfline-1, #009FE4); }
.zapfline.zapfline-2 { color: var(--pmgn-zapfline-2, #009FE4); }
.zapfline.zapfline-3 { color: var(--pmgn-zapfline-3, #009FE4); }
.zapfline.zapfline-4 { color: var(--pmgn-zapfline-4, #009FE4); }
.zapfline.zapfline-5 { color: var(--pmgn-zapfline-5, #009FE4); }
.zapfline.zapfline-6 { color: var(--pmgn-zapfline-6, #009FE4); }
.zapfline.zapfline-7 { color: var(--pmgn-zapfline-7, #009FE4); }
.zapfline.zapfline-8 { color: var(--pmgn-zapfline-8, #009FE4); }

.title-info .zapfline
{
	margin-bottom: -1em;
}

.has-label
{
	position: relative;
}

.has-label::before
{
	font-weight: bold;
	left: 0;
	padding: 1ex 1em;
	position: absolute;
	text-transform: uppercase;
	top: 0;
	z-index: 1;
}

.has-label.label-1::before { background: var(--pmgn-lbl-bg-1, #000000); color: var(--pmgn-lbl-fg-1, #000000); content: var(--pmgn-lbl-txt-1, none); }
.has-label.label-2::before { background: var(--pmgn-lbl-bg-2, #000000); color: var(--pmgn-lbl-fg-2, #000000); content: var(--pmgn-lbl-txt-2, none); }
.has-label.label-3::before { background: var(--pmgn-lbl-bg-3, #000000); color: var(--pmgn-lbl-fg-3, #000000); content: var(--pmgn-lbl-txt-3, none); }
.has-label.label-4::before { background: var(--pmgn-lbl-bg-4, #000000); color: var(--pmgn-lbl-fg-4, #000000); content: var(--pmgn-lbl-txt-4, none); }
.has-label.label-5::before { background: var(--pmgn-lbl-bg-5, #000000); color: var(--pmgn-lbl-fg-5, #000000); content: var(--pmgn-lbl-txt-5, none); }
.has-label.label-6::before { background: var(--pmgn-lbl-bg-6, #000000); color: var(--pmgn-lbl-fg-6, #000000); content: var(--pmgn-lbl-txt-6, none); }
.has-label.label-7::before { background: var(--pmgn-lbl-bg-7, #000000); color: var(--pmgn-lbl-fg-7, #000000); content: var(--pmgn-lbl-txt-7, none); }
.has-label.label-8::before { background: var(--pmgn-lbl-bg-8, #000000); color: var(--pmgn-lbl-fg-8, #000000); content: var(--pmgn-lbl-txt-8, none); }
.has-label.label-9::before { background: var(--pmgn-lbl-bg-9, #000000); color: var(--pmgn-lbl-fg-9, #000000); content: var(--pmgn-lbl-txt-9, none); }
.has-label.label-10::before { background: var(--pmgn-lbl-bg-10, #000000); color: var(--pmgn-lbl-fg-10, #000000); content: var(--pmgn-lbl-txt-10, none); }

/* Primary content: Basic styles */

#content-column h1
{
	margin-block: 0.5rem;
}

#content-column h2,
#content-column h3
{
	margin-bottom: 0.5ex;
	text-transform: none;
}

#content-column .text
{
	line-height: var(--base-lh);
}

#content-column .text > ol
#content-column .text .row ol
{
	list-style-position: outside;
	list-style-type: decimal;
	margin: 1em 0;
	padding-left: 2em;
}

#content-column .text a
{
	color: var(--pmgn-links, #00437A);
}

#content-column .text img
{
	height: auto;
	max-width: 100%;
}

#content-column .text > ul,
#content-column .text .row ul
{
	list-style-position: outside;
	list-style-type: disc;
	margin: 1em 0;
	padding-left: 2em;
}

/* Recurring elements */

.avatar
{
	display: block;
}

/* Front page */

#showcase
{
	margin-bottom: 2rem;
}

#showcase > a
{
	flex-basis: calc(50% - 1rem);
}

@media (min-width: 768px)
{
	
	#showcase > a:first-child
	{
		flex-basis: 100%;
	}
	
	#showcase > a:first-child .post-title
	{
		font-size: 2.375rem;
	}
}

.home .mnl-partner-carousel-wrapper
{
	border-top: 1px solid #ECECEC;
	padding-top: 1rem;
}

/* Primary content: Post */

.single.content h1.post-title
{
	color: var(--pmgn-title, #000000);
}

.single.content .text > :is(h2, h3, h4)
{
	color: var(--pmgn-heading, #137EBE);
}

#hero-image
{
	margin-block: 1rem;
}

#hero-image img
{
	aspect-ratio: 3 / 2;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

#image-info
{
	font-size: 75%;
}

#image-info .image-copyright::before
{
	content: '\00A9\00A0';
	display: inline-block;
}

.single .header-related
{
	margin-top: 1em;
}

.single .image
{
	background-image: none;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}

.single .readmore
{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 1rem;
	margin-block: 1rem;
}

.single .readmore-heading
{
	flex-basis: 100%;
}

.single .readmore-item
{
	align-items: center;
	display: flex;
	flex: 0 0 100%;
	flex-direction: row;
	gap: 1rem;
	justify-content: flex-start;
}

.single .readmore-thumbnail
{
	display: block;
	height: 6rem;
	object-fit: cover;
	width: 6rem;
}

.single .readmore-title
{
	color: inherit !important;
	font-family: var(--font-heading);
	font-size: 18px;
	font-weight: bold;
	text-decoration: none;
}

.single .tags
{
	clear: both;
	color: #A6A6A6;
	font-size: 12px;
}

.single .tags a
{
	color: inherit;
}

.wp-singular figure.aligncenter,
.wp-singular img.aligncenter
{
	display: block;
	height: auto;
	margin: 0 auto;
	max-width: 100%;
}

.wp-singular figure.alignleft,
.wp-singular img.alignleft
{
	float: left;
	margin: 0 1em 1em 0;
}

.wp-singular figure.alignright,
.wp-singular img.alignright
{
	float: right;
	margin: 0 0 1em 1em;
}

.wp-singular img.imground
{
	border: 4px solid #CCC;
	border-radius: 50%;
}

.wp-singular img.fluid,
.wp-singular img.liquid
{
	display: block;
	height: auto;
	max-width: 100%;
	width: 100%;
}

.highlight
{
	background: #E3E3E3;
	padding: 1ex 1em;
}

.author-details
{
	border: 1px solid #DDD;
	display: flex;
	flex-direction: row;
	gap: 1rem;
	margin: 1em 0;
	padding: 1em;
}

.author-info
{
	flex: 1 1 auto;
	overflow: hidden;
}

.author-name
{
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 0.5rem;
}

.author-bio
{
	line-height: var(--base-lh);
}

.author-links
{
	float: left;
}

.author-link
{
	align-items: center;
	background: #A6A6A6;
	border-radius: 50%;
	color: #FFF;
	display: inline-flex;
	height: 2em;
	justify-content: center;
	margin-right: 1ex;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	width: 2em;
}

.author-logo
{
	float: right;
}

.author-logo-image
{
	display: inline-block;
	vertical-align: bottom;
}

.xlat-marker
{
	background: #ECECEC;
	font-style: italic;
	line-height: 1.25;
	margin-block: 1em;
	padding: 1em;
}

.xlat-marker::before
{
	content: '\F05A';
	display: inline-block;
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
	margin-right: 1ex;
}

@media(max-width: 768px)
{
	#hero-image.hq .title-info h1
	{
		font-size: 36px;
	}
	
	#hero-image.lq .title-info h1
	{
		font-size: 24px;
	}
}

@media(max-width: 480px)
{
	#hero-image.hq .title-info h1
	{
		font-size: 24px;
	}
	#hero-image.lq .title-info h1
	{
		font-size: 21px;
	}
}

/* Primary content: Loop */

.loop
{
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-block: 1rem;
}

.loop:first-child
{
	margin-top: 0;
}

.loop .has-label::before
{
	font-size: 75%;
}

.loop .excerpt
{
	hyphenate-limit-chars: 12 4 4;
	hyphens: auto;
	line-height: 1.25;
	margin-block: 0.5rem;
}

@media (min-resolution: 1.25dppx)
{
	.loop .excerpt { font-weight: 200; }
}

.loop .post-title
{
	font-size: 1.25rem;
	hyphenate-limit-chars: 12 4 4;
	hyphens: auto;
	text-wrap: balance;
}

.loop .thumbnail-wrapper
{
	aspect-ratio: 4 / 3;
	margin-bottom: 0.5rem;
}

.loop a
{
	color: #000;
	flex: 1 1 100%;
	text-decoration: none;
}

.loop img.thumbnail
{
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

@media(min-width: 768px)
{
	.loop
	{
		flex-direction: row;
		flex-wrap: wrap;
	}
	
	.loop a
	{
		flex: 0 0 calc(33.333% - 1.34rem);
	}
	
	.loop img.thumbnail
	{
		height: 100%;
	}
}

/* Primary content: related items */

.related-container
{
	gap: 1rem;
	margin-block: 1rem;
}


@media(min-width: 420px)
{
	.related-container { flex-direction: row; flex-wrap: wrap; }
	.related-container > a { flex-basis: calc(50% - 0.5rem); }
}

@media(min-width: 768px)
{
	.related-container > a { flex-basis: calc(33.333% - 0.67rem); }
	.related-container > a:nth-child(n + 4) { display: none; }
}

.calendar-archive .calendar-entry
{
	display: flex;
	padding-bottom: 1ex;
}

.calendar-archive time
{
	display: inline-block;
	flex: 0 0 10em;
	width: 10em;
}

.calendar-archive a
{
	display: inline-block;
	flex: 1;
}

#extra-cats
{
	display: flex;
	flex: 0 0 100%;
	flex-direction: column;
	gap: 1rem;
}

#extra-cats .extra-cat
{
	border-top: 1px solid #ECECEC;
}

#extra-cats .extra-cat-title
{
	margin-bottom: 0.5ex;
	margin-top: 1em;
	text-transform: none;
}

#extra-cats .loop
{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 1rem;
}

#extra-cats .loop a
{
	flex: 0 0 100%;
}

#extra-cats .extra-cat-link
{
	margin-top: 1rem;
	text-align: center;
}

#extra-cats .extra-cat-link .button
{
	background: transparent;
	border: 1px solid #000;
	color: #000;
	font-size: 0.9rem;
	padding: 0.5em 2em;
}

@media (min-width: 420px)
{
	#extra-cats .loop a { flex-basis: calc(50% - 0.5rem); }
}

@media (min-width: 768px)
{
	#extra-cats .loop a { flex-basis: calc(25% - 0.75rem); }
}

/* Primary content: glossary */

.glossary-archive article.glossary-term
{
	border-bottom: 1px solid #BFBFBF;
	font-size: 125%;
	font-weight: bold;
	padding: 1rem 0;
}

.glossary-archive article.glossary-term a
{
	text-decoration: none;
}

.glossary-archive article.glossary-term a:hover
{
	text-decoration: underline;
}

/* Primary content: PDF archive */

.pdf-paper-search
{
	align-items: flex-end;
	display: flex;
	margin-right: -1em;
}

.pdf-paper-search fieldset
{
	flex: 0 1 auto;
	margin-right: 1em;
	white-space: nowrap;
}

.pdf-paper-search label
{
	display: block;
	font-weight: bold;
}
.pdf-paper-search input[type=number]
{
	width: 5em;
}
.pdf-paper-search .pdf-paper-keywords
{
	flex-grow: 1;
}

.pdf-paper-search .pdf-paper-keywords input
{
	width: 100%;
}

.pdf-paper-search #pdf-year-criterion
{
	display: none;
}

.pdf-paper-search #pdf-year-range
{
	display: none;
}

.pdf-paper-paging
{
	margin: 1ex -0.5ex;
	text-align: center;
}

.pdf-paper-paging a
{
	border: 1px solid silver;
	border-radius: 3px;
	display: inline-block;
	margin: 0.5ex;
	padding: 0 1ex;
	text-decoration: none;
}

.pdf-paper-paging a.active
{
	background: #00437A;
	border-color: #00437A;
	color: #FFF;
	font-weight: bold;
}

.pdf-archive-volume
{
	margin: 20px 0;
}

.pdf-paper-loop
{
	display: grid;
	grid-column-gap: 1em;
	grid-row-gap: 1em;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	position: relative;
}

.pdf-paper-item
{
	box-sizing: border-box;
	position: relative;
}

.pdf-paper-thumbnail
{
	display: block;
	height: auto;
	width: 100%;
}

.pdf-paper-link
{
	border: 1px solid silver;
	bottom: 0;
	display: block;
	left: 0;
	overflow: hidden;
	position: absolute;
	right: 0;
	text-decoration: none;
	top: 0;
	z-index: 1;
}

.pdf-paper-title
{
	background: rgba(0,0,0,0.75);
	bottom: 0;
	box-shadow: 0 0 0.5ex 1ex rgba(0,0,0,0.75);
	color: #FFF;
	left: 0;
	padding: 1ex;
	position: absolute;
	right: 0;
	top: auto;
}

@media (max-width: 480px)
{
	.pdf-paper-loop
	{
		grid-template-columns: repeat(auto-fill, minmax(128px, 1fr));
	}
}

/* Primary content: Paging */

nav.history
{
	color: var(--pmgn-links, #00437A);
	display: flex;
	flex-direction: row;
	font-weight: bold;
	justify-content: space-between;
	margin-block: 1rem;
}

nav.history a
{
	color: inherit;
}

nav.history .alignleft:not(:empty)::before
{
	content: '\f053';
	display: inline-block;
	font-family: FontAwesome;
	margin-right: 1ex;
}

nav.history .alignright
{
	margin-left: auto;
}

nav.history .alignright:not(:empty)::after
{
	content: '\f054';
	display: inline-block;
	font-family: FontAwesome;
	margin-left: 1ex;
}

/* Primary content: whitepaper downloads */

.form-whitepaper
{
	max-width: 768px;
	width: 100%;
}

.form-whitepaper .form-group
{
	margin-bottom: 1rem;
}

.form-whitepaper .form-control
{
	border-radius: 4px;
	padding: 6px;
	width: 100%;
}

/* Primary content: Comments */

.comment-section
{
	margin-top: 1em;
}

.comment-list
{
	margin: 1em 0 2em;
}

#content-column .comment .text p
{
	margin: 0;
}

#content-column .comment .text p + p
{
	margin-top: 1em;
}

.comment
{
	border-bottom: 1px solid #DDD;
	display: block;
	overflow: hidden;
	padding: 1rem 0;
}

.comment .avatar
{
	float: left;
	height: 48px;
	margin-right: 1rem;
	width: 48px;
}

.comment .text
{
	overflow: hidden;
}

.comment-form
{
	margin-bottom: 2em;
}

.comment-form .avatar
{
	float: left;
	height: 48px;
	margin-right: 1ex;
	width: 48px;
}

.comment-form .profile-data
{
	font-size: 10px;
	overflow: hidden;
}

.comment-form .profile-data .field
{
	padding-bottom: 0.5ex;
}

.comment-form .teaser
{
	display: none;
	margin: 1em 0;
}

.comment-form textarea
{
	display: block;
	width: 100%;
}

.comment-form #rules
{
	float: right;
}

.comment-submit
{
	text-align: right;
}

.comment-submit .button[type=submit]
{
	background: var(--pmgn-btn-bg, #FFA200);
	border: none;
	color: var(--pmgn-btn-fg, #FFFFFF);
}

#comment_text_count
{
	border-color: #C5C5C5;
	color: black;
	font-weight: bold;
	text-align: center;
	width: 3em !important;
}

#comment_text_count.overflow
{
	background-color: #FFCCCC !important;
	border-color: red !important;
	color: red;
}

.comment-text-count
{
	text-align: right;
}

.prefilled
{
	background: #D8DADC;
	border-radius: 3px;
	color: #666666;
	display: inline-block;
	padding: 0 4px;
}

.comment-login-providers button
{
	border: none;
	border-radius: 3px;
	box-shadow: 2px 2px 2px 0 rgba(0,0,0,0.3);
	color: white;
	cursor: pointer;
	display: inline-block;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	font-weight: bold;
	line-height: 30px;
	margin: 1em 0 1em 1em;
	padding: 4px 1em;
	position: relative;
	width: calc((100% - 3em) / 4);
}

.comment-login-providers button:first-child
{
	margin-left: 0;
}

.comment-login-providers button:active
{
	box-shadow: none;
	left: 2px;
	top: 2px;
}

.comment-login-providers .fa
{
	margin-right: 1em;
}

.comment-login-providers .login-facebook
{
	background-color: #325D9B;
}

.comment-login-providers .login-google
{
	background-color: #A7291B;
}

.comment-login-providers .login-linkedin
{
	background-color: #006699;
}

.comment-login-providers .login-twitter
{
	background-color: #0088BB;
}

@media(max-width: 767px)
{
	.comment-login-providers .fa
	{
		margin-right: 0;
	}
	
	.comment-login-providers .provider-name
	{
		display: none;
	}
}

/* Primary content: in-flow newsletter signup */

.mnl-newsletter-container { margin-bottom: 2em; }
.from-newsletter .mnl-newsletter-container { display: none; }
.from-newsletter .forced { display: block; }
.newsletter-form p { margin-block: 1em; }

/* Primary content: pillar landing page */
.page-template-ptl-pillar #content-column .loop a { flex-basis: calc(50% - 1rem); }
.page-template-ptl-pillar .pillar-wrapper { border-top: 1px solid #E3E3E3; margin-top: 1rem; padding-top: 1rem; }
.page-template-ptl-pillar .leaderboard + .pillar-wrapper { border-top: none; margin-top: 0; }
.page-template-ptl-pillar #pillar-cat .loop { display: flex; flex-direction: column; gap: 1rem; }
.page-template-ptl-pillar #pillar-cat .loop a { display: block; flex: 0 0 auto; }
.page-template-ptl-pillar #pillar-cat .loop article.summary { align-items: start; display: flex; flex-direction: row; gap: 1rem; }
.page-template-ptl-pillar #pillar-cat .loop article.summary .excerpt { display: none; }
.page-template-ptl-pillar #pillar-cat .loop .thumbnail-wrapper { flex: 0 0 8rem; }
.page-template-ptl-pillar #pillar-cat .pillar-cat-link { margin-top: 1rem; text-align: center; }
.page-template-ptl-pillar #pillar-cat .pillar-cat-link .button { background: transparent; border: 1px solid #000; color: #000; font-size: 0.9rem; padding: 0.5em 2em; }
.page-template-ptl-pillar #pillar-partners { flex: 0 0 100%; }

/* Primary content: subscription process */
.page-template-ptl-subscribe #page { display: flex; flex-direction: column; min-height: 100vh; }
.page-template-ptl-subscribe .widget_includer { padding: 1rem; }
.page-template-ptl-subscribe .widget_includer > .titlebar { text-align: center; }
.page-template-ptl-subscribe .pmgsub { flex: 1 1 400px; }
.page-template-ptl-subscribe #branding { justify-content: space-around; text-align: center; }
.page-template-ptl-subscribe #logo-link { align-items: center; display: flex; flex-direction: row; flex: 0 0 auto; gap: 1rem; margin-bottom: 0; }
.page-template-ptl-subscribe footer .copyright { text-align: center; }
.page-template-ptl-subscribe #sidebar-column { flex: 0 0 360px; margin-left: 30px; }
.page-template-ptl-subscribe #sidebar-column .pmgsub-selected-type img { max-width: 336px; }
@media only screen and (max-width: 992px)
{
	.page-template-ptl-subscribe #main > .pillar { max-width: 720px; }
	.page-template-ptl-subscribe #sidebar-column { flex: 1 1 360px; margin: 0; order: 0; }
	.page-template-ptl-subscribe #sidebar-column .pmgsub-selected-type img { max-width: none; }
	.page-template-ptl-subscribe .pillar > .pmgsub { order: 1 }
	.page-template-ptl-subscribe .widget_includer { margin: 0; }
}

/* Primary content: YouTube */

.youtube-container + .youtube-container
{
	margin-top: 1.5em;
}

/* Secondary content: readmore with excerpt */

.readmore.with-excerpt { border: 1px solid #DDD; border-radius: 6px; padding: 1.5rem; }
.readmore.with-excerpt .readmore-item { align-items: flex-start; }
.readmore.with-excerpt .readmore-heading { display: none; }

/* Secondary content: newsletter signup */

.mnl-btn-submit { font-family: inherit; text-transform: uppercase; }
.mnl-btn-submit::before { content: '\f054'; display: inline-block; font-family: FontAwesome; }

.mnl-signup-compact { display: table; margin-top: 1em; table-layout: fixed; width: 100%; }
.mnl-signup-compact .mnl-field-email { display: table-cell; vertical-align: top; width: auto; }
.mnl-signup-compact .mnl-field-submit { display: table-cell; vertical-align: top; width: 48px; }
.mnl-signup-compact .mnl-input-email { border-color: #BFBFBF; border-style: solid none solid solid; border-width: 1px 0 1px 1px; -moz-box-sizing: border-box; box-sizing: border-box; display: block; height: 3rem; padding-left: 1em; padding-right: 1em; width: 100%; }
.mnl-signup-compact .mnl-btn-submit { background: var(--pmgn-btn-bg, #FFA200); border: none; color: var(--pmgn-btn-fg, #FFFFFF); cursor: pointer; display: block; height: 3rem; line-height: 3rem; width: 100%; }
.mnl-signup-compact .mnl-btn-submit span { display: none; }

.mnl-signup-full .mnl-field-email { margin-bottom: 1ex; }
.mnl-signup-full .mnl-input-email { border-color: #BFBFBF; border-style: solid; border-width: 1px; -moz-box-sizing: border-box; box-sizing: border-box; display: block; height: 3rem; padding-left: 1em; padding-right: 1em; width: 100%; }
.mnl-signup-full .mnl-field-privacy { float: left; font-size: 90%; margin-bottom: 1ex; }
.mnl-signup-full .mnl-btn-submit { background: var(--pmgn-btn-bg, #FFA200); border: none; color: var(--pmgn-btn-fg, #FFFFFF); cursor: pointer; display: block; float: right; height: 2.5em; line-height: 2.5em; padding: 0 1em; width: auto; }
.mnl-signup-full .mnl-btn-submit::before { margin-right: 1ex; }

#sidebar-column .mnl-signup-full { margin-bottom: 0; }

/* Secondary content: polls */

#content-column .poll-embedded ul,
.poll-embedded ul
{
	list-style-type: none;
	margin-left: 0;
	padding-left: 0;
}

.poll-embedded li
{
	display: block;
	margin-left: 0;
	padding-left: 0;
}

.poll-embedded input
{
	margin-right: 1ex;
}

.poll-embedded { border: 1px solid #DDD; margin: 1em 0; padding: 3ex 2em; }
#content-column .poll-embedded .question,
.poll-embedded .question { font-weight: bold; margin-bottom: 1em; margin-top: 0; }
.poll-embedded .controls { margin-top: 1em; }
.poll-embedded button[type=submit] { background: var(--pmgn-btn-bg, #FFA200); border: none; color: var(--pmgn-btn-fg, #FFFFFF); display: inline-block; height: 2rem; line-height: 2rem; padding: 0; }
.poll-embedded button[type=submit]::before { content: '\f054'; display: inline-block; font-family: FontAwesome; text-align: center; width: 2rem; }
.poll-embedded button[type=submit] span { background-color: #FFBE4D; display: inline-block; padding: 0 1.5rem; }

.poll-answer { margin-top: 0.5rem; }
.poll-answer-group { align-items: flex-start; display: flex; flex-direction: row; gap: 0.5rem; }

.poll-results small
{
	float: right;
	font-size: 80%;
	height: 0;
	margin-top: 5px;
	overflow: visible;
}

.poll-result
{
	margin-top: 1ex;
}

.poll-result-progress[value]
{
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background: #EEE;
	border: none;
	border-radius: 2px;
	box-shadow: 0 2px 5px rgba(0,0,0,0.25) inset;
	box-sizing: border-box;
	color: #000;
	display: block;
	height: 18px;
	padding: 2px;
	width: 100%;
}

.poll-result-progress[value]::-webkit-progress-bar
{
	background: transparent;
}

.poll-result-progress[value]::-moz-progress-bar
{
	background-color: #000;
	background-image: linear-gradient(to bottom, #666, #000, #333);
	border-radius: 2px;
}
.poll-result-progress[value]::-webkit-progress-value
{
	background-color: #000;
	background-image: linear-gradient(to bottom, #666, #000, #333);
	border-radius: 2px;
}

/* Secondary content: overlay styles */

#overlay-container
{
	background-color: rgba(0,0,0,0.5);
	bottom: 0;
	display: none;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 99;
}

.overlay
{
	background: #FFF;
	box-shadow: 5px 5px 20px rgba(0,0,0,0.75);
	left: 50%;
	line-height: 1.2;
	max-width: 350px;
	overflow: hidden;
	padding: 1em;
	position: fixed;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 80%;
}

.overlay-title::after
{
	clear: both;
	content: '';
	display: table;
}

.overlay-title .btn-close
{
	color: #808080;
	cursor: pointer;
	float: right;
	font-size: 32px;
	line-height: 1;
}

.overlay-content p
{
	margin: 1em 0;
}

/* Secondary content: newsletter overlay */

.nb-heading
{
	font-size: 100%;
	font-weight: bold;
}

.nb-site-logo
{
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	height: 0;
	margin: 1em auto;
	max-width: 336px;
	padding-bottom: 40%;
	width: 80%;
}

.nb-copyright
{
	color: #808080;
}

#nb-controls input
{
	border: 2px solid #808080;
	box-sizing: border-box;
	color: #808080;
	display: block;
	font-size: 12px;
	margin: 0 auto;
	padding: 1.2ex 1ex;
	width: 70%;
}

#nb-controls button
{
	border: none;
	font-size: 140%;
	padding: 0.5ex 1em;
	text-transform: uppercase;
	width: 70%;
}

/* Secondary content: advertorial widgets */

.widget_advertorial
{
	border: 1px solid #DDD;
	padding: 0.5rem 0 1rem 0;
	text-align: center;
}

.widget_advertorial::before
{
	color: silver;
	content: '[ADVERTORIAL]';
	display: block;
	font-size: 80%;
	margin: 0 0 1ex;
}

.widget_advertorial .advertorial_link
{
	font: 0/0 a;
}

.widget_advertorial .advertorial_image
{
	display: block;
	height: auto;
	margin: 0 auto;
	max-width: 336px;
	width: 100%;
}

.widget_advertorial .advertorial_content
{
	margin-top: 1em;
	padding: 0 1em;
	text-align: left;
}

.widget_advertorial .advertorial_content p
{
	margin-block: 1em;
}

/* Secondary content: calendar widgets */

.widget_calendar .calendar-entry
{
	border-top: 1px solid #E3E3E3;
	display: flex;
	padding: 1ex 0;
}

.widget_calendar .calendar-entry:first-child
{
	border-top: none;
}

.widget_calendar time
{
	display: inline-block;
	flex: 0 0 10em;
	font-size: 80%;
	line-height: 1.375rem;
}

.widget_calendar a
{
	display: inline-block;
	flex: 1 1 auto;
}

.widget_calendar .calendar-entry-image-link
{
	flex-basis: 64px;
}

.widget_calendar img.calendar-entry-image
{
	height: auto;
	max-width: 64px;
}

/* Secondary content: snippet widgets */

.widget_includer img.aligncenter
{
	display: block;
	height: auto;
	margin: 0 auto;
	max-width: 100%;
}

/* Secondary content: quote of the day */

.qotd { font-size: 1.25rem; line-height: 1.25; max-width: none; padding: 1em 2em; text-align: left; }
.qotd::after { right: 0; }
.qotd::before { left: 0; }
.qotd-attribution { text-align: right; }
.qotd-archive .qotd-entry { border-top: 1px solid #DDD; }

/* Secondary content: webinar geek signup */

.geek-frame-holder { width: auto !important; }
.geek-frame-holder > iframe { width: 100% !important; }

/* Specific Page: Partner info */

.partner-info { margin: 1em 0; }
.partner-info + .partner-info { border-top: 1px solid #EBECED; padding-top: 2em; }
.partner-info-body { padding-left: 1em; overflow:hidden; }

/* Specific Page: Photo gallery */

.album-link { background-image: none !important; }
.album-link::after { background-image: none !important; color: rgba(255,255,255,0.75); display: block; font-family: FontAwesome; font-size: 144px; height: 144px; line-height: 144px; margin-top: -72px; position: absolute; text-align: center; text-shadow: 0 0 4px rgba(0,0,0,0.9); top: 50%; width: auto; }
.album-link-next::after { content: '\f054'; left: 25%; right: 0; }
.album-link-prev::after { content: '\f053'; left: 0; right: 25%; }

@media screen and (min-width: 1025px)
{
	.album.album-contained
	{
		height: auto;
	}
	.album-contained .album-photo-viewport
	{
		bottom: auto;
		left: auto;
		margin-top: 32px;
		position: relative;
		right: auto;
		top: auto;
	}
	.album-contained .album-photo-container
	{
		bottom: auto;
		left: auto;
		padding-bottom: 56.25%;
		position: relative;
		right: auto;
		top: auto;
		width: 100%;
	}
	.album-contained .album-thumbnails-container
	{
		height: auto;
		position: static;
	}
	.album-contained .album-thumbnails
	{
		text-align: center;
		white-space: normal;
	}
	.album-contained .album-thumbnail-scroll
	{
		display: none;
	}
	.album-contained .album-thumbnail-link
	{
		height: 128px;
		width: 128px;
	}
}

/* Specific Page: Video page */

.videos .thumbnails
{
	clear: both;
	margin: 20px 0 0 -20px;
}

.videos .thumbnail
{
	background-position: center;
	background-size: cover;
	display: block;
	float: left;
	height: 0;
	margin-left: 20px;
	margin-bottom: 20px;
	overflow: hidden;
	padding-bottom: 26.125%;
	position: relative;
	text-decoration: none;
	width: 300px;
	width: calc(50% - 20px);
}

.videos .caption
{
	background: silver;
	background: rgba(0,0,0,0.5);
	bottom: 0;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color: white;
	font-weight: bold;
	left: 0;
	min-height: 46px;
	padding: 1ex 1em;
	position: absolute;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
	width: 100%;
	z-index: 2;
}

.videos .timestamp
{
	color: #EEE;
	display: block;
	font-size: 12px;
	margin-bottom: -4px;
}

/* Secondary content */

.widget-bordered
{
	border: 1px solid #DDD;
	padding: 8px;
}

.widget_articles_hero { border: 1px solid #DDD; hyphenate-limit-chars: 12 4 4; hyphens: auto; text-wrap: balance; padding: 1rem; }
.widget_articles_hero .summary::before { font-weight: bold; padding: 0.5ex 0.5em; text-transform: uppercase; }
.widget_articles_hero .summary-link { color: inherit; text-decoration: none; }
.widget_articles_hero .summary-thumbnail img { height: auto; max-width: 100%; }
.widget_articles_hero .readmore { display: block; }
.widget_articles_hero .readmore::before { content: '\f054'; display: inline-block; font-family: FontAwesome; margin-right: 1ex; }

.widget_nlpartners { background: #ECECEC; border: 1px solid #DDD; padding: 1rem 0 1rem 1rem; }
.widget_nlpartners .partners::after { clear: both; content: ''; display: table; }
.widget_nlpartners .advertisement { background: #FFF; border: none; float: left; margin: 16px 16px 0 0; width: 155px; width: calc(50% - 16px); }
.widget_nlpartners .advertisement .adv { display: inline-block; margin: 16px auto; }

.widget_countdown { border: 1px solid #DDD; padding: 8px 0; }
.widget_countdown a { color: inherit; outline: none; text-decoration: none; }
.widget_countdown .logo { display: block; height: auto; margin: 0 auto 1em; max-width: 100%; }
.widget_countdown .countdown-timer { display: table; font-size: 300%; line-height: 1.5; padding-bottom: 0.25em; table-layout: fixed; text-align: center; width: 100%; }
.widget_countdown .countdown-timer > span { display: table-cell; vertical-align: middle; }
.widget_countdown .countdown-timer .sep { background-color: currentColor; width: 2px; }
.widget_countdown .countdown-timer > span[data-label]::after { content: attr(data-label); display: block; font-size: 25%; line-height: 1em; margin-bottom: -1em; text-transform: uppercase; }

.widget_facebook .titlebar { display: none; }
.widget_facebook .facebook_iframe { display: block; height: 214px; width: 100%; }

.widget_glossary { background: #ECECEC; border: 1px solid #DDD; padding: 1rem; }

.widget_jobify_link { background: #ECECEC; border: 1px solid #DDD; }
.widget_jobify_link .titlebar { padding: 1rem; }
.widget_jobify_link .titlebar h3 a { text-decoration: none; }
.widget_jobify_link .jobify_link_jobs { background: #FFF; display: block; }
.widget_jobify_link .jobify_link_job { border-top: 1px solid #E3E3E3; display: block; padding: 1ex 1em; }
.widget_jobify_link .jobify_link_job_title { font-weight: bold; }
.widget_jobify_link .jobify_link_job:first-child { border-top: none; }
.widget_jobify_link .jobify_link_logo { display: block; margin: 0 auto; max-height: 23px; width: auto; }
.widget_jobify_link .jobify_link_external::before { content: '\f054'; display: inline-block; font-family: FontAwesome; margin-right: 1ex; }
.widget_jobify_link .jobify_link_links { overflow: hidden; padding: 1em; text-align: center; }
.widget_jobify_link .jobify_link_external { display: inline-block; padding: 1ex 1em;  }
.widget_jobify_link .jobify_link_overview { background: var(--pmgn-btn-bg, #FFA200); color: var(--pmgn-btn-fg, #FFFFFF); float: left; text-decoration: none; }
.widget_jobify_link .jobify_link_submit { float: right; }

.widget_mobzgallery { border: 1px solid #DDD; }
.widget_mobzgallery .titlebar { padding: 1rem; }
.widget_mobzgallery .content { margin-top: -11px; padding: 11px; }
.widget_mobzgallery .album-link { display: none !important; }

.widget_mobzpromotionswidget { background: #ECECEC; border: 1px solid #DDD; padding: 1rem; }
.widget_mobzpromotionswidget li { display: block; overflow: hidden; padding: 1ex 0; }
.widget_mobzpromotionswidget .icon { background: #FFF; border: 4px solid #FFF; float: left; margin-right: 1em; margin-top: 1ex; }
.widget_mobzpromotionswidget .icon img { display: block; }
.widget_mobzpromotionswidget a { color: inherit; display: block; overflow: hidden; text-decoration: none; }
.widget_mobzpromotionswidget .title { font-weight: bold; }

.widget_most_recent .most-recent { list-style-type: none; margin-top: 1rem; }
.widget_most_recent .most-recent-item { align-items: center; border-top: 1px solid #DDD; display: grid; gap: 1rem; grid-template-columns: min-content 1fr; padding: 1rem 0; }
.widget_most_recent .most-recent-link { text-decoration: none; }

.widget .news-feed-item { margin-block: 0.5rem; overflow: hidden; padding-block: 0.5rem; }
.widget .news-feed-item-thumbnail { background-position: center; background-size: cover; float: left; height: 64px; margin-right: 1ex; width: 64px; }
.widget .news-feed-item-extract { overflow: hidden; }
.widget .news-feed-item-excerpt { font-weight: 200; }
.widget .news-feed-item-link { color: inherit; font-weight: bold; text-decoration: none; }
.widget .news-feed-item-source { color: #666; display: block; line-height: 1; text-decoration: none; }
.widget .news-feed-item-source::before { content: '\2014\00A0'; }
.widget .news-feed-link { text-align: center; }
.widget .news-feed-link .button { background: transparent; border: 1px solid #000; color: #000; font-size: 0.9rem; padding: 0.5em 2em; }

.widget_poll { border: 1px solid #DDD; padding: 1rem; }
.widget_poll .bar { background: #EBECED; display: block; height: 1em; position: relative; }
.widget_poll .pollbar { background: #1F4F82; height: 100%; }
.widget_poll .controls { text-align: right; }
.widget_poll button[type=submit] { background: var(--pmgn-btn-bg, #FFA200); border: none; color: var(--pmgn-btn-fg, #FFFFFF); display: inline-block; height: 3rem; width: 3rem; }
.widget_poll button[type=submit]::before { content: '\f054'; display: inline-block; font-family: FontAwesome; }
.widget_poll button[type=submit] span { display: none; }

.widget_qotd { border: 1px solid #DDD; padding: 1rem; }
.widget_qotd .qotd { font-size: 1.25rem; line-height: 1.25; padding: 1em 2em; }
.widget_qotd .qotd::after { right: 0; }
.widget_qotd .qotd::before { left: 0; }
.widget_qotd .qotd-attribution { text-align: right; }

.widget_raw.border { border: 1px solid #DDD; }
.widget_raw .content { margin: 0 auto; max-width: 336px; padding: 11px 0; }
.widget_raw > img, .widget_raw a:only-child img:only-child { display: block; }

.widget_tag_cloud .content { column-count: 2; margin-top: 1rem; max-width: 360px; text-align: left; }
.widget_tag_cloud .content a { color: inherit; text-decoration: none; word-break: break-all; }
.widget_tag_cloud .content a:before { color: #959595; content: '\f02b'; display: inline-block; font-family: FontAwesome; margin-right: 1ex; }
@media (min-width: 1200px)
{
	.widget_tag_cloud .content { max-width: 360px; }
}

.widget_topposts { background: #ECECEC; border: 1px solid #DDD; }
.widget_topposts .titlebar { padding: 1rem; }
.widget_topposts .tabs { color: #A6A6A6; display: block; font-family: var(--font-nv); font-size: 16px; font-weight: bold; overflow: hidden; }
.widget_topposts .tabs li { cursor: pointer; display: block; float: left; padding: 1ex 1em; }
.widget_topposts .tabs .current { background: #FFF; color: #000; }
.widget_topposts .tab { background: #FFF; counter-reset: top-posts; padding: 1em; }
.widget_topposts .tab li { border-top: 1px solid #E3E3E3; padding-bottom: 1ex; padding-top: 1ex; padding-left: 1.5em; position: relative; }
.widget_topposts .tab li:first-child { border-top: none; }
.widget_topposts .tab li::before { color: #959595; content: counter(top-posts); counter-increment: top-posts; display: inline-block; left: 0; position: absolute; text-align: left; width: 1em; }
.widget_topposts .inactive { display: none; }
.widget_topposts a { color: inherit; text-decoration: none; }

.widget_twitter_followers { border: 1px solid #DDD; padding: 16px; position: relative; }

.widget_ymlp { background: #ECECEC; padding: 20px; }
.widget_ymlp .mnl-field-privacy { color: #666; }

.widget_youtube { border: 1px solid #DDD; }
.widget_youtube .titlebar { padding: 1rem; }
.widget_youtube .link-video { background-position: center; background-size: cover; display: block; height: 0; padding-bottom: 56.25%; position: relative; width: 100%; }
.widget_youtube .link-video::after { background: #000; border: 1ex solid #FFF; border-radius: 50%; content: url(images/video-play.png); display: inline-block; left: 50%; height: 29px; opacity: 0.5; padding: 20px 16px 20px 24px; position: absolute; top: 50%; -webkit-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); width: 30px; }
.widget_youtube .link-video:hover::after { opacity: 0.75; }
.widget_youtube .link-videos { display: none; }

/* Content elements: Advertising */

.advertisement { text-align: center; }
.advertisement.leaderboard { align-items: center; border-block: 1px solid #E3E3E3; display: flex; flex-basis: 100%; justify-content: center; padding-block: 0.5rem; }
.advertisement.leaderboard .adv { max-width: 320px; }
.text .advertisement.leaderboard { margin-block: 1rem; }
header > .advertisement.leaderboard { margin-inline: -1rem; }

@media(min-width: 768px)
{
	.advertisement.leaderboard .adv { max-width: none; }
}

/* Content elements: Social media */

#socialmedia { margin: 1em 0; }
#socialmedia .socialmedia { border-color: transparent; border-radius: 3px; border-style: solid; border-width: 1px; box-sizing: border-box; color: #FFF; display: inline-block; font-size: 20px; height: 2em; line-height: 2em; margin-right: 1ex; text-align: center; text-decoration: none; width: 2em; }
#socialmedia .socialmedia-email { background-color: #FFF; border-color: #99C; color: #669; }
#socialmedia .socialmedia-facebook { background-color: #4267B2; }
#socialmedia .socialmedia-google-plus { background-color: #DB4437; }
#socialmedia .socialmedia-linkedin { background-color: #0369A0; }
#socialmedia .socialmedia-twitter { background-color: #1B95E0; }
#socialmedia .socialmedia-whatsapp { background-color: #00E676; }

/* Content elements: buttons */

.button
{
	background: #939598;
	border: none;
	color: #FFFFFF;
	cursor: pointer;
	display: inline-block;
	line-height: 2em;
	padding-inline: 1em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 0.25s, background-color 0.25s;
}

.button:hover
{
	background: #666;	
}

.button.s { font-size: 75%; }
.button.l { font-size: 125%; }
.button.xl { font-size: 150%; }
.button.xxl { font-size: 175%; }

.highlight
{
	background: #EEE;
	border: 1px solid #EEE;
	padding: 0 1em;
}

.highlight h4
{
	margin: 1em 0;
}

@media print
{
	#page > header, #page > footer { display: none; }
	#hero-image { -webkit-print-color-adjust: exact; color-adjust: exact; }
	#sidebar-column { display: none; }
	#commentform { display: none; }
	.pmgsub-nag { display: none !important; }
}