/* reset paddings and margins on everything */
* { padding: 0; margin: 0; }

/* page wxh & background */
html, body { height: 100%; min-width: 320px; background: #fff; }

/* set up font defaults */
html {
	font-size: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}
body {
	font-family: "proxima-nova", Trebuchet MS, Tahoma, Geneva, Arial, Helvetica, sans-serif;
	font-style: normal;
	font-weight: 300;
	font-size: 1em; /* 16px, usually */
	color: #909191;
	line-height: 1.4;
	-webkit-text-size-adjust: 1em;
	-ms-text-size-adjust: 1em;
	-moz-text-size-adjust: 1em;
}
strong {
	font-family: "proxima-nova", Trebuchet MS, Tahoma, Geneva, Arial, Helvetica, sans-serif;
	font-style: normal;
	font-weight: 600;
}
em {
	font-family: "proxima-nova", Trebuchet MS, Tahoma, Geneva, Arial, Helvetica, sans-serif;
	font-style: italic;
	font-weight: 300;
}
em strong, strong em {
	font-family: "proxima-nova", Trebuchet MS, Tahoma, Geneva, Arial, Helvetica, sans-serif;
	font-style: italic;
	font-weight: 600;
}
.font-weight-normal { font-weight: 500 !important; }
.font-weight-bold 	{ font-weight: 600 !important; }
.font-weight-light 	{ font-weight: 300 !important; }

/* text */
/* because the font sizes vary greatly, normalize the header sizes and apply font-size classes to each element */
/* yeah, I know */
h1, h2, h3, h4, h5, h6 {
	margin: 1.25em 0;
	font-size: 1em;
	font-weight: 300;
	line-height: 1.1;
}
body { font-size: 16px; }
.font-size-40 { font-size: 2.500em; }
.font-size-36 { font-size: 2.250em; }
.font-size-32 { font-size: 2.000em; }
.font-size-30 { font-size: 1.875em; }
.font-size-24 { font-size: 1.500em; }
.font-size-20 { font-size: 1.250em; }
.font-size-18 { font-size: 1.125em; }
.font-size-16 { font-size: 1.000em; }
.font-size-14 { font-size: 0.875em; } 
.font-size-12 { font-size: 0.750em; } 
.font-size-10 { font-size: 0.625em; } 
@media only screen and (min-width: 1281px) {
	body { font-size: 18px; }
}
@media only screen and (max-width: 1023px) {
	body { font-size: 14px; }
	.font-size-14 { font-size: 0.900em; } 
	.font-size-12 { font-size: 0.850em; } 
	.font-size-10 { font-size: 0.800em; } 
}
/* the above font sizes scale responsively based on body em, 
but the ones below stay the same no matter what em is used */
.font-static-10 { font-size: 10px !important; }

/* less line spacing in all caps headers */
.block-heading { line-height: 1.1em; }

/* all caps heading with spacy text and a line above it */
.line-heading { text-align: center; }
.line-heading p { margin: 0; }
.line-heading h1 {
	display: inline-block;
	margin: 20px auto 0 auto;
	padding: 20px 0 0 0;
	font-size: 1.250em;
	line-height: 1.2;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: #fff;
	border-top: 1px solid rgba(256,256,256,.25);
}
@media (max-width: 550px) {
	.line-heading h1 { letter-spacing: 1px; }
}

p { margin: 1.25em 0; }
@media only print { p { margin: 1em 0; } }

.text-left   	{ text-align: left; }
.text-right  	{ text-align: right; }
.text-center 	{ text-align: center; }

.text-uppercase 	{ text-transform: uppercase; }
.text-normalcase 	{ text-transform: none; }

.text-error 	{ color: #a94442; }
.text-white 	{ color: #ffffff; }
.text-green 	{ color: #82bc00; }
.text-blue 		{ color: #00add8; }
.text-yellow	{ color: #fecc2f; }
.text-orange 	{ color: #fd9d2e; }
.text-gray		{ color: #909191; }
.text-navy		{ color: #103e6c; }
.text-dkgreen { color: #509b35; }
.text-olive		{ color: #517b07;	}

.nowrap { white-space: nowrap; }

blockquote { padding: 0 50px; line-height: 1.2em; }
blockquote p { margin: .5em 0; }
@media only screen and (max-width: 767px) {
	blockquote { padding: 0 30px; }
}
@media only screen and (max-width: 480px) {
	blockquote { padding: 0 20px; }
}

sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup { top: -0.5em; }
sub { bottom: -0.25em; }

/* lists */
ul, ol { margin: 1.25em 0; padding: 0 0 0 2.5em; }
ul ul { margin: 0; }
ol.no-indent,
ul.no-indent { padding: 0 0 0 1em; }

/* horizontal rules */
hr {
	height: 1px;
	border: 0;
	color: #787878;
	background-color: #ccc;
	margin: 1.25em auto;
	font-size: 1.5em;
	line-height: 1em;
}
hr.text-blue {
	color: #00ADD8;
	background-color: #00ADD8;
}

/* margin adjustments */
.no-gap-top	    { margin-top: 0 !important; padding-top: 0 !important; }
.no-gap-bot     { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.no-margin-top	{ margin-top: 0 !important; }
.no-margin-bot  { margin-bottom: 0 !important; }
.no-padding-top { padding-top: 0 !important; }
.no-padding-bot { padding-bottom: 0 !important; }
.no-margin  		{ margin: 0 !important; }
.no-padding 		{ padding: 0 !important; }
/* things with a little extra vertical space */
.vspace { margin: 2.5em 0; }
.vspace + .vspace { margin-top: 3.5em; }

/* floats */
.pull-right  { float: right; }
.pull-left   { float: left; }
.clearfix:before, .clearfix:after { content: " "; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }
.clear {
	clear: both;
	overflow: hidden;
	margin: 0;
	padding: 0;
	height: 0;
	line-height: 0;
	font-size: 0;
}

/* image defaults */
img {
	border: 0;
	-ms-interpolation-mode: bicubic;
	vertical-align: middle;
}
/* responsive images */
img.shrinkable { max-width: 100%; }

/* links */
a:link, a:visited { color: #0078ad; text-decoration: none; }
a:active, a:hover { color: #094663; text-decoration: none; outline: 0; }
*:focus { text-decoration: none; outline: 0 none; }
.islink { cursor: pointer; }

/* links for white text that's not a button */
a.text-white:link,  a.text-white:visited,
a:link .text-white, a:visited .text-white,
.text-white a:link, .text-white a:visited,
.bgc-yellow a:link, .bgc-yellow a:visited,
.bgc-green a:link, .bgc-green a:visited,
.bgc-orange a:link, .bgc-orange a:visited,
.bgc-blue a:link, .bgc-blue a:visited { color: #fff; text-decoration: none; }
a.text-white:active,  a.text-white:hover,
a:active .text-white, a:hover .text-white,
.text-white a:active, .text-white a:hover,
.bgc-yellow a:active, .bgc-yellow a:hover,
.bgc-green a:active, .bgc-green a:hover,
.bgc-orange a:active, .bgc-orange a:hover,
.bgc-gray a:active, .bgc-gray a:hover,
.bgc-blue a:active, .bgc-blue a:hover { color: #fff; text-decoration: none; text-shadow: 0px 0px 6px #fff;  }

/* ///// viridian buttons ///////////////////////////////////////////////////////////// */
/* rounded corner button */
.vbtn {
	display: inline-block;
	margin: 2px;
	padding: 6px 35px;
	min-width: 100px;
	font-size: 1em;
	font-weight: 600;
	line-height: 1.42857143;
	text-align: center;
	text-decoration: none !important;
	text-shadow: none !important;
	white-space: nowrap;
	vertical-align: middle;
	-ms-touch-action: manipulation;
			touch-action: manipulation;
	cursor: pointer;
	-webkit-user-select: none;
		 -moz-user-select: none;
			-ms-user-select: none;
					user-select: none;
	-webkit-border-radius: 1.2em;
	-moz-border-radius: 1.2em;
	border: 0;
	border-radius: 1.2em;
	background-position: center center;
	background-repeat: repeat;
}
.vbtn:hover, .vbtn:focus, .vbtn:active {
	outline: 0 none;
	text-decoration: none;
}
/* rectangular button */
.vbtn-no-radius {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}
/* button filling the width */
.vbtn-block { display: block; }
/* wide button */
.vbtn-wide { min-width: 200px; max-width: 100%; } 
/* if a button is really wordy, make it smaller on small screens so it still fits the page width */
@media only screen and (max-width: 480px) { .vbtn.vbtn-wordy { padding: 6px 6px; font-size: .9em; white-space: normal; } }

/* green buttons with white text */
.vbtn, a.vbtn, a.vbtn:link, a.vbtn:visited,
.vbtn-default, a.vbtn-default, a.vbtn-default:link, a.vbtn-default:visited {
	color: #fff;
	background-color: #83ba23;
}
a.vbtn:active, a.vbtn:hover, s.vbtn:focus,
.vbtn:active, .vbtn:hover, .vbtn:focus,
a.vbtn-default:active, a.vbtn-default:hover, a.vbtn-default:focus,
.vbtn-default:active, .vbtn-default:hover, .vbtn-default:focus {
	color: #fff;
	background-image: url(../images/btn-hover.png);
}

/* blue buttons with white text */
.vbtn-blue, a.vbtn-blue, a.vbtn-blue:link, a.vbtn-blue:visited {
	color: #fff;
	background-color: #1cadd5;
}
a.vbtn-blue:active, a.vbtn-blue:hover, a.vbtn-blue:focus,
.vbtn-blue:active, .vbtn-blue:hover, .vbtn-blue:focus {
	color: #fff;
	background-image: url(../images/btn-hover.png);
}

/* orange buttons with white text */
.vbtn-orange, a.vbtn-orange, a.vbtn-orange:link, a.vbtn-orange:visited {
	color: #fff;
	background-color: #fd9d2e;
}
a.vbtn-orange:active, a.vbtn-orange:hover, a.vbtn-orange:focus,
.vbtn-orange:active, .vbtn-orange:hover, .vbtn-orange:focus {
	color: #fff;
	background-image: url(../images/btn-hover.png);
}

/* yellow buttons with brown text */
.vbtn-yellow, a.vbtn-yellow, a.vbtn-yellow:link, a.vbtn-yellow:visited {
	color: #a37e0b;
	background-color: #fecc2f;
}
a.vbtn-yellow:active, a.vbtn-yellow:hover, a.vbtn-yellow:focus,
.vbtn-yellow:active, .vbtn-yellow:hover, .vbtn-yellow:focus {
	color: #a37e0b;
	background-image: url(../images/btn-hover.png);
}

/* semi-transparent black buttons with white text (== big image sections and repbox) */
.vbtn-black, a.vbtn-black, a.vbtn-black:link, a.vbtn-black:visited {
	color: #fff;
	background-color: rgba(0,0,0,.5);
}
a.vbtn-black:active, a.vbtn-black:hover, a.vbtn-black:focus,
.vbtn-black:active, .vbtn-black:hover, .vbtn-black:focus {
	color: #fff;
	background-image: url(../images/2016/btn-hover.png);
}

/* disabled buttons */
.vbtn.disabled,
.vbtn[disabled],
.vbtn.disabled:hover,
.vbtn[disabled]:hover,
.vbtn.disabled:focus,
.vbtn[disabled]:focus,
.vbtn.disabled:active,
.vbtn[disabled]:active,
.vbtn.disabled.active {
	pointer-events: none;
	cursor: not-allowed;
	color: #666 !important;
	background-color: #ccc !important;
	background-image: none !important;
}

/* ///// backgrounds ////////////////////////////////////////////////////////////////// */

/* background images */
.bgi-fill {/* fill the space background image */
	background-repeat: no-repeat;
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	color: #fff;
}
.no-backgroundsize .bgi-fill {
	-ms-behavior: url(scripts/background-size/backgroundsize.min.htc);/* path relative to page */
}

/* background colors */
.slice,
.bgc-white 	    { background-color: #ffffff; }
.bgc-green 	    { background-color: #82bc00; color: #fff; }
.bgc-green-dark { background-color: #509b35; color: #fff; }
.bgc-blue 	    { background-color: #00add8; color: #fff; }
.bgc-orange     { background-color: #fd9d2e; color: #fff; }
.bgc-yellow	 	  { background-color: #feb32f; color: #fff; }
.bgc-gray 	    { background-color: #e4e5e9; }
.bgc-ltgray 	  { background-color: #f5f6f6; }
.bgc-beige	 	  { background-color: #f4f9eb; }

.ig-hover.bgc-white 	{ background-color: rgba(255,255,255,.9); }
.ig-hover.bgc-green 	{ background-color: rgba(128,189,1,.9); 	}
.ig-hover.bgc-blue 		{ background-color: rgba(0,173,217,.9); 	}
.ig-hover.bgc-orange 	{ background-color: rgba(255,158,25,.9); 	}
.ig-hover.bgc-gray 		{ background-color: rgba(120, 120, 120, .9); 	}

.bgc-green-gradient {
	background: #519c35; /* Old browsers */
	background: -moz-linear-gradient(45deg,  #519c35 0%, #98d329 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(45deg,  #519c35 0%,#98d329 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(45deg,  #519c35 0%,#98d329 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#519c35', endColorstr='#98d329',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
	color: #fff;
}

/* fix browser gap bug */
.slice.bgc-white 	{ border-top: 1px solid #ffffff; }

/* background sizing (override the default cover) */
.bgs-cover {
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
.bgs-auto { background-size: auto; }
.bgs-contain { background-size: contain; }
.bgs-100a { background-size: 100% auto; }
.bgs-a100 { background-size: auto 100%; }
.no-backgroundsize .bgs-contain,
.no-backgroundsize .bgs-cover {
	-ms-behavior: url(scripts/background-size/backgroundsize.min.htc);/* path relative to page */
}

/* background positions (override the default center center) */
.bgp-ct { background-position: center top; }
.bgp-lt { background-position: left top; }
.bgp-rt { background-position: right top; }
.bgp-cc { background-position: center center; }
.bgp-lc { background-position: left center; }
.bgp-rc { background-position: right center; }
.bgp-cb { background-position: center bottom; }
.bgp-lb { background-position: left bottom; }
.bgp-rb { background-position: right bottom; }
@media (max-width: 767px) {
	.bgp-sm-ct { background-position: center top; }
	.bgp-sm-lt { background-position: left top; }
	.bgp-sm-rt { background-position: right top; }
	.bgp-sm-cc { background-position: center center; }
	.bgp-sm-lc { background-position: left center; }
	.bgp-sm-rc { background-position: right center; }
	.bgp-sm-cb { background-position: center bottom; }
	.bgp-sm-lb { background-position: left bottom; }
	.bgp-sm-rb { background-position: right bottom; }
}

/* ///// horizontal centering of content ////////////////////////////////////////////// */
/* content that is centered on the page to a max page width, with padding */
.page-width {
	margin: 0 auto;
	padding: 0;
	width: 100%;
	max-width: 1280px;
}
/* limit content further, so a paragraph of text doesn't stretch too far */
.limit-content {
	margin-left: auto;
	margin-right: auto;
	max-width: 825px;
}

/* ///// columns ////////////////////////////////////////////////////////////////////// */
/* columns are done table-style with divs so they can be stacked on small screens */
.pxc-table { display: table; margin: 0 auto; width: 100%; }
.pxc-tr { display: table-row; }
.pxc-td { display: table-cell; }
/* default alignment is middle, else set to top */
.pxc-td { vertical-align: middle; }
.pxc-td.td-top { vertical-align: top !important; }
.pxc-td.td-bot { vertical-align: bottom !important; }
/* if the table has an image in it that needs to be shrinkable, it has to be fixed layout */
.pxc-img { table-layout: fixed; }
/* two column table - by default 50% columns, else set other % */
.pxc-2col .pxc-td { width: 50%; }
.pxc-2col .pxc-td.td-30p { width: 30%; }
.pxc-2col .pxc-td.td-70p { width: 70%; }
.pxc-2col .pxc-td.td-35p { width: 35%; }
.pxc-2col .pxc-td.td-65p { width: 65%; }
.pxc-2col .pxc-td.td-40p { width: 40%; }
.pxc-2col .pxc-td.td-50p { width: 50%; }
.pxc-2col .pxc-td.td-60p { width: 60%; }
.pxc-2col .pxc-td.td-45p { width: 45%; }
.pxc-2col .pxc-td.td-55p { width: 55%; }
.pxc-2col .pxc-td.td-25p { width: 25%; }
.pxc-2col .pxc-td.td-75p { width: 75%; }
/* 2 column with cellspacing */
.pxc-2col.gap-table { border-collapse: separate; border-spacing: 20px; }
/* three column table */
.pxc-3col .pxc-td { width: 33%; }
.pxc-3col .pxc-td-left  {}
.pxc-3col .pxc-td-mid   { width: 34%; }
.pxc-3col .pxc-td-right {}
.pxc-3col.pxc-divs .pxc-td-mid { width: 33%; border-left: 1px solid #9e9e9e; border-right: 1px solid #9e9e9e; }
/* four column table */
.pxc-4col .pxc-td { width: 25%; }
.pxc-4col.pxc-divs .pxc-td { width: 24%; }
.pxc-4col.pxc-divs .pxc-td:nth-child(1) { border-right: 1px solid #9e9e9e; }
.pxc-4col.pxc-divs .pxc-td:nth-child(2) { border-right: 1px solid #9e9e9e; }
.pxc-4col.pxc-divs .pxc-td:nth-child(3) { border-right: 1px solid #9e9e9e; }
/* on small screens, stack the columns */
@media only screen and (max-width: 920px) {
	/* 2 column (xl) tables>> 1 column blocks */
	/* change table/tr/td display to block like a normal div, make all columns 100% wide, and remove the vertical alignment */
	.pxc-2col.pxc-xl, .pxc-2col.pxc-xl .pxc-tr { display: block; }
	.pxc-2col.pxc-xl .pxc-td { display: block; width: 100% !important; vertical-align: top; }

	/* 4 column tables >>> 2 column blocks */
	/* change table/tr/td display to block like a normal div, make all columns 50% wide, and remove the vertical alignment */
	.pxc-4col { display: block; }
	.pxc-4col .pxc-tr { display: block; }
	.pxc-4col .pxc-td { float: left; display: block; margin: 0; padding: 0; width: 50% !important; vertical-align: top; }
	.pxc-4col .pxc-td:nth-child(3) { clear: both; }
	.pxc-4col.pxc-divs .pxc-td { width: 49% !important; }
	.pxc-4col.pxc-divs .pxc-td:nth-child(1) { border-right: 1px solid #9e9e9e; padding-bottom: 20px; }
	.pxc-4col.pxc-divs .pxc-td:nth-child(2) { border-right: 0; padding-bottom: 20px; }
	.pxc-4col.pxc-divs .pxc-td:nth-child(3) { border-right: 1px solid #9e9e9e; border-top: 1px solid #9e9e9e; padding-top: 20px; }
	.pxc-4col.pxc-divs .pxc-td:nth-child(4) { border-top: 1px solid #9e9e9e; padding-top: 20px; }
}
@media only screen and (max-width: 767px) {
	/* 2 column (lg) tables>> 1 column blocks */
	/* change table/tr/td display to block like a normal div, make all columns 100% wide, and remove the vertical alignment */
	.pxc-2col.pxc-lg, .pxc-2col.pxc-lg .pxc-tr { display: block; }
	.pxc-2col.pxc-lg .pxc-td { display: block; width: 100% !important; vertical-align: top; }
	/* cells with no content in them when stacked */
	.pxc-2col.pxc-lg .pxc-td.pxc-empty { display: none; }/* no image with no content, so hide on stack */
	.pxc-2col.pxc-lg .pxc-td.bgi-fill.pxc-empty { display: block; min-height: 180px; }/* big image with no content */
	/* when 2-col table cells stack on small screens, sometimes you want the order flip-flopped */
	/* (only works on newer browsers, but doesn't hurt the old ones) */
	.pxc-2col.pxc-lg.pxc-swap .pxc-row { display: flex; flex-direction: column; }
	.pxc-2col.pxc-lg.pxc-swap .pxc-row .pxc-td:nth-child(1) { order: 2; }
	.pxc-2col.pxc-lg.pxc-swap .pxc-row .pxc-td:nth-child(2) { order: 1; }
	/* 2 column with cellspacing */
	.pxc-2col.pxc-lg.gap-table .pxc-td { margin: 15px auto; padding: 20px !important; }

	/* 3 column (lg) tables >>> 1 column blocks (only the ones marked sooner) */
	/* change table/tr/td display to block like a normal div, make all columns 100% wide, and remove the vertical alignment */
	.pxc-3col.pxc-lg, .pxc-3col.pxc-lg .pxc-tr { display: block; }
	.pxc-3col.pxc-lg .pxc-td,
	.pxc-3col.pxc-lg .pxc-td-left,
	.pxc-3col.pxc-lg .pxc-td-mid,
	.pxc-3col.pxc-lg .pxc-td-right { display: block; width: 100% !important; vertical-align: top; }
	/* cells with no content in them when stacked */
	.pxc-3col.pxc-lg .pxc-td.pxc-empty { display: none; }/* no image with no content, so hide on stack */
	.pxc-3col.pxc-lg .pxc-td.bgi-fill.pxc-empty { display: block; min-height: 180px; }/* big image with no content */
	.pxc-3col.pxc-lg.pxc-divs .pxc-td-mid { border: 0; }
	.pxc-3col.pxc-lg.pxc-divs .pxc-td { margin: 1.75em auto 1em auto; }
	
	/* switch text alignment when stacked */
	.pxc-2col.pxc-lg .text-center-stack,
	.pxc-3col.pxc-lg .text-center-stack { text-align: center; }
	.pxc-2col.pxc-lg .text-right-stack,
	.pxc-3col.pxc-lg .text-right-stack  { text-align: right; }
	.pxc-2col.pxc-lg .text-left-stack,
	.pxc-3col.pxc-lg .text-left-stack 	{ text-align: left; }
}
@media only screen and (max-width: 640px) {
	/* 2 column (med) tables >>> 1 column blocks */
	/* change table/tr/td display to block like a normal div, make all columns 100% wide, and remove the vertical alignment */
	.pxc-2col.pxc-med, .pxc-2col.pxc-med .pxc-tr { display: block; }
	.pxc-2col.pxc-med .pxc-td { display: block; width: 100% !important; vertical-align: top; }
	/* cells with no content in them when stacked */
	.pxc-2col.pxc-med .pxc-td.pxc-empty { display: none; }/* no image with no content, so hide on stack */
	.pxc-2col.pxc-med .pxc-td.bgi-fill.pxc-empty { display: block; min-height: 180px; }/* big image with no content */
	/* when 2-col table cells stack on small screens, sometimes you want the order flip-flopped */
	/* (only works on newer browsers, but doesn't hurt the old ones) */
	.pxc-2col.pxc-med.pxc-swap .pxc-row { display: flex; flex-direction: column; }
	.pxc-2col.pxc-med.pxc-swap .pxc-row .pxc-td:nth-child(1) { order: 2; }
	.pxc-2col.pxc-med.pxc-swap .pxc-row .pxc-td:nth-child(2) { order: 1; }

	/* 3 column tables >>> 1 column blocks (all 3 column tables this time) */
	/* change table/tr/td display to block like a normal div, make all columns 100% wide, and remove the vertical alignment */
	.pxc-3col, .pxc-3col .pxc-tr { display: block; }
	.pxc-3col .pxc-td,
	.pxc-3col .pxc-td-left,
	.pxc-3col .pxc-td-mid,
	.pxc-3col .pxc-td-right { display: block; width: 100% !important; vertical-align: top; }
	/* cells with no content in them when stacked */
	.pxc-3col .pxc-td.pxc-empty { display: none; }/* no image with no content, so hide on stack */
	.pxc-3col .pxc-td.bgi-fill.pxc-empty { display: block; min-height: 180px; }/* big image with no content */
	.pxc-3col.pxc-divs .pxc-td { margin: 1.75em auto 1em auto; }

	/* switch text alignment when stacked */
	.pxc-2col.pxc-med .text-center-stack,
	.pxc-3col .text-center-stack { text-align: center; }
	.pxc-2col.pxc-med .text-right-stack,
	.pxc-3col .text-right-stack  { text-align: right; }
	.pxc-2col.pxc-med .text-left-stack,
	.pxc-3col .text-left-stack 	{ text-align: left; }

	/* 2 column with cellspacing */
	.pxc-2col.pxc-med.gap-table .pxc-td { margin: 15px auto; }

}
@media only screen and (max-width: 540px) {
	/* 2 column tables >>> 1 column blocks */
	/* change table/tr/td display to block like a normal div, make all columns 100% wide, and remove the vertical alignment */
	.pxc-2col, .pxc-2col .pxc-tr { display: block; }
	.pxc-2col .pxc-td { display: block; width: 100% !important; vertical-align: top; }
	/* cells with no content in them when stacked */
	.pxc-2col .pxc-td.pxc-empty { display: none; }/* no image with no content, so hide on stack */
	.pxc-2col .pxc-td.bgi-fill.pxc-empty { display: block; min-height: 180px; }/* big image with no content */
	/* when 2-col table cells stack on small screens, sometimes you want the order flip-flopped */
	/* (only works on newer browsers, but doesn't hurt the old ones) */
	.pxc-2col.pxc-swap .pxc-row { display: flex; flex-direction: column; }
	.pxc-2col.pxc-swap .pxc-row .pxc-td:nth-child(1) { order: 2; }
	.pxc-2col.pxc-swap .pxc-row .pxc-td:nth-child(2) { order: 1; }
	/* 2 column with cellspacing */
	.pxc-2col.gap-table .pxc-td { margin: 15px auto; }

	/* 4 column tables (shown as 2 column blocks) >>> 1 column blocks */
	.pxc-4col.pxc-lg .pxc-td { float: none; width: 100% !important; }
	.pxc-4col.pxc-lg.pxc-divs .pxc-td { width: 100% !important; }
	.pxc-4col.pxc-lg.pxc-divs .pxc-td:nth-child(1) { border-right: 0; padding-bottom: 20px; }
	.pxc-4col.pxc-lg.pxc-divs .pxc-td:nth-child(2) { border-right: 0; border-top: 1px solid #9e9e9e; padding-top: 20px; padding-bottom: 20px; }
	.pxc-4col.pxc-lg.pxc-divs .pxc-td:nth-child(3) { border-right: 0; border-top: 1px solid #9e9e9e; padding-top: 20px; padding-bottom: 20px; }
	.pxc-4col.pxc-lg.pxc-divs .pxc-td:nth-child(4) { border-top: 1px solid #9e9e9e; padding-top: 20px; }

	/* 1 column tables >>> 1 column blocks (which won't really change much) */
	.pxc-table { display: block; }
	.pxc-tr { display: block; }
	.pxc-td { display: block; vertical-align: top; }
	.pxc-td { width: 100% !important; vertical-align: top; }
	.pxc-td.pxc-empty { display: none; }/* no image with no content, so hide on stack */
	.pxc-td.bgi-fill.pxc-empty { display: block; min-height: 240px; }/* big image with no content */

	/* switch text alignment when stacked */
	.pxc-2col .text-center-stack,
	.pxc-table .text-center-stack { text-align: center; }
	.pxc-2col .text-right-stack,
	.pxc-table .text-right-stack  { text-align: right; }
	.pxc-2col .text-left-stack,
	.pxc-table .text-left-stack 	{ text-align: left; }

}
@media only screen and (max-width: 480px) {
	/* 4 column tables (shown as 2 column blocks) >>> 1 column blocks */
	.pxc-4col .pxc-td { float: none; width: 100% !important; }
	.pxc-4col.pxc-divs .pxc-td { width: 100% !important; }
	.pxc-4col.pxc-divs .pxc-td:nth-child(1) { border-right: 0; padding-bottom: 20px; }
	.pxc-4col.pxc-divs .pxc-td:nth-child(2) { border-right: 0; border-top: 1px solid #9e9e9e; padding-top: 20px; padding-bottom: 20px; }
	.pxc-4col.pxc-divs .pxc-td:nth-child(3) { border-right: 0; border-top: 1px solid #9e9e9e; padding-top: 20px; padding-bottom: 20px; }
	.pxc-4col.pxc-divs .pxc-td:nth-child(4) { border-top: 1px solid #9e9e9e; padding-top: 20px; }
}
/* don't collapse sub tables ever */
.pxc-table.pxc-sub { display: table !important; }
.pxc-table.pxc-sub .pxc-tr { display: table-row !important; }
.pxc-table.pxc-sub .pxc-td { display: table-cell !important; vertical-align: middle; }
.pxc-table.pxc-sub .pxc-td { width: auto !important; vertical-align: middle; }
.pxc-table.pxc-sub .pxc-4col .pxc-td { width: 25% !important; vertical-align: middle; }
.pxc-table.pxc-sub .pxc-2col .pxc-td { width: 50% !important; vertical-align: middle; }
.pxc-table.pxc-sub .pxc-3col .pxc-td { width: 33% !important; vertical-align: middle; }
.pxc-table.pxc-sub .pxc-3col .pxc-td-left { width: 33% !important; vertical-align: middle; }
.pxc-table.pxc-sub .pxc-3col .pxc-td-mid { width: 34% !important; vertical-align: middle; }
.pxc-table.pxc-sub .pxc-3col .pxc-td-right { width: 33% !important; vertical-align: middle; }


/* ///// padding within content areas ////////////////////////////////////////////////////// */
.pp-trbl, .pp-tb, .pp-lr, .pp-t, .pp-b, .pp-l, .pp-r,
.pplg-trbl, .pplg-tb, .pplg-lr, .pplg-t, .pplg-b, .pplg-l, .pplg-r,
.ppmx-trbl, .ppmx-tb, .ppmx-lr, .ppmx-t, .ppmx-b, .ppmx-l, .ppmx-r { padding: 0; }

.pp-trbl 		{ padding: 30px 30px; }
.pp-tb 			{ padding-top: 30px; padding-bottom: 30px; }
.pp-lr 			{ padding-left: 30px; padding-right: 30px; }
.pp-t 			{ padding-top: 30px; }
.pp-b 			{ padding-bottom: 30px; }
.pp-l 			{ padding-left: 30px; }
.pp-r       { padding-right: 30px; }
.pp-l.ppsm 	{ padding-left: 15px; }
.pp-r.ppsm  { padding-right: 15px; }

.pplg-trbl 	{ padding: 50px; }
.pplg-tb 		{ padding-top: 50px; padding-bottom: 50px; }
.pplg-lr 		{ padding-left: 50px; padding-right: 50px; }
.pplg-t 		{ padding-top: 50px; }
.pplg-b 		{ padding-bottom: 50px; }
.pplg-l 		{ padding-left: 50px; }
.pplg-r 		{ padding-right: 50px; }

.ppmx-trbl 	{ padding: 100px; }
.ppmx-tb 		{ padding-top: 100px; padding-bottom: 100px; }
.ppmx-lr 		{ padding-left: 100px; padding-right: 100px; }
.ppmx-t 		{ padding-top: 100px; }
.ppmx-b 		{ padding-bottom: 100px; }
.ppmx-l 		{ padding-left: 100px; }
.ppmx-r 		{ padding-right: 100px; }

@media only screen and (max-width: 1280px) {

	.pp-trbl 		{ padding: 20px 20px; }
	.pp-tb 			{ padding-top: 20px; padding-bottom: 20px; }
	.pp-lr 			{ padding-left: 20px; padding-right: 20px; }
	.pp-t 			{ padding-top: 20px; }
	.pp-b 			{ padding-bottom: 20px; }
	.pp-l 			{ padding-left: 20px; }
	.pp-r       { padding-right: 20px; }
	.pp-l.ppsm 	{ padding-left: 10px; }
	.pp-r.ppsm  { padding-right: 10px; }

	.pplg-trbl 	{ padding: 40px; }
	.pplg-tb 		{ padding-top: 40px; padding-bottom: 40px; }
	.pplg-lr 		{ padding-left: 40px; padding-right: 40px; }
	.pplg-t 		{ padding-top: 40px; }
	.pplg-b 		{ padding-bottom: 40px; }
	.pplg-l 		{ padding-left: 40px; }
	.pplg-r 		{ padding-right: 40px; }

	.ppmx-trbl 	{ padding: 75px; }
	.ppmx-tb 		{ padding-top: 75px; padding-bottom: 75px; }
	.ppmx-lr 		{ padding-left: 75px; padding-right: 75px; }
	.ppmx-t 		{ padding-top: 75px; }
	.ppmx-b 		{ padding-bottom: 75px; }
	.ppmx-l 		{ padding-left: 75px; }
	.ppmx-r 		{ padding-right: 75px; }
}
@media only screen and (max-width: 920px) {

	.ppmx-trbl 	{ padding: 60px; }
	.ppmx-tb 		{ padding-top: 60px; padding-bottom: 60px; }
	.ppmx-lr 		{ padding-left: 60px; padding-right: 60px; }
	.ppmx-t 		{ padding-top: 60px; }
	.ppmx-b 		{ padding-bottom: 60px; }
	.ppmx-l 		{ padding-left: 60px; }
	.ppmx-r 		{ padding-right: 60px; }

	/* remove left and right padding that was used to put space between columns */

	/* 2 column (lg) tables >>> 1 column blocks */
	.pxc-2col.pxc-xl:not(.gap-table) .pxc-td .pp-trbl,
	.pxc-2col.pxc-xl:not(.gap-table) .pxc-td .pplg-trbl,
	.pxc-2col.pxc-xl:not(.gap-table) .pxc-td .ppmx-trbl,

	.pxc-2col.pxc-xl:not(.gap-table) .pxc-td .pp-lr,
	.pxc-2col.pxc-xl:not(.gap-table) .pxc-td .pplg-lr,
	.pxc-2col.pxc-xl:not(.gap-table) .pxc-td .ppmx-lr,

	.pxc-2col.pxc-xl:not(.gap-table) .pxc-td .pp-r.ppsm,
	.pxc-2col.pxc-xl:not(.gap-table) .pxc-td .pp-r,
	.pxc-2col.pxc-xl:not(.gap-table) .pxc-td .pplg-r,
	.pxc-2col.pxc-xl:not(.gap-table) .pxc-td .ppmx-r,

	.pxc-2col.pxc-xl:not(.gap-table) .pxc-td .pp-l.ppsm,
	.pxc-2col.pxc-xl:not(.gap-table) .pxc-td .pp-l,
	.pxc-2col.pxc-xl:not(.gap-table) .pxc-td .pplg-l,
	.pxc-2col.pxc-xl:not(.gap-table) .pxc-td .ppmx-l { padding-left: 0; padding-right: 0; }

	.pxc-2col.pxc-sub .pxc-td .pp-trbl 	 	{ padding: 20px 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .pp-lr 		 	{ padding-left: 20px !important; padding-right: 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .pp-l 			 	{ padding-left: 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .pp-r       	{ padding-right: 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .pp-l.ppsm  	{ padding-left: 10px !important; }
	.pxc-2col.pxc-sub .pxc-td .pp-r.ppsm  	{ padding-right: 10px !important; }

	.pxc-2col.pxc-sub .pxc-td .pplg-trbl 	{ padding: 40px !important; }
	.pxc-2col.pxc-sub .pxc-td .pplg-lr 		{ padding-left: 40px !important; padding-right: 40px !important; }
	.pxc-2col.pxc-sub .pxc-td .pplg-l 			{ padding-left: 40px !important; }
	.pxc-2col.pxc-sub .pxc-td .pplg-r 			{ padding-right: 40px !important; }

	.pxc-2col.pxc-sub .pxc-td .ppmx-trbl 	{ padding: 60px !important; }
	.pxc-2col.pxc-sub .pxc-td .ppmx-lr 		{ padding-left: 60px !important; padding-right: 60px !important; }
	.pxc-2col.pxc-sub .pxc-td .ppmx-l 			{ padding-left: 60px !important; }
	.pxc-2col.pxc-sub .pxc-td .ppmx-r 			{ padding-right: 60px !important; }

	/* 4 column tables >>> 2 column blocks */
	.pxc-4col .pxc-td:nth-child(2) .pp-trbl,
	.pxc-4col .pxc-td:nth-child(2) .pplg-trbl,
	.pxc-4col .pxc-td:nth-child(2) .ppmx-trbl,

	.pxc-4col .pxc-td:nth-child(2) .pp-lr,
	.pxc-4col .pxc-td:nth-child(2) .pplg-lr,
	.pxc-4col .pxc-td:nth-child(2) .ppmx-lr,

	.pxc-4col .pxc-td:nth-child(2) .pp-r.ppsm,
	.pxc-4col .pxc-td:nth-child(2) .pp-r,
	.pxc-4col .pxc-td:nth-child(2) .pplg-r,
	.pxc-4col .pxc-td:nth-child(2) .ppmx-r { padding-right: 0; }

	.pxc-4col .pxc-td:nth-child(3) .pp-trbl,
	.pxc-4col .pxc-td:nth-child(3) .pplg-trbl,
	.pxc-4col .pxc-td:nth-child(3) .ppmx-trbl,

	.pxc-4col .pxc-td:nth-child(3) .pp-lr,
	.pxc-4col .pxc-td:nth-child(3) .pplg-lr,
	.pxc-4col .pxc-td:nth-child(3) .ppmx-lr,

	.pxc-4col .pxc-td:nth-child(3) .pp-l.ppsm,
	.pxc-4col .pxc-td:nth-child(3) .pp-l,
	.pxc-4col .pxc-td:nth-child(3) .pplg-l,
	.pxc-4col .pxc-td:nth-child(3) .ppmx-l { padding-left: 0; }
}
@media only screen and (max-width: 767px) {

	.pplg-trbl 	{ padding: 30px 30px; }
	.pplg-tb 		{ padding-top: 30px; padding-bottom: 30px; }
	.pplg-lr 		{ padding-left: 30px; padding-right: 30px; }
	.pplg-t 		{ padding-top: 30px; }
	.pplg-b 		{ padding-bottom: 30px; }
	.pplg-l 		{ padding-left: 30px; }
	.pplg-r 		{ padding-right: 30px; }

	.ppmx-trbl 	{ padding: 30px 30px; }
	.ppmx-tb 		{ padding-top: 30px; padding-bottom: 30px; }
	.ppmx-lr 		{ padding-left: 30px; padding-right: 30px; }
	.ppmx-t 		{ padding-top: 30px; }
	.ppmx-b 		{ padding-bottom: 30px; }
	.ppmx-l 		{ padding-left: 30px; }
	.ppmx-r 		{ padding-right: 30px; }

	/* remove left and right padding that was used to put space between columns */

	/* 2 column (lg) tables >>> 1 column blocks */
	.pxc-2col.pxc-lg:not(.gap-table) .pxc-td .pp-trbl,
	.pxc-2col.pxc-lg:not(.gap-table) .pxc-td .pplg-trbl,
	.pxc-2col.pxc-lg:not(.gap-table) .pxc-td .ppmx-trbl,

	.pxc-2col.pxc-lg:not(.gap-table) .pxc-td .pp-lr,
	.pxc-2col.pxc-lg:not(.gap-table) .pxc-td .pplg-lr,
	.pxc-2col.pxc-lg:not(.gap-table) .pxc-td .ppmx-lr,

	.pxc-2col.pxc-lg:not(.gap-table) .pxc-td .pp-r.ppsm,
	.pxc-2col.pxc-lg:not(.gap-table) .pxc-td .pp-r,
	.pxc-2col.pxc-lg:not(.gap-table) .pxc-td .pplg-r,
	.pxc-2col.pxc-lg:not(.gap-table) .pxc-td .ppmx-r,

	.pxc-2col.pxc-lg:not(.gap-table) .pxc-td .pp-l.ppsm,
	.pxc-2col.pxc-lg:not(.gap-table) .pxc-td .pp-l,
	.pxc-2col.pxc-lg:not(.gap-table) .pxc-td .pplg-l,
	.pxc-2col.pxc-lg:not(.gap-table) .pxc-td .ppmx-l { padding-left: 0; padding-right: 0; }

	.pxc-2col.pxc-sub .pxc-td .pp-trbl 	 	{ padding: 20px 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .pp-lr 		 	{ padding-left: 20px !important; padding-right: 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .pp-l 			 	{ padding-left: 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .pp-r       	{ padding-right: 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .pp-l.ppsm  	{ padding-left: 10px !important; }
	.pxc-2col.pxc-sub .pxc-td .pp-r.ppsm  	{ padding-right: 10px !important; }

	.pxc-2col.pxc-sub .pxc-td .pplg-trbl 	{ padding: 30px !important; }
	.pxc-2col.pxc-sub .pxc-td .pplg-lr 		{ padding-left: 30px !important; padding-right: 30px !important; }
	.pxc-2col.pxc-sub .pxc-td .pplg-l 			{ padding-left: 30px !important; }
	.pxc-2col.pxc-sub .pxc-td .pplg-r 			{ padding-right: 30px !important; }

	.pxc-2col.pxc-sub .pxc-td .ppmx-trbl 	{ padding: 30px !important; }
	.pxc-2col.pxc-sub .pxc-td .ppmx-lr 		{ padding-left: 30px !important; padding-right: 30px !important; }
	.pxc-2col.pxc-sub .pxc-td .ppmx-l 			{ padding-left: 30px !important; }
	.pxc-2col.pxc-sub .pxc-td .ppmx-r 			{ padding-right: 30px !important; }

	/* 3 column (lg) tables >>> 1 column blocks (only the ones marked sooner) */
	.pxc-3col.pxc-lg .pxc-td .pp-trbl,
	.pxc-3col.pxc-lg .pxc-td .pplg-trbl,
	.pxc-3col.pxc-lg .pxc-td .ppmx-trbl,

	.pxc-3col.pxc-lg .pxc-td .pp-lr,
	.pxc-3col.pxc-lg .pxc-td .pplg-lr,
	.pxc-3col.pxc-lg .pxc-td .ppmx-lr,

	.pxc-3col.pxc-lg .pxc-td .pp-r.ppsm,
	.pxc-3col.pxc-lg .pxc-td .pp-r,
	.pxc-3col.pxc-lg .pxc-td .pplg-r,
	.pxc-3col.pxc-lg .pxc-td .ppmx-r,

	.pxc-3col.pxc-lg .pxc-td .pp-l.ppsm,
	.pxc-3col.pxc-lg .pxc-td .pp-l,
	.pxc-3col.pxc-lg .pxc-td .pplg-l,
	.pxc-3col.pxc-lg .pxc-td .ppmx-l { padding-left: 0; padding-right: 0; }

}
@media only screen and (max-width: 640px) {
	/* remove left and right padding that was used to put space between columns */

	/* 2 column (med) tables >>> 1 column blocks */
	.pxc-2col.pxc-med:not(.gap-table) .pxc-td .pp-trbl,
	.pxc-2col.pxc-med:not(.gap-table) .pxc-td .pplg-trbl,
	.pxc-2col.pxc-med:not(.gap-table) .pxc-td .ppmx-trbl,

	.pxc-2col.pxc-med:not(.gap-table) .pxc-td .pp-lr,
	.pxc-2col.pxc-med:not(.gap-table) .pxc-td .pplg-lr,
	.pxc-2col.pxc-med:not(.gap-table) .pxc-td .ppmx-lr,

	.pxc-2col.pxc-med:not(.gap-table) .pxc-td .pp-r.ppsm,
	.pxc-2col.pxc-med:not(.gap-table) .pxc-td .pp-r,
	.pxc-2col.pxc-med:not(.gap-table) .pxc-td .pplg-r,
	.pxc-2col.pxc-med:not(.gap-table) .pxc-td .ppmx-r,

	.pxc-2col.pxc-med:not(.gap-table) .pxc-td .pp-l.ppsm,
	.pxc-2col.pxc-med:not(.gap-table) .pxc-td .pp-l,
	.pxc-2col.pxc-med:not(.gap-table) .pxc-td .pplg-l,
	.pxc-2col.pxc-med:not(.gap-table) .pxc-td .ppmx-l { padding-left: 0; padding-right: 0; }

	.pxc-2col.pxc-sub .pxc-td .pp-trbl 	 	{ padding: 20px 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .pp-lr 		 	{ padding-left: 20px !important; padding-right: 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .pp-l 			 	{ padding-left: 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .pp-r       	{ padding-right: 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .pp-l.ppsm  	{ padding-left: 10px !important; }
	.pxc-2col.pxc-sub .pxc-td .pp-r.ppsm  	{ padding-right: 10px !important; }

	.pxc-2col.pxc-sub .pxc-td .pplg-trbl 	{ padding: 30px !important; }
	.pxc-2col.pxc-sub .pxc-td .pplg-lr 		{ padding-left: 30px !important; padding-right: 30px !important; }
	.pxc-2col.pxc-sub .pxc-td .pplg-l 			{ padding-left: 30px !important; }
	.pxc-2col.pxc-sub .pxc-td .pplg-r 			{ padding-right: 30px !important; }

	.pxc-2col.pxc-sub .pxc-td .ppmx-trbl 	{ padding: 30px !important; }
	.pxc-2col.pxc-sub .pxc-td .ppmx-lr 		{ padding-left: 30px !important; padding-right: 30px !important; }
	.pxc-2col.pxc-sub .pxc-td .ppmx-l 			{ padding-left: 30px !important; }
	.pxc-2col.pxc-sub .pxc-td .ppmx-r 			{ padding-right: 30px !important; }

	/* 3 column tables >>> 1 column blocks (all 3 column tables this time) */
	.pxc-3col .pxc-td .pp-trbl,
	.pxc-3col .pxc-td .pplg-trbl,
	.pxc-3col .pxc-td .ppmx-trbl,

	.pxc-3col .pxc-td .pp-lr,
	.pxc-3col .pxc-td .pplg-lr,
	.pxc-3col .pxc-td .ppmx-lr,

	.pxc-3col .pxc-td .pp-r.ppsm,
	.pxc-3col .pxc-td .pp-r,
	.pxc-3col .pxc-td .pplg-r,
	.pxc-3col .pxc-td .ppmx-r,

	.pxc-3col .pxc-td .pp-l.ppsm,
	.pxc-3col .pxc-td .pp-l,
	.pxc-3col .pxc-td .pplg-l,
	.pxc-3col .pxc-td .ppmx-l { padding-left: 0; padding-right: 0; }

}
@media only screen and (max-width: 540px) {

	.pplg-trbl 	{ padding: 20px 20px; }
	.pplg-tb 		{ padding-top: 20px; padding-bottom: 20px; }
	.pplg-lr 		{ padding-left: 20px; padding-right: 20px; }
	.pplg-t 		{ padding-top: 20px; }
	.pplg-b 		{ padding-bottom: 20px; }
	.pplg-l 		{ padding-left: 20px; }
	.pplg-r 		{ padding-right: 20px; }

	.ppmx-trbl 	{ padding: 20px 20px; }
	.ppmx-tb 		{ padding-top: 20px; padding-bottom: 20px; }
	.ppmx-lr 		{ padding-left: 20px; padding-right: 20px; }
	.ppmx-t 		{ padding-top: 20px; }
	.ppmx-b 		{ padding-bottom: 20px; }
	.ppmx-l 		{ padding-left: 20px; }
	.ppmx-r 		{ padding-right: 20px; }

	/* remove left and right padding that was used to put space between columns */
	
	/* 2 column tables >>> 1 column blocks */
	.pxc-2col .pxc-td:not(.gap-table) .pp-trbl,
	.pxc-2col .pxc-td:not(.gap-table) .pplg-trbl,
	.pxc-2col .pxc-td:not(.gap-table) .ppmx-trbl,

	.pxc-2col .pxc-td:not(.gap-table) .pp-lr,
	.pxc-2col .pxc-td:not(.gap-table) .pplg-lr,
	.pxc-2col .pxc-td:not(.gap-table) .ppmx-lr,

	.pxc-2col .pxc-td:not(.gap-table) .pp-r.ppsm,
	.pxc-2col .pxc-td:not(.gap-table) .pp-r,
	.pxc-2col .pxc-td:not(.gap-table) .pplg-r,
	.pxc-2col .pxc-td:not(.gap-table) .ppmx-r,

	.pxc-2col .pxc-td:not(.gap-table) .pp-l.ppsm,
	.pxc-2col .pxc-td:not(.gap-table) .pp-l,
	.pxc-2col .pxc-td:not(.gap-table) .pplg-l,
	.pxc-2col .pxc-td:not(.gap-table) .ppmx-l { padding-left: 0; padding-right: 0; }

	.pxc-2col.pxc-sub .pxc-td .pp-trbl 	 	{ padding: 20px 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .pp-lr 		 	{ padding-left: 20px !important; padding-right: 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .pp-l 			 	{ padding-left: 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .pp-r       	{ padding-right: 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .pp-l.ppsm  	{ padding-left: 10px !important; }
	.pxc-2col.pxc-sub .pxc-td .pp-r.ppsm  	{ padding-right: 10px !important; }

	.pxc-2col.pxc-sub .pxc-td .pplg-trbl 	{ padding: 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .pplg-lr 		{ padding-left: 20px !important; padding-right: 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .pplg-l 			{ padding-left: 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .pplg-r 			{ padding-right: 20px !important; }

	.pxc-2col.pxc-sub .pxc-td .ppmx-trbl 	{ padding: 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .ppmx-lr 		{ padding-left: 20px !important; padding-right: 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .ppmx-l 			{ padding-left: 20px !important; }
	.pxc-2col.pxc-sub .pxc-td .ppmx-r 			{ padding-right: 20px !important; }

	/* 4 column tables (shown as 2 column blocks) >>> 1 column blocks */
	.pxc-4col.pxc-lg .pxc-td .pp-trbl,
	.pxc-4col.pxc-lg .pxc-td .pplg-trbl,
	.pxc-4col.pxc-lg .pxc-td .ppmx-trbl,

	.pxc-4col.pxc-lg .pxc-td .pp-lr,
	.pxc-4col.pxc-lg .pxc-td .pplg-lr,
	.pxc-4col.pxc-lg .pxc-td .ppmx-lr,

	.pxc-4col.pxc-lg .pxc-td .pp-r.ppsm,
	.pxc-4col.pxc-lg .pxc-td .pp-r,
	.pxc-4col.pxc-lg .pxc-td .pplg-r,
	.pxc-4col.pxc-lg .pxc-td .ppmx-r,

	.pxc-4col.pxc-lg .pxc-td .pp-l.ppsm,
	.pxc-4col.pxc-lg .pxc-td .pp-l,
	.pxc-4col.pxc-lg .pxc-td .pplg-l,
	.pxc-4col.pxc-lg .pxc-td .ppmx-l { padding-left: 0; padding-right: 0; }

}
@media only screen and (max-width: 480px) {
	/* 4 column tables (shown as 2 column blocks) >>> 1 column blocks */
	.pxc-4col .pxc-td .pp-trbl,
	.pxc-4col .pxc-td .pplg-trbl,
	.pxc-4col .pxc-td .ppmx-trbl,

	.pxc-4col .pxc-td .pp-lr,
	.pxc-4col .pxc-td .pplg-lr,
	.pxc-4col .pxc-td .ppmx-lr,

	.pxc-4col .pxc-td .pp-r.ppsm,
	.pxc-4col .pxc-td .pp-r,
	.pxc-4col .pxc-td .pplg-r,
	.pxc-4col .pxc-td .ppmx-r,

	.pxc-4col .pxc-td .pp-l.ppsm,
	.pxc-4col .pxc-td .pp-l,
	.pxc-4col .pxc-td .pplg-l,
	.pxc-4col .pxc-td .ppmx-l { padding-left: 0; padding-right: 0; }
}
@media only print {
	.pp-trbl 		{ padding: 20px 20px; }
	.pp-tb 			{ padding-top: 20px; padding-bottom: 20px; }
	.pp-lr 			{ padding-left: 20px; padding-right: 20px; }
	.pp-t 			{ padding-top: 20px; }
	.pp-b 			{ padding-bottom: 20px; }
	.pp-l 			{ padding-left: 20px; }
	.pp-r 			{ padding-right: 20px; }
	.pp-l.ppsm 	{ padding-left: 10px; }
	.pp-r.ppsm	{ padding-right: 10px; }

	.pplg-trbl 	{ padding: 20px 20px; }
	.pplg-tb 		{ padding-top: 20px; padding-bottom: 20px; }
	.pplg-lr 		{ padding-left: 20px; padding-right: 20px; }
	.pplg-t 		{ padding-top: 20px; }
	.pplg-b 		{ padding-bottom: 20px; }
	.pplg-l 		{ padding-left: 20px; }
	.pplg-r 		{ padding-right: 20px; }

	.ppmx-trbl 	{ padding: 20px 20px; }
	.ppmx-tb 		{ padding-top: 20px; padding-bottom: 20px; }
	.ppmx-lr 		{ padding-left: 20px; padding-right: 20px; }
	.ppmx-t 		{ padding-top: 20px; }
	.ppmx-b 		{ padding-bottom: 20px; }
	.ppmx-l 		{ padding-left: 20px; }
	.ppmx-r 		{ padding-right: 20px; }
}


/* ///// header /////////////////////////////////////////////////////////////////////// */
/* make the header sticky */
#header {
	position: fixed;
	top: 0;
	left: 0;
	margin: 0;
	padding: 0;
	width: 100%;
	min-width: 300px;
	background: #fff;
	border-bottom: 2px solid #83BA23;
	z-index: 999; /* below modals that have z-index: 1040; */
}
@media print {
	#header { position: static; }
}

/* display header as a table so we can vertically align content */
.header-table { position: relative; display: table; width: 100%; border-collapse: collapse; }
.header-table-row { display: table-row; }
.header-table-cell { display: table-cell; vertical-align: middle; }

/* 
the header is fixed, so it will always be at the top and will cover up any content behind it
use header-back to push the content at the very top of the page below the fixed header
when the user scrolls down a little, shrink the header to take up less real estate
this means you also have to shrink the header-back
at the foot of the page is a footer-back div
any height you subtract from the header has to be added to the footer-back div
otherwise the total page height will change and when the header shrinks, the page will auto scroll back up
*/
/* original size: 100px (100 + 0 = 100) */
#header, .header-table  { height: 100px; }
.header-back { padding-top: 100px; }
.footer-back { padding-top: 0px; }
/* when shrunk: 67px (67 + 33 = 100) */
.shrink #header, .shrink .header-table { height: 67px; }
.shrink .header-back { padding-top: 67px; }
.shrink .footer-back { padding-top: 33px; }
/* when you get to 920, make the header height smaller and don't do the shrink thing any more */
@media (max-width: 920px) {
	#header, .header-table,
	.shrink #header, .shrink .header-table { height: 55px; }
	.header-back,
	.shrink .header-back { padding-top: 55px; }
	.footer-back,
	.shrink .footer-back { padding-top: 0; }
}
/* when you get to 767, make the header compact, with an icon to drop down the menu */
@media (max-width: 767px) {
	/* undo table format for header */
	.header-table,
	.header-table-row,
	.header-table-cell { display: block; text-align: right; }
	/* clear any floats inside the table */
	.header-table-row:before, .header-table-row:after { content: " "; display: table; }
	.header-table-row:after { clear: both; }
	.header-table-row { *zoom: 1; }
}
@media only print {
	/* header is not fixed on print so these are not needed */
	.header-back, .footer-back { display: none; }
}
/* ///// header logo ////////////////////////////////////////////////////////////////// */
/* cell 1: logo */
/* default logo font in case images are turned off */
.header-table-cell.ht-logo a {
	font-weight: 600;
	line-height: 1px;
	color: #80BD01;
}
/* scale the logo responsively */
.header-table-cell.ht-logo img { max-width: 100%; }
/* make the logo smaller when the header height shrinks, and make it smaller as the browser width shrinks */
@media (min-width: 1281px) {/* largest size */
	.header-table-cell.ht-logo 				 { padding-left: 20px; width: 245px; }
	.shrink .header-table-cell.ht-logo { padding-left: 20px; width: 185px; }
}
@media (max-width: 1280px) {/* shrink width some */
	.header-table-cell.ht-logo 				 { padding-left: 15px; width: 235px; }
	.shrink .header-table-cell.ht-logo { padding-left: 15px; width: 180px; }
}
@media (max-width: 1150px) {/* shrink width some more */
	.header-table-cell.ht-logo 				 { padding-left: 15px; width: 200px; }
	.shrink .header-table-cell.ht-logo { padding-left: 15px; width: 180px; }
}
@media (max-width: 920px) {/* at 920 there is no more height shrinking, & shrink width some more */
	.header-table-cell.ht-logo,
	.shrink .header-table-cell.ht-logo { padding-left: 15px; width: 160px; }
}
@media (max-width: 767px) {/* at 767 the menu switches to a dropdown and the header undoes table format */
	.header-table-cell.ht-logo,
	.shrink .header-table-cell.ht-logo { float: left; padding: 3px 5px 3px 15px; text-align: left; }
}
@media only screen and (max-width: 480px) {/* a little less padding */
	.header-table-cell.ht-logo,
	.shrink .header-table-cell.ht-logo {  padding: 2px 5px 2px 10px; }
}
@media only print {/* on print add a little padding below it */
	.header-table-cell.ht-logo,
	.shrink .header-table-cell.ht-logo { padding-left: 0; padding-bottom: 5px; }
}

/* ///// header menu ////////////////////////////////////////////////////////////////// */
/* cell 2: header menu */
.header-table-cell.ht-menu { text-align: right; }
/* menu container */
.main-nav {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
}
/* link colors for header menu */
.main-nav a:link, .main-nav a:visited { color: #00add8; text-decoration: none; }
.main-nav a:active, .main-nav a:hover { color: #82bc00; text-decoration: none; }
/* display header menu as a table */
.main-nav ul {/* table */
	display: table;
	margin: 0 0 -5px auto;
	padding: 0;
	list-style-type: none;
	list-style-image: none;
}
.main-nav ul > li {/* cell */
	position: relative;
	display: table-cell;
	margin: 0;
	padding: 0;
	vertical-align: middle;
}
/* make the link fill the cell */
.main-nav .section a { display: inline-block; padding: 5px 15px; line-height: 1em; }
/* intially hide links that should only show up in the menu when it becomes a dropdown on small screens */
.main-nav ul li.dd-only { display: none; }
/* some links in the dropdown will display on one line as a group, rather than each on its own line */
.main-nav .multi { padding: 2px 0; }/* row for the multi links */
.main-nav .multi span {/* label for the multi links */
	display: inline-block;
	min-width: 80px;
	padding: 0 0 0 17px;
	text-transform: uppercase;
	font-size: 12px;
	color: #80bd01;
}
.main-nav .multi a { height: auto;  line-height: 1em; }/* the multi links themselves */

/* initially hide hamburger icon for when the menu becomes a dropdown on small screens */
.main-nav-sm { display: none; padding: 11px 10px; cursor: pointer; }

/* buttons container */
.login-nav {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
    z-index: 2000;
}
/* link & bg colors for buttons */
.member-login a:link, .member-login a:visited { color: #82bc00; text-decoration: none; }
.member-login a:active, .member-login a:hover { color: #1cadd5; text-decoration: none; }
.member-login .vbtn { color: #fff !important; background-color: #82bc00; }
/* display button menu as a table */
.login-nav ul {/* table */
	display: table;
	margin: 0 0 0 auto;
	padding: 0;
	list-style-type: none;
	list-style-image: none;
}
.login-nav ul > li {/* cell */
	position: relative;
	display: table-cell;
	margin: 0;
	padding: 0;
	vertical-align: middle;
}
/* button margins & padding */
.login-nav a.m-login { margin: 0; padding: 5px 10px;}
.login-nav a.m-login img { margin-right: 3px; }
.login-nav a.vbtn { margin: 0 5px; padding: 3px; }


/* make the menu smaller when the header height shrinks, and make it smaller as the browser width shrinks */
@media (min-width: 921px) {
	.main-nav  { display: block !important; position: absolute; bottom: 17px; right: 10px; }
	.login-nav { display: block !important; position: absolute; top: 20px; right: 16px; }
	.shrink .main-nav  { bottom: 5px; }
	.shrink .login-nav { top: 10px; }
}
@media (min-width: 921px) and (max-width: 1020px) {
	.main-nav { font-size: 13px; right: 15px; }
	.main-nav .section a { padding: 5px 10px; }
}
@media (min-width: 768px) and (max-width: 920px) {
	.main-nav  { font-size: 12px; margin-top: 5px; margin-right: 5px; }
	.main-nav .section a { padding: 5px 10px; }
	.main-nav .section a span.text-long { display: none; }
	.login-nav { margin-top: 5px; margin-right: 10px; }
}
@media (min-width: 768px) {/* always show menu above 767 */
	.header-table-cell.ht-menu { position: relative; }
	.main-nav { display: block !important; }
}
@media (max-width: 767px) {/* at 767 the menu switches to a dropdown */
	/* now only the hamburger icon shows initially */
	.header-table-cell.ht-menu { position: static; display: inline-block; width: 50px; text-align: left; }
	/* show the icon and show any links that are only shown in the dropdown */
	.main-nav-sm, 
	.main-nav ul li.dd-only { display: block; }
	/* un-hide extra words */
	.main-nav .section a span.text-long { display: inline; }
	/* initially hide the menu */
	.main-nav { display: none; }
	/* position the menu below the header as a full width dropdown */
	.main-nav {
		position: absolute;
		top: 57px;
		left: 0;
		width: 100%;
		max-width: 100%;
	}
	/* put each link on a new line in the dropdown */
	.main-nav ul { display: block; border-bottom: 1px solid #E9E9E9; }
	.main-nav ul > li {
		display: block;
		background: rgba(255,255,255,.95);
		border-bottom: 1px solid #E9E9E9;
	}
	.main-nav ul > li:hover { background: #fff; }
	/* dropdown links */
	.main-nav .section a { display: block; padding: 8px 17px; }
	.main-nav .section a,
	.shrink .main-nav .section a { height: auto;  line-height: 18px; }
	/* link colors */
	.main-nav a:link, .main-nav a:visited { color: #777; }
	.main-nav a:active, .main-nav a:hover { color: #000; }
	/* hide buttons */
	.login-nav { display: none; }
}
@media (max-width: 640px) {
	.main-nav .section a { display: block; padding: 4px 17px; }
}
@media print {
	.main-nav { font-size: 10px; }
}


/* ///// repbox /////////////////////////////////////////////////////////////////////// */
/* cell 4: repbox */
.ht-rbox {
	position: relative;
	height: 100%;
	text-align: right;
	background-color: #f3f2f2;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
}
.rep-pic {
	overflow: hidden;
	display: inline-block;
	width: 100%;
	height: 100%;
	cursor: pointer;
}
.rb-arrow {
	position: absolute;
	bottom: -4px;
	right: -4px;
	width: 48px;
	height: 48px;
	background-position: right bottom;
	background-repeat: no-repeat;
	cursor: pointer;
}
.rb-info {
	position: absolute;
	top: 100%;
	right: 0;
	margin-top: 2px;
	min-width: 290px;
	text-align: left;
	color: #80bd01;
	background-color: #424242;
}
.ie11 .rb-info { margin-top: -6px; }
@media only screen and (max-width: 1024px) {
	.ie11 .rb-info { margin-top: -4px; }	
}
.rb-info1 {
	padding: 7px 15px;
	font-size: 21px;
	font-weight: 300;
	line-height: 1.4em;
	background-position: right bottom;
	background-repeat: no-repeat;
	cursor: pointer;
}
.rb-info1.rb-ln1 { font-size: 16px; }
.rb-info1.rb-ln2 { font-size: 14px; }
.rb-name { font-size: 1.2em; }
.rb-info2 {
	padding: 15px 15px 5px 15px;
	color: #fff;
	background: #80bd01;
}
.rb-phone { margin-bottom: 10px; }
.rb-phone-icon { margin-right: 5px; }
.rb-phone-lg { display: inline; }
.rb-phone-sm { display: none; }
.rb-arrow { background-image: url(../images/icons/icon-sm-wcirclearrow-down.png); }
.rb-expanded .rb-arrow { background-image: url(../images/icons/icon-sm-wcirclearrow-up.png); }
.rb-info1 { background-image: url(../images/icons/icon-sm-circlearrow-down.png); }
.rb-expanded .rb-info1 { background-image: url(../images/icons/icon-sm-circlearrow-up.png); }


@media (min-width: 1025px) {
	/* width of rep pic area */
	.ht-rbox { width: 87px; }
	.shrink .ht-rbox { width: 56px; }

	/* hide arrow on rep pic until shrunk */
	.rb-arrow { display: none; }
	.shrink .rb-arrow { display: block; }

	/* height of rb1 at largest */
	.rb-info1 { min-height: 50px; font-size: 18px; }

	/* initially show rb1 when at top and hide when shrink */
	.rb-info1 { display: block; }
	.shrink .rb-info1 { display: none; }
	/* when expanded, always show rb1 */
	.rb-expanded .rb-info1,
	.shrink .rb-expanded .rb-info1 { display: block; }

	/* when shrink, hide the arrow in rb1 & adjust padding */
	.rb-info1 { padding-right: 20px; }
	.shrink .rb-info1 { padding-right: 10px; background-image: none; }
	
	/* initially hide rb2 */
	.rb-info2 { display: none; }
	/* when expanded, show rb2 */
	.rb-expanded .rb-info2  { display: block; }
	
	.rb-phone-lg { display: none; }
	.rb-phone-sm { display: inline; }
	.rb-phone-icon { height: 30px; }
}
@media (max-width: 1024px) {
	/* width of rep pic area */
	.ht-rbox { width: 87px; }
	.shrink .ht-rbox { width: 56px; }

	/* hide arrow on rep pic until shrunk */
	.rb-arrow { display: none; }
	.shrink .rb-arrow { display: block; }

	/* height of rb1 slightly smaller & smaller text */
	.rb-info1 { min-height: 40px; font-size: 14px; }

	/* initially show rb1 when at top and hide when shrink */
	.rb-info1 { display: block; }
	.shrink .rb-info1 { display: none; }
	/* when expanded, always show rb1 */
	.rb-expanded .rb-info1,
	.shrink .rb-expanded .rb-info1 { display: block; }

	/* when shrink, hide the arrow in rb1 & adjust padding */
	.rb-info1 { padding-right: 20px; }
	.shrink .rb-info1 { padding-right: 10px; background-image: none; }

	/* initially hide rb2 */
	.rb-info2 { display: none; }
	/* when expanded, show rb2 */
	.rb-expanded .rb-info2  { display: block; }

	/* smaller text in rb2 */
	.rb-info2{ font-size: 14px; }
}
@media (max-width: 920px) {
	/* width of rep pic area */
	.ht-rbox,
	.shrink .ht-rbox { width: 48px; }

	/* hide arrow on rep pic always */
	.rb-arrow,
	.shrink .rb-arrow { display: none; }
	
	/* initially hide rb1 when at top and hide when shrink */
	.rb-info1,
	.shrink .rb-info1 { display: none; }
	/* when expanded, always show rb1 */
	.rb-expanded .rb-info1,
	.shrink .rb-expanded .rb-info1 { display: block; }

	/* initially hide rb2 */
	.rb-info2 { display: none; }
	/* when expanded, show rb2 */
	.rb-expanded .rb-info2  { display: block; }

	/* rb1 padding */
	.rb-info1 {padding-right: 10px; }
}
@media (max-width: 767px) {
	/* when switching to non-table header, adjust */
	.header-table-cell.ht-rbox { display: inline-block; text-align: left; height: 55px; }

	/* hide rb1 arrow */
	.rb-info1 { background-image: none; }
}

/* adjust form styles for this form only and I added in the Contact for Pricing Form */
#formRepContact label { margin-bottom: 0; }
#formRepContact .control-group.has-success .help-block,
#formCorpPricing  .control-group.has-success .help-block,
#formRepContact .control-group.has-success .control-label,
#formCorpPricing .control-group.has-success .control-label,
#formRepContact .control-group.has-success .radio,
#formCorpPricing .control-group.has-success .radio,
#formRepContact .control-group.has-success .checkbox,
#formCorpPricing .control-group.has-success .checkbox,
#formRepContact .control-group.has-success .radio-inline,
#formCorpPricing .control-group.has-success .radio-inline,
#formRepContact .control-group.has-success .checkbox-inline,
#formCorpPricing .control-group.has-success .checkbox-inline,
#formRepContact .control-group.has-success.radio label,
#formCorpPricing .control-group.has-success.radio label,
#formRepContact .control-group.has-success.checkbox label,
#formCorpPricing .control-group.has-success.checkbox label,
#formRepContact .control-group.has-success.radio-inline label,
#formCorpPricing .control-group.has-success.radio-inline label,
#formRepContact .control-group.has-success.checkbox-inline label,
#formCorpPricing .control-group.has-success.checkbox-inline label,
#formRepContact .control-group.has-warning .help-block,
#formCorpPricing .control-group.has-warning .help-block,
#formRepContact .control-group.has-warning .control-label,
#formCorpPricing .control-group.has-warning .control-label,
#formRepContact .control-group.has-warning .radio,
#formCorpPricing .control-group.has-warning .radio,
#formRepContact .control-group.has-warning .checkbox,
#formCorpPricing .control-group.has-warning .checkbox,
#formRepContact .control-group.has-warning .radio-inline,
#formCorpPricing .control-group.has-warning .radio-inline,
#formRepContact .control-group.has-warning .checkbox-inline,
#formCorpPricing .control-group.has-warning .checkbox-inline,
#formRepContact .control-group.has-warning.radio label,
#formCorpPricing .control-group.has-warning.radio label,
#formRepContact .control-group.has-warning.checkbox label,
#formCorpPricing .control-group.has-warning.checkbox label,
#formRepContact .control-group.has-warning.radio-inline label,
#formCorpPricing .control-group.has-warning.radio-inline label,
#formRepContact .control-group.has-warning.checkbox-inline label,
#formCorpPricing .control-group.has-warning.checkbox-inline label,
#formRepContact .control-group.has-error .help-block,
#formCorpPricing .control-group.has-error .help-block,
#formRepContact .control-group.has-error .control-label,
#formCorpPricing .control-group.has-error .control-label,
#formRepContact .control-group.has-error .radio,
#formCorpPricing .control-group.has-error .radio,
#formRepContact .control-group.has-error .checkbox,
#formCorpPricing .control-group.has-error .checkbox,
#formRepContact .control-group.has-error .radio-inline,
#formCorpPricing .control-group.has-error .radio-inline,
#formRepContact .control-group.has-error .checkbox-inline,
#formCorpPricing .control-group.has-error .checkbox-inline,
#formRepContact .control-group.has-error.radio label,
#formCorpPricing .control-group.has-error.radio label,
#formRepContact .control-group.has-error.checkbox label,
#formCorpPricing .control-group.has-error.checkbox label,
#formRepContact .control-group.has-error.radio-inline label,
#formCorpPricing .control-group.has-error.radio-inline label,
#formRepContact .control-group.has-error.checkbox-inline label,
#formCorpPricing .control-group.has-error.checkbox-inline label,
#formRepContact .help-block, #formCorpPricing .help-block
 { color: #333; }

/* ///// header animations /////////////////////////////////////////// */
/* when the header height adjusts on scroll, animate it so it's smooth */
#header,
.header-table-cell.ht-logo img,
.main-nav, .login-nav,
.rep-pic, .rep-pic img,
.header-back, .footer-back {
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	-webkit-backface-visibility:hidden;
	-webkit-transform: translateZ(0);
}

.cola {
    padding: 0 0 0 12px;
    height: 16px;
    text-align: left;
}



/* ///// HOME PAGE CUSTOM STYLES ///////////////////////////////////// */

/* ----- HERO -------------------------------------------------------- */
/* hero background image */
#home-hero {
	background-color: #b6baba;
	background-image: url(../images/slice1-1500.jpg);
}
@media (max-width: 767px) {
	#home-hero {	background-image: url(../images/slice1-768.jpg); }
}
@media (max-width: 480px) {
	#home-hero {	background-image: url(../images/slice1-480.jpg); }
}


/* hero content container - rounded border semi-transparent box */
#home-hero div.hero-box {
	background: rgba(35,31,32,.5);
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	border-radius: 15px;
}
.no-rgba #home-hero div.hero-box {
	background: transparent url(../images/btn-hover.png) center center repeat;
}
/* leave room for repbox, fill to the edges, leave a big gap below */
@media (min-width: 1341px) {
	#home-hero div.hero-box { margin: 60px 0 3em 0; }
}
/* change to leave gaps on the edges so it doesn't butt the browser edge */
@media (max-width: 1340px) {
	#home-hero div.hero-box { margin: 60px 20px 3em 20px; }
}
/* no more need to leave room for repbox */
@media (max-width: 920px) {
	#home-hero div.hero-box { margin: 0 20px 3em 20px; }
}
/* no more need to leave a gap below the box */
@media (max-width: 580px) {
	#home-hero div.hero-box { margin: 0 20px; }
}
/* entire div is a link */
#home-hero div.anchor-swoop { cursor: pointer; }

/* the two outermost columns - switch from 60-40 to 70-30 & make the heading wrap */
@media (min-width: 768px) and (max-width: 920px) {
	#home-hero .td-60p { width: 70%; }
	#home-hero .td-40p { width: 30%; }
	#home-hero h1 strong { display: block; }
}
/* the two outermost columns now stack, so add a gap between them */
@media (max-width: 767px) {
	#home-hero .td-40p { margin-top: 1em; }
}
/* on print */
@media print {
	#home-hero .td-60p { width: 60%; }
	#home-hero .td-40p { width: 40%; }
}


/* icon blocks - display in a single row */
#home-hero .ib-table { display: table; width: 100%; margin: 1em 0; }
#home-hero .ib-table .ib-row { display: table-row; }
#home-hero .ib-table .ib-row.ib-r2,
#home-hero .ib-table .ib-row.ib-r3 { display: none; }
#home-hero .ib-table .ib-row div { display: table-cell; text-align: center; padding: 2px; }
#home-hero .ib-table .ib-row div.ib-fc { padding-left:  0; text-align: left; }
#home-hero .ib-table .ib-row div.ib-lc { padding-right: 0; text-align: right; }
#home-hero .ib-table .ib-row div img { display: inline-block; max-width: 100%; }
/* display in 2 rows */
@media screen and (min-width: 768px) and (max-width: 920px) {
	#home-hero .ib-table { border-collapse: separate; border-spacing: 12px; margin: 1em -12px; }
	#home-hero .ib-table .ib-row.ib-r1 { display: none; }
	#home-hero .ib-table .ib-row.ib-r2,
	#home-hero .ib-table .ib-row.ib-r3 { display: table-row; }
	#home-hero .ib-table .ib-row div { background-color: #00add8; -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; text-align: center !important; padding: 8px 0; }
	#home-hero .ib-table .ib-row div.ib-sp { background-color: transparent; }
}
/* 521 - 767 = display in a single row */
/* display in 2 rows */
@media screen and (max-width: 520px) {
	#home-hero .ib-table { border-collapse: separate; border-spacing: 4px; margin: 1em -4px; }
	#home-hero .ib-table .ib-row.ib-r1 { display: none; }
	#home-hero .ib-table .ib-row.ib-r2,
	#home-hero .ib-table .ib-row.ib-r3 { display: table-row; }
	#home-hero .ib-table .ib-row div { background-color: #00add8; -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; text-align: center !important; padding: 0; }
	#home-hero .ib-table .ib-row div.ib-sp { background-color: transparent; }
}


/* fake form - in 2 col table */
#home-hero input {
	font-size: 1em;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;
	border: 0;
}
#home-hero input.fc-leaving {
	padding-left: 25px;
	background: #fff url(../images/icons/icon-hero-form.png) 5px center no-repeat;
}
#home-hero input.fc-arriving {
	padding-right: 25px;
}
/* stack columns */
@media (max-width: 580px) {
	#home-hero .td-60p .pxc-table.pxc-2col.pxc-sub, 
	#home-hero .td-60p .pxc-2col.pxc-sub .pxc-tr { display: block !important; }
	#home-hero .td-60p .pxc-table.pxc-2col.pxc-sub .pxc-td { display: block !important; width: 100% !important; }
	#home-hero .td-60p .pxc-table.pxc-2col.pxc-sub .pxc-td .ppsm { padding: 10px 0 0 0 !important; }
}
/* on print */
@media print {
	#home-hero input { padding-right: 2px; }
}


/* the 2-col table in the right column, list & thumbnail */
/* make column width auto so list column can grow */
@media (min-width: 921px) and (max-width: 1050px) {
	#home-hero .pxc-table.pxc-2col.hero-colB .pxc-td { width: auto; }
}
/* unstack the list col and thumbnail column so they are side by side again */
@media (max-width: 767px) {
	#home-hero .pxc-2col.pxc-xl { display: table; }
	#home-hero .pxc-2col.pxc-xl .pxc-tr { display: table-row; }
	#home-hero .pxc-2col.pxc-xl .pxc-td { display: table-cell; width: 50% !important; vertical-align: bottom; }
}
/* make column width auto so list column can grow */
@media (min-width: 521px) and  (max-width: 580px) {
	#home-hero .pxc-table.pxc-2col.hero-colB .pxc-td { width: auto; }
}
/*re-stack the list col and thumbnail column */
@media (max-width: 479px) {
	#home-hero .pxc-2col.pxc-xl, #home-hero .pxc-2col.pxc-xl .pxc-tr { display: block; width: 100% !important; }
	#home-hero .pxc-2col.pxc-xl .pxc-td { display: block; width: 100% !important; vertical-align: top; }
}


/* image bulleted list */
#home-hero .hero-list { margin: 1em auto 0 auto; }
#home-hero ul { 
	margin: -5px 0 0 0;
	padding: 0;
	list-style-type: none; 
}
#home-hero ul li { display: table; width: 100%; }
#home-hero ul li span {
	display: table-cell;
	padding: 5px 0 5px 35px;
	height: 30px;
	line-height: 1.1em;
	vertical-align: middle;
	background-position: left center;
	background-repeat: no-repeat;
}
/* switch to more compact simple bulleted list (no images) */
@media print, screen and (max-width: 767px) {
	#home-hero ul li span { 
		padding: 2px 0 2px 15px; 
		height: 20px;  
		background-image: url(../images/icons/bullet-blue-circle.png) !important;
	}
	#home-hero ul { margin: -5px 0 5px 0; }
}


/* video thumbnail & link container in right col - pad at bottom to align with list to the left */
#home-hero .video-link { padding-bottom: 1em; }
/* columns stack, so now pad at top instead, b/c it's below the list */
@media (min-width: 768px) and (max-width: 920px) {
	#home-hero .video-link { padding-top: 1em; padding-bottom: 0; text-align: center; }
}
/* now they are side by side again, but list is more compact, so no bottom pad needed */
@media (max-width: 767px) {
	#home-hero .video-link { padding-bottom: 0; }
}
/* now they stack again, so pad at top */
@media (max-width: 479px) {
	#home-hero .video-link { padding-top: 1em; text-align: center; }
}

/* video thumbnail & link - small rectangle thumbnail with arrow over it */
#home-hero .video-thumb div { 
	position: relative; 
	display: inline-block;
	margin-bottom: 5px;
	border: 4px solid #fff;
}
#home-hero .video-thumb .vt-image { max-width: 100%; }
#home-hero .video-thumb .vt-image.vt-sm { display: inline; }
#home-hero .video-thumb .vt-image.vt-lg { display: none; }
#home-hero .video-thumb .vt-arrow {
	position: absolute; 
	top: 50%;
	left: 50%;
	margin: -12px 0 0 -4px;
	opacity: .75;
}
#home-hero .video-thumb:hover .vt-arrow {
	opacity: 1;
}
/* small square */
@media (min-width: 921px) and (max-width: 1050px) {
	#home-hero .video-thumb div { overflow: hidden; width: 100px; height: 80px; }
	#home-hero .video-thumb .vt-image { max-width: 1000%; height: 80px; }
}
/* large rectangle */
@media (min-width: 768px) and (max-width: 920px) {
	#home-hero .video-thumb .vt-image.vt-sm { display: none; }
	#home-hero .video-thumb .vt-image.vt-lg { display: inline; }
}
/* small square */
@media (min-width: 521px) and  (max-width: 580px) {
	#home-hero .video-thumb div { overflow: hidden; width: 150px; }
	#home-hero .video-thumb .vt-image { max-width: 100%; }
}
/* large rectangle */
@media (max-width: 520px) {
	#home-hero .video-thumb .vt-image.vt-sm { display: none; }
	#home-hero .video-thumb .vt-image.vt-lg { display: inline; }
}
/* small square */
@media (min-width: 480px) and (max-width: 520px) {
	#home-hero .video-thumb div { overflow: hidden; width: 100px; height: 80px; }
	#home-hero .video-thumb .vt-image { max-width: 1000%; height: 80px; }
}
/* below 480 = large rectangle */


/* video modal (used in this slice, but can be globally useful) */
.video-modal .modal-body { background: transparent; }
.video-modal .modal-content { box-shadow: none; }
.video-modal .modal-header { background: transparent; border: 0; }
.video-modal .embed-responsive { clear: both; border: 1px solid #fff; }


/* ----- S1: Guarantee ----------------------------------------------- */
#guarantee h1 { display: inline-block; margin: 0 auto; padding-top: 5px; min-width: 450px; }
#guarantee img { float: left; margin: -5px 10px 10px 0; }
#guarantee h1 span.font-static-10 { position: relative; top: 5px; }
@media (min-width: 800px) {
	#guarantee h1 { margin-top: 10px; }
	#guarantee h1 br.text-short { display: none; }
	#guarantee img { float: left; margin: -5px 10px 0 0; }
	#guarantee h1 span.font-static-10 { position: relative; top: -5px; }
}
@media (max-width: 550px) {
	#guarantee h1 { display: block; text-align: left; min-width: 300px; }
	#guarantee img { float: right; margin: -5px 0 0 10px; }
	#guarantee h1 span { font-size: .85em; }
}
@media (max-width: 380px) {
	#guarantee img { margin: -5px 10px 0 10px; }
}

/* ----- S2: Benefits ------------------------------------------------ */
#benefits .limit-content { max-width: 625px; }
#benefits h2 { background: url(../images/bg-blue-pixel.gif) center center repeat-x; }
#benefits h2 span {
	display: inline-block;
	padding: 6px 35px;
	font-weight: 600;
	line-height: 1.42857143;
	text-align: center;
	color: #fff;
	white-space: nowrap;
	vertical-align: middle;
	-webkit-border-radius: 1.2em;
	-moz-border-radius: 1.2em;
	border-radius: 1.2em;
	background: #00add8;
}

#benefits .bene-table { display: table; width: 100%; border-spacing: 10px; }
#benefits .bene-tr { display: table-row; }
#benefits .bene-tr-short { display: none; }
#benefits .bene-td {
	display: table-cell;
	width: 25%;
	vertical-align: middle;
	background-color: #82bc00;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
}
#benefits .bene-box {
	position: relative;
	width: 100%;
	height: 100%;
}
#benefits .bene-over {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}
#benefits .bene-over-table {
	display: table; 
	width: 100%; 
	height: 100%; 
	border-spacing: 0;
}
#benefits .bene-over-td {
	display: table-cell;
	width: 100%;
	height: 100%;
	vertical-align: middle;
	text-align: center;
}
#benefits .bene-td img.bene-sp { max-width: 100%; }
#benefits .bene-over-td h3 { margin: 7px 0 30px 0; padding: 0 10px; line-height: 1em; }
#benefits .bene-over-td p { display: none; margin: 20px 0 0 0; padding: 0 35px; }
#benefits .bene-td:hover { background-image: none !important; background: #82bc00 !important; }
#benefits .bene-td:hover .bene-over-td .bene-icon { width: 50px; }
#benefits .bene-td:hover .bene-over-td h3 { display: none; }
#benefits .bene-td:hover .bene-over-td p { display: block; }
#benefits .bene-td:hover .bene-over-td .bene-plus { display: none; }
@media (max-width: 1220px) {
	#benefits .bene-over-td h3 { margin: 7px 0 0 0; }
	#benefits .bene-td .bene-over-td .bene-plus { display: none; }
	#benefits .bene-over-td p { margin: 10px 0 0 0; padding: 0 25px; }
}
@media (max-width: 1100px) {
	#benefits .bene-over-td p { margin: 5px 0 0 0; padding: 0 20px; }
}
@media (max-width: 950px) {
	#benefits .bene-td:hover .bene-over-td .bene-icon { width: 30px; }
	#benefits .bene-over-td p { margin: 5px 0 0 0; padding: 0 10px; line-height: 1.3; }
}
@media (min-width: 768px) and (max-width: 920px) {
	#benefits .bene-td .bene-over-td .bene-icon { width: 50px; }
	#benefits .bene-over-td p { font-size: .9em; }
}
@media (max-width: 767px) {
	#benefits .bene-td:hover .bene-over-td .bene-icon { width: 50px; }
	#benefits .bene-tr-short { display: table-row; }
	#benefits .bene-td-long { display: none; }
	#benefits .bene-td { width: 50%; }
	#benefits .bene-over-td h3 { font-size: 1.125em; }
	#benefits .bene-over-td p { margin: 20px 0 0 0; padding: 0 30px; font-size: 1.125em; line-height: 1.4; }
}
@media (max-width: 640px) {
	#benefits .bene-over-td p { margin: 5px 0 0 0; padding: 0 15px; font-size: 1em; line-height: 1.3; }
}
@media (max-width: 480px) {
	#benefits .bene-table,
	#benefits .bene-tr,	
	#benefits .bene-td { display: block; margin: 0 auto; width: auto; border-spacing: 0; }
	#benefits .bene-td { margin-top: 10px; max-width: 300px; }
	#benefits .bene-td-long { display: block; }
	#benefits .bene-tr-short { display: none; }
	#benefits .bene-td .bene-over-td h3 { margin: 7px 0 30px 0; font-size: 1.5em; }
	#benefits .bene-td .bene-over-td .bene-plus { display: inline; }
	#benefits .bene-td:hover .bene-over-td .bene-plus { display: none; }
	#benefits .bene-over-td p { margin: 20px 0 0 0; padding: 0 35px; font-size: 1.25em; line-height: 1.4; }
}


/* ----- S3: Brands -------------------------------------------------- */
#brands .limit-content { max-width: 540px; }
@media (max-width: 480px) {
	#brands .line-heading br { display: none; }
}
#brands .pxc-4col img { margin-bottom: 15px; }
#brands .pxc-4col h2 {
	margin: 0 0 20px 0;
	padding: 0 0 20px 0;
	border-bottom: 1px solid rgba(256,256,256,.25); 
}
@media screen only and (min-width: 541px) and (max-width: 920px) {
	#brands .brand-table { max-width: 650px; margin: 0 auto; }
	#brands .pxc-4col .pxc-td { padding: 3%; width: 44% !important; }
}
@media (max-width: 640px) {
	#brands .pxc-4col img { max-width: 45px; }
}
@media (max-width: 480px) {
	#brands .brand-table { max-width: 250px; margin: 0 auto; }
	#brands .pxc-4col .pxc-td { margin: 1em auto; }
}
#brands ul { margin: 1.25em 0 0 0; padding: 0; }
#brands ul li { margin: 0; padding: 0; display: inline; white-space: nowrap; }
#brands ul li img { margin: 15px 5px; }
@media (max-width: 1050px) {
	#brands ul li img { margin: 10px 0; max-width: 16%; }
}
@media (max-width: 785px) {
	#brands ul li img { max-width: 100%; }
}
@media (max-width: 720px) {
	#brands ul li img { max-width: 23%; }
}
@media (max-width: 640px) {
	#brands ul li { white-space: normal; }
	#brands ul li img { margin: 5px 0; max-width: 32%; }
}
@media (max-width:480px) {
	#brands ul li { white-space: nowrap; }
	#brands ul li img { margin: 5px 0; max-width: 49%; }
}
@media print {
	#brands .brand-table h2 { font-size: 18px; }
}

/* ----- S4: Mission ------------------------------------------------- */
#mission {
	background-color: #242322;
	background-image: url(../images/slice3-1500.jpg);
}
@media (max-width: 767px) {
	#mission {	background-image: url(../images/slice3-768.jpg); }
}
#mission p.small-line { 
	width: 13%;
	line-height: 1px;
	border-bottom: 1px solid #fff; 
}
@media (max-width: 767px) {
	#mission h2 { font-size: 1.75em; font-weight: 600; }
}
@media (max-width: 640px) {
	#mission h2 br { display: none; }
	#mission .change-cols { margin: 0 auto; max-width: 450px; }
}


/* ----- S5: Trips --------------------------------------------------- */
#trips .limit-content { max-width: 625px; }
#trips-images { border-bottom: 5px solid #fff; background: url(../images/bg-trips.gif) left center repeat; }
#trips-images .trip-images { margin: 0 auto; max-width: 1375px; }
#trips-images .trip-table { display: table; width: 100%; }
#trips-images .trip-table2, #trips-images .trip-table3 { display: none; }
#trips-images .trip-tr { display: table-row; }
#trips-images .trip-td {
	display: table-cell;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
#trips-images .trip-td img { max-width: 100%; }
#trips-images .trip-td.tt-1 { width: 33%; background-image: url(../images/trip-image-1.jpg); border-right: 5px solid #fff; border-left: 5px solid #fff; }
#trips-images .trip-td.tt-2 { width: 15%; background-image: url(../images/trip-image-2.jpg); border-right: 5px solid #fff; }
#trips-images .trip-td.tt-3 { width: 28%; background-image: url(../images/trip-image-3.jpg); border-right: 5px solid #fff; }
#trips-images .trip-td.tt-4 { width: 25%; background-image: url(../images/trip-image-4.jpg); border-right: 5px solid #fff; }
@media (max-width: 640px) {
	#trips-images .trip-table1 { display: none; }
	#trips-images .trip-table2, #trips-images .trip-table3 { display: table; }
	#trips-images .trip-table2 .trip-td.tt-1 { width: 68%; border-bottom: 5px solid #fff; border-left: 0; }
	#trips-images .trip-table2 .trip-td.tt-2 { width: 32%; border-bottom: 5px solid #fff; border-right: 0; }
	#trips-images .trip-table3 .trip-td.tt-3 { width: 53%; border-right: 0; }
	#trips-images .trip-table3 .trip-td.tt-4 { width: 47%; }
}

/* ----- S6: Plans --------------------------------------------------- */
/* bg image */
#plans {
	background-color: #006687;
	background-image: url(../images/slice6-1500.jpg);
}
@media (max-width: 767px) {
	#plans {	background-image: url(../images/slice6-768.jpg); }
}
/* 3-col table for plan 1, 2, & 2b */
.plans-table { display: table; width: 100%; }
.plans-tr { display: table-row; }
.plans-td { display: table-cell; vertical-align: top; width: 33%; }
.plans-td.plan-colA {}
.plans-td.plan-colB {}
.plans-td.plan-colC {}
/* floating area within the coloumn */
.plans-td.plan-colA .plan-container {
	margin-top: 45px;
	margin-right: 4px;
	border-top: 8px solid #00add8;
}
.plans-td.plan-colB .plan-container {
	margin-left: 4px;
	border-top: 8px solid #00add8;
}
.plans-td.plan-colC .plan-container {
	margin-top: 124px;
	padding: 25px;
	background: rgba(0,173,216,.6);
	-webkit-border-top-right-radius: 15px;
	-webkit-border-bottom-right-radius: 15px;
	-moz-border-radius-topright: 15px;
	-moz-border-radius-bottomright: 15px;
	border-top-right-radius: 15px;
	border-bottom-right-radius: 15px;
}
.plan-dd2 .plan-subcontainer {
	padding: 25px;
	color: #fff;
	background: rgba(0,173,216,.6);
	-webkit-border-bottom-left-radius: 15px;
	-webkit-border-bottom-right-radius: 15px;
	-moz-border-radius-bottomleft: 15px;
	-moz-border-radius-bottomright: 15px;
	border-bottom-left-radius: 15px;
	border-bottom-right-radius: 15px;
}
@media (max-width: 1280px) {
	.plan-dd2 .plan-subcontainer,
	.plans-td.plan-colC .plan-container { padding: 20px; }
	.plans-td.plan-colC .plan-container { margin-top: 95px; }
}
/* 1-col table to keep the rows even and vertically centered */
.pmini-table { display: table; width: 100%; }
.pmini-tr { display: table-row; }
.pmini-tr.plan-dds, .pmini-tr.plan-dd2 { display: none; }
.pmini-td { display: table-cell; vertical-align: middle; }
/* most popular */
.pmini-td.pmtd-0 { 
	background: #5a5b5d; 
	padding: 0 20px;
	height: 45px; 
	font-weight: 600;
	line-height: 16px; 
	text-align: center;
	color: #fff;
}
/* plan title */
.pmini-td.pmtd-1 {
	padding: 20px 20px 10px 20px;
	height: 100px;
	text-align: center;
	background: #fff;
}
.pmini-td.pmtd-1 h2 { margin: 0;  }
.pmini-td.pmtd-1 h2 span { display: block; margin: 5px 0; white-space: no-wrap; }
/* button */
.pmini-td.pmtd-2 {
	padding: 0 20px;
	text-align: center;
	background-image: linear-gradient(bottom, #00add8 50%, #ffffff 50%);
	background-image: -o-linear-gradient(bottom, #00add8 50%, #ffffff 50%);
	background-image: -moz-linear-gradient(bottom, #00add8 50%, #ffffff 50%);
	background-image: -webkit-linear-gradient(bottom, #00add8 50%, #ffffff 50%);
	background-image: -ms-linear-gradient(bottom, #00add8 50%, #ffffff 50%);
}
/* blue area */
.pmini-td.pmtd-3 {
	padding: 10px 20px 20px 20px;
	height: 65px;
	text-align: center;
	color: #fff;
	background: #00add8; 
}
/* list area */
.pmini-td.pmtd-x1 {
	padding: 0 20px;
	text-align: left;
	background: #83ba23;
	color: #fff;
}
.pmini-td.pmtd-x1:hover { background: #006a7b; }
.pmini-td.pmtd-4 {
	padding: 20px 20px;
	text-align: left;
	background: #fff;
}
.pmini-td.pmtd-4 .vbtn { margin-bottom: 7px; }
.pmini-td ul { margin-top: 7px; margin-bottom: 0; padding: 0 0 0 1.75em; line-height: 1.1; font-weight: 600; }
.pmini-td ul ul { margin-top: 14px; }
.pmini-td ul li { list-style-image: url(../images/icons/icon_Plans_check.png); padding-bottom: 7px; }
.pmini-td ul li li { list-style-image: url(../images/icons/icon_Plans_checkgreen.png); }
.pmini-td ul li span { position: relative; top: -4px; }
.pmini-td.pmtd-4 h3 { margin-bottom: .75em; }
.plan-dds.ddl-hidden .pmini-td.pmtd-x1 ul li { list-style-image: url(../images/icons/icon_Plans_arrow_right.png); padding-bottom: 3px; cursor: pointer; }
.plan-dds.ddl-shown .pmini-td.pmtd-x1 ul li { list-style-image: url(../images/icons/icon_Plans_arrow_down.png); padding-bottom: 3px; cursor: pointer; }
/* shrink row heights when text size shrinks */
@media (max-width: 1280px) {
	.pmini-td.pmtd-1 { padding: 20px 20px 10px 20px; height: 90px; }
	.pmini-td.pmtd-3 { padding: 10px 20px 20px 20px; height: 55px; }
}
@media (max-width: 1023px) {
	.pmini-td.pmtd-1 { padding: 10px 10px 5px 10px; height: 80px; }
	.pmini-td.pmtd-3 { padding: 10px 10px 15px 10px; height: 50px; }
}
/* table for the membership equation */
.memb-table { display: table; margin: 20px auto; border-top: 1px solid #40adca; border-bottom: 1px solid #40adca; }
.memb-tr { display: table-row; }
.memb-td { display: table-cell; vertical-align: top; padding: 25px 2px; text-align: left; white-space: no-wrap; }
.memb-td.mbtd-1 { }
.memb-td.mbtd-2 { line-height: 30px; }
.memb-td.mbtd-3 { }
.memb-td.mbtd-4 { display: none; font-size: 0; line-height: 0; }
.memb-td.mbtd-5 { line-height: 30px; }
.memb-td.mbtd-6 { padding-top: 30px; line-height: 1.1; }
.memb-td img { margin-bottom: 3px; }
.memb-td.mbtd-3 .text-short { display: none; }
.plan-subcontainer .memb-table { margin: 0 auto 10px auto; border-top: 0; }
/* shrink responsively */
@media (max-width: 1270px) {
	.plan-colC .memb-td img { height: 25px; }
	.plan-colC .memb-td.mbtd-2 { line-height: 25px; }
	.plan-colC .memb-td.mbtd-5 { line-height: 25px; }
}
@media (max-width: 1023px) {
	.pmini-td ul li span { position: relative; top: -5px; }
}
@media (max-width: 980px) {
	.plans-td.plan-colC .plan-container { margin-top: 119px; padding: 15px; }
	.plan-dd2 .plan-subcontainer { padding: 15px; }
	.pmini-td.pmtd-0 { padding: 0 15px; }
	.pmini-td.pmtd-1 { padding: 10px 15px 5px 15px; }
	.pmini-td.pmtd-2 { padding: 0 15px; }
	.pmini-td.pmtd-3 { padding: 5px 15px 10px 15px; }
	.pmini-td.pmtd-x1 { padding: 0 15px; }
	.pmini-td.pmtd-4 { padding: 10px 15px; }
	.pmini-td.pmtd-1 h2, .plan-colB h3, .plan-colC h3 { font-size: .8em;  }
	.plan-colC .memb-td img { margin-bottom: 0; height: 15px; }
	.plan-colC .memb-td.mbtd-2 { line-height: 15px; }
	.plan-colC .memb-td.mbtd-5 { line-height: 15px; }
	.plan-colC .memb-td { padding: 10px 2px; text-align: center; }
	.plan-colC .memb-td.mbtd-6 { padding-top: 11px; }
	.plan-colC .memb-td.mbtd-3 .text-short { display: inline; }
	.plan-colC .memb-td.mbtd-3 .text-long { display: none; }
}
@media (max-width: 840px) {
	.plans-td.plan-colC .plan-container { margin-top: 105px; }
	.plan-colC .memb-table { display: block; width: 100%; }
	.plan-colC .memb-tr { display: block; }
	.plan-colC .memb-td { display: inline-block; padding: 0; }
	.plan-colC .memb-td.mbtd-1 { padding: 10px 0 0 0; }
	.plan-colC .memb-td.mbtd-2 { padding: 10px 0 0 0; }
	.plan-colC .memb-td.mbtd-3 { padding: 10px 0 0 3px; }
	.plan-colC .memb-td.mbtd-4 { display: block; padding: 0; }
	.plan-colC .memb-td.mbtd-5 { padding: 2px 0 10px 0; }
	.plan-colC .memb-td.mbtd-6 { padding: 2px 0 10px 0;  }
	.plans-table .vbtn { padding-left: 20px; padding-right: 20px; }
	.pmini-td.pmtd-3 em { font-size: .9em; }
}
@media (max-width: 767px) {
	.pmini-td ul li span { position: relative; top: -6px; }
}
@media (min-width: 751px) {
	.pmini-tr.plan-ndd,
	.pmini-tr.plan-dd1 { display: table-row !important; }
	.pmini-tr.plan-dds, 
	.pmini-tr.plan-dd2 { display: none !important; }
}
@media (max-width: 750px) {
	.pmini-tr.plan-dds { display: table-row !important; }
	.plan-colC,
	.pmini-tr.plan-dd1,
	.pmini-tr.plan-dd2 { display: none; }
	.plan-colA, .plan-colB { width: 50%; }
	.plan-colB .memb-td img { margin-bottom: 0; height: 15px; }
	.plan-colB .memb-td.mbtd-2 { line-height: 15px; }
	.plan-colB .memb-td.mbtd-5 { line-height: 15px; }
	.plan-colB .memb-td { padding: 10px 2px; text-align: center; }
	.plan-colB .memb-td.mbtd-6 { padding-top: 11px; }
	.plan-colB .memb-td.mbtd-3 .text-short { display: inline; }
	.plan-colB .memb-td.mbtd-3 .text-long { display: none; }
}
@media (max-width: 590px) {
	.plans-table { display: block; }
	.plans-tr { display: block; }
	.plans-td { display: block; margin: 0 auto; width: 100%; max-width: 300px; }
	.plans-td.plan-colA .plan-container { margin-top: 0; margin-right: 0; }
	.plans-td.plan-colB .plan-container { margin-top: 20px; margin-left: 0; }
	.plans-td.plan-colC { display: none; }
	.pmini-td.pmtd-1 h2, .plan-colB h3 { font-size: 1em;  }
}
@media print {
	.plans-table { line-height: 1.1; font-size: 10px; }
	.pmini-td ul li { padding-bottom: 0 !important; }
}

/* ====== Corporat Account: Contact for Pricing ======== */
#modal-corp-pricing .modal-body { background: #80bd01; }
#modal-corp-pricing label { color: #fff; }

/* ----- S7: Opportunity --------------------------------------------- */
#opportunity .cash-in { display: inline-block; margin: 0 auto; }
#opportunity .cash-in ul { padding: 0 0 0 1.75em; line-height: 1.1; }
#opportunity .cash-in ul li { list-style-image: url(../images/icons/icon-cashin-list-01.png); padding-bottom: 20px; }
#opportunity .cash-in ul li span { position: relative; top: -2px; }
@media (max-width: 920px) {
	#opportunity .cash-in ul { font-size: 1.25em; }
}
@media (max-width: 767px) {
	#opportunity .cash-in ul li { padding-bottom: 10px; }
}
@media (max-width: 480px) {
	#opportunity .line-heading br { display: none; }
}

/* video thumbnail & link - small rectangle thumbnail with arrow over it */
#opportunity .video-thumb h2 { margin-bottom: 5px; }
#opportunity .video-thumb div { 
	position: relative; 
	display: inline-block;
	margin-bottom: 5px;
	max-width: 320px;
	border: 4px solid #fff;
}
#opportunity .video-thumb .vt-image { max-width: 100%; }
#opportunity .video-thumb .vt-arrow {
	position: absolute; 
	top: 50%;
	left: 50%;
	margin: -12px 0 0 -4px;
	opacity: .75;
}
#opportunity .video-thumb:hover .vt-arrow {
	opacity: 1;
}


/* ----- S8: Quote --------------------------------------------------- */
#quote {
	background-color: #3F461B;
	background-image: url(../images/slice7-1500.jpg);
}
@media (max-width: 767px) {
	#quote {	background-image: url(../images/slice7-768.jpg); }
}
#quote span { display: block; }
#quote blockquote { line-height: 2.5em; }



/* ///// FAQ PAGE CUSTOM STYLES ////////////////////////////////////////// */
.faq-block { margin-bottom: 40px; }
.faq-block h2 { 
	margin-bottom: -.75em; 
	font-weight: 600;
	line-height: 1.4 !important;
	color: #83ba23; 
}
.faq-Q { cursor: pointer; min-height: 24px; }
.faq-Q h1 { font-size: 1.500em; color: #82bc00; }
.faq-Q h2 { font-size: 1.250em; color: #00add8; margin-bottom: 0; }
.faq-Q h3 { font-size: 1.125em; color: #82bc00; font-weight: 600; margin-bottom: 0; }
.faq-Q h1,
.faq-Q h2,
.faq-Q h3 { padding: 0 30px; background-position: left 3px; background-repeat: no-repeat; }
.faq-Q.faq-1.faq-collapsed > h1 { background-image: url("../images/icons/icon-ce-plus.png"); }
.faq-Q.faq-1.faq-expanded  > h1 { background-image: url("../images/icons/icon-ce-minus.png"); }
.faq-Q.faq-2.faq-collapsed > h2 { background-image: url("../images/icons/icon-ce-plus-blue.png"); }
.faq-Q.faq-2.faq-expanded  > h2 { background-image: url("../images/icons/icon-ce-minus-blue.png"); }
.faq-Q.faq-3.faq-collapsed > h3 { background-image: url("../images/icons/icon-ce-plus-sm.png"); }
.faq-Q.faq-3.faq-expanded  > h3 { background-image: url("../images/icons/icon-ce-minus-sm.png"); }
.faq-A { display: none; margin: 0 30px; }
.faq-A.faq-3 { margin-top: -1em; }
@media (max-width: 1280px) {
	.faq-Q h1,
	.faq-Q h2 { background-position: left 3px; }
	.faq-Q h3 { background-position: left 1px; }
}
@media (max-width: 1023px) {
	.faq-Q h1,
	.faq-Q h2 { background-position: left 1px; }
	.faq-Q h3 { background-position: left 1px; }
}
@media (max-width: 767px) {
	.faq-Q h1,
	.faq-Q h2,
	.faq-Q h3 { padding: 0 0 0 25px; }
	.faq-A { margin: 0 10px 0 25px; }
}
@media (max-width: 640px) {
	.faq-Q h1 { padding: 0 0 0 25px; }
	.faq-Q h2,
	.faq-Q h3 { padding: 0 0 0 22px; }
	.faq-A.faq-1 { margin: 0; }
	.faq-A { margin: 0 0 0 22px; }
}
.ce-all {
	font-size: 10px;
	letter-spacing: 1px;
	color: #999;
	text-align: right;
	cursor: pointer;
}
.ce-all.ce-collapsed .ce-collapse { display: inline; }
.ce-all.ce-collapsed .ce-expand { display: none; }
.ce-all.ce-expanded .ce-collapse { display: none; }
.ce-all.ce-expanded .ce-expand { display: inline; }

/* ///// no javascript error ////////////////////////////////////////////////////////// */
.no-js .pci-js { display: block !important; }

/* ///// footer /////////////////////////////////////////////////////////////////////// */
#footer { color: #4e9d2d; }
#footer a:link, #footer a:visited { color: #82bc00; text-decoration: underline; }
#footer a:active, #footer a:hover { color: #4e9d2d; text-decoration: underline; }

#footer .f3-table { display: table; width: 100%; }
#footer .f3-tr { display: table-row; }
#footer .f3-td { display: table-cell; vertical-align: bottom; line-height: 1.1; }
#footer .f3-td.footer-logo { width: 197px; padding: 0 30px 4px 0; }
#footer .f3-td.footer-social { text-align: right; }
#footer .f3-td.footer-social a { display: inline-block; width: 35px; text-align: center;}
#footer p.small-line { 
	margin: 10px auto 12px 0;
	width: 50px;
	line-height: 1px;
	border-bottom: 1px solid #4e9d2d; 
}
#footer .footer-cc { table-layout: fixed; }
#footer .footer-contact { width: 202px !important; }
#footer .footer-copyright { width: auto; }
@media only screen and (max-width: 550px) {
	#footer .f3-table { display: block; }
	#footer .f3-tr { display: block; }
	#footer .f3-td,
	#footer .f3-td.footer-logo,
	#footer .f3-td.footer-social { display: block; margin-bottom: 1em; padding: 0; width: 100%; text-align: center; }
	#footer .footer-contact { margin: 0 auto; width: 175px !important; }
}
@media only print {
	#footer,
	#footer a { color: #999; }
	#footer .pp-trbl { padding-left: 0; padding-right: 0; }
	.footer-back { display: none; }
	.footer-logo img { width: 100px; }
}

/* ///// print basics ///////////////////////////////////////////////////////////////// */
.print-only { display: none; }
@media print {
	/* items to show only on print */
	.print-only { display: block; }
	/* items to hide on print */
	.screen-only { display: none !important; }

	/* adjust colors for print */
	html, body {
		background: #fff !important;
		color: #333 !important;
		font-size: 12px !important;/* this shrinks all fonts that use em */
	}

	/* shrink images to fit on the page */
	img { max-width: 100% !important; }

	/* set print margins */
	@page { margin: 0.5in; }
	
	/* control where page breaks happen */
	body .slice { page-break-inside: avoid; } 

	/* when modals are open */
	.modal-open #header,
	.modal-open #footer,
	.modal-open .slice,
	.modal-open .modal-backdrop { display: none; }
	.modal-open { overflow: visible; }
	.modal-open .modal { position: relative; overflow: visible; }
	.modal-content { border: 1px solid #ddd; border-top: 0; -webkit-box-shadow: none !important; box-shadow: none !important; }
}