/* http://meyerweb.com/eric/tools/css/reset/
	v2.0 | 20110126
	License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
dl, dt, dd, ol, ul, li {
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
dl {
	margin: 1em 0;
	padding: 0;
}
dt {
	margin: 0;
	padding: 0;
}
dd {
	margin: 0 0 0 2.5em;
	padding: 0;
}
ol, ul {
	margin: 1em 0;
	padding: 0 0 0 2.5em;
}
sup {
	vertical-align: super;
	font-size: .8em;
}
sub {
	vertical-align: sub;
	font-size: .8em;
}
p {
	margin: 1em 0;
}
td, input[type="text"], input[type="password"], input[type="number"], input[type="tel"], input[type="email"], input[type="select"], input[type="submit"], input[type="reset"],
input[type="checkbox"], input[type="checkbox"] ~ label, input[type="radio"], input[type="radio"] ~ label {
	vertical-align: middle;
}
input[type="number"] { width: 9em; } /* approx +7 then /2, assuming size of 11 */
input[type="checkbox"], input[type="radio"] {
	margin: 0;
	font-size: 1em;
	width: 1em;
	height: 1em;
}
.securityKey
{
	font-size: x-large;
	font-weight: bold;
	margin-top: 1em;
	margin-bottom: 1em;
}
/* if size is specified, try to get close requested width */
/* (size) + 7) / 2) + "em" formula derived from trial & error (http://codepen.io/progidy/pen/aZbNza?editors=1000 */
input[type="number"][size="1"] { width: 4em; }
input[type="number"][size="2"] { width: 4.5em; }
input[type="number"][size="3"] { width: 5em; }
input[type="number"][size="4"] { width: 5.5em; }
input[type="number"][size="5"] { width: 6em; }
input[type="number"][size="6"] { width: 6.5em; }
input[type="number"][size="7"] { width: 7em; }
input[type="number"][size="8"] { width: 7.5em; }
input[type="number"][size="9"] { width: 8em; }
input[type="number"][size="10"] { width: 8.5em; }
input[type="number"][size="11"] { width: 9em; }
input[type="number"][size="12"] { width: 9.5em; }
input[type="number"][size="13"] { width: 10em; }
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
textarea /* http://meyerweb.com/eric/thoughts/2010/02/12/fixed-monospace-sizing/ */
{
	font-family: "Courier New", monospace, serif;
	font-size: 1em;
	padding: 1px;
}
textarea.largeArea {
	width: 100%;
	height: 15em;
}
.showOnMobile textarea.largeArea {
	height: auto;
}

/* nate backwards compat fix */
b { font-weight: bold; }
i { font-style: italic; }
ol[type]
{
	margin: 1em;
	padding-left: 2em;
}


body, select
{
	font-family: Arial, Helvetica, sans-serif;
}
body
{
	font-size: 100%;
}
.content
{
	position: relative;
}
h1
{
	font-size: 1.5em;
}


.contentGroup5,  .contentGroup10, .contentGroup15,
.contentGroup20, .contentGroup25, .contentGroup30,
.contentGroup40, .contentGroup50, .contentGroup60,
.contentGroup75, .contentGroup80, .contentGroup85,
.contentGroup100
{
	width: 100%;
	display: block;
}

/* Login Page */
.loggedOffMenu, .loggedOffMenuBackground
{
	display: none;
}
.loggedOffContent
{
	padding-top: 1em;
}
.loggedOffContent .contentSection /* center login header */
{
	text-align: center;
}
#LoggedOffCenterGroup .loggedOffContent .contentSection /* don't center logout header */
{
	text-align: left;
}
.loggedOffMessage
{
	padding-top: 1em;
	padding-bottom: 1em;
}
#HLMFmasterMainContent #body_body_pnlMaint,
#HLMFmasterMainContent #body_body_pnlBroadcasting,
#HLMFmasterMainContent #body_body_pnlBulletin,
#HLMFmasterMainContent #sponsor_ad_bar
{
	text-align: center;
}
#truestampSelect
{
	height: 320px;
}
.loginInputWrapper, .loginLinkWrapper
{
	padding: .75em 0;
	text-align: center;
}
.loginInputPanel
{
	display: inline-block;
}
.loginInputPanel > input[type="text"],
.loginInputPanel > input[type="password"]
{
	border-radius: unset;
}
.loginInputPanel > input.loginFieldSpacer[type="text"]
{
	position: static;
	left: auto;
	color: white;
	background-color: white;
	border-color: white;
	visibility: hidden;
}
.securityPhrase
{
	font-size: xx-large;
	font-weight: bold;
	margin-top: 1em;
	margin-bottom: 1em;
}
.editSecurityPhrase
{
	width: 320px;
}
a[id$="lnkChangeLang"]
{
	font-weight: bold;
}
#HLMFmasterMainContent #body_body_pnlBroadcasting,
#HLMFmasterMainContent #body_body_pnlBulletin
{
	padding-top: 1em;
	padding-bottom: 1em;
}
.loginWatermarkVisible {
	display: inline;
}
.loginWatermarkInvisible {
	display: none;
}
/* Express Sign On (ESO) */
.ExpressSignOn /* outer div for ESO */
{
		background-image: none; /* STR_LOGON_SS_BG */
		background-color: transparent; /* STR_LOGON_SS_BGCOLOR */
}
/* Google reCaptcha widget */
.g-recaptcha
{
	display: inline-block;
}
#body_imgSubmit /* image submit button for ESO */
{
    background-color: transparent;
}
.logonID
{
	width: 100px;
	font-size: 9pt; /* STR_SS_LOGON_FONT_SIZE */
	position:absolute;
	top:0px;
	left:0px;
	z-index:1;
}
.watermarkedESO
{
	width: 100px;
	font-size: 9pt; /* STR_SS_LOGON_FONT_SIZE */
	position:absolute;
	top:0px;
	left:0px;
	z-index:2;
}
.esoTable
{
	margin:auto;
	padding: 0 0 0 0;
	border-collapse: collapse;
	height:45px; /* STR_ES_PIXEL_HEIGHT */
	width:108px; /* STR_ES_PIXEL_WIDTH */
}
tr.esoTableRow1
{
	background-color: transparent; /* STR_SPONSOR_SS_ROW1_BG */
}
td.esoTableRow1
{
	height: 19px;
	text-align: center;
	font-size: smaller;
	color: transparent; /* STR_SPONSOR_SS_ROW1_TEXT */
}
.esoLoginBox
{
	min-width: 108px;  /* 12 x STR_SS_LOGON_FONT_SIZE */
	min-height: 18px; /* 2 x STR_SS_LOGON_FONT_SIZE */
	height: 18px; /* 2 x STR_SS_LOGON_FONT_SIZE */
}
.esoLoginBoxVertical
{
	vertical-align: middle;
	text-align: center;
	padding-left: 45px;  /* 0 unless STR_ES_PIXEL_WIDTH > (STR_SS_LOGON_FONT_SIZE * 12): then (STR_ES_PIXEL_WIDTH - (STR_SS_LOGON_FONT_SIZE*12))/2 */
	min-width: 108px; /* 12 x STR_SS_LOGON_FONT_SIZE */
	width:108px; /* 12 x STR_SS_LOGON_FONT_SIZE */
	min-height:18px; /* 2 x STR_SS_LOGON_FONT_SIZE */
	height:18px; /* 2 x STR_SS_LOGON_FONT_SIZE */
}
.esoLoginDiv
{
	text-align:center;
	position:absolute;
	margin-top:-10px  /* -(STR_SS_LOGON_FONT_SIZE + 1) */
}
.esoLoginDivVertical
{
	text-align:center;
	position:absolute;
	margin-top:-10px;  /* -(STR_SS_LOGON_FONT_SIZE + 1) */
	display: block;
	width: 108px; /* 12 x STR_SS_LOGON_FONT_SIZE */
	min-width: 108px; /* 12 x STR_SS_LOGON_FONT_SIZE */
}
.esoText
{
	text-align:center;
}
/* security pages after login are in iframes, and their background need to be transparent */
html.iframeHtml, body.iframeBody {
	background-color: transparent;
}

.dropdown
{
	font-size: 1em;
}
.sectionHeader .dropdown /* if dropdown is inside the embiggened header, reduce to regular size */
{
	font-size: .8em;
	vertical-align: text-top;
}
.nowrap
{
	white-space: nowrap;
}
.breakword
{
	word-wrap: break-word; /* Allows unbreakable words to be broken */
	/* ie */
	-ms-word-wrap: break-word;
	-ms-word-break: break-all;
	word-break: break-all;
	/* decent browsers */
	word-break: break-word;
}
.colJustifyDefault
{
	text-align: left;
}
.colJustifyDate
{
	text-align: left;
}
.colJustifyCurrency
{
	text-align: right;
}
.colJustifyPercent
{
	text-align: right;
}
.colJustifyAccountLink
{
	text-align: left;
}
.colJustifyActionLink
{
	text-align: right;
}
.colJustifyDescription
{
	text-align: left;
}
.colJustifyError
{
	text-align: right;
}
.colJustifyFullTimestamp
{
	text-align: left;
}
tbody .colJustifyDate, .colJustifyCurrency
{
	white-space: nowrap;
}
tbody .colJustifyAccountLink
{
	word-break: break-all;
}
tbody .colJustifyDescription,
tbody .colJustifyError,
tbody .colJustifyFullTimestamp
{
	word-break: break-word;
}
td.colJustifyFormSubmit, .formTable .colJustifyFormSubmit, div.colJustifyFormSubmit
{
	padding-bottom: 1em;
	padding-top: 1em;
	text-align: center;
}
.colJustifyTileValue
{
	text-align: right;
}
.colJustifyAlertsNoticesLinks
{
	text-align: left;
}
.colJustifyAlertsNoticesFooters
{
	text-align: right;
}
.colJustifyModuleFooterAction
{
	text-align: left;
}
.colJustifyModuleFooterView
{
	text-align: right;
}
.colJustifyCheckbox
{
	text-align: center;
}
.colJustifyAlertsNoticesFooters
{ }
.colJustifySignature
{
	text-align: right;
}
.flippedTable th
{
	text-align: initial;
}

.header
{
	width: 100%;
	background-repeat: no-repeat;
	background-position: left top;
}
.header.headerMobile
{
	display: block;
}
.header.headerDesktop
{
	display: none;
	height: 0;
}

.interactiveLink, .interactiveIconLink, .noninteractiveIconLink
{
	padding-right: 1em;
}
.interactiveLink, .interactiveIconLink, .noninteractiveIconLink
{
	display: inline-block;
}
.interactiveLink:before
{
	content: '';
	background: url(/Content/gifs/circle_arrow_gray.png) no-repeat left top;
	background-size: 1em 1em;
	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/Content/gifs/circle_arrow_gray.png', sizingMethod='scale'); /* http://stackoverflow.com/a/6353808/4946681 */
	-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/Content/gifs/circle_arrow_gray.png', sizingMethod='scale')";
	width: 1em;
	height: 1em;
	display: inline-block;
	vertical-align: bottom;
	padding-right: 6px;
}
.majorLink.interactiveLink /* Account Summary page, add extra padding between Quick Transfer and Switch View */
{
	margin-right: 1em;
}
.interactiveIconLink.iconList:before, .noninteractiveIconLink.iconList:before
{
	content: '';
	background: url(/Content/gifs/liststyle.png) no-repeat left top;
	background-size: 1em 1em;
	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/Content/gifs/liststyle.png', sizingMethod='scale');
	-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/Content/gifs/liststyle.png', sizingMethod='scale')";
	width: 1em;
	height: 1em;
	display: inline-block;
	vertical-align: bottom;
	padding-right: 6px;
}
.interactiveIconLink.iconTile:before,
.noninteractiveIconLink.iconTile:before
{
	content: '';
	background: url(/Content/gifs/tilestyle.png) no-repeat left top;
	background-size: 1em 1em;
	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/Content/gifs/tilestyle.png', sizingMethod='scale');
	-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/Content/gifs/tilestyle.png', sizingMethod='scale')";
	width: 1em;
	height: 1em;
	display: inline-block;
	vertical-align: bottom;
	padding-right: 6px;
}
.interactiveLink:hover,
.interactiveIconLink:hover
{
	padding-left: .5em;
	padding-right: .5em;
}
.moduleHeader .interactiveIconLink,
.sectionHeader .interactiveIconLink
{
	font-size: 1em; /* pre-pad space between previous/next, but reduce on hover */
}
.sectionHeaderLink .interactiveIconLink.iconTile:before,
.sectionHeaderLink .noninteractiveIconLink.iconTile:before,
.sectionHeaderLink .dropdown
{
	position: relative;
	vertical-align: text-bottom;
}
.sectionHeaderLink .dropdown
{
	width: 100%;
}
.sectionHeaderLink .dropdown + span + img
{
	display: none; /* on mobile, hide immediate vert bar */
}

/* pager icons currently based on max height: 26px */
.interactivePrevious
{
	padding-right: 1em; /* pre-pad space between previous/next, but reduce on hover */
}
.interactivePrevious:before
{
	background: url(/Content/gifs/bracket_left.png) no-repeat left top;
	background-size: .75em 1em;
	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/Content/gifs/bracket_left.png', sizingMethod='scale'); /* http://stackoverflow.com/a/6353808/4946681 */
	-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/Content/gifs/bracket_left.png', sizingMethod='scale')";
	width: .75em;
}
.interactiveNext
{
	padding-right: 1em; /* pre-pad space between next/search, but reduce on hover */
}
.interactiveNext:before
{
	background: none;
	height: 0;
	width: 0;
	padding-right: 0;
}
.interactiveNext:after
{
	content: '';
	background: url(/Content/gifs/bracket_right.png) no-repeat right top;
	background-size: .75em 1em;
	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/Content/gifs/bracket_right.png', sizingMethod='scale');
	-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/Content/gifs/bracket_right.png', sizingMethod='scale')";
	width: .75em;
	height: 1em;
	display: inline-block;
	vertical-align: bottom;
	padding-left: 6px;
}
.interactiveSearch
{
	padding-right: 1em; /* pre-pad space between search/refresh, but reduce on hover */
}
.interactiveSearch:before
{
	background: url(/Content/gifs/toolbar_find.png) no-repeat left top;
	background-size: 1em 1em;
	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/Content/gifs/toolbar_find.png', sizingMethod='scale');
	-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/Content/gifs/toolbar_find.png', sizingMethod='scale')";
}
.interactiveRefresh
{
	padding-right: 1em; /* pre-pad space between refresh/*, but reduce on hover */
}
.interactiveRefresh:before
{
	background: url(/Content/gifs/refreshicon.png) no-repeat left top;
	background-size: 1em 1em;
	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/Content/gifs/refreshicon.png', sizingMethod='scale');
	-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/Content/gifs/refreshicon.png', sizingMethod='scale')";
}
.interactivePrevious:hover, .interactiveNext:hover, .interactiveSearch:hover, .interactiveRefresh:hover
{
	padding-left: .5em;
	padding-right: .5em;
}
.noninteractiveText /* If the previous/next buttons are not enabled, the text will have this class */
{
	display: inline-block;
	padding-right: 1em;
	cursor: none;
	cursor: not-allowed;
}

/* credit: http://stackoverflow.com/a/585965 */
.siteMenuContainer
{
	height: 100%;
	position: relative;
}
.siteMenu
{
	margin: 0;
	padding: 0;
	position: absolute;
	right: .5em;
	bottom: .5em;
}
.siteMenu li
{
	display: inline-block;
	text-decoration: none;
	list-style: none;
}
.siteMenu li img
{
	border: 0 none;
}
.mailIcon
{
	position: relative;
}
.unreadCount
{
	position: absolute;
}
.siteSubMenuContainer
{
	display: none;
	position: relative;
	z-index: 3; /* otherwise, mouse over the third one won't trigger because it will instead be over subMenu */
}
.siteSubMenu
{
	margin: 0;
	padding: 0;
	position: absolute;
}
.siteSubMenu > li
{
	display: block;
}
.siteSubMenu > li > a
{
	display: block;
}
.siteSubMenu a
{
	white-space: nowrap;
}
.siteMenu > li:hover > .siteSubMenuContainer,
.siteSubMenuContainer:hover
{
	display: block;
}

.systemMessage
{
	position: relative; /* in case child wants to be specifically positioned, it should use "position: absolute" */
	display: block;
}
.lastLogin, .emailChange /* no contentPadding parent */
{
	width: 100%;
	display: block;
}

.infoMessageIcon
{
	display: block;
	text-align: center;
	cursor: pointer;
}
.sectionHeader .infoMessageIcon,
.moduleHeader .infoMessageIcon,
.contentTile .infoMessageIcon
{
	display: inline-block;
	text-align: left;
}
.infoMessageIcon:before
{
	content: "\00a0"; /* counteract neg left margin below */
}
.infoMessageIcon:after
{
	content: "i";
	display: inline-block;
	border-width: .175em;
	border-style: solid;
	width: 1.25em;
	line-height: 1.25em;
	height: 1.25em;
	text-align: center;
	border-radius: 1em;
	font-weight: bold;
	vertical-align: text-bottom;
	margin-left: -.175em; /* counteract the left border width for perfect centering */
}
.advert10 .infoMessageIcon,
.advert20 .infoMessageIcon,
.contentGroup20 .infoMessageIcon
{
	margin-top: .25em;
}
.infoMessageIcon
{
	font-size: 1.25em;
}
.sectionHeader .infoMessageIcon,
.moduleHeader .infoMessageIcon
{
	font-size: .8em;
}
.contentTile .infoMessageIcon
{
	font-size: .8em;
}
.infoMessageText
{
	display: none; /* initially invisible */
	margin: .5em;
}

.mobileMenuText
{
	display: inline-block;
}
.mobileMenuIcon
{
	display: inline-block;
}

.nav
{
	overflow: hidden;
}
.nav.toggleState0
{
	height: 0;
}
.nav.toggleState1
{
	height: inherit;
}
.menu { line-height: 0; } /* remove extra space between li elements */
.menu > li
{
	width: 100%;
	display: inline-block;
}
.menu > li > a
{
	width: 100%;
	white-space: nowrap;
	vertical-align: top;
	float: left;
}
.menu > li > a:before
{
	content: "\00a0";
}
.menu > li > a.menuMobileExpandable
{
	width: 84.5%;
}
.menu > li > a.menuMobileExpander
{
	float: right;
	width: 15%;
	line-height: 1em;
	vertical-align: top;
	text-align: center;
}

.subMenu
{
	text-align: right;
	line-height: 0; /* remove extra space between li elements */
}
.subMenu > li
{
	width: 100%;
	display: inline-block;
}
.subMenu > li > a
{
	width: 100%;
	float: left;
	white-space: nowrap;
}
.subMenu > li > a:after {
	content: "\00a0";
}
.subMenu > li > a.menuMobileExpandable
{
	width: 83.3%;
	float: right;
	margin-right: -.2em; /* to ignore the border width */
}
.subMenu > li > a.menuMobileExpander
{
	width: 15%;
	float: left;
	margin-right: -.2em; /* to ignore the border width */
	vertical-align: top;
	text-align: center;
}
/* if the subMenu has a border, the width will overflow to the right */
/* compensate by making the container increase its padding-right */
.menu > li > .nav
{
	padding-right: .7em;
}
.sectionMenu
{
	text-align: left;
	line-height: 0; /* remove extra space between li elements */
}
.sectionMenu > li
{
	width: 100%;
	display: inline-block;
}
.sectionMenu > li > a
{
	width: 100%;
	float: left;
	white-space: nowrap;
}
.sectionMenu > li > a:before {
	content: "\00a0";
}
/* if the subMenu has a border, then a negative margin is used by expandable li elements */
/* this causes the child sectionMenu to think it's smaller than it should be */
/* compensate by making the container decrease its padding-right */
.subMenu > li > .nav
{
	padding-left: .8em;
	padding-right: .6em;
}

.contentPadding
{
	padding: .25em;
}
.contentSpacer, /* to only be used as a child of .content */
.contentGroupSpacer /* to only be used as a child of a .contentGroup */
{
	width: 100%;
	display: block;
	height: 2em;
}
.displayMessage
{
	position: relative;
}
.displayMessage:before
{
	position: absolute;
}
/* if you style the contentModule to have a border instead of the individual child elements, remember that since browsers fail to account for border widths and they will eat into their own padding. you'll need a negative margin to ensure contentModule doesn't overflow horizontally */
.moduleHeader {
	display: block;
}
/* when a module is loaded inside of a jQuery dialog, any module border coupled with width:100% causes the right side of the border to be too far right */
.ui-dialog-content > .contentPadding > .contentModule
{
	width: auto;
}

/*
	Tables:
	.defaultTable is for non-specific table types that require minimum styling
	.linkTable is for Self Service pages
	.footerTable is for the site footer text
	.summaryTable is for displaying lots of data in a limited space (like in the landing modules), so the font-size for desktop is reduced
	.formTable (shown much further down) is for showing mainly label/value rows
	.moduleFormTable is for displaying a .formTable in a landing module
	.altcolor will make every other row a different background-color, AND hovering over a row will draw a border around that row
		.skipAltColor on a row element will prevent the normal .altcolor background and border
	.refreshingTable combined with .altcolor causes the table to be 50% transparent so that a loading animation can be seen behind it
	.sortable can be added to a table and cause javascript to enable sorting when the column header is clicked
		.unsortable on a th or column header td cell prevents that column from being sortable
*/
.defaultTable
{
	width: 100%;
	border-width: 0;
	padding: 0;
	margin: 0;
}
.defaultTable th
{
	font-weight: bold;
	padding: .2em;
}
.defaultTable td
{
	padding: .2em;
}
.linkTable /* used on Self Service pages */
{
	width: 100%;
	font-size: 1em;
}
.linkTable td
{
	padding: .1em;
}
.linkTable .linkTableSectionHeader
{
	padding-top: .5em;
	font-weight: bold;
}
.footerTable
{
	width: 100%;
	text-align: center;
	border-width: 0;
	font-size: .75em;
	line-height: 1.33333em;
	line-height: calc(4em/3);
	padding: 0;
	margin: 0;
	border-collapse: separate;
}

.summaryTable
{
	font-size: .75em;
}
/* if a summaryTable is inside of a moduleFooter, don't shrink the font twice */
.moduleFooter .summaryTable, .moduleFooter .moduleFormTable
{
	font-size: 1em;
}

.summaryTable
{
	width: 100%;
	text-align: left;
}
.summaryTable th
{
	padding-left: .2em;
	padding-right: .2em;
	padding-top: .25em;
	padding-bottom: .25em;
	font-weight: bold;
}
.summaryTable td
{
	padding-left: .2em;
	padding-right: .2em;
	padding-top: .25em;
	padding-bottom: .25em;
}

.moduleFormTable
{
	width: 100%;
	text-align: left;
	border-width: 0;
	border-spacing: 0;
}
.moduleFormTable td
{
	padding: .1em;
}
.moduleFormTable td:first-child
{
	font-weight: bold;
}
.moduleFormTable select,
.moduleFormTable input[type="text"],
.moduleFormTable input[type="number"],
.moduleFormTable input[type="tel"],
.moduleFormTable input[type="email"],
.moduleFormTable input[type="submit"],
.moduleFormTable input[type="reset"]
{
	font-size: 1em;
}
td.moduleFormSubmitCell, .formTable td.moduleFormSubmitCell
{
	padding-top: 1em;
	padding-bottom: 1em;
}
.cellSubtext
{
	margin-left: .5em;
	font-size: .75em;
}

.altcolor
{
	border-width: 0;
	border-spacing: 0;
	border-collapse: separate;
}
/* hover border (note, only works with "border-collapse: separate") */
.altcolor tr
{ /* https://css-tricks.com/transparent-borders-with-background-clip/ */
	background-clip: padding-box;
}
.altcolor tr td
{
	border-top-width: 1px; /* always render a top/bottom border, so that hover doesn't add pixels */
	border-bottom-width: 1px;
	border-left-width: 0;
	border-right-width: 0;
	border-style: double; /* if not "double", then won't draw top border */
}
.altcolor tr td:first-child { border-left-width: 1px; } /* do draw far left and far right cell borders */
.altcolor tr td:last-child  { border-right-width: 1px; }
.altcolor.flippedTable tr th
{
	border-top-width: 1px; /* always render a top/bottom border, so that hover doesn't add pixels */
	border-bottom-width: 1px;
	border-left-width: 1px;
}
/* when a row is hovered, ALL children draw the border */
.altcolor tr:hover td, .refreshingTable .altcolor tr:hover td
{
	border-style: double; /* if not "double", then won't draw top border */
}
.altcolor.flippedTable tr th, .altcolor.flippedTable tr:hover th
{
	background-color: unset; /* default to no background for flipped altcolor header cells */
}
/* end hover border */

.altcolor tr.skipAltColor:nth-child(even),          .altcolor tr.skipAltColor:nth-child(odd),
.altcolor tr.skipAltColor:nth-child(even) td,       .altcolor tr.skipAltColor:nth-child(odd) td,
.altcolor tr.skipAltColor:nth-child(even):hover td, .altcolor tr.skipAltColor:nth-child(odd):hover td
{
	background-color: transparent;
	border: none;
}

.flippedTable {
    margin-top: 1em;
}
.flippedTable.unflippedRowTable {
    margin-top: 0;
}

.contentTile
{
	width: 100%;
	display: inline-block;
	vertical-align: top;
}
.tileHeaderTable
{
	width: 100%;
}

.tileList
{
	/* this is so that the height and width do not affect the position of other elements */
	position: absolute;
	visibility: hidden;
	height: 0;
	overflow: hidden;
}
.paymentStatusAutomatic,
.paymentStatusOneTime
{
	font-weight: bold;
}

.paymentTileTable td
{
	padding-top: .1em;
	padding-bottom: .1em;
}
.paymentTileTable .paymentTileAccountName
{
	font-size: 1.3em;
}
.paymentTileTable .paymentTileLastPayment
{
	font-size: 1.2em;
}
.paymentTileTable .paymentTileDeliveryDays
{
	font-size: 1.1em;
}
.paymentTileTable .paymentFieldLabel
{
	font-size: 1.1em;
	text-align: right;
	padding-left: .5em;
	padding-right: .5em;
}
.paymentTileTable .formSpacerColumn
{
	padding-left: 0;
	padding-right: 0;
	width: .5em;
}
.paymentTileTable .paymentFieldValue
{
	font-size: 1em;
	text-align: left;
	padding-left: 0;
}
.paymentTileTable .paymentFieldValue input
{
	font-size: 1em;
}
.tileTable td.validationMessageCell
{
	padding-top: 0;
	padding-bottom: 0;
}

.helpTitle
{
	font-weight: bold;
	margin-top: 1em;
	margin-bottom: .25em;
}
.helpSection li
{
	list-style-type: none;
}
.helpQuestion td:first-child,
.helpAnswer td:first-child
{
	font-weight: bold;
	vertical-align: top;
}
.helpQuestion td:nth-child(2)
{
	font-style: italic;
}
.helpAnswer td
{
	padding-bottom: 1.5em;
}

.helpQuestion.anchorOnclick
{
	color: white;
	background-color: black;
}
.helpQuestion.anchorOnclickTransition
{
	color: inherit;
	background-color: inherit;
}

/* specific element stylings */
#IAEditQuestions input, #IAEditQuestions select
{
	margin-top: .25em;
	margin-bottom: .25em;
}
#ResetPasswordGroup .contentSection
{
	text-align: center;
}
#ResetPassword.formTable
{
	width: auto;
	margin-left: auto;
	margin-right: auto;
}
#ResetPassword.formTable .g-recaptcha
{
	display: inline-block;
}
#SecurityPhraseEdit p
{
	padding-bottom: 1em;
}
#SecurityPhraseEdit p *[id$="lblCurrentPhrase"]
{
	font-size: 2em;
	font-weight: bold;
}

#sm-countdown-dialog > .sectionBody
{
	text-align: center;
}

table#viewEnoticesTable td:nth-child(1), table#viewEnoticesTable td:nth-child(3)
{
	width:10%;
}
table#viewEnoticesTable td:nth-child(2), table#viewEnoticesTable td:nth-child(4)
{
	width:40%;
}
table#AccountActionLinks td
{
	width: 50%;
}
table#accountTablePending
{
	font-style: italic;
}
table#AccountAlerts
{
	font-size: .75em;
}
table#AccountAlerts td.formValueColumn select
{
	margin: .1em;
}
#wld035_BillPaymentLanding .cellSubtext
{
	font-size: .6em;
}
#wbp022_NewMerchantSection, #wbp020_MerchantAccountDetail, #wbp023_NewMerchantSection
{
	font-size: .75em;
}
#whb333_depositAmountWrapper, #whb333_totalrow
{
	font-weight: bold;
}
/* blasted ClearFix (http://stackoverflow.com/a/1633170) */
/* any parents of floats need ClearFix */
#HLMFfooter:before, #HLMFfooter:after,
#wxm376_PaymentCalendar div.wxm376_PaymentCalendar_DateHeader:before, #wxm376_PaymentCalendar div.wxm376_PaymentCalendar_DateHeader:after,
#wxm376_PaymentCalendar div.wxm376_PaymentCalendar_DatePayment:before, #wxm376_PaymentCalendar div.wxm376_PaymentCalendar_DatePayment:after
{
	content: "";
	display: table;
}
#HLMFfooter:after,
#wxm376_PaymentCalendar div.wxm376_PaymentCalendar_DateHeader:after,
#wxm376_PaymentCalendar div.wxm376_PaymentCalendar_DatePayment:after
{
	clear: both;
}
#wxm376_PaymentCalendar div.wxm376_PaymentCalendar_DateHeader
{
	zoom: 1;
	padding-bottom: .2em;
}
#HLMFfooter,
#wxm376_PaymentCalendar div.wxm376_PaymentCalendar_DatePayment
{
	zoom: 1;
}
#wxm376_PaymentCalendar
{
	border-collapse: separate;
}
#wxm376_PaymentCalendar td
{
	width: 14%;
}
#wxm376_PaymentCalendar_NavHeader td:nth-child(1) { text-align: left; }
#wxm376_PaymentCalendar_NavHeader td:nth-child(2) { text-align: center; }
#wxm376_PaymentCalendar_NavHeader td:nth-child(3) { text-align: right; }
.wxm376_PaymentCalendar_Days { padding: 1px;}
.wxm376_PaymentCalendar_Date, .wxm376_PaymentCalendar_DatePaymentAccountName
{
	float: left;
}
.wxm376_PaymentCalendar_DateTotal
{
	font-size: .8em;
	line-height: 1.25em;
	vertical-align: bottom;
}
.wxm376_PaymentCalendar_DateTotal, .wxm376_PaymentCalendar_DatePaymentAccountAmount
{
	float: right;
	font-weight: bold;
}
.wxm376_PaymentCalendar_DatePaymentInfo.pop-info>div>span:first-child
{
	width: 59%; /* avoid another ClearFix */
	display: inline-block;
	vertical-align: top;
}
.wxm376_PaymentCalendar_DatePaymentInfo.pop-info>div>span:nth-child(2)
{
	width: 39%; /* avoid another ClearFix */
	display: inline-block;
	vertical-align: top;
}
#whb242_DeluxeCheckReorder.formTable
{
	width: auto;
}
#wbp470_BillPayTnCSection .sectionMessage, #wbp470_BillPayTnCSection .sectionBody { padding-bottom: 1.5em; }
#wex115_ExportButtons td:nth-child(odd), #wex306_ExportButtons td:nth-child(odd)
{
	text-align: right;
}
#wex115_ExportButtons input[type="submit"], #wex306_ExportButtons input[type="submit"]
{
	font-size: 1em;
}
#wex115_ExportButtons button, #wex306_ExportButtons button
{
	padding: 0;
	margin: 0;
	border: none;
	background: none;
	vertical-align: middle;
}
#AccountList_LoanTable th.colJustifyCurrency
{
	white-space: normal;
}
#AccountList_LoanTable .colJustifyAccountLink
{
	word-break: break-word;
}
#wit497_EnoticesListSection .sectionBody > p
{
	margin-bottom: .5em;
}
#wit497_EnoticesList .colJustifyActionLink
{
	text-align: left;
}
#wit487_EnoticeEnrollSection .sectionBody div#wit487_EnoticeEnroll_TermsAndConditions
{
	margin-top: 0;
}
#wit487_EnoticeEnrollSection .sectionBody div,
#wit487_EnoticeEnrollSection .sectionBody ul,
#whb506_EnoticeEnrollSection .sectionBody div
{
	list-style: disc;
	margin-top: 1em;
	margin-bottom: 1em;
}
#wit487_EnoticeEnroll_DocumentTypes ul
{
	margin-left: 2em;
}
#wit495_EnoticeEnrollConfirmation div
{
	margin: 1em 0;
}
#wit249_EnrollmentLogin_AgreeTermsAndConditions td,
#wit247_OnlineEnrollment_AgreeTermsAndCondition td
{
	padding-top: 2em;
}
#wit316_AccountAlertsGroup .sectionHeader form
{
	display: inline-block;
}
#ModuleSelfServiceAlerts .linkTable .dropdown
{
	width: 100%; /* Self Service Member Request dropdown may be too wide, so either change the font-size or don't let it overflow on top of something else */
}
#whb221_MembershipApplicationConfirmation .colJustifyFormSubmit.moduleFormSubmitCell
{
	padding-top: .5em;
	padding-bottom: 0;
}
#whb221_MembershipApplicationConfirmation_EckerdAccountOwnerName formValueColumn,
#whb221_MembershipApplicationConfirmation_EckerdJointAccountOwnerName formValueColumn
{
	font-weight: bold;
}
#wit536_CreditCardBalanceTransfer_PromoCode
{
	padding-top: 1em;
	text-align: right;
}
/* Achieve input to the left of the label in left-justified td:
#wit536_CreditCardBalanceTransfer_PromoCode input#PromoCode
{
	float: left;
	vertical-align: top;
	margin-top: -.25em;
	margin-right: .5em;
}
*/
#wit441_MobileBankingManagement iframe
{
	border: none;
	width: 100%;
	height: 450px;
}
#wit271_AlertHistory .colJustifyDate
{
	white-space: normal;
}
#wit272_AlertHistoryDetail_Message
{
	overflow: auto;
}
#wem146_ResearchPaymentRequest .formLabelColumn
{
	width: 30%;
}

.formTable
{
	width: 100%;
	border-collapse: separate;
}
.formTable td
{
	padding: .1em;
}
.formLabelColumn
{
	text-align: left;
}

.formLabelColumnRight
{
	text-align: right;
	vertical-align: middle;
}

.formSpacerColumn
{
	width: 1em;
	text-align: right;
}
.formValueColumn
{
	text-align: left;
	word-break: break-word;
}
.formTable .formValidationColumn
{
	padding: 0;
	text-align: left;
	width: 1px; /* don't stretch table on my behalf */
	word-break: break-word;
}
.formTable select,
.formTable input[type="text"], .formTable input[type="number"], .formTable input[type="tel"], .formTable input[type="email"],
.formTable input[type="button"], .formTable input[type="submit"], .formTable input[type="reset"] {
	font-size: 1em;
	margin: .05em 0; /* if contents wrap, put space between inputs */
}
.formSpacerRow { }
.formSpacerRow td
{
	height: 1em;
}
.formSpacerRow td:after
{
	content: "\00a0";
}

/* special width formats */
th.minWidthShrunkColumn,
td.minWidthShrunkColumn /* http://stackoverflow.com/a/11267268 */
{
	width: 1px;
	white-space: nowrap;
	padding-left: .5em;
	padding-right: .5em;
}
td.minWidthShrunkColumn:first-child
{
	padding-left: 0;
}
td.minWidthShrunkColumn:last-child
{
	padding-right: 0;
}

.aboutLinks
{
	padding: .25em;
}

.advert10, .advert20, .advert50
{
	text-align: center;
	width: 100%;
}
.advert10 > .advert, .advert20 > .advert, .advert50 > .advert,
.advert10 > img,     .advert20 > img,     .advert50 > img
{
	display: none;
}
.advert10.showAdOnMobile > .advert, .advert20.showAdOnMobile > .advert, .advert50.showAdOnMobile > .advert
{
	display: block;
}
.advert10.showAdOnMobile > img, .advert20.showAdOnMobile > img, .advert50.showAdOnMobile > img
{
	display: inherit;
	padding-top: 2em;
	vertical-align: top;
}

/* 3rd Party Widgets */

/* Money */
span.MoneySpan, span.MoneyNoValidationSpan
{
	white-space: nowrap;
}

/* sorttable */
span.sortarrow
{
	padding-left: .2em;
}

/* jQuery Date Picker */
.ui-datepicker-trigger
{
	vertical-align: middle;
	margin: 0 0 0 .25em;
}

/* jQuery UI Dialog */
.dlg-no-close .ui-dialog-titlebar-close
{
	display: none;
}
.dlg-no-title .ui-dialog-titlebar
{
	display: none;
}
.ui-widget
{
	font-size: 1em;
}

/* jQuery Loading Dialog */
.loading
{
	visibility: hidden; /* start off hidden */
	background-color: white;
	position: absolute;
	margin-left: auto;
	margin-right: auto;
	zoom: 1;
	z-index: 9999;
	text-align: center;
	border-style: outset;
	border-color: #000000;
	border-width: 1px;
	border-top-left-radius:9px;
	border-top-right-radius:9px;
	border-bottom-left-radius:9px;
	border-bottom-right-radius:9px;
}
.loadingSpacer
{
	padding: 20px 10px 20px 10px;
	margin:10px 10px 10px 10px;
}

.loadingImg
{
	margin-top: 20px;
	margin-left: auto;
	margin-right: auto;
	width: 65px;
	height: 65px;
	background-image: url('/Content/gifs/loading_circle.gif');
	background-position: center center;
	background-repeat: no-repeat;
}

div#loadingSplashSpacer
{
	top: 200px;
	margin: auto;
	position: absolute;
	z-index: 1000;
	width: 160px;
	height: 24px; /* background: url(/Content/gifs/loading_snake.gif) no-repeat; */
	cursor: wait;
}

/* jQuery Datepicker */
/* further config: #region/FinancialCalendar */
.ui-datepicker
{
	margin-left: 0;
	z-index: 1000;
	font-size: 12px;
	background: rgb(255, 255, 255);
}
.ui-datepicker-calendar a.ui-state-default
{
	font-weight: bold;
}
.ui-datepicker-calendar td.ui-datepicker-today a
{
	background: rgb(0, 102, 255);
	border: 1px solid rgb(251, 216, 80);
	color: white;
	outline-color: -moz-use-text-color;
	outline-style: none;
	outline-width: medium;
}
.ui-datepicker-calendar a.ui-state-hover
{
	border: 1px solid rgb(153, 153, 153);
	background: rgb(0, 204, 255);
	color: white;
}
.ui-datepicker-calendar a.ui-state-active
{
	background: Blue;
	border: 1px solid rgb(251, 216, 80);
	color: white;
	font-weight: bold;
	outline-color: -moz-use-text-color;
	outline-style: none;
	outline-width: medium;
}
table.payment-calendar
{
	border-color: rgb(224, 224, 224);
	background-color: rgb(224, 224, 224);
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	width: 98%;
	margin: 10px 5px 10px 5px;
}
/* give month & year more space */
.ui-datepicker select.ui-datepicker-month
{
	width: 46%;
}
.ui-datepicker select.ui-datepicker-year
{
	width: 54%;
}
/* fix datepicker 2nd calendar size issue */
.ui-datepicker-group
{
	width: 100%;
}
/* set font size at top level */
div.ui-datepicker
{
	font-size: .75em;
}
/* override all lower font settings */
.ui-datepicker table
{
	font-size: 1em;
}
.achtransfer-calendarCutoffWarning
{
	padding: 0 1em;
	color: red;
	font-style: italic;
}

iframe.securityiframe
{
	width: 100%;
	height: 550px;
	display: block;
	margin: 0 auto;
	border: none;
}


/* Preferences */
fieldset.preferences
{
	margin: 1em;
	padding: .5em .5em;
	border-width: 2px;
	border-style: groove;
}

/* Special offer detail display */
.xsellTable {
    width: 100%;
}

form.showOnMobile { display: block; }
tr.showOnMobile { display: table-row; }
th.showOnMobile, td.showOnMobile { display: table-cell; }
span.showOnMobile { display: inline; }
.showOnDesktop { display: none; }
@media all and (min-width: 0px)
{
	/* font-size on smaller device screens */
	body, input[type="text"], input[type="password"], input[type="number"], input[type="tel"], input[type="email"], select
	{
		font-size: .75em;
	}
	body.nonAdaptive, html#ExpressHtml input, input[type="submit"], input[type="button"], input[type="reset"], button
	{
		font-size: 1em;
	}
	.ui-datepicker-trigger
	{
		width: .75em;
		height: .75em;
	}
	.sortable th
	{
		word-break: break-word;
		word-wrap: break-word;
	}
}
@media all and (min-width: 300px)
{
	/* font-size on smaller device screens */
	body, input[type="text"], input[type="password"], input[type="number"], input[type="tel"], input[type="email"], select
	{
		font-size: 1em;
	}
	body.nonAdaptive, html#ExpressHtml input, input[type="submit"], input[type="button"], input[type="reset"], button
	{
		font-size: 1em;
	}
	.ui-datepicker-trigger
	{
		width: 1em;
		height: 1em;
	}
}
@media all and (min-width: 768px)
{
	/* font-size on smaller device screens */
	body, input[type="text"], input[type="password"], input[type="number"], input[type="tel"], input[type="email"], select
	{
		font-size: 1.5em;
	}
	body.nonAdaptive, html#ExpressHtml input, input[type="submit"], input[type="button"], input[type="reset"], button
	{
		font-size: 1em;
	}
	.ui-datepicker-trigger
	{
		width: 1.5em;
		height: 1.5em;
	}

	/* fix datepicker */
	.ui-datepicker .ui-datepicker-prev span,
	.ui-datepicker .ui-datepicker-next span
	{
		zoom: 2;
	}
	.refreshingTable, .refreshingTile
	{
		background-size: 256px 256px;
	}
	.sortable th
	{
		word-break: initial;
		word-wrap: initial;
	}

    .xsellTable {
        width:  60%;
    }
}

/* For T&C and Signup screens, embedded pages may contain tables that are too wide for mobile */
@media only screen and (max-width: 1023px)
{
	x-sas-window table[width]
	{
		width: 100%;
	}
}

@media only screen and (min-width: 500px)
{
	/* For PCs & Mobile Devices in Landscape: */
	form.showOnMobile, div.showOnMobile, table.showOnMobile, tr.showOnMobile, th.showOnMobile, td.showOnMobile, span.showOnMobile { display: none; }
	form.showOnDesktop, div.showOnDesktop { display: block; }
	table.showOnDesktop { display: table; }
	tr.showOnDesktop { display: table-row; }
	th.showOnDesktop, td.showOnDesktop { display: table-cell; }
	span.showOnDesktop { display: inline; }
}
@media only screen and (min-width: 1024px)
{
	body, input[type="text"], input[type="password"], input[type="number"], input[type="tel"], input[type="email"], select
	{
		font-size: 1em;
	}
	body.nonAdaptive, html#ExpressHtml input, input[type="submit"], input[type="button"], input[type="reset"], button
	{
		font-size: 1em;
	}
	.ui-datepicker-trigger
	{
		width: 1em;
		height: 1em;
	}

	.loggedOffMenuBackground
	{
		display: block;
	}
	.loggedOffMenu
	{
		display: block;
		position: relative;
	}
	.loggedOffMenu > a
	{
		display: block;
	}

	.header, .systemMessage, .showMobileBar, ._helpexit, .nav, .content, .footer
	{
		max-width: 1024px;
		margin-left: auto;
		margin-right: auto;
	}
	.showMobileBar
	{
		display: none;
	}
	.menu > li > .nav
	{
		display: none;
	}
	.subMenu > li
	{
		display: inline;
	}

	.subMenu > li > .nav
	{
		display: none;
	}

	/* blasted ClearFix (http://stackoverflow.com/a/1633170) */
	.content:before, .content:after {
		content: "";
		display: table;
	}
	.content:after {
		clear: both;
	}
	.content {
		zoom: 1;
	}
	.contentGroup5,  .contentGroup10, .contentGroup15,
	.contentGroup20, .contentGroup25, .contentGroup30,
	.contentGroup40, .contentGroup50, .contentGroup60,
	.contentGroup75, .contentGroup80, .contentGroup85,
	.contentGroup100
	{
		float: left;
	}
	.contentGroup5 { width: 5%; }
	.contentGroup10 { width: 10%; }
	.contentGroup15 { width: 15%; }
	.contentGroup20 { width: 20%; }
	.contentGroup25 { width: 25%; }
	.contentGroup30 { width: 30%; }
	.contentGroup40 { width: 40%; }
	.contentGroup50 { width: 50%; }
	.contentGroup60 { width: 60%; }
	.contentGroup75 { width: 75%; }
	.contentGroup80 { width: 80%; }
	.contentGroup85 { width: 85%; }
	.contentGroup100 { width: 100%; }
	.pageMessage /* This is a DIV that contains a message important enough that on mobile sites, it should be shown at the top of the content DIV */
	{
		float: right;
	}
	.contentSpacer
	{
		float: left;
	}
	.advert10 { width: 10%; }
	.advert20 { width: 20%; }
	.advert50 { width: 50%; }

	/* In the rare circumstance that you want to override your width and return to the full 100%, use MATH! */
	.overrideWidth80to100
	{
		width: 125%;
		margin-left: -25%;
	}
	.overrideWidth50to100
	{
		width: 200%;
		margin-left: -100%;
	}

	.sectionHeaderLink .dropdown
	{
		width: auto;
	}
	.sectionHeaderLink .dropdown + span + img
	{
		display: inline;
	}

	/* fix datepicker */
	.ui-datepicker .ui-datepicker-prev span,
	.ui-datepicker .ui-datepicker-next span
	{
		zoom: 1;
	}
	.refreshingTable, .refreshingTile
	{
		background-size: 128px 128px;
	}

	.paymentTileTable .paymentFieldLabel
	{
		/* copied from .minWidthShrunkColumn */
		width: 1px;
		white-space: nowrap;
	}

	.advert10 > .advert, .advert20 > .advert, .advert50 > .advert,
	.advert10 > img,     .advert20 > img,     .advert50 > img
	{
		display: block;
	}
	.advert10.showAdOnMobile
	{
		width: 10%;
	}
	.advert20.showAdOnMobile
	{
		width: 20%;
	}
	.advert50.showAdOnMobile
	{
		width: 50%;
	}
	.advert10, .advert20, .advert50
	{
		float: right;
		display: inline; /* CSS Lint says not necessary, but this overrides the mobile CSS value */
	}
	/* calculate max-width by taking @media width, subtracting the .content total left-right margin/padding, then multiplying by the advert width percentage */
	.advert10 img
	{
		/* (1024 - .25em - .25em) * .1 = (1024 - 4 - 4) * .1 = 101.6 */
		max-width: 101px;
		max-width: calc((1024px - .5em) * .1);
	}
	.advert20 img
	{
		/* (1024 - .25em - .25em) * .2 = (1024 - 4 - 4) * .2 = 203.2 */
		max-width: 203px;
		max-width: calc((1024px - .5em) * .2);
	}
	.advert50 img
	{
		/* (1024 - .25em - .25em) * .5 = (1024 - 4 - 4) * .5 = 508 */
		max-width: 508px;
		max-width: calc((1024px - .5em) * .5);
	}

	fieldset.preferences
	{
		padding: .5em 2em;
	}
}


/* for pages that are only for printing, the "content" DIV will also have class "print" */
.print
{
	max-width: 670px; /* ensure that mobile version is previewed on the screen (width derived from http://stackoverflow.com/a/11084797) */
	padding: .25in; /* show fake margin in preview */
}
/* set printable page margin, but don't set size because that gets confusing and hard to predict */
@page
{
	margin: .25in;
}
/* only print mobile layout */
@media only print
{
	.print
	{
		max-width: 100%; /* let print area stretch the entire width and be centered */
		padding: 0; /* hide fake margin during actual print */
	}
	.header.headerMobile, .header.headerDesktop
	{
		/*-webkit-print-color-adjust: exact; force chrome and safari to print the banner, since it uses css background-image instead of <img> */
		/* http://stackoverflow.com/a/1218059 */
		display: list-item;
		list-style: none;
		list-style-position: inside;
		overflow: hidden;
	}
	.contentSection, .contentModule, .contentForm
	{
		page-break-inside: avoid;
	}
	/* if the very first section/module is so long that it breaks the page, then let it. otherwise, the first page will be just the header logo. */
	.header + .content > div:first-child .contentSection,
	.header + .content > div:first-child .contentModule,
	.header + .content > div:first-child .contentForm
	{
		page-break-inside: auto;
	}
	.sectionHeader, .sectionMessage, .sectionBody, .sectionFooter,
	.moduleHeader, .moduleMessage, .moduleBody, .moduleFooter
	{
		-webkit-border-radius: 0 !important; /* Chrome bug prevents borders from printing nicely IFF there is a non-zero border radius AND one border-width is 0 */
	}
}

#ExpressMasterContent > div > form > table
{   /* temporary margin setting to fix padding issue on temporary legacy aspx ESO forms */
    margin-top: 5px !important;
}

.lendingFormHeader {
    font-size: 200%;
}

.lendingLinks {
    width:100%;
    text-align: right;
    margin-bottom: .5em;
}

.leftIndent {
    padding-left: 3em !important;
}

.formSection {
    padding-top: 2em !important;
}
