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: 100%; font: inherit; vertical-align: baseline; box-sizing: border-box; }
#admin { position: fixed; bottom: 0; width: 98%; padding: 1%; background: rgba(0,0,0,0.5); font-size: 13px; color: #FFF; text-align: center; clear: both; box-sizing: border-box; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1; }
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; }
img { max-width: 100%; height: auto;  }
html { box-sizing: border-box; -webkit-text-size-adjust: 100%; }

/* DEFAULTS */
html { -webkit-text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { font-family: Helvetica, Arial, sans-serif; font-size: 100%; color: #000; line-height: 1.5; background: #FEFEFE; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
h1,h2,h3 { font-weight: 700; line-height: 1.2; color: #000; }
h1 { font-size: 2.4rem; margin: 0 0 1rem 0; }
h2 { font-size: 1.6rem; margin: 0 0 1rem 0; }
h3 { font-size: 1.2rem; margin: 0 0 1rem 0; }
p { margin: 0 0 1rem 0; }
ul { list-style: disc; margin: 0 0 1rem 1.5rem; }
ol { list-style: decimal; margin: 0 0 1rem 1.5rem; }
ul li, ol li { margin: 0 0 0.5rem 0; }
dl { margin: 0 0 1rem 0; }
dt { font-weight: bold; }
figure { text-align: center; padding: 0 1px; margin: 0 0 1rem 0; }
figcaption { font-size: 0.85em; font-style: italic; color: #757575; }
summary { margin: 0 0 1rem 0; }
.entry figure img { border: 0; }
b, strong { font-weight: bold; }
em, i { font-style: italic; }
small { font-size: 0.8rem; }
a { color: #334BC1; text-decoration: none; transition: 0.5s; }
a:visited { color: #334BC1; }
a:hover { color: #800000; text-decoration: underline; }
a:active { color: #800000; text-decoration: none; }
a:focus { color: #800000; text-decoration: underline; }
button { cursor: pointer; }
label { display: block; font-size: 1rem; cursor: pointer; }
mark { background: #FFFF00; }
audio { width: 100%; margin: 0 0 1em 0; }
hr { width: 100%; height: 8px; background: url(/assets/images/bg-hr.png) no-repeat center; border: 0; margin: 0 0 1.5em 0; clear: both; }
.clear { display: block; width: 100%; clear: both; }

/* LAYOUT */
.row-top-wrap { background: #800000 url(/assets/images/bg-top.jpg); box-shadow: 1px 2px 3px #CCC; background-size: 100% auto; }
.row {}
.row-top { width: 100%; clear: both; }
.row-nav { width: 100%; clear: both; }
.row-main {}
.row-footer { background: #F7F7F7; border-top: 1px solid #CCC; }

.top, .nav, .search, .deep, .main, .footer { padding: 1rem; max-width: 1440px; margin: 0 auto; }

.top { min-height: calc(48px + 2rem); padding: 1rem 2rem; }
.nav { position: relative; padding: 0 2rem; }
.search { padding: 1rem 2rem; }
.main { padding: 2rem 2rem 4rem 2rem; }
.header-narrow { max-width: 960px; margin: 0 auto; }
.section { margin: 0 0 3rem 0; }
.section-narrow { max-width: 960px; margin: 0 auto 3rem auto; }
.footer { padding: 2rem 2rem; }


/* TOP */
.logo { float: left; }
.logo img { float: left; display: inline-block; width: auto; height: 48px; }

.top-links { font-size: 0.8rem; list-style: none; line-height: 2; text-align: right; margin: 0; }
.top-links li { display: inline-block; margin: 0 0 0 0.75rem; }
.top-links a { color: #FFF; }
.top-links-subscribe a { display: inline-block; font-weight: 700; padding: 0.25rem 0.75rem; background: #334BC1; border-radius: 4px; }
.top-links li.small-screen-only { display: inline-block; }
.top-links li.large-screen-only { display: none; }

.subscribe { float: right; height: 27px; }
.subscribe a { float: left; font-size: 16px; color: #FFF; line-height: 27px; margin-right: 0.5em; }
.subscribe a.newsletter { font-size: 13px; text-transform: uppercase;  padding: 0 8px; background: #334BC1; border-radius: 4px; }

/* PRIMARY NAV */
.menu { display: none; font-size: 0.9rem; line-height: 30px; list-style: none; padding: 0 0 1rem 0; margin: 0; }
.menu li { }
.menu li a { display: block; font-weight: 700; color: #FFF; }
.menu ul { display: none; }
.menu li.small-screen-only { display: inline-block; }
.menu li.large-screen-only { display: none; }
.menu-toggle { width: 36px; height: 28px; font-size: 0.85rem; font-weight: 700; color: #FFF; padding: 0; border: 0; background: #800000; margin: 0; }
.menu-toggle .fa { font-size: 1.125rem; }
.crumbs { list-style: none; font-size: 0.8rem; margin: 0 0 0.5em 0; }
.crumbs li { display: inline-block; }
.crumbs li::after { content: " \00BB"; } 

/* SEARCH FORM */
#search { display: none; } 
.search { background: transparent; }
.search-form { background: #FFF; }
.search-keyword { width: calc( 100% - 42px); height: 36px; font-size: 16px; text-indent: 5px; border: 0; }
.search-button { float: right; width: 36px; height: 36px; font-size: 18px; color: #000; text-align: center; padding: 0; background: #FFF; border: 0; }


/* GRIDS */
.grid1 { display: grid; grid-gap: 1rem; grid-template-columns: 1fr; margin-bottom: 2rem; }
.grid2 { display: grid; grid-gap: 2rem; grid-template-columns: 1fr; margin-bottom: 2rem; }
.grid3 { display: grid; grid-gap: 2rem; grid-template-columns: 1fr; margin-bottom: 2rem; }
.grid4 { display: grid; grid-gap: 2rem; grid-template-columns: 1fr; margin-bottom: 2rem; }

.grid-headlines { display: grid; grid-gap: 2rem; grid-template-columns: 1fr; }
.grid-listings { position: relative; display: grid; grid-gap: 1rem; grid-template-columns: 1fr; margin-bottom: 2rem; }
.grid-headlines-latest { display: grid; grid-gap: 2rem; grid-template-columns: 1fr; }
.grid-industry { display: grid; grid-gap: 1rem; grid-template-columns: 1fr; margin-bottom: 2rem; }
.grid-insights { display: grid; grid-gap: 1rem; grid-template-columns: 1fr; margin-bottom: 2rem; }
.page-with-sidebar { display: grid; grid-gap: 2rem; grid-template-columns: 1fr; }

.grid-item { position: relative; }
.grid-pad { padding: 1.25rem; border: 1px solid #CCC; }
.grid-fill { background: #FAFAFA; }
.grid-border-bottom { padding-bottom: 1rem; border-bottom: 1px solid #CCC; }

/* HEADER */
.header { margin-bottom: 2rem; }

/* SECTION */
.section-heading { position: relative; font-size: 1.2rem; color: #800000; text-transform: uppercase; margin: 0 0 2rem 0; }
.section-heading-s { font-size: 1rem; margin: 0 0 0.5rem 0; }
.sh-name { display: inline-block; font-size: 1.25rem; color: rgba(128,0,0,1); padding-right: 0.5rem; background: #FFF; }
.sh-divider { position: absolute; top: 48%; display: block; width: 100%; border-bottom: 1px solid rgba(128,0,0,1); z-index: -1; }
.backgrounds-heading { margin: 0 0 -1px 0; }
.backgrounds-heading span { display: inline-block; font-size: 0.8rem; color: #FFF; text-transform: uppercase; padding: 0.35rem 0.75rem; background: #800000; }
.backgrounds-intro { display: grid; grid-gap: 1rem; grid-template-columns: 3fr 1fr; }
.backgrounds-intro .grid-item:nth-of-type(1) { order: 2; }
.backgrounds-intro img { width: 100%; }
.backgrounds-intro { font-size: 0.9rem; padding: 1rem; background: #F7F7F7; border: 1px solid #CCC; margin: 0 0 2rem 0; }
.backgrounds-intro p { margin: 0 0 0.5rem 0; }
.category-subcats dt { display: block; }
.category-subcats dd { display: inline-block; margin-right: 1rem; }

/* CARD */
.card-category { display: block; font-size: 0.7rem; color: #800000; text-transform: uppercase; margin: 0 0 0.5rem 0; }
.card-ass-logo { margin: 0 0 0.5rem 0; }
.card-ass-logo img { width: auto; height: 30px; }
.card-thumb { margin: 0 0 0.5rem 0; }
.card-thumb-s { float: right; width: 100px; margin: 0.5rem 0 0 0.25rem; }
.card-thumb img { display: block; width: 100%; }
.card-heading { font-size: 1.125rem; margin: 0; }
.card-heading-l { font-size: 1.4rem; }
.card-heading-s { font-size: 1rem; }
.card-heading a { color: #000; transition: 0.5s; }
.card-date { font-size: 0.75rem; color: #555; margin: 0; margin: 0.25rem 0 0 0; }
.card-date-l { font-size: 0.9rem; }
.card-summary { font-size: 0.9rem; margin: 0.5rem 0 0 0; }
.card-summary-l { font-size: 1rem; }
.card-related { font-size: 0.85rem; line-height: 1.2; margin: 0.5rem 0 0 0; }
.card-related dt {}
.card-related dd { margin-top: 0.5rem; }
.card-ass-detail { display:none; font-size: 0.9rem; margin: 0; }
.card-ass-detail dt { margin: 0.5rem 0 0 0;}
.card-ass-detail dd {}
.card-dir { padding: 1rem; background: #FFF; border: 1px solid #FFF; transition: 0.5s; }

/* HOME ENTRIES */
.message { position: relative; font-size: 0.9rem; padding: 0.5rem 1rem 0.5rem 1rem; background: #FAFAFA; border: 1px dotted #000; margin: 0 0 2rem 0; }
.message * { margin: 0; }


/* ENTRIES LIST */

/*ENTRIES TAGS */

/* LISTS */
.list-links { list-style: none; line-height: 1.25; margin: 0 0 1rem 0; }
.list-links li { padding: 0.5rem 0; border-top: 1px dotted #CCC; margin: 0; }
.list-links a { font-size: 0.9rem; }

/* DIRECTORY */

.dir-logo { }
.dir-logo img { height: 60px; with: auto; }
.dir-strapline { font-size: 1.4rem; font-family: serif; font-style: italic; }
.dir-strapline::before { content: "\201C"; }
.dir-strapline::after { content: "\201D"; }
.dir-address { list-style: none; margin: 0; }

/* PAGINATION */
.pagination ul { font-size: 0.9rem; font-weight: 700; list-style: none; margin: 0 0 1rem 0; }
.pagination li { display: inline-block; margin-right: 0.25rem; }
.pagination a { display: block; width: 36px; height: 36px; line-height: 36px; color: #FFF; background: #334BC1; text-decoration: none; text-align: center; }
.pagination a:hover, .pagination a.active { background: #800000; }

/* SINGLE ENTRY */
.entry-date { font-size: 0.8rem; }
.entry-author-small { float: right; width: 140px; line-height: 1.2; padding: 0.5rem; border: 1px solid #CCC; margin-left: 1rem; }
.entry-author-small img { width: 100%;  }
.entry-author { display: grid; grid-gap: 1rem; grid-template-columns: 140px 1fr; margin: 0 0 1rem 0; }
.entry-author p { margin: 0 0 0.25rem;}
.entry-author { font-size: 0.925rem; }
.entry-author-avatar img { width: 100%; }
.entry-story h2 { margin-top: 2rem; }
.summary-l { font-size: 1.2rem; font-weight: 700; }
.comment-author { font-weight: bold; margin: 0 0 0.5em 0; }
.share-list { list-style: none; line-height: 1; margin: 0 0 1rem 0; }
.share-list li { display: inline-block; margin: 0; }
.share a { display: inline-block; font-size: 12px; font-weight: bold; color: #FFF; padding: 4px 0.75em ; background: rgb(30,144,255); border-radius: 4px; }
.share a:hover { background: rgb(65,105,225); }
.share a.rss { background: #800000; }
.share a.facebook { background: #3B579D; }
.share a.twitter { background: #00ACED; }
.share a.linkedin { background: #007BB6; }
.share-prompt { font-size: 12px; font-weight: bold; color: #800000; text-transform: uppercase; }
.checklist-details summary { font-weight: 700; color: #334BC1; cursor: pointer; }

/* PROMOS */
.promo { font-size: 1rem; font-weight: 700; text-align: center; padding: 0.5rem; background: #FFFFCC; border: 1px dotted #800000; margin: 0 0 2rem 0; }
.promo p { margin: 0; }


/* ACCOUNT */
.login { padding: 19px; border: 1px solid #CCC; }

/* FOOTER */
.footer-heading { font-size: 0.9rem; text-transform: uppercase; color: #800000; margin: 0 0 1rem 0; }
.footer-links { font-size: 0.9rem; list-style: none; margin: 0 0 1rem 0; }
.footer-links li {}
.footer-legal { font-size: 0.8rem; text-align: center; }

/* ICONS */
.icon svg { display: inline-block; margin-right: 0.25rem; fill: currentColor; }
.icon-s svg { width: 1rem; height: 1rem; }


/* MISC */
.video { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; background: black; overflow: hidden; margin: 0 0 1em 0;  }
.video iframe, .video object, .video embed { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%;  }
.video-no-margin { margin: 0; }
.note { font-size: 0.85em; color: #000; padding: 1em; background: #FFFFEE; border: 1px solid #757575; margin: 0 0 1.5em 0; }
.warning { display: block; font-size: 0.85em; font-weight: bold; color: #FF0000; padding: 0.5em; background: #FFFFCC; border: 1px dotted #FF0000; }
.list-sitemap { font-weight: 700; list-style: none; margin: 0 0 1rem 0; }
.list-sitemap li a { }
.list-sitemap ul { font-size: 0.9rem; font-weight: normal; list-style: none; margin: 1rem 0; }
.list-sitemap ul li { display: inline-block; margin-right: 1rem; }
.text-center { text-align: center; }
.offscreen { position: absolute; left: -999em; }
.mb-1 { margin-bottom: 1rem; }
.mt1 { margin-top: 2rem; }
.admin-view-count { display: inline-block; font-size: 12px; font-weight: 700; color: #FFF; line-height: 1.2; padding: 0 0.25rem; background: #800000; border-radius: 3px; }

.accordion, .accordion-sub { margin-bottom: 1.5em; }
.accordion h2 { font-size: 1em; color: #6A5ACD; margin: 0 0 0.75em 0; }
.accordion-sub h3 { font-size: 1em; color: #6A5ACD; margin: 0.75em 0; }
.ui-accordion-header { cursor: pointer; }
.ui-accordion-header:before { content: ""; }
.ui-accordion-header-active:before { content: ""; } 

.right { text-align: right; }
.center { text-align: center; }
.notice { padding: 0.5em; border: 1px solid #CCC; }
.notice.warning { color: #FF0000; border: 1px solid red; }

/* BANNER MESSAGES */
.messages { position: relative; max-width: 100%; padding: 0.75rem 1.25rem; background: #00FFFF; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; margin: 0 0 2rem 0; border-radius: 4px; }
.messages-heading { font-size: 1.2rem; margin: 0.5rem 0; }
.messages-text-short { margin: 0.5rem 0; }
.messages-link { margin: 0.5rem 0; }
.messages-icon::before { content: "\2605"; position: absolute; top: 0; left: 1rem; font-size: 2.4rem; color: #FF8000; }
.messages-icon h2, .messages-icon p { margin-left: 3.44rem; }

/* FORMS */
.form-edit { margin: 0 0 2em 0;  }
.form-edit-narrow { margin: 0 0 2em 0;  }
.form-comment { padding: 0em 0; }
.newsletter-form { max-width: 640px; }
.register-form { max-width: 640px; }
.contact-form { max-width: 640px; }
fieldset { margin: 0 0 1rem 0; }

legend { width: 100%; font-family: "Source Sans Pro", Arial, Helvetica, sans-serif; font-size: 1.2em; font-weight: 600; color: #000; margin: 0 0 1em 0; }
form p { margin: 0 0 1em 0; }
form ul { list-style: none; margin: 0 0 1em 0; }
.control { line-height: 1.5; margin: 0 0 1em 0; }
label { font-weight: 600; }
form ul li label { font-weight: normal; }
form dt { font-weight: 600; margin: 0 0 0.5rem 0; }
form dd label { font-weight: 400; }

.label-required { font-size: 0.6em; font-weight: 700; color: #800000; text-transform: uppercase; padding: 5px; background: #FFFFCC; }
.label-note { display: block; color: #757575;  margin: 0 0 0.5em 0; }
input[type=text], input[type=password], input[type=url], input[type=tel], input[type=email] { width: 100%; max-width: 100%; height: 40px; padding: 5px; font-size: 16px; border: 1px solid #CCC; box-sizing: border-box; }
input[type=search] {  -moz-appearance: none; -webkit-appearance: none; appearance: none; outline: none; }
textarea { width: 100%; height: 140px; font-size: 16px; padding: 5px; border: 1px solid #CCC; box-sizing: border-box; }
.textarea-s { height: 60px; }
select { width: 100%; max-width: 100%; height: 40px; font-size: 16px; border: 1px solid #ccc; box-sizing: border-box; }
input.input-s { width: 60px; }
input.input-m { width: 288px; }
button { font-size: 1rem; font-weight: 700; color: #FFF; padding: 0.5rem 1rem; background: #334BC1; border: 0; border-radius: 4px; }
.formcats { list-style: none; margin: 0 0 1em 0; }
.formcats li { display: inline-block; width: 48%; font-weight: normal; }
.formcats ul { font-size: 0.875em; list-style: none; margin: 0 0 1em 0;}
.formcats ul li { display: inline-block; width: 48%; font-weight: normal; }
.form-filter { width: 100%; font-size: 0.875em; margin-bottom: 1em; }
.form-filter select.filter-select { display: inline-block; width: 280px; font-size: 16px; }
.form-filter input.filter-keywords { display: inline-block; max-width: 200px; font-size: 16px; }
.form-filter button.filter-button { display: inline-block; width: 60px; height: 40px; padding: 0; border-radius: 0;  }

.form-category-filter select { width: 240px; height: 32px; }


/* charge-stripe payment fields */
#card-element { padding: 0.5em; border: 1px solid #CCC; margin: 0.25em 0 1em 0;}
#card-arrors { margin-bottom: 1em;}
#progress { colour: blue; margin-bottom: 1em;}
#payment-errors { color: red; margin-bottom: 1em; }


/* LINKS */
.btn { display: inline-block; font-weight: 700; color: #FFF; text-align: center; text-decoration: none; border: 0; border-radius: 4px; cursor: pointer; }
a.btn { color: #FFF; text-decoration: none; }
.btn-pri { background: #334BC1; }
.btn-pri:hover { color: #FFF; background: #800000; }
.btn-sec { background: #808080; }
.btn-sec:hover { color: #FFF; background: #800000; }
.btn-l { font-size: 16px; padding: 0.75em 1.5em; }
.btn-m { font-size: 15px; padding: 0.5em 1.25em; }
.btn-s { font-size: 13px; padding: 0.5em 1.5em; }
.btn-std { height: 30px; color: #FFF; background: #000; }

/* LINKS */
.link { display: inline-block; font-weight: 700; color: #FFF; text-decoration: none; border-radius: 4px; transition: 0.5s; }
.link:visited, .link:hover, .link:active, .link:focus { color: #FFF; text-decoration: none; }
.link-pri { background: #334BC1; }
.link-pri:hover, .link-pri:focus { background: #800000; }
.link-l { font-size: 1rem; padding: 0.6rem 2rem; }
.link-m { font-size: 0.9rem; padding: 0.4rem 1.4rem; }
.link-s { font-size: 0.8rem; padding: 0.4rem 0.8rem; }


/* PROMOS */
.xyz { text-align: center; }


/* MEDIA QUERIES MOBILE FIRST */
@media only screen and (min-width: 480px) {

}

@media only screen and (min-width: 768px) {
.grid-headlines { display: grid; grid-gap: 2rem; grid-template-columns: 1fr; }
.grid-listings { position: relative; display: grid; grid-gap: 1rem; grid-template-columns: 25% 1fr; margin-bottom: 2rem; }
.grid-headlines-latest { display: grid; grid-gap: 2rem; grid-template-columns: 1fr; }
.grid-industry { display: grid; grid-gap: 1rem; grid-template-columns: 1fr 1fr; margin-bottom: 2rem; }
.grid-insights { display: grid; grid-gap: 2rem; grid-template-columns: 1fr 1fr; margin-bottom: 2rem; }
.entry-author-small { width: 200px; }
}
@media only screen and (min-width: 1024px) {
.Xlogo::after { content: "The source for information, analysis & comment"; float: left; height: 12px; font-size: 12px; font-style: italic; color: #FFF; line-height: 12px; padding: 12px 0 0 6px; }
.top-links li.small-screen-only { display: none; }
.top-links li.large-screen-only { display: inline-block; }
.menu { display: block; list-style: none; line-height: 40px; padding: 0; margin: 0; }
.menu li { display: inline-block; margin: 0 0.75rem 0 0; }
.menu li:last-of-type { margin-right: 0;}
.menu li a { color: #FFF; }
.menu li ul { display: none; max-width: 900px; font-size: 0.8rem; line-height: 30px; padding: 0.75rem; background: #FFF; margin: 0; border-right: 1px solid #800000; border-bottom: 1px solid #800000; border-left: 1px solid #800000; z-index: 999; }
.menu li ul li { display: inline-block; width: 280px; border-top: 1px dotted #CCC; margin: 0 0.5rem 0 0; }
.menu li ul li a { font-weight: 700; color: #000; }
.menu li:hover ul { position: absolute; left: 2rem; display: block; }
.menu-search { float: right; }
.menu li.small-screen-only { display: none; }
.menu li.large-screen-only { display: inline-block; }

.grid1 { display: grid; grid-gap: 1rem; grid-template-columns: 1fr; margin-bottom: 2rem; }
.grid2 { display: grid; grid-gap: 2rem; grid-template-columns: 1fr 1fr; margin-bottom: 2rem; }
.grid3 { display: grid; grid-gap: 2rem; grid-template-columns: 1fr 1fr 1fr; margin-bottom: 2rem; }
.grid4 { display: grid; grid-gap: 2rem; grid-template-columns: 1fr 1fr 1fr 1fr; margin-bottom: 2rem; }
.grid-headlines { display: grid; grid-gap: 2rem; grid-template-columns: 5fr 2fr; }
.grid-listings { position: relative; display: grid; grid-gap: 1rem; grid-template-columns: 33% 1fr; margin-bottom: 2rem; }
.grid-headlines-latest { display: grid; grid-gap: 2rem; grid-template-columns: 1fr 2fr; }
.grid-industry { display: grid; grid-gap: 1rem; grid-template-columns: 1fr; margin-bottom: 2rem; }
.grid-insights { display: grid; grid-gap: 2rem; grid-template-columns: 1fr 1fr; margin-bottom: 2rem; }
.page-with-sidebar { display: grid; grid-gap: 3rem; grid-template-columns: 5fr 2fr; }

.grid-item-dir:hover .card-dir { position: absolute; background: #FAFAFA; border: 1px solid #CCC; z-index: 999; }
.grid-item-dir:hover .card-ass-detail { display: block; }

.top-story .grid-item:nth-of-type(1) { order: 2; }

}




