/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

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;
}
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;
}

a {
	color: inherit;
}

img {
	max-width: 100%;
}

/* PHP ERROR BASICS */
.xdebug-error, 
.xe-warning,
.xdebug-var-dump {
	font-size: 16px;
}
/* WORDPRESS STANDARD */

.alignnone {
    margin:0 20px;
}

img.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

img.alignright
div.alignright {
    float: right;
    /*margin: 5px 0 20px 20px;*/
}

img.alignleft
div.alignleft {
    float: left;
    /*margin: 5px 20px 20px 0;*/
}

a img.alignright {
    float: right;
    margin-left: 20px;
    /*margin: 5px 0 20px 20px;*/
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin-right: 20px;
    /*margin: 5px 20px 20px 0;*/
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%;
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
    float: left;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
    float: right;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
    display: block;
}

.wp-caption p.wp-caption-text {
    font-size: 12px;
    line-height: 16px;
    color: #a4a4a4;
    font-style: normal;
    font-weight: 600;
    letter-spacing: -0.2px;
    margin:8px 0;
}

.wp-caption .image-description  {
    text-align: left;
    margin:12px 0 8px 0;
    color: #4a4a4a;
}

.fancybox .fa-search-plus {
	position: absolute;
	bottom: 15px;
	left: 15px;
	font-size: 2.8rem;
	padding: 0.4em;
	background-color: #292929;
	border-radius: 4px;
	border: 1px solid #292929;
	color: #C3C3C3;
	transition: all 0.3s;
	opacity: 0;
}

.fancybox:hover .fa-search-plus {
	opacity: 1;
}

.fancybox:hover .fa-search-plus:hover {
	background-color: #fff;
	border: 1px solid #CC1528;
	color: #CC1528;
}

.xs-size .aligncenter,
.xxs-size .aligncenter {
	width:auto !important;
}

/*New image alignment code.*/
.wp-caption{
border:none;
padding:0;
margin:0;
}
.wp-caption-text {
text-align:left;
font-style:italic;
}
.xxs-size .wp-caption.alignleft,
.xxs-size .wp-caption.alignright {
	float:none;
	width:100% !important;/*required to overwrite inline width*/
	text-align:center;
}
.xxs-size .wp-caption p.wp-caption-text {
	text-align:center;
}
/*end new image alignment code*/

/*
 * COMMON STYLES
 *
 * Boilerplate & Resets
 * Grid / Layout
 * Common Styles
 * Typography
 */


/* BOILERPLATE & RESETS */

@-o-viewport {
    width: device-width;
}

@-ms-viewport {
    width: device-width;
}

@viewport {
    width: device-width;
}
/*
@media only screen 
	and (orientation:portrait)
	and (min-device-width: 450px)
	and (max-device-width: 2048px) {
	body {
		height: 100vw;
		transform: rotate(90deg);
	}
}
*/

* {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    -webkit-text-size-adjust: 100%;
}

*,
*:before,
*:after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

body,
html {
    margin: 0;
    padding: 0;
    height: 100%;
}

body {
    position: relative;
    font-family:'Open Sans', Arial, Helvetica, sans-serif;
}

.cf:before,
.cf:after,
.container:before,
.container:after {
    content: "";
    display: table;
}

.cf:after,
.container:after {
    clear: both;
}

.cf,
.container {
    zoom: 1;
}

.container.small {
	max-width: 800px;
}

#tinymce {
    margin: 8px;
}

.mceContentBody {
    height: auto!important;
}

img,
iframe {
    max-width: 100%;
}

.pixalate-pp-pb {
	display: none;
}

/* ======== Adjust Bootstrap's container values
===============================================*/


/*small*/

@media (min-width: 768px) {
    .container {
        width: 100%;
    }
}


/*medium*/

@media (min-width: 992px) {
    .container {
        width: 100%;
    }
}


/*large*/

@media (min-width: 1280px) {
    .container {
        max-width: 1200px;
    }
    .skin-ad .container {
        max-width: 1120px;
    }
}

/* ============================================================
	Global basic styles
============================================================ */

html {
    font-family:'Open sans', Arial, Helvetica, sans-serif;
    font-size: 62.5%;
}

body {
	background-color:#F4F4F4;
	background-color: #fff;
	color: #000;
	font-family: 'Open Sans', Arial, sans-serif;
	-webkit-font-smoothing: antialiased; /* This needs to be set or some font faced fonts look bold on Mac in Chrome/Webkit based browsers. */
	-moz-osx-font-smoothing: grayscale; /* Fixes font bold issue in Firefox version 25+ on Mac */
}

.banner-ad  + main {
	margin-top:40px;
}

strong,
.bold,
b {
    font-weight: 700;
}

strong.semi-bold,
.bold.semi-bold,
b.semi-bold,
.semi-bold {
    font-weight: 600;
}

p.normal-font-weight,
div.normal-font-weight,
.normal-font-weight {
	font-weight: 500;
}

p.light-font-weight,
div.light-font-weight,
.light-font-weight {
	font-weight: 300;
}

i,
em,
.italic {
font-style:italic;
}

i i,
em em {/* sometimes editors do this to un-italicize, italicized text.*/
font-style:normal;
}

sup {
	font-variant:super;
	font-size:0.7em;
}
sub {
	font-variant:sub;
	font-size:0.7em;
}

img {
    max-width: 100%;
	height:auto;
}

small {
	font-size:0.8em;
}

a {
	color: inherit;
	transition: color 0.3s;
}

a:hover {
	text-decoration: none;
}

.basic-link-color a,
a.basic-link {
	color: #CC1528;
}
a.basic {
	color: inherit;
	text-decoration: underline;
}

hr,
hr.border {
	margin:0;
	padding: 0;
	height: 1px;
	background-color: #ccc;
}

.site-overlay {
	width:0;
	height:0;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0.6);
	opacity: 0;
	position: fixed;
	z-index: -2000;
	transition: opacity 0.5s;
}

.site-overlay.active {
	width:100%;
	height:100%;
	opacity: 100;
	z-index: 200;
}

.overlay {
	background-color: rgba(0,0,0,0.6);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.line-header {
	position: relative;
}

.line-header .line{
	min-width: 100%;
	flex: 100%;
	height: 1px;
	background-color: #BFBFBF;
	position: absolute;
	z-index: 2;
	align-self: center;
	left: 0;
}

.line-header span {
	background-color: #fff;
	padding-right: 15px;
	position: relative;
	z-index: 5;
	top: -2px;
}

.sm-size .hidden-phone {
	display: none !important;
}

.lg-size .hidden-tablet {
	display: none !important;
}

.xl-size .hidden-desktop {
	display: none !important;
}

/* ============================================================
  Global Editor - styles 
============================================================ */
.lead-in {
	text-transform: uppercase;
	font-size: 0.9em;
	letter-spacing: 0.25px;
	font-weight: bold;
}

.drop-cap {
	font-size: 3.5em;
    font-weight: 600;
    display: block;
    float: left;
    line-height: .5;
    margin-right: 4px;
    margin-top: 12px;
}

.ps-red {
	color: #CC1528;
}

.small-caps {
	text-transform: uppercase;
	font-size: 0.75em;
}

.line-height-135 {
	line-height: 1.35em
}

.line-thin {
	border-top: 1px solid #000;
	padding-top: 16px;
	margin-top: 16px;
	display: block;
}

.line-medium {
	border-top: 5px solid #000;
	padding-top: 16px;
	margin-top: 16px;
	display: block;
}

.line-fat {
	border-top: 12px solid #000;
	padding-top: 16px;
	margin-top: 16px;
	display: block;
}


/* ============================================================
	Text Fonts & item Styles 
============================================================ */
.small-caps {
	font-size: 0.7em;
	text-transform: uppercase;
	line-height: 0;
}

.basic-text-1 {
	font-size: 1.8rem;
	letter-spacing:-0.1px;
	line-height: 1.4em;
}

.basic-text-2 {
	font-size: 1.5rem;
	letter-spacing:-0.1px;
	line-height: 1.4em;
}
.info-text {
	font-size: 1.4rem;
	letter-spacing:-0.1px;
	line-height: 1.4em;
}

.info-text-2 {
	font-size: 1.2rem;
	letter-spacing:-0.1px;
	line-height: 1.3em;
}

.source-credit {
	font-size: 1.4rem;
	letter-spacing: -0.1px;
	line-height: 1.2em;
	font-style: italic;
	margin-top: 5px;
}

.pricing {
	font-size: 1.5rem;
	letter-spacing: -0.1px;
	line-height: 1.2em;
	font-weight: 700;
}


/*headers*/
[class*="header"]:first-child {
	margin-top: 0;
}

.featured-header {
	font-size: 3.6rem;
	font-family: 'Roboto Slab', sans-serif;
	letter-spacing: -0.2px;
	line-height: 1.2em;
	font-weight: 700;
	margin-top: 12px;
	margin-bottom: 12px;
	color:#333;
}

.featured-header-tl {
	font-size: 2.4rem;
	letter-spacing: -0.15px;
	line-height: 1.2em;
	font-weight: 700;
	margin-top: 6px;
	margin-bottom: 8px;
	color:#4B4B4B;
}

.featured-header-ev {
	font-size: 6.4rem;
	font-family: 'Roboto Condensed', sans-serif;
	letter-spacing: 0.2px;
	line-height: 1.4em;
	margin-bottom: 20px;
}

.featured-slogan {
	font-size: 2.8rem;
	letter-spacing: 0.2px;
	line-height: 1.4em;
	margin-bottom: 80px;
}

.featured-excerpt {
	font-size: 2.4rem;
	letter-spacing: 0.2px;
	line-height: 1.4em;
}

.section-header {
	font-size: 3.0rem;
	font-family: 'Roboto Condensed', sans-serif;
	letter-spacing: 0.2px;
	line-height: 1em;
	font-weight: 700;
	margin-top: 20px;
	margin-bottom: 20px;
}

.section-header-2 {
	font-size: 4.8rem;
	font-family: 'Roboto Condensed', sans-serif;
	letter-spacing: 0.2px;
	line-height: 1.2em;
	font-weight: 700;
	margin-top: 20px;
	margin-bottom: 20px;
}

.section-header div[class^='basic-text'],
.section-header-2 div[class^='basic-text'] {
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
}

.sub-header {
	font-size: 2.4rem;
	font-family: 'Roboto Condensed', sans-serif;
	letter-spacing: 0;
	line-height: 1.17em;
	font-weight: 700;
	margin-top: 10px;
	margin-bottom: 16px;
}

.sub-listing-header {
	font-size: 2.0rem;
	font-family: 'Roboto Slab', sans-serif;
	letter-spacing: -0.1px;
	line-height: 1.2em;
	font-weight: 700;
	margin-top: 0;
	margin-bottom: 8px;
	color: #333;
}

.module-header {
	font-size: 2.0rem;
	font-family: 'Roboto Slab', sans-serif;
	letter-spacing: -0.1px;
	line-height: 1.2em;
	font-weight: 700;
	margin-top: 10px;
	margin-bottom: 10px;
	color: #333;
}

.statement-header {
	font-size: 2.0rem;
	font-family: 'Roboto Condensed', sans-serif;
	letter-spacing:normal;
	line-height: 1.2em;
}

.statement-header-2 {
	font-size: 3.2rem;
	font-family: 'Roboto Condensed', sans-serif;
	letter-spacing:normal;
	line-height: 1.2em;
}

.magazine-issue-header {
	font-size: 2.0rem;
	font-family: 'Roboto Slab', sans-serif;
	letter-spacing: -0.2px;
	line-height: 1.2em;
	font-weight: 400;
	margin-top: 10px;
	margin-bottom: 10px;
}

.magazine-article-header {
	font-size: 1.6rem;
	font-family: 'Roboto Slab', sans-serif;
	letter-spacing: -0.1px;
	line-height: 1.2em;
	font-weight: 700;
	margin-top: 4px;
	margin-bottom: 2px;
}

.research-title {
	font-size: 2.4rem;
	font-family: 'Roboto Condensed', sans-serif;
	letter-spacing: -0.1px;
	line-height: 1.2em;
	font-weight: 700;
	margin-top: 4px;
	margin-bottom: 8px;
}

.product-title {
	font-size: 1.8rem;
	font-family: 'Roboto Condensed', sans-serif;
	letter-spacing: -0.1px;
	line-height: 1.35em;
	font-weight: 400;
	margin-top: 12px;
	margin-bottom: 8px;
}

.text-ad-header {
	font-size: 2.0rem;
	letter-spacing: -0.1px;
	line-height: 1.2em;
	font-weight: 700;
	margin-top: 10px;
	margin-bottom: 5px;
	color: #333;
}

.listing-header {
	font-size: 2.0rem;
	font-family: 'Roboto Slab', sans-serif;
	letter-spacing: -0.1px;
	line-height: 1.2em;
	font-weight: 700;
	margin-top: 8px;
	margin-bottom: 5px;
	color: #333;
}

.listing-header-tl {
	font-size: 2.0rem;
	letter-spacing: -0.2px;
	line-height: 1.2em;
	font-weight: 700;
	padding-top: 5px;
	margin-bottom: 5px;
}

.small-listing-header {
	font-size: 1.8rem;
	font-family: 'Roboto Condensed', sans-serif;
	letter-spacing: 0;
	line-height: 1.2em;
	font-weight: 400;
	margin-top: 10px;
	margin-bottom: 10px;
}


.most-read-header {
	font-size: 1.5rem;
	font-family: 'Roboto Slab', sans-serif;
	letter-spacing: -0.2px;
	line-height: 1.3em;
	font-weight: 400;
	margin-top: 10px;
	margin-bottom: 10px;
}

.callout-header {
	font-size: 2.4rem;
	letter-spacing: -0.19px;
	line-height: 1.2em;
	font-weight: 400;
	margin-top: 10px;
	margin-bottom:0;
}


.single-article-header {
	font-size: 4.8rem;
	font-family: 'Roboto Slab', sans-serif;
	letter-spacing: -0.1px;
	line-height: 1.2em;
}

.article-dek {
	font-size: 2.0rem;
	letter-spacing: -0.2px;
	line-height: 1.4em;
}

.article-info {
	font-size: 1.5rem;
	letter-spacing: 0.2px;
	line-height: 1.4em;
}

.mag-article-header {
	font-size: 6.4rem;
	font-family: 'Roboto Slab', sans-serif;
	letter-spacing: -0.1px;
	line-height: 1.2em;
}

.mag-dek {
	font-size: 2.4rem;
	letter-spacing: -0.2px;
	line-height: 1.35em;
}

.cta-1 {
	font-size: 2.4rem;
	letter-spacing: -0.1px;
	font-weight: 700;
}

.cta-2 {
	font-size: 1.5rem;
	letter-spacing: -0.1px;
	font-weight: 700;
}

body .category-1 {
	font-size: 1.4rem;
	letter-spacing: 0.25px;
	font-weight: 700;
	margin-top: 6px;
	margin-bottom: 8px;
}

body .category-2 {
	font-size: 1.2rem;
	letter-spacing: 0.25px;	
	margin-bottom: 10px;
	line-height: 1.4em;
}

body .category-3 {
	font-size: 1.8rem;
	letter-spacing: 0.25px;	
	margin-bottom: 10px;
	line-height: 1.4em;
}

.roboto-s {
	font-family: 'Roboto Slab', sans-serif;
}

.roboto-c {
	font-family: 'Roboto Condensed', sans-serif;
}

.open-s {
	font-family: 'Open Sans', sans-serif;
}

.centered-text {
	text-align: center;
}

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

.bordered {
	border-bottom: 1px solid #ccc;
}

h1.bordered,
h2.bordered,
h3.bordered,
h4.bordered,
h5.bordered {
	padding-bottom: 10px;
}

.red-top-border {
	border-top: 5px solid #CC1528;
	padding-top: 10px;
}

.page-header {
	margin-bottom:20px;
}

.pipe-divider {
	line-height: 1em;
	font-size: 1em;
	padding:0 5px;
}

.pipe-divider:after {
	content:"|";
}

.all-caps,
.allcaps {
	text-transform: uppercase;
}

.capitalize {
	text-transform: capitalize;
}

.css-icon::after,
.css-icon::before {
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

.see-more-arrow {
	text-align: right;
	float: right;
}

.see-more-arrow:after {
	content: url('https://www.plansponsor.com/wp-content/themes/plansponsor/images/arrow.svg');
	vertical-align: middle;
	line-height: 0;
	padding-left: 8px;
	position: relative;
	left: 0;
	transition: left 0.3s;
}

.see-more-arrow:hover:after {
	left: 5px;
}

.button {
	font-family: 'Open Sans';
	color: #fff;
	font-weight: 600;
	padding-top: 5px;
	padding-bottom: 5px;
	display:inline-block;
	text-align:center;
}

.button:hover {
	box-shadow:inset 2px 2px 2px rgba(0,0,0,.6),0 0 1px rgba(0,0,0,0);
	color:#fff;
}

.asterisk,
.required {
	color:#cb2431;
}

.basic-text a {
	color: #CC1528;
}

.basic-text .button-one {
	color: #fff;
}

.no-font-size {
	font-size: 0;
}

.hide {
	display:none;
}

.extra-padding {
	padding-left: 11px;
	padding-right: 11px;
}

.no-padding {
    padding: 0;
}

.no-padding-left {
    padding-left: 0;
}

.no-padding-right {
    padding-right: 0;
}

.no-margin {
	margin-left: 0;
	margin-right: 0;
}

.no-margin-left {
	margin-left: 0;
}

.no-margin-right {
	margin-right: 0;
}

.no-border {
	border: none !important;
}

.ps-red-text {
	color:#D0021B;
}

.ps-darkred-text {
	color:#820000;
}

.ps-red-background {
	background-color:#D0021B;
}

.ps-red-background,
a.ps-red-background {
	color:#fff;
}

.ps-blue-text {
	color: #2D6877;
}
.ps-blue-background {
	background-color: #2D6877;
}

.light-grey {
	color: #ccc;
}

.light-grey-2 {
	color: #4b4b4b;
}

.no-inline-block-space,
.remove-inline-block-space {
    /*remove space between inline-block items*/
    font-size:0;
}

.clear-float,
.clear {
	clear: both;
}

.relative,
.relative-container {
    position: relative;
}

.hidden-text {
    font-size: 0px;
    text-indent: -9999ppx;
}

.site-section {
	margin-top:30px;
	margin-bottom: 30px;
}

.site-section-2 {
	margin-top:60px;
	margin-bottom: 60px;
}

.flex-height-container {
	position: relative;
}

.flex-height-child {
	height: 100%;
}

a:hover,
.listing-header a:hover,
.sub-listing-header a:hover,
.featured-header a:hover,
.most-read-header a:hover, 
.module-header a:hover, 
.research-title a:hover,
.see-more-arrow,
[class*="header"] a:hover {
	color: inherit;
}

/* ============================================================
	Default form styles 
============================================================ */
/*
	MATERIALIZE LIBRARY CODE FOR SELECT BOXES
*/

/* Select Field
   ========================================================================== */
select {
  display: none;
}

select.browser-default {
  display: block;
}

select {
  background-color: rgba(255, 255, 255, 0.9);
  width: 100%;
  padding: 5px;
  border: 1px solid #f2f2f2;
  border-radius: 2px;
  height: 3rem;
}

.select-label {
  position: absolute;
}

.select-wrapper {
  position: relative;
}

.select-wrapper.valid + label,
.select-wrapper.invalid + label {
  width: 100%;
  pointer-events: none;
}

.select-wrapper input.select-dropdown {
  position: relative;
  cursor: pointer;
  background-color: transparent;
  border: 1px solid #4a4a4a;
  outline: none;
  height: 3rem;
  line-height: 3rem;
  width: 100%;
  font-size: 16px;
  margin: 0 0 8px 0;
  padding: 0;
  display: block;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  z-index: 1;
  border-radius: 5px;
  padding:0 10px;
}

.select-wrapper input.select-dropdown:focus {
  border-bottom: 1px solid #26a69a;
}

.select-wrapper .caret {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
  z-index: 0;
  fill: rgba(0, 0, 0, 0.87);
}

.select-wrapper + label {
  position: absolute;
  top: -26px;
  font-size: 0.8rem;
}

select:disabled {
  color: rgba(0, 0, 0, 0.42);
}

.select-wrapper.disabled + label {
  color: rgba(0, 0, 0, 0.42);
}

.select-wrapper.disabled .caret {
  fill: rgba(0, 0, 0, 0.42);
}

.select-wrapper input.select-dropdown:disabled {
  color: rgba(0, 0, 0, 0.42);
  cursor: default;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.select-wrapper i {
  color: rgba(0, 0, 0, 0.3);
}

.select-dropdown li.disabled,
.select-dropdown li.disabled > span,
.select-dropdown li.optgroup {
  color: rgba(0, 0, 0, 0.3);
  background-color: transparent;
}

body.keyboard-focused .select-dropdown.dropdown-content li:focus {
  background-color: rgba(0, 0, 0, 0.08);
}

.select-dropdown.dropdown-content li:hover {
  background-color: rgba(0, 0, 0, 0.08);
}

.select-dropdown.dropdown-content li.selected {
  background-color: rgba(0, 0, 0, 0.03);
}

.prefix ~ .select-wrapper {
  margin-left: 3rem;
  width: 92%;
  width: calc(100% - 3rem);
}

.prefix ~ label {
  margin-left: 3rem;
}

.select-dropdown li img {
  height: 40px;
  width: 40px;
  margin: 5px 15px;
  float: right;
}

.select-dropdown li.optgroup {
  border-top: 1px solid #eee;
}

.select-dropdown li.optgroup.selected > span {
  color: rgba(0, 0, 0, 0.7);
}

.select-dropdown li.optgroup > span {
  color: rgba(0, 0, 0, 0.4);
}

.select-dropdown li.optgroup ~ li.optgroup-option {
  padding-left: 1rem;
}
.dropdown-content {
  background-color: #fff;
  margin: 0;
  display: none;
  min-width: 100px;
  overflow-y: auto;
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 9999;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
}

.dropdown-content:focus {
  outline: 0;
}

.dropdown-content li {
  clear: both;
  color: rgba(0, 0, 0, 0.87);
  cursor: pointer;
  line-height: 1.5rem;
  width: 100%;
  text-align: left;
}

.dropdown-content li:hover, .dropdown-content li.active {
  background-color: #eee;
}

.dropdown-content li:focus {
  outline: none;
}

.dropdown-content li.divider {
  min-height: 0;
  height: 1px;
}

.dropdown-content li > a, .dropdown-content li > span {
  font-size: 16px;
  color: #26a69a;
  display: block;
  line-height: 22px;
  padding: 5px 16px;
}

.dropdown-content li > span > label {
  top: 1px;
  left: 0;
  height: 18px;
}

.dropdown-content li > a > i {
  height: inherit;
  line-height: inherit;
  float: left;
  margin: 0 24px 0 0;
  width: 24px;
}

body.keyboard-focused .dropdown-content li:focus {
  background-color: #dadada;
}

.input-field.col .dropdown-content [type="checkbox"] + label {
  top: 1px;
  left: 0;
  height: 18px;
  -webkit-transform: none;
          transform: none;
}

.dropdown-trigger {
  cursor: pointer;
}

/* adjustments to materlize's css */
.select-wrapper,
.select-wrapper input.select-dropdown {
	margin:0;
	width: 100%;
	font-style: normal;
	color: #9E9E9E;
	font-size: 1.5rem;
	border-color: #979797;
}

.select-label.default {
	position: relative;
}

.dropdown-content {
	top:30px !important;
	box-shadow: 0 2px 6px 1px rgba(0,0,0,0.1);
	border: 1px solid #D6D6D6;
	border-radius:0 0 6px 6px;
}

.dropdown-content li > a, .dropdown-content li > span {
	color: #000;
}

.select-dropdown.dropdown-content li:hover {
	background-color: #0091FF;
	color: #fff;
}

.select-dropdown.dropdown-content li:hover span {
	color: #fff;
}

.select-wrapper input.select-dropdown:focus {
  border-bottom: 1px solid #979797;
}

input {
	padding:10px;
	font-size:14px;
	border:none;
	color:#666;
	outline: none;
}
input[type='text'],
input[type='password'],
input[type='email'] {
	box-shadow: none;
	border: none;
	border-bottom: 1px solid #4A4A4A;
	color: #000;
	background-color: transparent;
	padding-left: 0;
	padding-right: 0;
}
input[type='submit'] {
	background-color: #CC1528;
	border: 1px solid #CC1528;
	color: #fff;
	padding:7px 0;
	border-radius: 18px;
	font-weight: 700;
}
select {
	background-color: transparent;
	padding:5px;
	border:1px solid #9E9E9E;
	color: #9E9E9E;
	font-style: italic;
	width: 100%;
	border-radius: 6px;
	font-size: 1.4rem;
}

.select-container {
	position: relative;
}

.select-container .button-overlay {
	position: absolute;
	right: 0;
	height: 100%;
	font-size: 1.8rem;
	background-color: #fff;
	width: 15%;
	text-align: center;
	color: rgba(0,0,0,0.5);
	pointer-events: none;
}

input:-webkit-autofill,
select:-webkit-autofill {
	background-color: inherit;
}

label.text-label,
a.text-label {
	color: #9E9E9E;
	display: block;
	font-size: 1.4rem;
	line-height: 1em;
	position: absolute;
	bottom: 7px;
	left: 0;
	pointer-events: none;
	transition: bottom 0.5s, font-size 0.5s;
}

label.text-label.active {
	font-size: 1.3rem;
	bottom: 40px;
	color: #1CAC99;
}

.standard-form input:focus {
    border-bottom: 2px solid 
    #1CAC99;
}

/* ============================================================
	Stuff that I don't know what to group under 
============================================================ */
.element-scroll  {
	z-index: 7000;
}

/* ============================================================
	Article page and formatting 
============================================================ */
.box-ad-container {
	min-width: 300px;
	max-width: 300px;
}

.article-format {
	font-size: 18px;
	line-height: 1.25;
	line-height: 1.55em;
	letter-spacing: -0.2px;
}

.article-format h1:not([class]),
.article-format .research-header {
	font-size: 36px;
	line-height: 1.25em;
	letter-spacing: -0.25px;
	font-family: "Roboto Slab";
	margin-top: 28px;
	margin-bottom: 16px;
}
	/*name "Research Header"*/

.article-format h2:not([class]),
.article-format .subhead {
	font-size: 24px;
	line-height: 1.25em;
	letter-spacing: -0.2px;
	font-family: "Open Sans";
	font-weight: 700;
	padding-top: 20px;
	margin-bottom: 8px;
}
	/*name "Subhead"*/

.article-format h3:not([class]),
.article-format .research-dek {
	font-size: 24px;
	line-height: 1.35em;
	letter-spacing: -0.2px;
	font-family: "Open Sans";
	margin-bottom: 60px;
}

.article-format .research-dek {
	font-weight: 700;
	margin-bottom: 20px;
}

	/*name "Research DEK" */

.article-format h4:not([class]),
.article-format .pull-quote,
.article-format blockquote {
	font-size: 28px;
	line-height: 1.35em;
	font-family: "Roboto Condensed";
	margin-bottom: 1em;
	color: #808080;
}
	/*name "Pull Quote" */

.article-format h5:not([class]),
.article-format .notes {
	font-size: 16px;
	line-height: 1.5em;
	font-family: "Open Sans";
	font-style: italic;
	margin-top: 18px;
}

.article-format h6:not([class]),
.article-format .research-notes {
	font-size: 14px;
	line-height: 1.6em;
	font-family: "Open Sans";
	color: #4A4A4A;
	margin-top: 12px;
}

.article-format [style*='32'],
.article-format [style*='34'],
.article-format [style*='36'],
.article-format [style*='38'],
.article-format [style*='40'],
.article-format [style*='42'],
.article-format [style*='44'],
.article-format [style*='48'],
.article-format [style*='60'],
.article-format [style*='72'] {
	line-height: 1.35em;
}

.article-format ul:not([class]),
.article-format ol:not([class]) {
	margin-left: 64px;
	margin-top: 24px;
	margin-bottom: 24px;
}

.article-format li:not([class]) {
	line-height: 1.35em;
	margin-bottom: 12px;
	display: list-item;
	list-style-position: outside;
}

.article-format ul li:not([class]){
	list-style-type: disc;
}

.article-format ol li:not([class]) {
	list-style-type: decimal;
}

.article-format p {
	margin-bottom: 18px;
}

.article-format p:first-child {
	margin-top:0;
}

.article-format p:last-child {
	margin-bottom:0;
}

.article-format a {
	color: #d0021b;
}

.article-format a:hover {
	color:#0056b3
}

.article-format .social-media-container {
	text-align: right;
	font-size: 24px;
	z-index: 1000;
}

.article-format .social-media-container ul,
.article-format .social-media-container ol {
	display: inline-block;
	line-height: 1em;
	margin:0;
	padding:0;
}

.article-format .social-media-container li {
	margin: 4px 0 16px 0;
	text-align: center;
	display: block;
	line-height: 1em;
}

.article-format .social-media-container li a,
.article-format .social-media-container li button {
	color: #727578;
	transition: color 0.3s;
}

.article-format .social-media-container li a:hover,
.article-format .social-media-container li button:hover,
.social-media-container li a:hover,
.social-media-container li button:hover {
	color: #000;
}

.article-format .social-media-container .mobile-social,
.social-media-container .mobile-social {
	display: none;
}


.article-format .banner-ad {
	background-color: transparent;
}

.article-container .content-container {
	min-width: 87%;
}

.article-footer {
	margin: 32px 0;
    padding: 20px 0;
    border-top: 1px solid #979797;
	clear: both;
}

.article-footer a {
	color: inherit;
}

.main-header .main-nav {
    position: relative;
	background-color:#fff;
}

.article-footer .label {
	font-weight: 700;
	font-size: 14px;
}

.article-footer .item{
	font-size: 14px;
}

.article-footer .item .social-media li {
	display: inline-block;
	margin-right: 10px;
	font-size: 20px;
}

.article-footer .item .social-media li a{
	color: #000;
}

.article-format table {
	width:100%;
	font-size: 1.6rem;
	margin:40px 0;
}


.article-format table td,
.article-format table th {
	padding:5px;
}

.article-format table td {
	background-color: #f0f0f0;
}

.article-format table tr:nth-child(odd) td {
	background-color: #e2e2e2;
}

.article-format table th {
	font-weight: bold;
	font-size: 1.8rem;
}

.article-format table td:first-child{
	text-align: left;
}

.scroll-end-warning {
	padding: 60px 0;
	background-color: #F6F6F6;
	color: #101010;
	font-size: 3.2rem;
	line-height: 1.5em;
	text-align: center;
}


.scroll-end-warning .container hr {
	margin:60px auto;
	background-color: #AC0000;
	height: 1px;
	border: none;
	max-width: 65%;
}

.scroll-end-warning img {
	max-width: 185px;
	margin-top: 100px;
}

.sm-size .scroll-end-warning {
	font-size: 2.0rem;
	line-height: 1.5em;
}

.sm-size .scroll-end-warning .container hr {
	margin:40px auto;
}

.sm-size .scroll-end-warning img {
	max-width: 50px;
	margin-top: 50px;
}

/* ============================================================
	Pagination 
============================================================ */
.paged-pagination  {
	font-size: 1.4rem;
	line-height: 1.2em;
	color: #333;
	margin:20px 0;
}

.paged-pagination  .page-numbers {
	padding:0 5px 6px 5px;
	margin:0 2px;
	color: #333;
	border-bottom: 1px solid transparent;
}

.paged-pagination  .page-numbers:hover {
	border-bottom: 1px solid #CC1528;
}

.paged-pagination  .next-button {
	padding-left: 10px;
	color: #333;
}

.paged-pagination  .prev-button {
	padding-right: 10px;
	color: #333;
}

.paged-pagination  .last-button {
	padding-left: 15px;
	color: #BFBFBF;
}

.paged-pagination  .next-button.disabled,
.paged-pagination  .prev-button.disabled,
.paged-pagination  .last-button.disabled {
	color: #BFBFBF;
}

.paged-pagination  .current {
	color:#000;
	font-weight: 700;
	border-bottom: 1px solid #CC1528;
}

.paged-pagination:hover  .current {
	border-bottom: 1px solid transparent;
}

/* ============================================================
	Global Sponsor Setup 
============================================================ */
.sponsored {
	color: #2D6877;
}

/* ============================================================
	Global Ad Setup 
============================================================ */

.banner-ad {
	background-color: #f4f4f4;
	text-align: center;
	margin: 40px 0;
	text-align: center;
	max-width: 100%;
	/*min-width: 729px;*/
}

main > .banner-ad:last-child {
	margin-bottom: -40px;
}

.header-ad {
	padding-top: 20px;
	padding-bottom: 20px;
	margin-top: 0;
}

.banner-ad img,
.box-ad img {
	display: block;
	margin: 0 auto;
}

.box-ad-container,
.box-ad-container {
	margin:0 auto;
}

.listing-page .banner-ad {
	border-bottom: 1px solid #ccc;
	margin: 20px 0;
	padding-bottom: 20px;
	background-color: transparent;
}

#div-skin-article,
#div-ppd-article,
#div-premium-article,
#div-interstitial-article,
#div-premium,
#div-interstitial,
#div-skin,
#div-ppd {
	font-size: 0;
	height: 0;
}


/* Login Page ====
==================*/
#div_login {
	color: #000;
	min-width: 800px;
	width: 800px;
	overflow:hidden;
}

#div_login .account {
	background-color: #ec6064;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

#div_login .padding {
	padding:40px 40px;
	height: 100%;
}

#div_login .account-text {
	color: #fff;
	font-size: 1.8rem;
	line-height: 1.4em;
	margin:40px 0;
}

#div_login .inputs {
	margin-top:40px;
}

#div_login .input-holder {
	margin-bottom: 20px;
}

#div_login .inputs .input-holder input {
	width: 85%;
}

#div_login .sign-up-button {
	padding:7px 0;
	width: 170px;
	display: inline-block;
	background-color: #fff;
	color: #CC1528;
	border-radius: 18px;
	font-weight: 700;
	border:1px solid #CC1528;
}

#div_login input[type="submit"] {
	width: 170px;
	display: inline-block;
	cursor: pointer;
}

#div_login input[type="submit"]:not(.off):hover {
	box-shadow: 1px 1px 2px 1px #880212 inset
}

#div_login input[type="submit"].off {
	background-color: #E6E6E6;
	border-color: #E6E6E6;
	color: #4A4A4A;
}

#div_login .forgot-password {
	padding:16px 0;
}

#div_login .forgot-password a {
	font-size: 1.2rem;
	color: #9E9E9E;
}

#div_login .forgot-password a:hover {
	color: #CC1528;
}

#div_login #div_result {
	color: #FF0000;
	text-align: left;
	padding-top: 8px;
	padding-left: 8%;
	font-size: 1.2rem;
}

#div_login .error {
	border-bottom: 2px solid #CC1528;
}

#div_login .loading-icon {
	font-size: 2rem;
	opacity: 0;
}

.fancybox-close {
	background-image: url(/wp-content/themes/plansponsor/images/close-X.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 30px 30px;
	top: -20px;
	right: -50px;
}

.sm-size .fancybox-close {
	top: 0px;
	right: 0px;
}

.fancybox-overlay {
	background-color: rgba(255, 255, 255, 0.92);
	background-image: none;
}

.fancybox-opened .fancybox-skin {
	box-shadow: 0 2px 10px 1px rgba(0, 0, 0, 0.25);
}

.fancybox-title-float-wrap .child {
    background: #ffffff;
    color: #4a4a4a;
    text-shadow: none;
}

.sm-size #div_login,
.md-size #div_login {
	min-width: 300px;
	width: 100%;
}

.sm-size #div_login .account-text,
.md-size #div_login .account-text,
.sm-size #div_login .inputs,
.md-size #div_login .inputs {
	margin:10px 0;
}

.sm-size #div_login .padding {
	padding:20px;
}

.sm-size .fancybox-opened .fancybox-skin,
.md-size .fancybox-opened .fancybox-skin  {
	top:50px;
}

/* ================= END SETUP CLASSES ==================== */

/* ============================================================
	Main Header 
============================================================ */
.main-header {
	background-color: #ca121b;
	position: relative;
	z-index: 8000;
	box-shadow: rgba(0, 0, 0, 0.20) 0px 0px 5px 1px;
}

.main-header .social-media li {
	padding-right: 20px;
	font-size: 1.3rem;
	color: #fff;
	align-self: center;
}

.main-header .social-media li:hover a {
	color: #fff;
}

.main-header .supernav-links ul {
	float: right;
}

.main-header .supernav-links li {
	font-weight: 700;
	text-align: center;
	padding:9px 12px;
	display: inline-block;
	color: #fff;
}

.main-header .supernav-links li:hover a {
	color: #fff;
}
.main-header .supernav-links li.login-button:hover > a,
.main-header .supernav-links li.manage-account:hover > a {
	color: #FF3B3B;
}

.main-header .supernav-links .login-buttons {
	background-color:#fff;
	border-bottom: 1px solid #ca121b;
	margin-left: 24px;
}

.main-header .supernav-links .login-button,
.main-header .supernav-links .manage-account {
	color: #c10700;
}

.main-header .main-nav {
	background-color: #fff;
}

.main-header .main-nav .desktop-nav {
	display: flex;
	background-color: #fff;
	align-items: center;
}

.main-header .main-nav .logo {
	flex: auto;
	max-width: 185px;
	padding-right: 15px;
}

.main-header .main-nav .nav-links {
	flex: auto;
}

.main-header .main-nav .nav-links > ul {
	display: flex;
	align-items: center;
	justify-content: space-around;
}

.main-header .main-nav .nav-links li {
	flex:1 1 auto;
	margin:0;
	color: #fff;
	font-size: 1.6rem;
	text-align: center;
	color: #000;
	padding:10px 0;
	font-family: Roboto Condensed, sans-serif;
}

.main-header .main-nav .nav-links li a {
	display: block;
	width: 100%;
}
.main-header .main-nav .nav-links li a:hover{
	color: #c71821;
}

.main-header .main-nav .nav-links .fa-caret-down {
	font-size: 0.9em;
}

.main-header .main-nav .nav-links .search-button {
	display: flex;
	max-width: 180px;
	color: #ccc;
	min-width: 100px;
}

.main-header .main-nav .nav-links .search-button div {
	max-width: 35%;
	font-size: 2.0rem;
}

.main-header .main-nav .nav-links .search-button input {
	flex:1 1 auto;
	max-width: 100%;
	width: 100%;
	border:none;
	border-bottom: 1px solid #ccc;
	color: #999;
	font-size: 12px;
	color: #4a4a4a;
	padding:0;
	background-color: transparent;
	font-family: 'Open Sans', Arial;
}

.main-header .main-nav .nav-links .search-button form {
	padding:0;
}

/*dropdowns*/
.main-header .menu-item-has-children {
	position:relative;
}

.main-header .menu-item-has-children .sub-menu {
	position:absolute;
	top:30px;
	left:0;
	z-index:10000;
	display:none;
	width:100%;
	box-shadow:2px 2px 3px 0px rgba(0,0,0,0.1);
	width: 168px;
	border-bottom: 2px solid #ca121b;
	padding-top: 5%;
}
.main-header .menu-item-has-children .sub-menu li {
	display:block;
	border-left: none;
	padding:0;
	margin:0;
	background-color: #fff;
}
.main-header .menu-item-has-children .sub-menu li:first-child {
		padding-top: 8px;
}
.main-header .menu-item-has-children .sub-menu li:last-child {
		padding-bottom: 8px;
}
.main-header .menu-item-has-children .sub-menu a {
	padding:8px 20px;
	border-left:none;
	display:block;
	background-color: #fff;
	color: #000;
	text-align: left;
	font-family: 'Roboto Condensed';
}
.main-header .supernav-links .menu-item-has-children .sub-menu{
	width: 150px;
}

.main-header .supernav-links .menu-item-has-children .sub-menu a {
	font-size: 1.2rem;
}

.main-header .menu-item-has-children:hover .sub-menu {
	display:block;
	top: 24px;
}

.main-header .supernav-links .menu-item-has-children .sub-menu a  {
	border-left:none;
	line-height:15px;
	background-color: #fff;
	color: #000;
	padding: 4px 12px;
	font-size: 1.2rem;
	text-align: left;
	width: 100%;
	font-weight: 500;
}
.main-header .supernav-links .menu-item-has-children .sub-menu a:hover  {
	color: #CC1528;
}
/*
.menu-item-has-children:after {
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	font-family: "Font Awesome 5 Pro";
	content: '\f078';
	font-weight: 900;
	padding-left: 5px;
}
*/
.md-size .main-header .main-nav .nav-links .search-button {
	max-width: 100px;
}

.xs-size .main-header .main-nav {
	background-color: #fff;
}

.xs-size .main-header .main-nav .container {
	background-color: #fff;
}

#sticky-nav {
	position: fixed;
	top: -40px;
	width: 100%;
	box-shadow: 0px 0px 10px -3px rgba(0,0,0,0.3);
	z-index: 20000;
}

/* ================= END Main Header ==================== */

/* ============================================================
	Main Footer 
============================================================ */
.main-footer {
	background-color: #1A1A1A;
	color: #C7C7C7;
	margin-top: 40px;
}

.main-footer .social-row {
	padding-top:35px;
	padding-bottom: 25px;
	color: #fff;
}

.main-footer .social-row .logo {
	max-width: 215px;
}

.main-footer .social-row .social-media {
	color: #D1D1D1;
	font-size: 1.4rem;
}

.main-footer .social-row .social-media li:not(:first-child){
	padding-left:15px;
}

.main-footer .footer-nav li,
.main-footer .footer-nav h3 {
	margin-bottom: 10px;
	font-size: 1.6rem;
	line-height: 1.2em;
}

.main-footer .footer-nav li {
	font-size: 1.4rem;
	line-height: 1.2em;
}

.main-footer .footer-nav .magazine a {
	display: block;
	margin-bottom: 10px;
}

.main-footer .site-branding {
	font-size: 14px;
	line-height: 1.4em;
	padding: 40px 0;
	margin-top: 16px;
	margin-bottom: 0;
	border-top: 1px solid #979797;
	color: #C7C7C7;
}

.main-footer .site-location {
	margin-top: 13px;
}

.main-footer .site-branding img {
	max-width: 190px;
}

.main-footer .site-branding li {
	display: inline-block;
}

.main-footer .site-branding li:not(:last-child):after {
	content: ' /';
}

.main-footer .site-branding li:nth-last-child(5):after {
	content: ' ';
}

.main-footer li a:hover,
.site-branding a:hover {
	color: #fff;
}
/* ================= END Main Header ==================== */


/* ============================================================
	Sidebar Modules 
============================================================ */

.sidebar:not(:first-child),
.sidebar-section:not(:first-child) {
	margin: 36px 0;
}

.sidebar .see-more-arrow {
	font-size: 15px;
	font-weight: 700;
	letter-spacing: -0.1px;
}

.sidebar-box {
	border-bottom: 1px solid #ccc;
	margin:18px 0;
	padding:0 0 18px 0;
}

.sidebar-box:first-of-type {
	padding-top:0;
	margin-top: 0;
}

.survey-findings .source,
.survey-findings .source-credit {
	margin-top:13px;
}

.latest-research {
	margin-top:60px;
}

.most-read .category-1,
.most-read .category-2,
.most-read .most-read-header {
	margin: 0;
}

.survey-findings .statement-header {
	margin-bottom: 16px;
}

.market-mirror {
	padding-bottom: 0;
	margin-top: 12px;
}

.market-mirror .sub-header  {
	margin-top: 12px;
}

.market-mirror .info-text {
	background-color: #f9f9f9;
	border-top: 1px solid #000;
	border-bottom: 1px solid #ccc;
	padding-top: 18px;
	padding-bottom: 18px;
	color: #4A4A4A;
}

/* ============================================================
	Callout Module
============================================================ */
.callout {
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding:26px 0;
	margin:32px 0;
}

.callout:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

.callout .header {
	font-weight: normal;
	line-height: 1.3em;
}

.callout .see-more-arrow {
	text-align: right;
	font-size: 2.4rem;
	letter-spacing: -0.6px;
}

.callout .email-signup {
	width: 100%;
	border-radius: 50px;
	padding: 12px 20px;
	font-size: 1.6rem;
	line-height: 1em;
	border:1px solid #ccc;
	color: #9B9B9B;
	font-style: italic;
	margin-top: 16px;
}

.email-callout {
	border-bottom:none;
}

.email-callout img {
	margin-right: 15px;
}

.callout .email-signup:focus {
	color: #000;
	font-style: normal;
}

.callout .email-signup:visited {
	color: #000;
	font-style: normal;
}

.store-callout .callout-header  {
	margin-bottom: 10px;
}

.store-callout .see-more-arrow {
	font-size: 1.5rem;
}

/* ============================================================
	Thought Leadership Spotlight Modules 
============================================================ */

.thought-leadership-spotlight .top-story-box {
	border:none;
}

.thought-leadership-slideshow .listing-article {
	padding-bottom:30px;
}

.thought-leadership-slideshow  .relative-container {
	margin-bottom: 16px;
}

.thought-leadership-slideshow .fas,
.thought-leadership-slideshow .far {
	color: #4A4A4A;
}

.thought-leadership-slideshow .cycle-pager, 
.thought-leadership-slideshow .custom-pager {
	bottom:12px;
}

.thought-leadership-slideshow .play-overlay {
	width:100%;
	height: 100%;
	position: absolute;
	background-color: rgba(0,0,0,0.2);
}
.thought-leadership-slideshow .play-overlay .fa-play-circle {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100px;
	height: 100px;
	font-size: 10rem;
	color: #fff;
	margin-left: -50px;
	margin-top: -50px;
}
	
.thought-leadership-spotlight  .listing-article {
	margin-bottom: 12px;
	padding-bottom: 12px;
}

.thought-leadership-spotlight  .source-credit,
.thought-leadership-spotlight  .info-text {
	color: #2D6877;
}

.thought-leadership-spotlight .relative-container .sponsor-logo {
	position: absolute;
	background-color: #fff;
	padding:10px;
	box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.3);
	max-width: 50%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin:auto;
}

/* ============================================================
	Plansponsor Magazine Module
============================================================ */
.plansponsor-magazine .magazine-item   {
	max-width: 280px;
}

.magazine-item .magazine-issue-header {
	padding-left:15%;
	padding-right:15%;
}

.magazine-item img {
	border: 1px solid #D8D8D8;
}

/* ============================================================
	Top Story Module 
============================================================ */
.top-stories .section-header  {
	margin-top: 0;
	margin-bottom: 21px;
	height: 24px;
	line-height: 1em;
}

.top-stories article:not(.sponsored) .pre-title {
	display: none;
}

.top-stories article:not(.sponsored) .listing-title {
	margin-top:0;
}

.top-story-box,
.top-stories .listing-article {
	margin-bottom: 24px; 
	padding-bottom: 24px;
	border-bottom: 1px solid #ccc;
}

.top-story-box img {
	width:100%;
	margin-bottom: 10px;
}

.top-story-box .no-image {
	padding-top: 20px;
	border-top: 32px solid #880212;
}

.top-stories .listing-article:not(.sponsored) .category-1,
.top-stories .listing-article .image {
	display: none;
}

.top-stories .listing-article:not(.sponsored) .listing-header {
	margin-top: 0;
}

.editors-picks .sub-header,
.most-read .sub-header  {
	margin-top: 4px;
}

.editors-picks .sidebar-box img {
	margin-bottom: 14px;
}

/* ============================================================
	Featured Story Module
============================================================ */
.story-item {
	margin-bottom: 8px;
}

.story-item .category-2 {
	margin-bottom: 0;
}

.story-item img {
	display: block;
}

.image-tag {
	position: relative;
	border:1px solid #B1B1B1;
	display: inline-block;
	max-width: 100%;
}

.image-tag .tag {
	display: inline-block;
	position: absolute;
	bottom: 0;
	left: 0;
	padding:8px 12px;
	background-color: #272727;
	color: #fff;
	font-weight: 600;
}

.featured-stories img  {
	display: block;
}

.featured-stories .see-more-arrow  {
	margin-top: 16px;
}

/* ============================================================
	Card block styles 
============================================================ */
.card-item .card-container {
	box-shadow: 2px 2px 7px 2px rgba(190,190,190,0.5);
	height: 100%;
	padding-bottom: 20px;
}

.card-item time {
	width: 100%;
}

.card-item .text {
	padding:0 40px;
}

.card-item img {
	margin-bottom: 10px;
	border-bottom: 
}

.card-item .month {
	font-size: 2.0em;
	line-height: 1.2em;
}

.card-item .day {
	font-size: 2.6em;
	line-height: 1.2em;
}

.card-item .name {
	font-size: 2.0em;
	line-height: 1.2em;
}

.card-item .location {
	font-size: 1.8em;
	line-height: 1.2em;
}

/* ============================================================
	Article listing 
============================================================ */
.latest-news .header {
	margin-bottom: 30px;
}

.listing-article {
	margin-bottom:15px;
	padding-bottom:15px;
	border-bottom: 1px solid #ccc;
}

.text-ad .listing-article {
	padding-bottom: 24px;
	margin-top: 24px;
	margin-bottom: 15px;
}

.text-ad div[id*="google"] {
	padding-bottom: 15px;
}

.ls-size .text-ad div[id*="google"] iframe,
.xl-size .text-ad div[id*="google"] iframe {
	border-bottom: 1px solid #ccc !important;
	padding-left: 7%;
}

.top-stories .text-ad div[id*="google"] iframe {
	padding-left: 0;
}

.listing-article.featured {
	border: none;
}

.listing-article.sponsored-listing  {
	padding-left:7%;
	padding-right:15%;
}

.listing-article .pipe {
	display: inline-block;
	margin:0 4px;
	font-weight: 400;
	color: #4A4A4A;
}

.listing-article time {
	color: #4A4A4A;
}

.listing-article .image {
	margin-right: 30px;
	max-width: 27.6%;
}

.listing-article .image img {
	width: 100%;
	display: block;
	border:1px solid #D8D8D8;
}

.listing-article.full-image .image {
	max-width: 100%;
	min-width: 100%;
	margin:0;
	padding:0;
	display: block;
}

.listing-article.full-image .media-body h3 {
	margin-top: 10px;
}

.listing-article.magazine .pipe {
	display: none;
}

.listing-article ul li {
	display: list-item;
	list-style-type: disc;
	margin-bottom: 3px;
	list-style-position: inside;
	font-size: 1rem;
}

.listing-article ul li::marker {
	position: relative;
	top: -1px;
}

.listing-article ul li span {
	font-size: 1.4rem;
	font-family: 'Roboto Slab';
}

.article-listing-condensed .article-item {
	margin-bottom: 8px;
	padding-bottom: 8px;
	border-bottom: 1px solid #ccc;
}

.article-listing-condensed .small-header {
	margin-top:0;
}

.article-listing-condensed .article-item .circle,
[class*="header"] .circle {
	margin-right:17px;
	border-radius: 100%;
	overflow: hidden;
	width: 60px;
	height: 60px;
	border:1px solid #D0021B;
	position: relative;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

[class*="header-"] .circle {
	display: inline-block;
}

.article-listing-condensed .article-item .circle .letter,
[class*="header"] .circle .letter {
	display: block;
	width: 60px;
	height: 60px;
	background-color: #D0021B;
	color: #fff;
	text-align: center;
	font-size: 3.5rem;
	padding: 0;
	line-height: 1.5em;
	font-family: Roboto Slab;
	position: absolute;
	top: 0px;
	left: 0;
	letter-spacing: 1px;
	text-transform: capitalize;
}

.article-listing-condensed .article-item .circle img,
[class*="header"] .circle img {
	display: block;
	min-height: 100%;
}

.sm-size .listing-article.media > img,
.sm-size .listing-article.media,
.xs-size .listing-article.media > img,
.xs-size .listing-article.media {
	display: block;
	width: 100%;
}
/*
.sm-size .listing-article:last-of-type {
	border-bottom: none;
}
*/


/* ============================================================
	Search Page
============================================================ */
.search.page .search-bar input {
	width: 100%;
	border: 1px solid #9B9B9B;
	font-size: 1.5rem;
	color: #000;
	padding:13px 0 13px 40px;
	border-radius: 30px;
}

.search.page .search-bar form:before {
	font-family: "Font Awesome 5 Pro";
	content: '\f002';
	font-weight: 400;
	padding-left: 5px;
	position: relative;
	top: 30px;
	left: 10px;
	color: #9B9B9B;
	font-size: 1.5rem;
}

.search.page .sorting {
	text-align: right;
	margin-top: 10px;
}

.search.page .sorting div {
	display: inline-block;
	padding:0 5px;
}

.search.page .sorting div:last-child {
	padding-right:0;
}

.search.page .sorting {
	color: rgba(0,0,0, 0.3);
}

.search.page .sorting a.active {
	color: #000;
}

/* ============================================================
	Box Layout listing - piggybacks off of bootstrap row
============================================================ */
.box-listing.four-column .listing-article {
	width:25%;
	max-width: 25%;
	flex: 25%;
	padding:0 15px;
	display: block;
	border:none;
}

.box-listing .listing-article .image,
.box-listing .listing-article .media-body {
	width: 100%;
	max-width: 100%;
	min-width: 100%;
	margin:0 0 10px 0;
	padding:0;
	display: block;
}

.box-listing .listing-header {
	margin-bottom: 0;
}

/* ============================================================
	Card Layout listing - piggybacks off of bootstrap row
============================================================ */
.card-listing .listing-item {
	margin-bottom: 30px;
}

.card-listing .image-container {
	width: 100%;
	display: block;
	border-bottom: 1px solid rgba(190,190,190,0.5);
	height: 150px;
}

.card-listing .image-container a {
	padding:10px;
	height: 100%;
	width: 100%;
	text-align: center;
}

.card-listing img {
	display: block;
	max-height: 100%;
}

.card-listing .text-box {
	padding: 20px 12px;
	vertical-align: top;
}

..card-listing .text-box .category-2 {
	margin-top: 10px;
}

.card-listing .listing-item > .border-container {
	border:1px solid rgba(190,190,190,0.5);
	box-shadow: 2px 2px 7px 2px rgba(190,190,190,0.0);
	width: 100%;
	transition: box-shadow 0.3s;
}

.card-listing .listing-item:hover > .border-container {
	box-shadow: 2px 2px 7px 2px rgba(190,190,190,0.5);
}

.card-listing .text-box .secondary {
	margin:4px 0 20px 0;
}

.card-listing.full-width-image .listing-item .image-container,
.card-listing.full-width-image .listing-item .image-container a {
	padding:0;
	height: auto;
}

.card-listing.full-width-image .listing-item .image-container img {
	width: 100%;
}

/* ============================================================
	Feature Box 
============================================================ */
.featured-hero {
	background-color: rgba(0,0,0,0.8);
	padding: 170px 0 80px 0;
	color: #fff;
	width: 100%;
	min-height: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	display: table;
}

.featured-hero .excerpt {
	margin-top:70px;
}

.featured-hero h1 {
	font-weight: 700;
}

.featured-hero .text-overlay {
	z-index: 20;
}

.feature-box {
	position: relative;
}

.feature-box img {
	width: 100%;
}

.feature-box .text-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding:20px;
	color: #fff;
	height: 100%;
	background: linear-gradient(rgba(0,0,0,0.0), rgba(0,0,0,0.4));
}

.feature-box .text-overlay .section-header {
	margin-bottom: 5px;
}

.table-center {
	display: table-cell;
	vertical-align: middle;
}

/* ============================================================
	Slideshow Basics 
============================================================ */
.cycle-slideshow {
	position: relative;
	max-width: 100%;
}

.cycle-pager,
.custom-pager {
	position: absolute;
	bottom: 20px;
	font-size: 12px;
	color: #fff;
	width: 100%;
	text-align: center;
	z-index: 1000;
}

.cycle-pager > *,
.custom-pager > * {
	cursor: pointer;
}

.custom-pager span {
	position: relative;
	width: 12px;
	height: 12px;
	display: inline-block;
	margin: 0 6px;
}

.custom-pager .fas,
.custom-pager .far {
	position: absolute;
	bottom: 0;
	left: 0;
}

.custom-pager .fas {
	opacity: 0;
	z-index: 9;
	transition: all 0.5s;
}

.custom-pager .far {
	opacity: 1;
	z-index: 10;
}


.custom-pager .cycle-pager-active .fas {
	opacity: 1;
	z-index: 11;
}

.single-article {
    position: relative;
}

/* LOGIN BLOCKER BOX */

#form_login_research {
	position: absolute;
	width: 100%;
	z-index: 8000;
}

.login-blocker {
	background-color: #CC1528;
	color: #fff;
	padding:48px 0 36px 0;
	position: fixed;
	z-index: 1000;
	bottom: 0;
	height: 50%;
	width: 100%;
}

.login-blocker .email-field {
	min-width: 80%;
}

.sm-size .login-blocker,
.md-size .login-blocker {
	height: 70%;
}

.login-blocker .dek1 {
	padding-bottom: 30px; 
	margin-bottom: 30px;
	border-bottom: 1px solid rgba(255,255,255,0.6);
}

.login-blocker .signin-form {
	margin:20px 0;
}

.login-blocker .signin-form input[type='text'] {
	color: #ffffff;
	border: 1px solid #fff;
	background-color: transparent;
	padding:10px 15px;
	border-radius: 25px;
	font-style: italic;
}

.login-blocker .signin-form input[type='text']::placeholder {
	color: #fff;
	opacity: 1;
}

.login-blocker .signin-form input[type='submit'] {
	color: #fff;
	border: none;
	background-color: transparent;
	padding:10px 0;
	cursor: pointer;
}

.login-blocker .see-more-arrow::after {
	top:-2px;
	content:url('https://www.plansponsor.com/wp-content/themes/plansponsor/images/link-arrow-firewall.svg');
	padding-left: 4px;
}

.lg-size .login-blocker .see-more-arrow::after {
	min-width: 75%;
}

.md-size .login-blocker .see-more-arrow::after {
	min-width: 70%;
}

.special-coverage img {
	border-radius: 100%;
	max-width: 60px;
}

.special-coverage .outer-border {
	border:1px solid #CC1528;
	padding:4px;
}

.special-coverage .inner-border {
	border:1px solid #CC1528;
	padding:16px 20px;
}

.special-coverage .sub-header {
	margin-top:8px;
	margin-bottom:8px;
}

.special-coverage .basic-text-2 {
	border-bottom:1px solid #BFBFBF;
	padding-bottom: 12px;
	margin-bottom: 12px;
}

.special-coverage .see-more-arrow {
	float: none;
	width: 100%;
}

.special-coverage .more-link {
	text-align: right;
}

.special-coverage.mobile img {
	max-width: 60px;
}

.special-coverage.mobile .icon {
	padding-right: 20px;
}

.special-coverage.mobile .basic-text-2 {
	border: none;
	margin: 0;
	padding:0;
}

.special-coverage.mobile .more-link {
	margin-top: 8px;
}

.special-coverage.mobile .sub-header {
	margin-top: 0;
	margin-bottom: 4px;
}

.sm-size .special-coverage.mobile .sub-header {
	margin-bottom: 8px;
}

.sm-size .special-coverage.mobile .more-link {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid #BFBFBF;
}

.sm-size .special-coverage.mobile .icon {
	padding-right: 0;
	margin-bottom: 10px;
}


/*
=== MOBILE STYLES START HERE ===
	Bootstrap has 5 breakpoint sizes but we only
	care about 3, small, medium, and large and in 
	bootstrap's terms comes to: 
	(phone xs sm) (tablet md) (desktop lg xl).
	So for control purposes instead of messing
	with bootstrap's media queries we use
	js to give the body tag a class
	at each breakpoint. This allows us
	to have more control over each specific
	breakpoint without spillover. In general
	they ammount to:
	.sm-size .md-size .lg-size
	phone    tablet   desktop
*/

/* slicknav & header */
.sm-size #sticky-nav,
.md-size #sticky-nav {
	display: none !important;
}
/*
.sm-size .main-header,
.md-size .main-header {
	padding-top:50px;
}
*/

.slicknav_arrow,
.main-nav .nav-links .slicknav_nav .search-button,
.slicknav_icon  {
	display: none;
}

.slicknav_nav ul.row {
	display: flex;
	margin-left: 0;
}

.main-header .main-nav .nav-links .slicknav_nav li.slicknav-divider-bottom {
	border-bottom: 1px solid #fff;
	margin-bottom: 8px;
	padding-bottom: 8px;
}

.main-header .main-nav .nav-links .slicknav_nav li.slicknav-divider-top {
	border-top: 1px solid #fff;
	margin-top: 8px;
	padding-top: 8px;
}

.slicknav_menu {
	background-color: transparent;
	margin: 0;
	padding: 9px 0 0 0;
	width: 100%;
}

.slicknav_btn {
	margin:0;
	position: relative;
	z-index: 10;
	float: left;
	background-color: transparent;
	color: #818181;
	padding:0;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	font-family: "Font Awesome 5 Pro";
	font-weight: 700;
	font-size: 3.3rem;
	width: 30px;
}

.slicknav_btn:not(.open):after {
	content: '\f0c9';
}

.slicknav_btn.open:after {
	content: '\f00d';
	font-weight: 300;
}

.slicknav_menu .mobile-logo {
	max-width: 230px;
	position: relative;
	z-index: 10;
}

.sm-size .slicknav_menu .mobile-logo {
	max-width: 170px;
	padding-top: 6px;
}

.slicknav_menu .mobile-login-button {
	font-size: 3rem;
	position: relative;
	z-index: 10;
}

.slicknav_nav  {
	color: #fff;
	width: 65%;
	background-color: #bb0701;
	z-index: -2;
	padding: 20px;
	max-width: 250px;
	position: fixed;
	top: 48px;
	height: 100%;
	box-shadow:0px 0px 6px 4px rgba(0,0,0,0.4);
	overflow-y: scroll;
}

.main-header .main-nav .nav-links .slicknav_nav li {
	padding:0;
	margin:0;
	border:none;
	max-width: 170px;
	background-color: transparent;
}

.main-header .main-nav .nav-links .slicknav_nav li .fa-chevron-down {
	display: none;
}

.main-header .main-nav .nav-links .slicknav_nav  li:nth-last-child(2) a {
 	border:none;
}

.main-header .main-nav .nav-links .slicknav_nav a {
	color: #000;
	text-align: left;
	margin:0;
	padding: 10px 0;
	border:none;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 400;
}

.main-header .main-nav .nav-links .slicknav_nav .sub-menu a {
	font-weight: 300;
}

.main-header .main-nav .nav-links .slicknav_nav a a {
	padding:0; 
	margin:0;
}

.slicknav_nav a:hover,
.main-header .main-nav .nav-links .slicknav_nav li a:hover {
	background-color: transparent;
	border-radius: 0;
	color: #fff;
}

.slicknav_nav .menu-item-has-children .sub-menu {
	position: static;
	box-shadow: none;
	background-color: transparent;
	display: block;
}

.slicknav_nav .menu-item-has-children .sub-menu .sub-menu {
	margin:0;
	border:none;
}

.slicknav_nav .menu-item-has-children .sub-menu a {
	background-color: transparent;
	text-align: left;
	color: #fff;
	border-bottom: none;
	padding:10px 0;
}
.slicknav_nav .menu-item-has-children .sub-menu a:hover {
	color: inherit;
}

.slicknav_menu .colored-background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 50px;
	background-color: #fff;
	z-index: 1;
	box-shadow: 0px 1px 8px 0px rgba(0,0,0,0.4);
}

.slicknav_brand {
	width: 180px;
	position: relative;
	z-index: 10;
}

.main-header .main-nav .nav-links .slicknav_nav .search-button.mobile-search {
	color: #fff;
	text-align: left;
	padding-bottom: 10px;
	max-width: 100%;
	max-width: 170px;
	display: flex;
	color:rgba(255,255,255,0.6);
}

.main-header .main-nav .nav-links .slicknav_nav .search-button > div {
	padding-left: 0;
	font-size: 2.0rem;
	max-width: 20%;
}

.main-header .main-nav .nav-links .slicknav_nav .search-button form {
	padding-right:0;
}

.main-header .main-nav .nav-links .slicknav_nav .search-button input {
	background-color: transparent;
	color: #fff;
	border-bottom: 1px solid rgba(255,255,255,0.6);
	height: 25px;
}

.main-header .main-nav .nav-links .slicknav_nav li.social-media {
	padding-top:10px;
}

.main-header .main-nav .nav-links .slicknav_nav li.social-media li {
	max-width: 30px;
}

.main-header .main-nav .nav-links .slicknav_nav li.social-media li a {
	font-size: 1.4rem;
}

.mobile-nav {
	position: fixed;
	left: 0;
	z-index: 10000;
	width: 100%;
}

.md-size .slicknav_nav {
	padding-left:30px;
	padding-right:30px;
}

/* Some LG changes to fonts and other large elements */
.lg-size {
	font-size: 52.5%;
}
/*
.lg-size .article-listing-condensed .article-item .circle, 
[class*="header"] .circle {
	width:60px;
	height:60px;
}

.lg-size .article-listing-condensed .article-item .circle .letter, 
[class*="header"] .circle .letter {
	padding: 23px 0px 30px 2px;
}
*/

.sm-size .extra-padding,
.md-size .extra-padding {
	padding-left: 0;
	padding-right: 0;
}

.sm-size .featured-header {
	font-size: 2.8rem;
	margin-top: 0;
	margin-bottom: 0;
}

.sm-size .featured-header-tl {
	font-size: 2.0rem;
}

.sm-size .section-header {
	font-size: 2.4rem;
	margin-bottom: 10px;
}

.sm-size .section-header-2 {
	font-size: 3.4rem;
	padding-bottom: 10px;
	margin-bottom: 10px;
}

.md-size .sub-header {
	font-size: 2.0rem;
}

.sm-size .sub-header {
	font-size: 2.2rem;
	text-transform: uppercase;
}

.sm-size .sub-listing-header,
.sm-size .top-stories .listing-header {
	font-size: 2.2rem;
}

.md-size .listing-header {
	font-size: 1.8rem;
}

.md-size .top-stories .listing-header {
	font-size: 2.0rem;
}

.sm-size .listing-header {
	margin-top: 0;
}

.md-size .mag-article-header {
	font-size: 4.2rem;
}

.sm-size .mag-article-header {
	font-size: 2.8rem;
	font-weight: 700;
}

.md-size .mag-dek {
	font-size: 2.0rem;
}

.sm-size .mag-dek {
	font-size: 1.7rem;
}

.sm-size .article-dek,
.md-size .article-dek {
	font-size: 1.7rem;
}

.sm-size .article-info {
	font-size: 1.4rem;
}

.md-size .single-article-header {
	font-size: 4.2rem;
}

.sm-size .single-article-header {
	font-size: 2.8rem;
	font-weight: 700;
}

.md-size .module-header {
	font-size: 2.2rem;
}

.sm-size .module-header {
	font-size: 2.2rem;
}

.md-size .statement-header-2 {
	font-size: 2.4rem;
}

.sm-size .statement-header-2 {
	font-size: 2.4rem;
}

.md-size .sidebar-box .listing-header {
	font-size: 2.2rem;
}

.sm-size .sidebar-box .listing-header {
	font-size: 2.2rem;
	font-weight: normal;
}

.sm-size .magazine-issue-header {
	font-size: 1.8rem;
	font-weight: 700;
}

.sm-size .magazine-article-header {
	font-size: 2.2rem;
}

.md-size .listing-header-tl {
	font-size: 1.6rem;
}

.sm-size .listing-header-tl {
	font-size: 1.2rem;
	margin-top: 10px;
}

.sm-size .text-ad-header {
	font-size: 1.8rem;
}

.sm-size .text-ad-header {
	font-size: 1.8rem;
}

.sm-size .basic-text-1 {
	font-size: 1.5rem;
}

.sm-size .source-credit {
	font-size: 1.2rem;
}

.md-size .cta-1 {
	font-size: 2.0rem;
}

.sm-size .cta-1 {
	font-size: 1.5rem;
}

.md-size .callout-header,
.sm-size .callout-header {
	font-size: 1.8rem;
}

.sm-size .category-1,
.sm-size .category-2 {
	margin-bottom: 0;
	margin-top:10px;
}

.sm-size .category-3 {
	font-size: 1.6rem;
}

.sm-size .sponsored-message-mobile {
	font-size: 1.1rem;
	padding-top: 20px;
	margin-bottom: 0;
	padding-bottom: 0;
}

/* AD adjustments */
.sm-size .banner-ad.header-ad
.md-size .banner-ad.header-ad {
	display: none;
}

.sm-size .box-ad,
.md-size .box-ad {
	width: 100%;
	background-color: #f4f4f4;
	margin:30px 0;
}

.sm-size .box-ad-container iframe,
.md-size .box-ad-container iframe {
	margin:30px 0;
}

/* global changes */
body.sm-size,
html.sm-size {
	overflow-x: hidden;
}

.sm-size .container {
	max-width: 100% !important;
}

.md-size .article-listing-condensed .article-item .circle, 
.md-size [class*="header"] .circle,
.md-size .article-listing-condensed .article-item .circle .letter, 
.md-size [class*="header"] .circle .letter {
	width:40px;
	height: 40px;
	font-size: 2.6rem;
}


.md-size .site-section {
	margin-top: 20px;
	margin-bottom: 20px;
}

.sm-size .site-section:last-of-type {
	margin-bottom: 0;
}

.md-size .main-footer .social-row .logo,
.md-size .main-footer .social-row .logo {
	max-width: 100%;
}

.sm-size .main-header,
.md-size .main-header {
	height: 50px;
	margin-bottom: 20px;
}


/*mobile only additons*/
.md-size .tablet-border-md {
	border-bottom: 1px solid #ccc;
	margin-bottom: 20px;
	padding-bottom: 20px;
}

.md-size .site-section.tablet-border-md {
	padding-bottom: 20px;
}

.sm-size .phone-in-container-fullwidth {
	width: calc(100% + 30px);
	margin-left: -15px;
}

.sm-size .phone-skinny {
	padding-left: 60px;
	padding-right: 60px;
}

.sm-size .phone-border {
	border-bottom: 1px solid #ccc;
	margin-bottom: 20px;
	padding-bottom: 20px;
}

.sponsored-message-mobile {
	margin-bottom: 10px;
	text-align: center;
	display: none !important;
}

.sm-size .top-stories .basic-text-2,
.md-size .top-stories .basic-text-2 {
	display: block !important;
}

/* feature changes */
.md-size .site-section.mobile-border {
	border-bottom: 1px solid #ccc;
	padding-bottom: 20px;
}


/* listing, sidebar, and feature changes*/
.sm-size .phone-fullwidth-image,
.sm-size .phone-fullwidth-image img{
	width: calc(100% + 30px);
	max-width: calc(100% + 30px);
	margin-left: -15px;
}

.sm-size .listing-article .image {
	max-width: 100%;
	width: 100%;
	margin-right: 0;
}

.md-size .listing-article .image {
	max-width: 20%;
}

.sm-size .sidebar,
.md-size .sidebar {
	margin:20px 0;
}

/* why?
.md-size .sidebar:last-child,
.sm-size .sidebar:last-child {
	margin-top: 0;
	margin-bottom: 0;
}
*/

.md-size .upcoming-events .sidebar-box,
.md-size .survey-findings .sidebar-box,
.md-size .latest-research .sidebar-box,
.md-size .editors-picks .row div:first-child .sidebar-box,
.md-size .thought-leadership-spotlight .listing-article  {
	border:none;
	padding-bottom: 0;
}

.md-size .tablet-box {
	background-color: #999;
	color: #fff;
}

.md-size .tablet-box h3 {
	font-weight: normal;
	color: #fff;
}

.md-size .tablet-box .text-container {
	padding-top:15px;
	padding-bottom:15px;
	padding-left: 0;
}

.md-size .tablet-box img {
	margin-bottom: 0;
}

.sm-size .latest-research .sidebar-box {
	border: none;
}

.md-size .listing-article.sponsored-listing {
	padding-left:0;
	padding-right:0;
}

.md-size .thought-leadership-spotlight .listing-article{
	display: block;
}
.md-size .thought-leadership-spotlight .listing-article .image {
	width: 100%;
	max-width: 100%;
	display: block;
	margin-bottom:10px;
}

.md-size .plansponsor-magazine .col {
	max-width: 33.333%;
}

.sm-size .plansponsor-magazine .section-header {
	margin:0;
}

.sm-size .plansponsor-magazine .story-item .magazine-article-header,
.sm-size .plansponsor-magazine .story-item .basic-text-2 {
	margin:5px 0;
}

/*callout*/
.md-size .callout .see-more-arrow {
	font-size: 1.8rem;
}

.sm-size .callout img {
	display: block;
	margin-right: 0;
	margin-bottom: 10px;
	max-width: 50%;
}

.sm-size .callout .email-signup {
	margin-bottom: 5px;
}

.md-size .email-callout img {
	max-width: 33%;
}

/* homepage */

.md-size .home .email-callout {
	display: none;
}

.sm-size .magazine-item:not(:first-child),
.md-size .magazine-item:last-child {
	display: none !important;
}

.sm-size .thought-leadership-spotlight .tl-item:nth-child(3),
.sm-size .thought-leadership-spotlight .tl-item:nth-child(4) {
	display: none;
}

.sm-size .thought-leadership-slideshow .cycle-pager, 
.sm-size .thought-leadership-slideshow .custom-pager {
	display: none;
}

/* footer */
.sm-size .main-footer .social-row .logo {
	max-width: 100%;
}

.sm-size .main-footer .site-branding,
.md-size .main-footer .site-branding {
	font-size: 1.6rem;
	line-height: 1.4em;
} 

.sm-size .main-footer nav,
.xs-size .main-footer nav {
	margin-bottom: 20px;
}

.sm-size .main-footer .site-branding .row  div,
.xs-size .main-footer .site-branding .row  div {
	margin:5px 0;
}
#sticky-nav .main-nav {
    box-shadow: 0 1px 7px #999;
}

#indicator {
    width: 50%;
    position: absolute;
    top: 100%;
    height: 4px;
    background: #D12229;
    z-index: 98;
    transition: width 0.2s linear;
}

#homepage-loaded {
    margin-top: 25px;
}

/* IE11 fixes */
.thought-leadership-spotlight .d-flex img, .thought-leadership-spotlight .d-flex div, .thought-leadership-spotlight .d-flex article {
	width: 100%;
}

/* cookie policy */
#cookie-policy {
    position: fixed;
    bottom: -200px;
    left: 0;
    right: 0;
    width: 100%;
    color: #000;
    background: #CA121B;
    z-index: 999;
    color: #fff;
    padding: 36px 0;
    line-height: 1.5;
    font-size: 20px;
}

#cookie-policy .container {
    position: relative;
    padding: 0 180px 0 0;
}

#cookie-policy a {
    text-decoration: underline;
}

#cookie-policy a:hover {
    color: inherit;
}

#cookie-policy #accept-cookies {
    border: 1px solid #000;
    padding: 10px 40px;
    color: #000;
    background: #fff;
    display: block;
    text-decoration: none;
    position: absolute;
    font-weight: bold;
    font-size: 18px;
    top: -10px;
    border-radius: 2px;
    right: 0;
    transition: color 0.3s ease;
}

#cookie-policy #accept-cookies:hover {
    color: #CA121B;
}

@media screen and (max-width: 1280px) {
    #cookie-policy .container {
        padding-left: 25px;
    }
    #cookie-policy #accept-cookies {
        right: 25px;
    }
}

@media screen and (max-width: 580px) {
    #cookie-policy .container {
        padding: 0 25px;
    }
    #cookie-policy #accept-cookies {
        position: static;
        width: 100%;
        text-align: center;
        display: block;
        margin: 25px 0 0;
    }
}
ie-policy .container {
        padding-left: 25px;
    }
    #cookie-policy #accept-cookies {
        right: 25px;
    }
}

@media screen and (max-width: 580px) {
    #cookie-policy .container {
        padding: 0 25px;
    }
    #cookie-policy #accept-cookies {
        position: static;
        width: 100%;
        text-align: center;
        display: block;
        margin: 25px 0 0;
    }
}
