body {
	background-color: white;
	text-align: left;
}

p {	margin-bottom: 5px; }

.widthContainer {
	margin-left: auto;
	margin-right: auto;
}

div.mobileOnly { display: none; }
.noscroll { overflow: hidden; }
.topbar.scroll { overflow-y: scroll; }
.desktoponly { display: none; }

h1, h2, h3, h4, h5 {
	padding: 0;
	font-weight: normal;
	margin: 0;
}

h1 { font-size: 200%; }
h2 { font-size: 155%; }
h3 { font-size: 133%; }

.box.promotion.B_EV h3,
.box.promotion article.summaryDisplay h3,
.box.promotion div.headlineDisplay h3 {
	font-size: 14pt;
}
h4, h5 { font-size: 100%; }
p {	margin-top: 0; }
img { border: none; }
img[style*="float: left"] {
	margin-right: 10px;
	margin-bottom: 5px;
}
img[style*="float: right"] {
	margin-left: 10px;
	margin-bottom: 5px;
}

.small { font-size: 85%; }
.italic { font-style: italic; }

ul {
	padding-left: 1.6em;
	margin: 0;
}

ul li, ol li {
	list-style-position: outside;
	margin-bottom: 1ex;
	margin-top: 1ex;
}
.tar { text-align: right; }
.grecaptcha-badge {	bottom: 80px !important; }
table tr td, table tr th { padding: 5px; }

.verticalLogo, .verticalLogo_text, .footernav {
	text-align: center;
	font-size: 9pt;
	margin: 1em 0;
}
.verticalLogo img { max-width: 150px; }
.centerColumn {	padding: 6px 10px 10px 10px; }

.box, .infoblock.box { margin-bottom: 10px; }
.box {
	clear: both;
}
.attachments {
	clear: both;
	display: block;
	background-color: transparent;
	margin: 1em 0 0 0;
}
.summaryDisplay .attachments { margin-top: 0.5em; }
.attachments img { margin-right: 0.5em; }
.attachments .attachment { margin: 2px; }
.attachments .attachment * { vertical-align: middle; }

/* Item and Item Summary display, search results */
.item.summaryDisplay, article.summaryDisplay {
	margin: 5px 0;
	padding: 10px 0;
	clear: both;
}
.item.summaryDisplay, article.summaryDisplay:first-child { margin-top: 0; }
.item.summaryDisplay h2, article.summaryDisplay h2 {
	text-align: left;
	padding: 5px 0;
}

.leftColumn .item.summaryDisplay:first-child,
.leftColumn article.summaryDisplay:first-child,
.rightColumn .item.summaryDisplay:first-child,
.rightColumn article.summaryDisplay:first-child {
	margin-top: 0;
}

/* SEARCH */
.searchtabstrip {
	padding: 5px;
	margin-bottom: 12px;
	white-space: nowrap;
}

.searchpages, .searchdocs {
	margin-bottom: 10px;
}

.searchpages h3, .searchdocs h3 {
	margin: 10px 5px 3px 0;
}

.searchtab {
	border: 1px solid #333;
	padding: 5px 10px;
	margin-right: 8px;
	border-radius: 3px;
	cursor: pointer;
	opacity: 0.8;
	font-size: 14pt;
	overflow: hidden;
	white-space: nowrap;
}

.searchtab.active {
	box-shadow: 3px 3px 3px #555;
	opacity: 1.0;
}

.searchdocs {
	display: none;
}

.searchResult i {
	margin-right: 10px;
}

a.item, .searchResult a {
	font-weight: normal;
}

.searchResult span.note {
	opacity: 0.5;
	margin-left: 0.5ex;
}

article {
	margin-bottom: 1em;
}

.itemHeadline {
	margin-bottom: 1em;
}

.item .body {
	margin-bottom: 1em;
}

.listingCheck {
	text-align: right;
	padding-top: 1em;
}

.prop {
	display: none;
}

#tinymce table td {
	min-width: 15px;
}

/* html5 help for IEs */
header, nav, article, footer, section, aside, figure, figcaption {
	display: block;
}

section, article {
	clear: both;
}

nav li a {
	text-decoration: none;
}

nav.horizontal ul, nav.horizontal li, nav.vertical ul, nav.vertical li {
	border: none;
	margin: 0;
	padding: 0;
	list-style-type: none;
	list-style-position: outside; /* ie7 needs this */
}

/* BLOCK-STYLE NAVS, BOTH VERTICAL AND HORIZONTAL */
nav.block ul, nav.block li {
	display: block;
}
/* block-style menus shall have block-style links */
nav.block li a {
	display: block;
}

nav.horizontal.block > ul:after /* clear floats without overflow:hidden */ {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

/* SUBSECTIONS ONLY BOX */
nav.subsections > ul {
	padding-left: 1.3em;
	margin: 0;
}

nav.subsections ul {
	margin-bottom: 0.5em;
}

nav.subsections ul ul, nav.tree > ul > li > ul {
	padding-left: 2ex;
}

/* HORIZONTAL NAVS */
/* home and top level sections */
nav.horizontal li {
	display: inline;
}

nav.horizontal li a {
	white-space: nowrap;
	vertical-align: middle;
}

nav.horizontal > ul > li:last-child {
	border-right: none;
}

/* HORIZONTAL-BLOCK STYLE */
nav.horizontal.block li {
	display: block;
}
/* home and top level sections */
nav.horizontal.block > ul > li {
	display: inline-block;
}

nav.horizontal.block > ul > li > a {
}
/* child sections */
nav.horizontal.block li li > a {
	white-space: normal;
}
/* the full-width version! */
nav.horizontal.block.fullWidth > ul {
	display: table;
	position: relative;
	width: 100%;
}

nav.horizontal.block.fullWidth > ul li {
	text-align: left;
}

nav.horizontal.block.fullWidth > ul > li {
	position: relative;
	display: table-cell;
	text-align: center;
}

nav.horizontal.block > ul:after /* no float clearing needed */ {
	content: "";
	display: none;
}

/* MENU NAV */
nav.menu {
	zoom: 1;
	position: relative;
}

.raised {
	z-index: 1010;
}

/* top-level sections */
nav.menu li {
	position: relative;
	zoom: 1;
}

nav.menu li {
}

nav.menu li.open {
}

nav.menu ul.open {
	z-index: 1001;
}

nav.menu ul.closing {
	z-index: 1000;
}

nav.menu > ul li a .triangle {
	display: inline-block;
	vertical-align: middle;
	font: normal 10pt Arial, sans-serif;
	white-space: nowrap; /* line-height: 100%; */
	margin: 0 3px 0 7px;
	float: right;
	zoom: 1;
	cursor: pointer;
	opacity: 1.0;
	padding: 1px 3px;
	background: transparent;
	border: none;
}

nav.vertical.block.menu > ul .triangle {
	position: relative;
	top: 1px;
	color: inherit;
}

nav.horizontal.block.menu > ul > li > a > .triangle {
	float: none;
	margin-top: 0;
}

/* subsections (menu items) */
nav.menu > ul > li li {
	display: block;
}

/* all menus */
nav.menu ul ul {
	position: absolute;
	box-shadow: -2px 6px 13px rgba(0, 0, 0, 0.3);
	-moz-box-shadow: -2px 6px 13px rgba(0, 0, 0, 0.3);
	-webkit-box-shadow: -2px 6px 13px rgba(0, 0, 0, 0.3);
	zoom: 1;
	padding-top: 5px;
	padding-bottom: 5px;
}

/* sub-menus and all vertical menus */
nav.menu ul ul ul, nav.menu.vertical ul ul {
}
/* open and shut */
nav.menu ul ul.open {
	display: block;
}

nav.menu ul ul {
	display: none;
}
/* nav.menu ul ul.open { visibility: visible; } */
/* nav.menu ul ul { visibility: hidden; } */

.notClickable {
	cursor: default !important;
}

table.navHorizontal {
	width: 100%;
}

/* NOTE: slab CSS is entirely in the design css */

/*===( IMAGE DISPLAY )===*/
.image > a {
	display: block;
}

.summaryDisplay .image {
	max-width: 100%;
}

.summaryDisplay .image img { /* width: 100%; */
}

.image.left, article.summaryDisplay .image.cyclerSlide {
	float: left;
	margin: 0 25px 15px 0;
}

.image.right {
	float: right;
	margin: 0 0 15px 25px;
}

.container.content div.sidebarImageBox img {
	width: auto;
	max-width: 100%;
}

/* .image.left, .image.right { width: 33%; } */
.image.left, .image.right {
	max-width: 100%;
}
/* .image.left > img, .image.right > img { width: 100%; } */

.image .imageBoxCaption {
	text-align: left;
}

.item.summaryDisplay .image.left,
.item.summaryDisplay .image.right,
article.summaryDisplay .image.left,
article.summaryDisplay .image.cyclerSlide,
article.summaryDisplay .image.right {
	margin: 0 1em 1em 0em;
}

.item.summaryDisplay .image.right, article.summaryDisplay .image.right {
	margin: 0 .25em .25em 0em;
}
/* the exception for QuickList... */
.quickList .item.summaryDisplay .image.right, .quickList article.summaryDisplay .image.right {
	float: right;
	margin: .25em 0em .25em .25em;
}


/*===( cycler slide) ===*/
.cycler {
	float: left;
	position: relative;
	margin-bottom: 15px;
	text-align: left;
	display: inline-block;
	margin: 0 15px 15px 0;
	width: 40%;
	max-width: 500px;
}

.cycler .cyclerSlide {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	text-align: center;
	display: none;
}

.cycler .cyclerSlide:first-child {
	display: inline-block;
}

.cycler .cyclerSlide a {
	display: block;
	margin: 0 auto; /* width: 100% !important; */
}

.cycler .cyclerSlide img,
.cycler .cyclerSlide .small.imageBoxCaption {
	display: block;
	margin: 0 auto;
}

.cycler .cyclerSlide .small.imageBoxCaption {
	text-align: center;
}

.cycler .cyclerSlide.active {
	display: inline-block;
	margin: 0 auto;
}

.cycler .cyclerSlide img {
	max-height: 100%;
	max-width: 100%;
}



.promoIcon {
	float: left;
	margin: 0em 1em 1em 0em;
}

.sidebarImageBox {
	margin-bottom: 0.25em;
	text-align: center;
}

.imageBoxCaption {
}

/*===( DATATYPE FORMATTING )===*/
/* general */
/* new promo layouts (flexin') groups */
.card-container {
	flex-direction: column;
	display: flex;
	justify-content: stretch;
	align-items: flex-start;
	flex-wrap: wrap;
}
.card-container .card-item {
	padding: 25px 25px 55px 25px;
	justify-self: stretch;
	align-self: stretch;
	position: relative;
}
.card-container .card-item .readmore.small {
	position: absolute;
	bottom: 5px; right: 25px;
}

.card-container .card-item .story,
.promotion .story {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	padding-bottom: 25px;
}
.card-container .card-item .story i,
.promotion .story i {
	font-size: 3rem;
	color: #888;
	padding: 10px 15px 10px 0;
}
.card-container .card-item .story .image.left,
.promotion .story .image.left {
	margin: 0;
	padding: 0 15px 15px 0;
	float: none;
}
.card-container .card-item .story .image.left img,
.promotion .story .image.left img {
	width: 150px !important;
}

/* news and events date labels*/
.newsdatetime label,
.eventsdatetime label {
	display: inline-block;
	padding-right: 5px;
	font-weight: bold;
}
.newsdatetime time,
.eventsdatetime time {
	display: inline-block;
}


/* events */
.description, .location, .directions, .comment, .contactInfo {
	margin-bottom: 1em;
}

.quickList .itemLink, .item.summaryDisplayTitle {
	font-weight: bold;
}

/* Jobs */
.B_JOB .field {
	margin-bottom: 10px;
}

.B_JOB .field.inline {
	margin-bottom: 3px;
	display: block;
}
div.jobData {
	float: left;
}

.B_JOB .field.inline h4,
.B_JOB .field.inline .value {
	white-space: normal;
	display: inline-block;
}

.B_JOB .field h4, .B_JOB a.link {
	font-weight: bold;
}




/* Meetings */
.B_MEET .meetings.search {
	display: block;
	text-align: center;
	padding: 10px;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	margin-bottom: 20px;
	max-width: 100%;
}
/* new meeting subsection list */
.B_MEET .subsections { padding: 10px 0;}
.B_MEET .subsections h2 { display: none; }
.B_MEET .subsections ul { padding-left: 0; }
.B_MEET .subsections li a {
	font-size: 100%;
	line-height: normal;
}
.B_MEET .subsections li {
	display: block;
	background: #eee;
	border-radius: 5px;
	margin-right: 3px;
	padding: 6px 15px;
	border: 1px solid #999;
}
.B_MEET .meetings.search .searchHeader {
	display: inline;
	font-size: 12pt;
	margin-right: 15px;
}
.B_MEET .meetings.search .fieldAndButton {
	display: block;
	border: none;
}
.B_MEET .meetings.search .fieldAndButton .searchField {
	color: #222;
	width: calc(100% - 80px);
	border: 1px solid #ccc;
	padding: 3px 5px 2px 5px;
}
.B_MEET .meetings.search .button {
	font-size: 10pt;
	padding: 1px 8px;
}
.B_MEET i.fa { margin-right: 10px; }
.B_MEET .attachments { clear: both; }
.B_MEET .attachments .attachment {
	display: block;
	padding: 10px 20px 0 10px;
}
.B_MEET .boxdate {
	clear: both;
	margin-bottom: 10px;
	position: relative;
	float: left;
	text-align: center;
	margin-right: 25px;
	padding: 5px 20px;
	border-radius: 5px;
	background-color: #fff;
	color: #333;
	border: 2px solid #333;
	line-height: 1.2;
}
.B_MEET .boxdate.done {
	background-color: #333;
	color: #fff;
	border: 2px solid #333;
}
.B_MEET .boxdate .month { font-size: 10pt; }
.B_MEET .boxdate .day {	font-size: 16pt; }
.B_MEET .boxdate .year { font-size: 10pt; }
.B_MEET .boxdate.small { padding: 5px 20px;	line-height: normal; }
.B_MEET .boxdate.small .month {	font-size: 10pt; }
.B_MEET .boxdate.small .day { font-size: 16pt; }
.B_MEET .boxdate.small .year { font-size: 10pt; }
.B_MEET .body article.summaryDisplay time { font-size: 90%; }
.B_MEET i.fa { font-size: 18pt; }


/* location */
.B_LOC .summaryDisplay .address h4 {
	display: none;
}

.B_LOC h4 {
	max-width: 8em;
}

.mapLink {
	padding-left: 7em;
}

a.map {
	display: inline-block;
	margin: 1em 0;
}

a.map img {
	display: block;
}

a.map {
	border-radius: 15px;
	overflow: hidden;
	opacity: 0.8;
	transition: all 0.3s ease-out;
}

a.map:hover {
	opacity: 1;
	box-shadow: 5px 5px 10px rgba(0,0,0,0.2);
}

a.map img {
}

/* DYNAFORMS */
FORM.tightForm {
	margin: 0px;
	padding: 0px;
}

.formElement {
	margin-bottom: 0.25em;
	padding: 1px;
}

.formElement .formField INPUT {
	font-weight: normal;
}

/* main forms */
label, div.label {
	display: block;
}

label.radio, label.checkbox {
	display: inline;
}

div.formLabel, div.formLabelReq {
	width: 30%;
	float: left;
	text-align: right;
	padding: 4px;
}

div.formLabelReq {
	font-weight: bold;
}

div.formField {
	float: left;
	font-weight: normal;
}
/* left, right forms */
.leftColumn .formLabel, .leftColumn .formField,
.rightColumn .formLabel, .rightColumn .formField {
	padding: 0px;
	text-align: left;
	font-weight: normal;
}

.leftColumn .formField, .rightColumn .formField {
	display: inline;
}

.mainTable td.column * {
	max-width: 100% !important;
}

.mainTable td.column .galleryBox * {
	max-width: none !important;
}

/* SuperForms */
:not(output):-moz-ui-invalid {
	box-shadow: none;
}

.spinner {
	visibility: hidden;
	vertical-align: bottom;
	display: inline-block;
  border: 8px solid #f3f3f3;
  border-top: 8px solid #273d6d;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

input[type='button'] {
	cursor: pointer;
}

.container form {
	margin: 0 auto;
	max-width: 1280px;
}

html textarea {
	width: 100%;
	padding: 10px;
}

input[type='radio'], input[type='checkbox'] {
	margin-right: 5px;
}

body select > option {
	padding: 3px 8px 5px 8px;
}

body select {
	padding: 3px 8px;
}

div.sffield select {
	padding: 3px 8px;
	margin-bottom: 5px;
}

div.sffield.GCSZ input { margin-bottom: 5px; }

abbr[title], acronym[title] {
	border-bottom: none;
	text-decoration: none;
}

form abbr {
	display: inline-block;
	padding: 0 0 0 5px; /* color: #a00;  */
	border: none;
	text-decoration: none; /* font-size: 20pt; */
	vertical-align: top;
}

form input[type='button'], form input[type='submit'] {
	padding: 5px 10px;
	border-radius: 10px;
	font-size: 120%;
	box-shadow: none;
	border: none;
	border: 1px solid #999;
	background: #f0f4f6;
	margin-right: 8px;
}
/* .sffield.checkboxes, .sffield.radios { padding: 5px; }
select:invalid { color: #555; border: 1px solid #aa0000; }
input:invalid { border-bottom: 1px solid #aa0000; } */
/* form textarea { border: 1px solid #999; } */

/* hide the labels ? */
/* instead of off-screen positioning them, what if we hide them, and then show them (fade in) when the user clicks or tabs into the field. */
form.hidelabels div.sffield.nodefault.GNAM label,
form.hidelabels div.sffield.nodefault.textbox label,
form.hidelabels div.sffield.nodefault.GCSZ label,
form.hidelabels div.sffield.nodefault.textarea label {
	/*	position: absolute;
	top: -10000px;
	left: -10000px;
*/
	/* visibility: hidden; */
	height: 0;
	opacity: 0;
	transition: opacity .7s, height .7s;
}

/* new forms style */
div.sffield input,
div.sffield select,
div.sffield.radios,
div.sffield.checkboxes,
div.sffield textarea {
	border: none;
	border-radius: 10px;
	background: #f0f4f6;
	padding: 10px;
	max-width: 100%;
	font-family: inherit;
	font-size: inherit;
}

div.sffield select:invalid,
div.sffield input:invalid,
div.sffield textarea:invalid,
div.sffield.radios.invalid,
div.sffield.checkboxes.invalid { /* border: 1px solid #aa0000; */
}

/* .sffield label { position: absolute; top: -10000px; left: -10000px; } */

input.sfUploaded {
	border: none;
	background: none;
	display: none;
}

div.signupButton {
	margin-top: 0.5em;
	text-align: right;
}

.SF_box {
	width: 85%;
	clear: both;
}

.SF .SF_field {
	float: right;
	width: 68%;
	text-align: left;
}

.SF .SF_label {
	float: left;
	width: 28%;
	text-align: right;
	padding-top: 0.2em;
}

.SF_buttons {
	clear: both;
}

.spacerDIV {
	clear: both;
	font-size: 1px;
}

.SF HR {
	display: block;
	clear: both;
}

/* product catalog */
.typeAndQuantity {
	clear: both;
}

/* guestbook */
.guestbookDivider {
	margin-top: 0.75em;
	margin-bottom: 0.75em;
}

/* polls */
.error {
	color: red;
}

.pollResults {
	width: 80%;
}

/* quickpolls! */
.QUICKPOLL .response label {
	display: inline;
}

.QUICKPOLL .body.results {
	display: none;
	opacity: 0;
}

.QUICKPOLL .result .response {
	font-size: 90%;
	margin-bottom: 1ex;
}

.QUICKPOLL .color {
	color: white;
	font-weight: bold;
	background: rgba(0, 0, 0, 0.5);
	background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.5) 100%);
	box-shadow: 2px 2px 7px rgba(0,0,0,0.2);
	padding: 2px 4px;
	width: 1.2ex;
}

.QUICKPOLL a.showResults {
	margin-left: 1em;
	font-size: 90%;
}

.QUICKPOLL .error, .QUICKPOLL .thankYou {
	display: none;
	margin: 1ex 0;
}

/* directory */
.B_DIR .fieldBlock {
}

.B_DIR .note {
	font-size: inherit;
	margin-bottom: inherit;
	opacity: inherit;
}

.B_DIR h1 {
	text-align: left;
}

.B_DIR .field.inline { display: block; }
.B_DIR .field h4 {
	/* width: 14ex; */
}

.B_DIR .fieldGrid h4 {
	/* width: 14.5ex; */
}


/* name search (javascript filter by title / name on current page) */
.namesearchbox label {
	display: inline-block;
	margin: 2px 15px 0 0;
	font-weight: bold;
}
.namesearchbox { display: block; width: 100%; }
.namesearchbox > div {
	line-height: 1.2;
	vertical-align: top;
	display: inline-block;
	padding: 3px 5px 4px 5px;
	border: 1px solid #999;
	white-space: nowrap;
}
.namesearchbox i { vertical-align: middle; cursor: pointer; margin-left: 5px; }
.namesearch { padding: 3px 5px; border: none; width: 250px; }
.filtered {	display: none !important; }


/* directory business */
section.DIR_BUS > article { clear: both; vertical-align: top;}
section.DIR_BUS.summary > article { margin-bottom: 30px; }
section.DIR_BUS h2, section.DIR_BUS h3 { text-align: left; }
.DIR_BUS i, .DIR_PER i { display: inline-block; padding: 3px 8px 0 0; }
section.DIR_BUS article.summaryDisplay, section.DIR_BUS.accordion article.summaryDisplay .flexit {
	flex-direction: column;
	display: flex;
	justify-content: space-evenly;
	align-content: stretch;
	border-bottom: 2px solid #ddd;
	padding: 30px 0;
}
section.DIR_BUS.accordion article.summaryDisplay,
section.DIR_PER.accordion article.summaryDisplay { display: block; border-bottom: none; padding: 2px 0; margin-bottom: 0; }
section.DIR_BUS.accordion article.summaryDisplay .flexit { border-bottom: none; }
section.DIR_BUS.boxes article.summaryDisplay {
	flex-direction: column;
}
section.DIR_BUS.boxes article.summaryDisplay div.image img,
section.DIR_BUS.accordion article.summaryDisplay div.image img,
section.DIR_PER.boxes article.summaryDisplay div.image img,
section.DIR_PER.accordion article.summaryDisplay div.image img {
	display: block;
	margin: 0 auto;
}
section.DIR_BUS.boxes .viewdetails {
	border-top: 2px solid #ddd;
	margin: 0 20px;
	padding: 20px 0;
}

section.DIR_BUS.summary article.summaryDisplay:last-child,
section.DIR_BUS.HA_Full article.summaryDisplay:last-child,
section.DIR_BUS.HA_Full_NOPIC article.summaryDisplay:last-child { border-bottom: none; }
section.DIR_BUS article.summaryDisplay > div { flex: 1 1 0; }
section.DIR_BUS article.summaryDisplay div.image,
section.DIR_PER article.summaryDisplay div.image { float: none; }
section.DIR_BUS article.summaryDisplay div.address { display: inline-block; }
section.DIR_BUS article.summaryDisplay div.titleaddressdescription {
	flex: 2 1 0;
	padding: 20px;
}
.DIR_BUS div.address { font-weight: bold; }

section.DIR_BUS article.summaryDisplay div.details { padding: 20px; }
section.DIR_BUS article.summaryDisplay.right div.details {
	border-left: none;
	border-right: 2px solid #ddd;
}
section article.summaryDisplay div.details h3 { font-weight: bold; margin-bottom: 15px; }
section.DIR_BUS article.summaryDisplay div.showonmap { cursor: pointer; }
section.DIR_BUS .businessdescription { padding: 15px 0; }
section.DIR_BUS.boxes,
section.DIR_PER.boxes {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	align-content: stretch;
	align-items: stretch;
}
section.DIR_BUS.boxes > article,
section.DIR_PER.boxes > article {
	display: flex;
	flex-direction: column;
	margin: 10px 0;
	width: 100%;
	padding: 10px;
	border: 1px solid #ccc;
}
section.DIR_BUS.boxes > article h2 { text-align: center;}
section.DIR_BUS.boxes article.summaryDisplay div.image { margin: 0 auto; float: none; text-align: center;}
#dirmap { aspect-ratio: 2 / 1; width: 100%; margin: 20px auto; }
.DIR_BUS .field.inline, .DIR_PER .field.inline { padding: 0; }

article.DIR_BUS div.fieldBlock { border-top: 2px solid #ddd; padding: 20px 0;}

/* directory personnel */
section.DIR_PER article.summaryDisplay {
	clear: both;
	vertical-align: top;
	flex-direction: column;
	display: flex;
	justify-content: space-evenly;
	align-content: stretch;
	border-bottom: 2px solid #ddd;
	padding: 30px 0;
}
section.DIR_PER.accordion article.summaryDisplay {
	padding: 2px 0;
	border-bottom: none;
}
section.DIR_PER.accordion article.summaryDisplay .flexit {
	vertical-align: top;
	flex-direction: column;
	display: flex;
	justify-content: space-evenly;
	align-content: stretch;
}
section.DIR_PER article:last-child { border-bottom: none; }
section.DIR_BUS.accordion article.summaryDisplay .flexit,
section.DIR_BUS.accordion article.summaryDisplay { padding: 1px; border-bottom: none !important; }

/* section.DIR_PER article.summaryDisplay > div { flex: 1 1 0; } */
section.DIR_PER article.summaryDisplay div.image { float: none; }
section.DIR_PER article.summaryDisplay div.titlepositionabout,
section.DIR_PER.accordion article.summaryDisplay .flexit .details {
	flex: 3 1 0;
	padding: 10px 20px;
}
section.DIR_PER div.about {padding: 20px 0;}
section.DIR_PER.summary > article { margin-bottom: 30px; }
section.DIR_PER h2 { text-align: left; }

section.DIR_PER.boxes > article h2 { text-align: center;}
section.DIR_PER.boxes article.summaryDisplay div.image { margin: 0 auto; float: none; text-align: center;}


div.image.circle img { clip-path: circle(50% at 50% 50%); }
div.image.square img { clip-path: inset(0 0 0 0); }
div.image.rightpoint img { clip-path: polygon(0% 0%, 75% 0%, 100% 50%, 75% 100%, 0% 100%); }
div.image.leftpoint img { clip-path: polygon(25% 0%, 100% 0%, 100% 100%, 25% 100%, 0% 50%); }
div.image.triangle img { clip-path: polygon(50% 0%, 0% 100%, 100% 100%); }
div.image.itriangle img { clip-path: polygon(0% 0%, 100% 0%, 50% 100%); }
div.image.octagon img { clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%); }
div.image.bevel img { clip-path: polygon(20% 0%, 80% 0%, 100% 20%, 100% 80%, 80% 100%, 20% 100%, 0% 80%, 0% 20%); }


/* quicklist */
div.box.B_LIST {
	padding: 0 15px 15px 15px;
}
.B_LIST .index.horizontal {
	display: block;
	margin: 0;
	padding: 0;
}

.B_LIST .index.horizontal li {
	display: inline-block;
	margin: 0.3ex 0;
	padding: 0 1ex 0 0;
	border-right: 1px solid #aaa;
	border-color: rgba(0,0,0,0.3);
}

.B_LIST .index.horizontal li a { /* white-space: nowrap; */
	display: inline;
	padding: 0 1ex 0 1ex;
	border: 1px solid transparent;
}
.B_LIST .index.horizontal li a:hover { /* background: rgba(0,0,0,0.1);
	border: 1px solid rgba(0,0,0,0.3);
	box-shadow: inset 2px 2px 8px  rgba(0,0,0,0.2);
	border-radius: 10px;
	padding: 0.4ex 1ex;
	text-decoration: none; */
}
.B_LIST .index.horizontal li:last-child {
	border-right: none;
	padding-right: 0;
}
.B_LIST article h3 {
	font-size: 100%;
}

/* accordion */
.accordion button.accordionall {
	float: right;
	padding: 5px 20px;
	font-size: 12pt;
}
.accordion article.summaryDisplay h2 {
	background: #ddd;
	padding: 5px 10px;
	line-height: 1.2;
	vertical-align: middle;
	clear: both;
	cursor: pointer;
}
.accordion article.summaryDisplay h2:hover {
	background: #333;
	color: #fff;
}
.accordion article.summaryDisplay h2 button {
	float: right;
	padding: 0 0 0 10px;
	line-height: 1.2;
	vertical-align: middle;
	border: none;
	background: transparent;
	font-size: inherit;
	cursor: pointer;
}
.accordion article.summaryDisplay h2:hover button {
	color: white;
}
.accordion article.summaryDisplay .description {
	clear: both;
	display: none;
}

/* milestones */
div.MILESTONES {
	padding-left: 30px;
}
div.MILESTONES div.body {
	position: relative;
	padding-left: 30px;
}
div.MILESTONES div.body .leftborder {
	position: absolute;
	top: 20px; left: 0; bottom: 10px;
	border-left: 4px solid #ccc;
}
div.MILESTONES div.body .circle.end {
	position: absolute;
	top: auto; right: auto; bottom: 0; left: -13px;
}
div.MILESTONES div.body article {
	position: relative;
}
div.MILESTONES div.body .circle {
	position: absolute;
	top: 10px; left: -43px; right: auto; bottom: auto;
	height: 30px; width: 30px;
	border-radius: 50%;
	background: #fff;
	border: 4px solid #ccc;
}

.returnLink {
	font-size: 80%;
	opacity: 0.7;
	margin-top: 1ex;
}

/* product list */
.cart_table, .orderItems {
	width: 100%;
	background: white;
	color: #222;
	border-collapse: collapse;
	border-spacing: 0;
}

.cart_table td.cart_Header {
	font-weight: bold;
	padding: 1px 3px 10px 3px;
	text-align: left;
}

.cart_table td.cart_Header.cart_title {
	text-align: right;
}


/* item name */
td.cart_cell {
	padding: 3px;
}

.cart_table select {
	padding: 2px;
}

.cart_table select option {
	padding: 0 2px;
}

.cart_item_row:nth-child(even) {
	background: #eee;
}
/* line total for each item */
.cart_price, .cart_title, .cart_value,
td.right, th.right {
	text-align: right;
}

td.left, th.left {
	text-align: left;
}

td.center, th.center {
	text-align: center;
}

.feeMessage {
	border: 1px solid #999;
	padding: 10px;
	margin: 0 0 20px 0;
	border-radius: 5px;
}
/* row cost for each line item */
.ACE_ShipToText {
	text-align: left;
	padding: 3px;
}

.shoppingCart, .orderConfirmation {
	max-width: 1280px;
	margin: 0 auto;
	padding: 20px;
	font-size: 9pt;
}

.proceedCheckout {
	text-align: right;
	margin-top: 30px;
}

table.orderItems {
	margin: 30px 0;
}

table.orderItems tr:nth-child(even) {
	background: #eee;
}

.tar.totals span {
	display: inline-block;
	text-align: right;
	min-width: 100px;
}


/* generic field display */
.fieldBlock { /* clear: both; */
	overflow: hidden;
	margin: 1em 0;
}

.field.inline {
	display: inline-block;
	overflow: hidden;
	line-height: inherit;
	white-space: normal;
	padding: 3px 0;
}

/* style common to both labels and values */
.field.inline > * { /* display: inline-block; */
	vertical-align: top;
	position: relative;
	white-space: normal;
	overflow: hidden;
	margin: 0;
}

/* labels */
.fieldGrid {
	display: table;
}

.fieldGrid .field {
	display: table-row;
}

.fieldGrid .field.inline h4 {
	display: table-cell;
}

.fieldGrid .field.inline .value {
	display: table-cell;
}

.field.inline h4, .field.inline label, .field.inline .label {
	font-weight: bold;
	padding-right: 2ex;
}
/* values */
.field.inline .value {
}

/* nested fields */
.field.inline .field.inline .label {
	width: auto;
	margin-right: 1em;
}

.field.inline .field.inline .value {
	width: auto;
}

.field.radio {
	display: block;
	white-space: nowrap;
}

.field.radio * {
	vertical-align: top;
}

.field.radio .label {
	display: inline-block;
	width: 86%;
	white-space: normal;
	overflow: hidden;
}

.field.radio .input {
	display: inline-block;
	width: 14%;
	text-align: right;
}

/* common address block */
.field.address .department, .field.address .address1, .field.address .address2 {
	display: block;
}


/* other common parts */
time, .embargo, .date, .note, .readmore {
	display: block; /* font-size: 88%; */ /* opacity: 0.8; */
}

body time, .embargo, .date {
	padding: 3px 0;
	margin-bottom: 5px;
}

div.readmore {
	margin-bottom: 10px;
}

.subtitle {
	margin-bottom: 1em;
}

div.readmore {
	clear: both;
}

.infoblock { /* font-size: 88%; */
	margin-bottom: 1ex;
	background-color: #f8f8f8;
	background-color: rgba(0,0,0,0.02);
	padding: 10px 15px;
	overflow: hidden;
	border: 1px solid rgba(0,0,0,0.1);
}

.infoblock h3 {
	color: #777;
	color: rgba(0,0,0,0.6);
}

article > header > time {
	display: block;
}
/* h2 + time {	margin-top: -4px; } */
body time + time {
	margin-top: -8px;
}

/*===( SEARCH )===*/
.searchSocial {
	position: absolute;
	bottom: 8px;
	right: 8px;
	zoom: 1;
}

.searchPositioner {
	float: right;
	margin-right: 5px;
	font-size: 0;
}

.socialPositioner {
	float: right;
}

/* search bar */
.search.bar { /* width: 200px; */
	display: inline-block;
	font-size: 0;
}

.search.bar h3 {
}

.search.bar .fieldAndButton,
.meetings.search .fieldAndButton
.search.bar h3 {
	background: white;
	color: black;
}

.search.bar .fieldAndButton {
	display: inline-block;
	border: 1px solid #999;
	background: white;
	padding: 1px 1px 0 1px;
	overflow: hidden;
	vertical-align: bottom;
}

.search.bar .fieldAndButton .searchField,
.meetings.search .fieldAndButton .searchField {
	color: #555;
	border: none;
	background: transparent;
	padding: 3px 5px 0 5px;
	line-height: 20px;
	font: normal 12px arial, verdana, sans-serif;
	display: inline-block;
	width: 155px;
}

.search.bar .fieldAndButton .searchField:focus {
}

.search.bar .fieldAndButton .searchMag {
	font-size: 20px;
	color: #555;
	line-height: 20px;
	height: 20px;
	width: 20px;
	float: right;
	cursor: pointer;
	opacity: 0.9;
}

body.mobile .search.bar .fieldAndButton .searchMag {
	height: 35px;
	width: 35px;
}

/* social tools */
.socialTools {
	float: right;
	line-height: 1px;
}

.socialTools a {
	display: inline-block;
	line-height: 1;
	text-decoration: none;
	vertical-align: middle;
	transition: all 0.3s ease-out;
}

.socialTools a:hover, .socialTools a:focus {
	box-shadow: -3px 3px 6px rgba(0,0,0,0.3);
}

.socialTools a img {
	display: block;
	border: none;
}

.searchSocial .newSocialTools {
	float: right;
}
.newSocialTools {
	--iconsize: 24px;
}
.newSocialTools a {
	padding: 0;
	text-decoration: none;
	display: inline-block;
	margin-right: 2px;
	height: var(--iconsize);
	width: var(--iconsize);
}
.newSocialTools a:hover
.newSocialTools a:focus {
	outline: 1px dashed #333;
}
.newSocialTools img {
	height: var(--iconsize);
	width: var(--iconsize);
}


.navDrop nav.block.mobilemenu li .newSocialTools {
	padding: 12px 10px 8px 10px;
}
.navDrop nav.block.mobilemenu li .newSocialTools a {
	display: inline-block;
	padding: 0;
	margin: 0 5px 0 0;
}


.fixedSocialTools {
	float: none;
	opacity: 0.7;
	transition: opacity 0.5s;
	--fixediconsize: 30px;
}

.fixedSocialTools:hover,
.fixedSocialTools:focus {
	opacity: 1.0;
}

.fixedSocialTools a {
	width: 50px;
	text-align: right;
	display: block;
	padding: 4px;
	margin-bottom: 4px;
	color: white;
	opacity: 1;
	border-radius: 0 10px 10px 0;
	transition: width .5s;
	box-shadow: rgba(0, 0, 0, 0.5) 3px 3px 5px;
}

.fixedSocialTools a img {
	display: inline-block;
	width: var(--fixediconsize);
	height: var(--fixediconsize);
	vertical-align: middle;
}

.fixedSocialTools a:hover,
.fixedSocialTools a:focus {
	width: 60px;
}

.fixedSocialTools a.cart { background: #cc0000; }
.fixedSocialTools a.facebook {	background: #3b5998; }
.fixedSocialTools a.instagram {	background: linear-gradient(-20deg, #f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%); }
.fixedSocialTools a.linkedin { background: #007bb5; }
.fixedSocialTools a.nextdoor { background: #00b246; }
.fixedSocialTools a.twitterx {	background: #333333; }
.fixedSocialTools a.youtube {	background: #ff0000; }


/*===( RSS )===*/
.RSSLinkAboveSectionIntro, .RSSLinkHACenter {
	display: block;
	float: right;
	margin-left: 1em;
	margin-bottom: 1em;
}

.RSSSUB time {
	margin-bottom: 0;
}

.RSSSUB .rssSummary {
	font-size: 94%;
}

.promotion.RSSSUB h4 {
	font-size: 120%;
	margin-bottom: 1em;
}

/*===( PROMOS )===*/
.headlineDisplay {
	/* margin-bottom: 0.6em; */
}


/*===( boxes ) ===*/
.box.B_BOXES,
.box.promotion.HA_Boxes,
.box.promotion.HA_Boxes_Top {
	vertical-align: top;
	text-align: center;
	padding: 30px 0;
}

.box.B_BOXES .summary { text-align: left; }

.box.B_BOXES .responsivebox,
.box.promotion.HA_Boxes .responsivebox,
.box.promotion.HA_Boxes_Top .responsivebox {
	display: inline-block;
	border-radius: 5px;
	padding: 15px;
	margin-bottom: 30px;
	width: 100%;
	vertical-align: top;
	text-align: left;
	height: auto;
	text-decoration: none;
}
.box.B_BOXES .attachments { display: block; }

.box.promotion.HA_Boxes .responsivebox a,
.box.promotion.HA_Boxes_Top .responsivebox a {
}

.box.B_BOXES.image_top .responsivebox div.image,
.box.promotion.HA_Boxes_Top .responsivebox div.image {
	float: none;
	clear: both;
	text-align: center;
	width: 100% !important;
	margin: 0 0 15px 0;
	display: block;
	max-width: 100%;
	height: auto;
	border: none;
}
/* stretch the image to the full box size? */
.box.promotion.HA_Boxes_Top .responsivebox div.image img { width: 100%; }

/*===( LAST EDITED )===*/
.lastEdited {
	margin-bottom: 1em;
}

/*===( IMAGE GALLERY )===*/
.galleryBox {
	overflow: hidden;
	margin-top: 30px;
}

.galleryBox .photoFrame {
	position: relative;
	overflow: hidden;
	background: transparent;
	text-align: center;
}

.insideLeftContent .galleryBox .photoFrame,
.insideRightContent .galleryBox .photoFrame {
	height: 200px;
}

/* main image */
.galleryBox img.bigImage {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1;
	background: url(../images/spinner_444bg.gif) no-repeat center center;
}

.container.content div.photoFrame .galleryBox img.bigImage.fitHeight {
	width: auto;
	height: 100%;
	margin: 0 auto;
}

.galleryBox .photoFrame .text {
	text-align: center;
	z-index: 2;
	max-width: 100%;
}

.galleryBox .photoFrame .text .textbackground {
	display: inline-block;
	padding: 4px 10px;
	color: white;
	background-color: #000;
	background: rgba(0,0,0,0.7);
	border-radius: 7px;
	font-size: 10pt;
}

.galleryBox .photoFrame .text .title {
	font-weight: bold;
}

.galleryBox .controls {
	padding-top: 5px;
}

.galleryBox span.arrowleft,
.galleryBox span.arrowright,
.galleryBox span.arrowpause,
.galleryBox span.arrowplay {
	display: inline-block;
	cursor: pointer;
	font-size: 18px;
	color: #333;
	background: #fff;;
	z-index: 5;
	padding: 4px 5px;
	border-radius: 30px;
	height: 30px;
	width: 30px;
	text-align: center;
	line-height: normal;
	vertical-align: middle;
	margin-left: 5px;
	border: 1px solid #555;
}

.galleryBox span.arrowleft:focus, .galleryBox span.arrowright:focus,
.galleryBox span.arrowpause:focus, .galleryBox span.arrowplay:focus,
.galleryBox span.arrowleft:hover, .galleryBox span.arrowright:hover,
.galleryBox span.arrowpause:hover, .galleryBox span.arrowplay:hover {
	color: #fff;
	background: #333;
	outline: none;
	border: 1px solid #ccc;
}

.galleryBox span.arrowpause {
	display: none;
}


/* .galleryBox button
{
	display: block;
	z-index: 3;
	position: absolute;
	border: none;
	cursor: pointer;
} */
/* .mobile .galleryBox .photoFrame button.nav { opacity: 1; } */
/* .galleryBox .photoFrame button.nav
{
	opacity: 0;
	color: white;
	background-color: #000;
	background-color: rgba(0,0,0,0.5);
	top: 40%;
	bottom: 40%;
	width: 40px;
	font: bold 18pt Arial, sans-serif;
	outline: none;
	visibility: hidden;
	transition: opacity 0.3s ease-out;
} */

/* .galleryBox .photoFrame button.nav:focus { outline: 1px dashed #000; } */

/* .galleryBox .photoFrame:hover button.nav
{
	opacity: 1;
	visibility: visible;
	transition: opacity 0.3s ease-out;
}
.opacity .galleryBox .photoFrame button.nav { visibility: visible; } */

.galleryBox .photoFrame button.left {
	left: 0;
	border-radius: 0 20px 20px 0;
}

.galleryBox .photoFrame button.right {
	right: 0;
	border-radius: 20px 0 0 20px;
}

/* thumbnails */
.galleryBox div.thumbnails {
	display: block;
	position: relative;
	overflow: hidden; /* background: #555; */
	background: transparent;
	color: #333;
	z-index: 3;
}

.galleryBox div.thumbnails ul.page {
	display: none;
	margin: 0;
	padding: 10px 10px 2px 10px;
	overflow: hidden;
}

.galleryBox .text {
	text-align: center;
}

.galleryBox .text .textbackground {
	display: inline-block;
	text-align: left;
}

.galleryBox div.thumbnails ul.page.current {
	display: block;
	text-align: center;
}

.galleryBox div.thumbnails li {
	position: relative;
	display: inline-block;
	line-height: 60px;
	vertical-align: top; /* display: block;
	float: left; */
	margin: 0 1px 1px 0;
	padding: 0; /* height: 60px; */
	cursor: pointer;
	opacity: 1.0;
	border: 3px solid transparent; /* transition: all 0.3s ease-out; */
	transition: box-shadow 0.2s ease-out, opacity 0.2s ease-out;
}

.galleryBox div.thumbnails li:focus,
.galleryBox div.thumbnails li:hover,
.galleryBox div.thumbnails li.selected {
	opacity: 1;
	border: 3px solid black;
	z-index: 2;
}

.galleryBox div.thumbnails img {
	display: block;
	height: 60px;
	width: auto;
	line-height: 60px;
}

.leftColumn .galleryBox div.thumbnails img,
.rightColumn .galleryBox div.thumbnails img {
	height: 25px;
}

.leftColumn .galleryBox div.thumbnails ul.page,
.rightColumn .galleryBox div.thumbnails ul.page {
	padding: 5px 5px 5px 5px;
}

/* thumbnail buttons */
.galleryBox .thumbnails .messages {
	text-align: center;
	padding: 0px 10px 15px 15px;
	overflow: hidden;
}

.galleryBox .thumbnails .messages .slideshow {
	margin-right: 20px;
}

.galleryBox .thumbnails a {
	display: inline-block;
	color: #333;
	background: transparent;
	padding: 4px 8px;
	border-radius: 5px;
}

.galleryBox .thumbnails a:hover,
.galleryBox .thumbnails a:focus {
	color: #fff;
	background: #333;
}
/* .galleryBox .thumbnails span.thumbpages { float: right; } */
/* .galleryBox .state.slideshowPlaying { display: none; }
.galleryBox.slideshowPlaying .state.slideshowPlaying { display: inline; }
.galleryBox.slideshowPlaying .state.slideshowNotPlaying { display: none; } */


/*===( UTILITY )===*/
.blk {
	display: block;
}

div.clr {
	clear: both;
	font-size: 0;
	height: 0;
}

a#skipLinkTarget {
	display: none;
}

a#skipLink {
	position: absolute;
	background: white;
	top: -41px;
	left: 0;
	color: black;
	transition: top 1s ease-out 0s, background 1s linear 0s;
	border-radius: 0 0 5px 0;
	border-bottom: 1px solid white;
	border-right: 1px solid white;
	padding: 8px 5px;
	z-index: 999999;
	line-height: normal;
}

a#skipLink:focus {
	background: #bf1722;
	color: white;
	top: 0;
	transition: top 0.1s ease-in 0s, background 0.5s linear 0s;
}

.cssAdjuster {
	margin: 1em 0;
}

.cssAdjuster input {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%
}

/*===( MOBILE STUFF )===*/
a.mobileDesignButton { /* this has to be written out but display: none by default, due to
	caching reasons. If it's necessary, we need to show it with JavaScript
	at client-side run time. */
	display: none;
	text-align: center;
	padding: 1em;
	margin-top: 5px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;
	color: white !important;
	text-decoration: none;
	font-weight: bold;
	background: rgb(80,143,114); /* Old browsers */
	background: -moz-linear-gradient(top, rgba(80,143,114,1) 0%, rgba(45,87,67,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(80,143,114,1)), color-stop(100%,rgba(45,87,67,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, rgba(80,143,114,1) 0%,rgba(45,87,67,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, rgba(80,143,114,1) 0%,rgba(45,87,67,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, rgba(80,143,114,1) 0%,rgba(45,87,67,1) 100%); /* IE10+ */
	background: linear-gradient(top, rgba(80,143,114,1) 0%,rgba(45,87,67,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#508f72', endColorstr='#2d5743',GradientType=0 ); /* IE6-9 */
}

/* Sidebar fix */
.sidebar P, .leftSidebar P {
	margin-top: 0px;
}

/* Preview Stuff */
#designPreviewHeader, #previewHeader {
	display: none;
	color: white;
	background: #ddf;
	cursor: pointer;
	font: normal 8pt/1.3 Verdana, sans-serif;
	text-align: left;
	padding: 11px 14px;
	position: fixed;
	top: 0;
	left: 0;
	width: 600px;
	max-width: 100%;
	border: none;
	z-index: 999999;
	border-radius: 0 0 20px 0;
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
	background: rgba(0,0,0,0.7);
}

#designPreviewHeader h3, #previewHeader h3 {
	font: bold 17px/19px Arial, Sans-Serif;
	color: white;
	text-align: left;
}

#designPreviewHeader .detail {
	margin-top: 10px;
}

#designPreviewHeader .hide {
	font-size: 120%;
	font-weight: bold;
}
#designPreviewHeader.collapsed .hide
{
	font-size: 11px;
	position: absolute;
	right: 15px;
	top: 14px;
}

#designPreviewHeader a.close {
	color: white;
	font-size: 14px;
	margin-left: 10px;
}

#designPreviewHeader a, #designPreviewHeader.collapsed .hide a {
	color: #fff;
}

#designPreviewHeader a:hover {
}

/* hidden */
.hidden, h2.hidden, .search.bar h3, .search.bar h3.hidden {
	border: none;
	position: absolute;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden; /* default colors for ADA */
	background: white;
	color: black;
}

.visuallyhidden {
	border: 0;
	clip: rect(0 0 0 0);
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	height: 1px;
	width: 1px;
}

#backTop
{
	width: 35px;
	height: 35px;
	padding: 5px;
	border-radius: 35px;
	cursor: pointer;
	z-index: 999999;
	display: none;
	box-sizing: content-box;
	color: rgba(0,0,0,0.7);
	font-size: 24pt;
	text-align: center;
	vertical-align: middle;
	line-height: 35px;
	background: rgba(255,255,255,0.5);
	border: 1px solid rgba(0,0,0,0.5);
}

/* GOVCONNECT */
.govConnectContainer {
	width: 100%;
	max-height: 100%;
}

.socialFixed .socialTools a {	background: #333; }
.socialFixed .socialTools a.cart { background: #cc0000; }
.socialFixed .socialTools a.facebook {	background: #3b5998; }
.socialFixed .socialTools a.twitter {	background: #1da1f2; }
.socialFixed .socialTools a.youtube {	background: #ff0000; }
.socialFixed .socialTools a.instagram {	background: linear-gradient(-20deg, #f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%); }
.socialFixed .socialTools a.linkedin { background: #007bb5; }
.socialFixed .socialTools a.nextdoor { background: #00b246; }
.socialFixed .socialTools a.pinterest {	background: #cb2028; }
.socialFixed .socialTools a.flickr { background: linear-gradient(90deg, #0063db 0%,#0063db 70%,#ff0084 80%,#ff0084 100%); }
.socialFixed .socialTools a.blogger {	background: #f4923d; }
.socialFixed .socialTools a.reddit { background: #ff4500; }
.socialFixed .socialTools a.tumblr { background: #1992fb; }
.socialFixed .socialTools a.vimeo {	background: #1ab7ea; }
.socialFixed .socialTools a.foursquare { background: #f94877; }
.socialFixed .socialTools a.nixle { background: red; }
.socialFixed .socialTools a.rss {	background: #ea7819; }
.socialFixed .socialTools a.email {	background: #333333; }
.socialFixed .socialTools a.subscribe {	background: #009900; }
.socialFixed .socialTools a.chat { background: #3c646e; }

nav.block .mobileSocial .socialTools {
	padding: 5px 10px;
}

nav.block .mobileSocial .socialTools a {
	border-radius: 5px;
	padding: 5px;
}
nav.block .mobileSocial .socialTools a img { width: 23px; }

/* Page Level Subscription Bar at bottom of page */
.PageLevelSubscriptionBar { padding: 15px; max-width: 100%; }
.PageLevelSubscriptionBar fieldset { padding: 10px; }
.PageLevelSubscriptionBar legend { padding: 0 5px; }
.PageLevelSubscriptionBar input, .PageLevelSubscriptionBar label { display: inline; margin: 3px 5px; }
.PageLevelSubscriptionBar label { margin-right: 15px; }
a#managesubscriptionslink { display: inline-block; margin-left: 20px; }

/* Subscriptions Page */
.box.SUBSCRIBE div label {
	margin-right: 20px;
	display: inline-block;
}
.box.SUBSCRIBE.pageLevelSubscriptions, .box.SUBSCRIBE.subscriptionSignInLink {
	width: 100%;
}
.box.SUBSCRIBE div .subscribeSectionTitle {
	font-weight: bold;
	padding: 10px 20px;
}

.box.SUBSCRIBE div #unsubscribeall, .box.SUBSCRIBE fieldset div .cepSignIn {
	display: inline-block;
	margin: 10px 10px;

}

.box.SUBSCRIBE span.subscribetext {
	display: none;
}

.box.SUBSCRIBE i.fa {
	font-size: 16pt;
}

.dt {
	display: table;
}

.dt.it {
	display: inline-table;
}

.tr {
	display: table-row;
}

.td {
	display: table-cell;
}

/* CEP */
.cepContainer {
	position: relative;
}

.cepContainer .cepProfilePanel,
.cep_fixed .cepProfilePanel {
	display: none;
}

.cep_fixed .cepProfilePanel a {
	margin-left: 65px;
}

.cepProfilePanel a {
	display: block;
}

.cepContainer .cepProfilePanel a.cepClose {
	position: absolute;
	top: -10px;
	right: -10px;
	font-size: 30px;
}

.ceptransactions th span {
	display: inline-block;
	cursor: pointer;
}

.cepaddresses, .ceppeople {
	max-width: 1000px;
	padding: 10px;
}

.cepaddresses fieldset, .ceppeople fieldset {
	padding: 10px;
	max-width: 100%;
}

.cepaddresses fieldset legend, .ceppeople fieldset legend {
	margin-left: 10px;
	padding: 0 10px;
	text-align: left;
}

.cepaddresses form div.field, .ceppeople form div.field {
	text-align: left;
	max-width: 100%;
	margin-bottom: 5px;
}

.cepaddresses form label, .ceppeople form label {
	display: block;
}

.cepaddresses form input[type=text], .ceppeople form input[type=text] {
	display: block;
	padding: 3px;
	width: 320px;
	max-width: 100%;
}

.cepaddresslist div.cepaddress, .ceppeoplelist div.cepperson {
	border: 1px solid #555;
	padding: 15px;
	max-width: 100%;
	margin: 10px;
	text-align: left;
}

.cepaddresslist div.cepaddress:nth-child(odd),
.ceppeoplelist div.cepperson:nth-child(odd) {
	background: #eee;
}

.navDrop nav.block.mobilemenu .cepContainer .cepProfilePanel {
	border-top: 1px solid white;
	padding-top: 10px;
}

.navDrop nav.block.mobilemenu .cepContainer .cepProfilePanel a.cepClose {
	position: absolute;
	top: -5px;
	right: 2px;
	font-size: 20px;
}

.d-block {
	display: block;
}

.vertical-align-baseline {
	vertical-align: baseline;
}

.a-Process-Disable {
	pointer-events: none;
	cursor: wait !important;
	color: #d1d1d1;
}

/* testing CEP fixed position */
.cep_fixed {
	position: fixed;
	top: 200px;
	right: 0;
	border-radius: 30px 0 0 30px;
	padding: 5px 10px;
	color: white;
	background: #333;
	border: 2px solid #222;
	font-size: 16px;
	z-index: 15000;
	width: 65px;
	transition: width 2s;
	overflow: hidden;
	white-space: nowrap;
	opacity: 0.8;
}

.cep_fixed:hover {
	opacity: 1.0;
}

.cep_fixed a:focus {
	outline: 1px dashed #fff;
}

.cep_fixed i.fa {
	font-size: 24px;
}

.cep_fixed a, .cep_fixed a:hover {
	color: white;
	cursor: pointer;
}

.cepFixedSignIn,
.cepFixedWelcome {
	margin-left: 20px;
	padding: 0 5px;
	display: inline-block;
}

.cep_fixedopenclose {
	display: inline-block;
	padding: 5px;
	cursor: pointer;
}

.cep_fixed .cep_text {
}

.cep_fixed .cepSignOut {
	margin-bottom: 20px;
}

.d-inline {	display: inline; }
.f-left {	float: left; }
.f-right { float: right; }
.w-50 {	width: 50%; }
.mt-30 {	margin-top: 30px; }

select[readonly] {
	background: #eee;
	cursor: no-drop;
}

select[readonly] option {
	display: none;
}

.cartStore p.storeReview {
	white-space: pre
}

.listlinks { margin-bottom: 20px; }

/* documents (document manager) */
.docmanContainer .subfolders {
	padding-top: 20px;
}

.docmanContainer .subfolders > div {
	display: flex;
	justify-content: space-between;
	flex-direction: row;
	border-top: 1px solid #d8d8d8;
}
.docmanContainer .subfolders > div:hover { background: rgba(235,235,235,0.9); }
.docmanContainer .subfolders > .folder,
.docmanContainer .subfolders > .file,
.docmanConatiner .headings i.fa-arrow-up {
	cursor: pointer;
}
.docmanContainer .subfolders > div.headings {
	font-weight: bold;
	border-top: none;
}
.docmanContainer .subfolders > div.headings:hover { background: none; }
.docmanContainer .subfolders > div.headings .fa-arrow-up,
.docmanContainer .subfolders > div.headings .fa-arrow-right {	color: transparent; }

.docmanContainer .subfolders > div > div {
	flex-grow:inherit;
	text-align: left;
	padding: 10px 0px;
}
.docmanContainer .subfolders > div > div:nth-child(1) { flex-basis: 70%; }
.docmanContainer .subfolders > div > div:nth-child(2) {	flex-basis: 25%; }
.docmanContainer .subfolders > div > div:nth-child(3) { flex-basis: 5%; }

.docmanContainer .subfolders > div > div > i {
	margin: 0 10px;
	color: #0f3a55;
}

.docmanContainer .breadcrumb {
	padding: 10px 0;
	margin: 20px 0;
	border-top: 1px dashed #ccc;
	border-bottom: 1px dashed #ccc;
	font-size: 1.1rem;
	font-weight: bold;
	color: #0e3a57;
	position: relative;
}
.docmanContainer .breadcrumb > div > span {
	display: inline-block;
	padding: 5px 10px;
	cursor: pointer;
}
.docmanContainer .breadcrumb i.fa-list { position: absolute; top: 15px; right: 0; }

.docmanContainer h3.searchTitle {
	color: #0e3a57;
	font-size: 1.1rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.docmanContainer .docmanSearch {
	border: 1px solid #ccc;
	padding: 5px 10px;
	display: inline-block;
	max-width: 100%;
}
.docmanContainer .docmanSearch input {
	border: none;
	width: 30rem;
	font-size: 1rem;
	padding: 5px 10px;
	max-width: calc(100% - 2.2rem) !important;
}
.docmanContainer .docmanSearch i.fa-magnifying-glass {
	margin-left: 8px;
	margin-right: 0;
	cursor: pointer;
}
.docmanContainer #docmanSearchButton {
	font-size: 1rem;
	padding: 8px 60px;
	margin: 10px 20px;
	font-weight: bold;
	border-radius: 0;
	background: #0e3a57;
	color: white;
	display: none;
}




/* new promo grid */
.grid-container {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 2rem;
  padding: 70px 0;
  margin-bottom: 1rem;
}
.grid-container .grid-item:first-of-type {
  padding-left: 70px;
  background-color: #bdd7e4;
}
.grid-container .grid-item:last-of-type {
  padding-right: 70px;
}
.grid-item {
  position: relative;
  /* Add common styles for grid items here */
}
.grid-item .box,
.grid-item .box .body {
  height: 100%;
}
.parent {
  /* Add styles for parent elements here */
}
.child {
  /* Add styles for child elements here */
}
.grid-placeholder {
}
.box.promotion .list_promotions {
  position: relative;
  height: 100%;
}
.imagePromoContainer {
  width: 20%;
  min-width: 160px;
  padding-right: 1.6rem;
}
.grid-item .imagePromoContainer {
  max-height: 48.8px;
}
.imagePromoContainer img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.promotion_item .text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


/*tax calc*/
.calcContainer h3, .calcContainer th {
	font-weight: 600;
	font-size: 20px;
	color: #0e3a57;
}
.calcContainer .taxTitle{
	margin: 10px 0;
}
.calcContainer {
	width: 80%;
}
div.CalcdAssessmentVal {
	margin-bottom: 7px;
	border-bottom: 2px solid #b4b4b4;
	padding-bottom: 18px;
	margin-top: 10px;
}
.middleCont {
	width: 100%;
	border-bottom: 2px solid #b4b4b4;
	padding-bottom: 18px;
	/*margin-top: 10px;*/
}
.assessedValue, input.propValue, input.vehicleValue,
select.jurisdictionDropdown, .Ratios select,
.ratioSelect {
	border: 1px solid #b4b4b4;
	height: 33px;
	width: 650px;
	padding: 0 0 0 7px;
	font-size: 18px;
	font-weight: 400;
	color: #333;
}
.assessedValue {
	background: #e9e6e6;
	max-width: 100%;
}
.levyTableContainer, .credits {
	border-top: 2px solid #b4b4b4;
	margin-top: 5px;
	padding-top: 6px;
	width: 100%;
}
td.millLevy, td.calcResult, .calcContainer .tblHeader, td.basefactor {
	text-align: right;
}

.calcContainer td, .calcContainer th {
	width: 250px;
	padding-left: 0;
}
.descriptionPropertyTax {
	margin-bottom: 10px;
}

div.results {
	font-size: 20px;
	margin-left: 14px;
}
.baseFactorTable th,.baseFactorTable td {
	padding-left: 0;
}
div.resultsDiv {
	display: flex;
	border-top: 2px solid #b4b4b4;
	padding-top: 9px;
}
select.jurisdictionDropdown, .Ratios select {
	max-width: 100%;
}

div.VehicleRatios {
	margin-bottom: 11px;
}/* pro calendar */
.calendar-container {
	background: #fff;
	border-radius: 10px;
	/* box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12); */
	container-type: inline-size;

	& .hide { display: none; }

	& .calendar-header {
		display: flex;
		flex-direction: column;
		gap: 10px;
		justify-content: space-between;
		align-items: center;
		margin: 10px 0 25px;
		align-content: center;

		& .header-left {
			display: flex;
			align-content: center;

			& .calendar-current-date,
			& .calendar-nav, & .today {
				font-weight: 600;
				font-size: 1rem;
			}
			& .calendar-current-date {
				padding: 5px;
				width: 150px;
				text-align: center;
			}

			& .calendar-nav {
				padding: 2px 6px;
				/* box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12); */
				cursor: pointer;
				border-radius: 2px;
				background: #15224B;
				color: white;
				& i { padding: 2px 4px; }
			}
			& button.calendar-nav:focus i { outline: 1px dashed #fff; }

			& .today {
				padding: 0px 20px;
				margin-left: 20px;
			}
			@container (min-width: 600px) {
				& .calendar-current-date {
					width: 200px;
					padding: 5px 20px;
				}
				& .calendar-current-date,
				& .calendar-nav, & .today {
					font-size: 1.30rem;
				}
			}
		}
		& .header-right {
			& label { display: inline-block; }
			& button.prolistswap {
				padding: 3px;
				border-radius: 50%;
				background: transparent;
				color: #333;
				border: none;
				cursor: pointer;
				border: 1px solid transparent;
				height: 25px;
				width: 25px;
				line-height: 15px;
				text-align: center;
				vertical-align: middle;
				&:hover, &:focus {
					background: #dedede;
					border: 1px solid #aaa;
				}
				&.active {
					background: #dedede;
					border: 1px solid #aaa;
				}
			}
		}
	}
	@container (min-width: 600px) {
		& .calendar-header {
			flex-direction: row;
		}
	}

	& .calendar-body {
		padding: 1px;
		background: #ccc;
		container-type: inline-size;

		& ul {
			margin: 0;
			padding: 0;
			list-style: none;
			flex-wrap: wrap;
			display: flex;
			text-align: left;
			gap: 1px;
		}

		& ul.calendar-weekdays {
			text-align: center;
			font-size: .8rem;
		}

		.mday, .lday { display: none; }
		@container (min-width: 500px) {
			.mday { display: inline-block; }
		}
		@container (min-width: 800px) {
			.lday { display: inline-block; }
		}

		& li {
			width: calc((100% / 7) - 1px);
			font-size: 1.07rem;
			color: #414141;
			background: white;
		}

		& .calendar-weekdays li {
			cursor: default;
			font-weight: 500;
			margin: 0 0 1px 0;
			padding: 10px;
			background: #15224B;
			color: white;
		}

		& .calendar-dates {
			& li {
				margin: 0;
				padding: 3px;
				position: relative;
				z-index: 1;
				font-weight: 600;
				min-height: 100px;;

				div.day {
					--calendar-circle-size: 30px;
					display: inline-block;
					width: var(--calendar-circle-size);
					height: var(--calendar-circle-size);
					line-height: var(--calendar-circle-size);
					border-radius: 50%;
					background: #eee;
					text-align: center;
					vertical-align: middle;
				}
				& a.event {
					display: block;
					background: #fff;
					font-size: .5rem;
					line-height: 1.2;
					color: #333;
					border: 1px solid #ccc;
					border-radius: 3px;
					padding: 3px;
					cursor: pointer;
					margin-top: 2px;
					text-decoration: none;
					&:hover {
						text-decoration: underline;
					}
				}
				& button.more {
					display: block;
					font-size: .7rem;
					line-height: 1.2;
					color: #333;
					border: 1px solid #ccc;
					border-radius: 3px;
					padding: 3px;
					cursor: pointer;
					margin-top: 2px;
					text-decoration: none;
					background: #eee;
					&:hover {
						background: #ddd;
					}
				}
				& div.hide.moreevents {
					display: none;
				}
			}

			& li.inactive {
				  background-color: #eee;;
					color: #666;
					font-weight: 400;
				}

			& li.active div.day {
				color: #fff;
				background: #000066
			}
		}
		@container (min-width: 500px) {
			& .calendar-dates {
				& li {
					padding: 5px;
					& a.event {
						font-size: .7rem;
					}
				}
			}
		}
		@container (min-width: 800px) {
			& .calendar-dates {
				& li {
					padding: 10px;
					& a.event {
						font-size: .8rem;
					}
				}
			}
		}

	}
	& .procal-belowheader {
		display: flex;
		flex-wrap: nowrap;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
		gap: 15px;
		align-content: flex-start;
		align-items: flex-start;
		& div.calendar-body {
			width: 100%;
			flex-basis: 100%;
		}
		& div.calendar-body.hidden {
			display: none;
		}
		& div.calendar-list {
			width: 100%;
			flex-basis: 100%;
		}
		& div.calendar-prolist {
			width: 100%;
			flex-basis: 100%;

			& span.label {
				display: inline-block;
				padding: 0 10px;
				font-size: 1rem;
				font-weight: 600;
			}
			& .rightside {
				padding-left: 8%;
				flex-grow: 1;
			}

			& .category {
				& i {	margin-right: 5px; }
				& .title { font-weight: bold; }
			}

			& .category, & .image, & .eventtime, & h3 {
				clear: both;
				padding: 5px;
			}
			& .summary {
				clear: both;
				padding: 15px 5px;
			}

			& .bottomthree {
				clear: both;
				display: flex;
				margin: 0; padding: 0;
				flex-direction: column;
				gap: 10px;
				& > div {
					flex-grow: 1;
					padding: 15px 15px 15px 0;
					margin: 0 5px 10px 5px;
				}
			}
			@container (min-width: 800px) {
				& .bottomthree {
					flex-direction: row;
					& > div {
					}
				}
			}
		}
	}
	@container (min-width: 800px) {
		.procal-belowheader.ProRight,
		.procal-belowheader.HA_ProRight {
			flex-direction: row;
			& div.calendar-body {
				flex-basis: 60%;
			}
			& div.calendar-list {
				flex-basis: 40%;
			}
		}
		.procal-belowheader.ProLeft,
		.procal-belowheader.HA_ProLeft {
			flex-direction: row-reverse;
			& div.calendar-body {
				flex-basis: 60%;
			}
			& div.calendar-list {
				flex-basis: 40%;
			}
		}
	}
	& .boxdate {
		display: flex;
		flex-direction: column;
		align-content: center;
		justify-content: center;
		height: 75px;
		font-size: 1.2rem;
		font-weight: 600;
		color: white;
		background: #338445;
		border-radius: 50%;
		text-align: center;
		aspect-ratio: 1 / 1;
		vertical-align: middle;
	}
}

.eventlistitem {
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	width: 100%;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 10px;
	padding: 10px;
	border-bottom: 1px solid #ccc;
}
.eventlistitem:last-of-type {
	border-bottom: none;
}

.eventlistitem h3 {
	font-weight: 600;
}
.eventlistitem a {
	text-decoration: none;
	&:hover {
		text-decoration: underline;
	}
}
.showmap button { padding: 5px 10px; border-radius: 5px; cursor: pointer; }
div.map.shown {
	aspect-ratio: 2 / 1;
	width: 100%;
	margin: 20px auto;
}

dialog.dialog:modal {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #fff;
	border-radius: 10px;
	padding: 40px 20px 20px 20px;
	max-width: 95%;
	width: 700px;
}
dialog.dialog button.closedialog {
	position: absolute;
	top: 5px;
	right: 5px;
	font-size: 1.8rem;
	cursor: pointer;
	padding: 0 5px;
	background: transparent;
	border: none !important;
}
dialog.dialog .category {
	font-size: 1.2rem;
	font-weight: 600;
	margin: 10px 0;
}
dialog.dialog i { margin-right: 10px; }
dialog.dialog span.label {
	font-size: 1.2rem;
	font-weight: 600;
}
dialog.dialog .description {
	display: none;
	font-size: 1.1rem;
	margin: 10px 0;
}
dialog.dialog button.readmore {
	font-weight: 600;
	padding: 5px 10px;
	border-radius: 5px;
	cursor: pointer;
}
dialog.dialog button.closedialog {
	position: absolute;
	top: 5px;
	right: 5px;
	font-size: 1.8rem;
	cursor: pointer;
	padding: 0 5px;
	background: transparent;
	border: none !important;
}
dialog.dialog .category {
	font-size: 1.2rem;
	font-weight: 600;
	margin: 10px 0;
}
dialog.dialog i { margin-right: 10px; }
dialog.dialog span.label {
	font-size: 1.2rem;
	font-weight: 600;
}
dialog.dialog .description {
	display: none;
	font-size: 1.1rem;
	margin: 10px 0;
}
dialog.dialog .description.showit { display: block; }
dialog.dialog button.readmore {
	font-weight: 600;
	padding: 5px 10px;
	border-radius: 5px;
	cursor: pointer;
}



/* responsive */
@media (min-width: 100px) {
	.content {
			width: 100%;
		}

		.mainContent {
			width: 100%;
		}

		.mainContent, .leftContent, .rightContent {
			padding: 20px;
		}

		.calendarTable .medium {
			display: none;
		}

		.allContainer {
			padding: 0;
		}

		.calendarTable .eventTitle, .calendarTable hr {
			display: none;
		}
	}

	@media (min-width:500px) and (max-width:899px) {
		.allContainer {
			padding: 0;
		}

		.content {
			display: -webkit-box;
			display: -moz-box;
			display: -ms-flexbox;
			display: -webkit-flex;
			display: flex;
			flex-wrap: wrap;
			flex-flow: row wrap;
		}

		.mainContent {
			-webkit-box-ordinal-group: 1;
			-moz-box-ordinal-group: 1;
			-ms-flex-order: 1;
			-webkit-order: 1;
			order: 1;
			transition: all .5s ease-in-out;
			width: 100%;
		}

		.leftContent {
			-webkit-box-ordinal-group: 2;
			-moz-box-ordinal-group: 2;
			-ms-flex-order: 2;
			-webkit-order: 2;
			order: 2;
			transition: all .5s ease-in-out;
			width: 100%;
		}

		.rightContent {
			-webkit-box-ordinal-group: 3;
			-moz-box-ordinal-group: 3;
			-ms-flex-order: 3;
			-webkit-order: 3;
			order: 3;
			transition: all .5s ease-in-out;
			width: 100%;
		}

		.leftContent.hasRight, .rightContent.hasLeft {
			width: 50%;
			transition: all .5s ease-in-out;
		}

		div.image.left, div.image.right {
			max-width: 100%;
			margin: 10px 0;
			float: none !important;
		}
	}

	@media (min-width:600px) {
		.twocolumn, .threecolumn, .fourcolumn {
			column-count: 2;
		}
	}

	@media (max-width:899px) {

		.w-50 {
			width: 100%;
		}

		.d-inline {
			display: block;
		}

		.f-left {
			float: none;
		}

		.f-right {
			float: none;
			text-align: right;
		}

		.summaryDisplay .image img,
		.fullDisplay .image img,
		.sectionIntro .image img,
		.box.promotion.HA_Boxes
		.responsivebox div.image {
			float: none;
			clear: both;
			text-align: center;
			width: 100%;
			margin: 0 0 15px 0;
			display: block;
			max-width: 100%;
			height: auto;
		}

		.container.content .galleryBox div.photoFrame img.bigImage.fitHeight {
			left: 0 !important;
			position: relative;
		}

		.container.content .galleryBox div.photoFrame {
			height: auto;
		}

		#designPreviewHeader .hide, #designPreviewHeader.collapsed .hide {
			position: relative;
			top: auto;
			right: auto;
		}

		#designPreviewHeader .hide a.close {
			display: inline-block;
			margin: 5px 0 5px 0;
		}
	}

	@media (min-width:900px) {
		.desktoponly {
			display: block;
		}

		.mobileonly {
			display: none;
		}

		.container.content div.left, .container.content div.cyclerSlide {
			float: left;
			margin: 10px 25px 15px 0;
			clear: left;
		}

		.container.content div.right {
			float: right;
			margin: 10px 0 15px 25px;
			clear: right;
		}

		.content {
			display: -webkit-box;
			display: -moz-box;
			display: -ms-flexbox;
			display: -webkit-flex;
			display: flex;
			flex-wrap: wrap;
			flex-flow: row wrap;
		}

		.mainContent.hasLeft, .mainContent.hasRight {	width: calc(75% - 20px);}
		.mainContent.hasLeft.hasRight { width: calc(50% - 20px); }

		.mainContent .docmanContainer {	padding: 30px 40px;	}
		.mainContent .docmanContainer .subfolders > div > div > i {	margin: 0 20px;	}
		.mainContent .docmanContainer #docmanSearchButton { display: inline-block; }

		.leftContent, .rightContent {
			width: 25%;
			padding: 0px;
		}

		.leftContent .box, .rightContent .box {
			padding: 15px;
		}

		/*
		.home .mainContent.hasLeft.hasRight { width: 33%; }
		.home .leftContent, .home .rightContent	{ width: 33%; }
		.home .mainContent.hasLeft, .home .mainContent.hasRight { width: calc(66% - 20px); }
		*/

		.mainContent.hasLeft {
			-webkit-box-ordinal-group: 2;
			-moz-box-ordinal-group: 2;
			-ms-flex-order: 2;
			-webkit-order: 2;
			order: 2;
			transition: all .5s ease-in-out;
		}

		.leftContent {
			-webkit-box-ordinal-group: 1;
			-moz-box-ordinal-group: 1;
			-ms-flex-order: 1;
			-webkit-order: 1;
			order: 1;
			transition: all .5s ease-in-out;
		}

		.rightContent {
			-webkit-box-ordinal-group: 3;
			-moz-box-ordinal-group: 3;
			-ms-flex-order: 3;
			-webkit-order: 3;
			order: 3;
			transition: all .5s ease-in-out;
		}

		.mainContent .calendarTable .medium {
			display: inline;
		}

		.mainContent .calendarTable .eventTitle {
			font-size: 7pt;
		}

		.mainContent .calendarTable .eventTitle {
			display: inline-block;
		}

		.mainContent .calendarTable hr {
			display: block;
		}

		.mainContent .calendarTable .eventStar {
			display: none;
		}

		.mainContent .galleryBox .photoFrame {
			height: 500px;
		}

		.mainContent .box.B_BOXES .responsivebox,
		.mainContent .box.promotion.HA_Boxes .responsivebox,
		.mainContent .box.promotion.HA_Boxes_Top .responsivebox {
			/* width: calc(32.5% - 30px); */
			width: calc(49% - 15px);
			margin: 7px;
			/* margin: 15px;  */
			/* height: 300px; */
		}
		/* .box.promotion.HA_Boxes_Top .responsivebox { height: 500px; } */
		.mainContent .box.promotion.B_BOXES.HA_Boxes_Wrap .responsivebox div.image,
		.mainContent .box.promotion.B_BOXES.HA_Boxes_NoWrap .responsivebox div.image,
		.mainContent .box.B_BOXES.image_left_wrap .responsivebox div.image,
		.mainContent .box.B_BOXES.image_left_no_wrap .responsivebox div.image,
		.mainContent .box.promotion.HA_Boxes .responsivebox div.image {
			max-width: 50%;
		}

		.mainContent .box.B_BOXES.count1 .responsivebox,
		.mainContent .box.promotion.HA_Boxes.count1 .responsivebox {
			width: calc(100% - 30px);
			height: auto;
		}

		.mainContent .box.B_BOXES.count2 .responsivebox,
		.mainContent .box.B_BOXES.count4 .responsivebox,
		.mainContent .box.B_BOXES.count8 .responsivebox,
		.mainContent .box.B_BOXES.count10 .responsivebox,
		.mainContent .box.B_BOXES.count12 .responsivebox,
		.mainContent .box.B_BOXES.count14 .responsivebox,
		.mainContent .box.B_BOXES.count16 .responsivebox,
		.mainContent .box.B_BOXES.count18 .responsivebox,
		.mainContent .box.B_BOXES.count20 .responsivebox,
		.mainContent .box.B_BOXES.count22 .responsivebox,
		.mainContent .box.B_BOXES.count24 .responsivebox,
		.mainContent .box.promotion.HA_Boxes.count2 .responsivebox,
		.mainContent .box.promotion.HA_Boxes.count4 .responsivebox,
		.mainContent .box.promotion.HA_Boxes.count8 .responsivebox,
		.mainContent .box.promotion.HA_Boxes.count10 .responsivebox,
		.mainContent .box.promotion.HA_Boxes.count12 .responsivebox,
		.mainContent .box.promotion.HA_Boxes.count14 .responsivebox,
		.mainContent .box.promotion.HA_Boxes.count16 .responsivebox,
		.mainContent .box.promotion.HA_Boxes.count18 .responsivebox,
		.mainContent .box.promotion.HA_Boxes.count20 .responsivebox,
		.mainContent .box.promotion.HA_Boxes.count22 .responsivebox,
		.mainContent .box.promotion.HA_Boxes.count24 .responsivebox,
		.mainContent .box.promotion.HA_Boxes_Top.count2 .responsivebox,
		.mainContent .box.promotion.HA_Boxes_Top.count4 .responsivebox,
		.mainContent .box.promotion.HA_Boxes_Top.count8 .responsivebox,
		.mainContent .box.promotion.HA_Boxes_Top.count10 .responsivebox,
		.mainContent .box.promotion.HA_Boxes_Top.count12 .responsivebox,
		.mainContent .box.promotion.HA_Boxes_Top.count14 .responsivebox,
		.mainContent .box.promotion.HA_Boxes_Top.count16 .responsivebox,
		.mainContent .box.promotion.HA_Boxes_Top.count18 .responsivebox,
		.mainContent .box.promotion.HA_Boxes_Top.count20 .responsivebox,
		.mainContent .box.promotion.HA_Boxes_Top.count22 .responsivebox,
		.mainContent .box.promotion.HA_Boxes_Top.count24 .responsivebox {
			width: calc(49.5% - 30px);
		}

		.box.promotion.B_BOXES.HA_Boxes_NoWrap .responsivebox .boxbody,
		.box.B_BOXES.image_left_no_wrap .responsivebox .boxbody {
			float: left;
			max-width: 42%;
		}

		.leftContent .insideLeftContent .box.B_BOXES .responsivebox,
		.rightContent .insideRightContent .box.B_BOXES .responsivebox,
		.leftContent .insideLeftContent .box.promotion.HA_Boxes .responsivebox,
		.rightContent .insideRightContent .box.promotion.HA_Boxes .responsivebox,
		.leftContent .insideLeftContent .box.promotion.HA_Boxes_Top .responsivebox,
		.rightContent .insideRightContent .box.promotion.HA_Boxes_Top .responsivebox {
			margin: 0;
			width: 100%;
			height: auto;
		}

		.leftContent .insideLeftContent .box.B_BOXES.HA_Boxes_Wrap .responsivebox div.image,
		.leftContent .insideLeftContent .box.B_BOXES.HA_Boxes_NoWrap .responsivebox div.image,
		.rightContent .insideRightContent .box.B_BOXES.HA_Boxes_Wrap .responsivebox div.image,
		.rightContent .insideRightContent .box.B_BOXES.HA_Boxes_NoWrap .responsivebox div.image,
		.leftContent .insideLeftContent .box.promotion.HA_Boxes .responsivebox div.image,
		.rightContent .insideRightContent .box.promotion.HA_Boxes .responsivebox div.image {
			float: none;
			clear: both;
			text-align: center;
			width: 100%;
			margin: 0 0 15px 0;
			display: block;
			max-width: 100%;
			height: auto;
		}

		.card-container {
			flex-direction: row;
		}

		.thirtythree { flex-basis: 33%; max-width: 33%; }
		.thirtyfour {	flex-basis: 34%; max-width: 34%; }
		.forty { flex-basis: 40%; max-width: 40%; }
		.fifty { flex-basis: 50%; max-width: 50%; }
		.sixty { flex-basis: 60%; max-width: 60%; }
		.sixtysix {	flex-basis: 66%; max-width: 66%; }

		.card-container.Above .card-item.fifty:nth-child(2n+1),
		.card-container.Above .card-item.thirtythree:nth-child(3n+1),
		.card-container.Above .card-item.sixtysix:nth-child(2n+1),
		.card-container.Above .card-item.sixty:nth-child(2n+1),
		.card-container.Below .card-item.fifty:nth-child(2n+1),
		.card-container.Below .card-item.thirtythree:nth-child(3n+1),
		.card-container.Below .card-item.sixtysix:nth-child(2n+1),
		.card-container.Below .card-item.sixty:nth-child(2n+1) {
			padding-left: 70px;
			/* background: lightgoldenrodyellow; */
		}
		.card-container.Above .card-item.fifty:nth-child(2n+2),
		.card-container.Above .card-item.thirtythree:nth-child(3n+3),
		.card-container.Above .card-item.sixtysix:nth-child(2n+2),
		.card-container.Above .card-item.forty:nth-child(2n+2),
		.card-container.Below .card-item.fifty:nth-child(2n+2),
		.card-container.Below .card-item.thirtythree:nth-child(3n+3),
		.card-container.Below .card-item.sixtysix:nth-child(2n+2),
		.card-container.Below .card-item.forty:nth-child(2n+2) {
			padding-right: 70px;
			/* background: lightsteelblue; */
		}

		/* new promo layouts (no group) */
		.nogroup.Above,
		.nogroup.Below {
			padding: 20px 70px;
		}

		.container.content .galleryBox div.photoFrame img.bigImage.fitHeight {
			height: 100% !important;
			width: auto !important;
		}

		.field.inline > * {
			display: inline-block;
		}
		.field.category {
			padding: 8px 0;
		}
		.field i { margin-right: 8px; }

		.B_LIST .index.horizontal li a {
			white-space: nowrap;
		}

		.mainContent .B_MEET .subsections li {
			display: inline;
			white-space: nowrap;
		}

		.mainContent .B_MEET .meetings.search .fieldAndButton {
			display: inline-block;
		}

		.mainContent .B_MEET .meetings.search .fieldAndButton .searchField {
			width: 250px;
		}

		.mainContent .B_MEET .boxdate .month {
			font-size: 16pt;
		}

		.mainContent .B_MEET .boxdate .day {
			font-size: 28pt;
		}

		.mainContent .B_MEET .boxdate .year {
			font-size: 16pt;
		}

		.mainContent .B_MEET i.fa {
			font-size: 24pt;
		}

		.mainContent .B_MEET ._moderncalendar i.fa {
			font-size: 14pt;
		}

		.mainContent .B_MEET .boxdate {
			padding: 10px 40px;
			line-height: 1.4;
		}

		.mainContent .responsivebox.B_MEET .boxdate.small {
			padding: 5px 20px;
			line-height: normal;
		}

		.mainContent .responsivebox.B_MEET .boxdate.small .month {
			font-size: 10pt;
		}

		.mainContent .responsivebox.B_MEET .boxdate.small .day {
			font-size: 16pt;
		}

		.mainContent .responsivebox.B_MEET .boxdate.small .year {
			font-size: 10pt;
		}

		.mainContent .B_MEET .body article.summaryDisplay .boxdate {
			float: none;
			position: absolute;
			top: 15px;
			left: 15px;
		}

		.mainContent .B_MEET .body article.summaryDisplay {
			position: relative;
			margin-top: 20px;
			padding-left: 180px;
			min-height: 165px;
		}

		.mainContent .B_MEET .body ._eventsbox article.summaryDisplay {
			padding-left: 0;
			min-height: 0;
		}

		.mainContent .B_MEET .body article.summaryDisplay time {
			clear: none;
		}

		.mainContent .B_MEET .attachments .attachment {
			display: inline-block;
		}


		.leftContent .B_DIR .field h4,
		.rightContent .B_DIR .field h4,
		.leftContent .B_DIR .fieldGrid h4,
		.rightContent .B_DIR .fieldGrid h4 {
			width: auto;
		}

		.fourcolumn, .threecolumn {
			column-count: 3;
		}

		.shoppingCart, .orderConfirmation {
			font-size: 12pt;
		}


		/* business directory / personnel directory */
		.mainContent #dirmap {
			aspect-ratio: 4 / 1;
		}

		.mainContent section.DIR_BUS.summary article.summaryDisplay,
		.mainContent section.DIR_BUS.HA_Full article.summaryDisplay,
		.mainContent section.DIR_BUS.HA_Full_NOPIC article.summaryDisplay,
		.mainContent section.DIR_BUS.accordion article.summaryDisplay .flexit,
		.mainContent section.DIR_PER.summary article.summaryDisplay,
		.mainContent section.DIR_PER.HA_Full article.summaryDisplay,
		.mainContent section.DIR_PER.HA_Full_NOPIC article.summaryDisplay,
		.mainContent section.DIR_PER.accordion article.summaryDisplay .flexit {
			flex-direction: row;
		}

		.mainContent section.DIR_BUS article.summaryDisplay.right,
		.mainContent section.DIR_PER article.summaryDisplay.right {
			flex-direction: row-reverse;
		}

		.mainContent section.DIR_BUS article.summaryDisplay div.details {
			border-left: 2px solid #ddd;
		}

		.mainContent section.DIR_BUS .attachments,
		.mainContent article.DIR_BUS .attachments {
			clear: none;
		}

		.mainContent section.DIR_BUS.summary > article div.image,
		.mainContent section.DIR_BUS.HA_Full > article div.image,
		.mainContent section.DIR_BUS.accordion > article div.image,
		.mainContent section.DIR_PER.summary > article div.image,
		.mainContent section.DIR_PER.HA_Full > article div.image,
		.mainContent section.DIR_PER.accordion > article div.image {
			max-width: 33%; /* flex-basis: 33%; */
		}

		.mainContent section.DIR_BUS.boxes.two > article,
		.mainContent section.DIR_BUS.boxes.three > article,
		.mainContent section.DIR_BUS.boxes.four > article,
		.mainContent section.DIR_PER.boxes.two > article,
		.mainContent section.DIR_PER.boxes.three > article,
		.mainContent section.DIR_PER.boxes.four > article {
			margin: 10px;
			width: 45%;
			flex-basis: 45%;
		}


		/* CEP */
		.cepContainer {
			display: inline-block;
			padding: 3px 10px 5px 10px;
			vertical-align: top;
			line-height: normal;
			position: relative;
		}

		.cepContainer .cepAuthedPanel {
			display: none;
		}

		.cepContainer .cepProfilePanel {
			display: none;
			position: absolute;
			top: 100%;
			right: 0;
			background: #ffffff;
			border-radius: 8px;
			border: 2px solid #333;
			padding: 30px 5px 5px 5px;
			z-index: 20000;
		}

		.cepContainer .cepProfilePanel a,
		.cepContainer .cepProfilePanel a:hover {
			color: #333;
			display: block;
			white-space: nowrap;
			padding: 10px 15px;
		}

		.cepContainer .cepProfilePanel a:focus {
			outline: 1px dashed #333;
		}

		.ceptransactions, .cepaddresses, .ceppeople {
			padding: 15px;
			text-align: center;
			max-width: 1440px;
			margin: 15px auto;
		}

		.ceptransactions table {
			width: 100%;
			background: white;
			color: #222;
			border-collapse: collapse;
			border-spacing: 0;
			text-align: left;
		}

		.productitems table {
			background: white;
			color: #222;
			border-collapse: collapse;
			border-spacing: 0;
			text-align: left;
		}

		.productitems table th, .productitems table td {
			padding: 10px;
		}

		.ceptransactions table hr, .productitems table hr {
			font-weight: bold;
			padding: 1px 3px 10px 3px;
			text-align: left;
		}

		.ceptransactions table tr:nth-child(odd),
		.productitems table tr:nth-child(odd) {
			background: #eee;
		}

		.cepaddresses fieldset, .ceppeople fieldset {
			padding: 20px;
		}

		.cepaddresses fieldset legend, .ceppeople fieldset legend {
			margin-left: 20px;
			padding: 0 10px;
		}

		.cepaddresses form div, .ceppeople form div {
			text-align: left;
		}

		.cepaddresses form label, .ceppeople form label {
			display: inline-block;
			margin-right: 15px;
			width: 130px;
		}

		.cepaddresses form input[type=text], .ceppeople form input[type=text] {
			display: inline-block;
			width: 450px;
		}

		.cepaddresslist div.cepaddress, .ceppeoplelist div.cepperson {
			width: calc(33% - 20px);
			display: inline-block;
			vertical-align: top;
		}

		.cepaddresslist div.address:nth-child(odd), .ceppeoplelist div.cepperson:nth-child(odd) {
			background: #eee;
		}

		.cepaddresslist .cepaddress .editbar,
		.ceppeoplelist .cepperson .editbar {
			text-align: right;
			margin-top: 10px;
		}

		.cepaddresslist input[type=button],
		.ceppeoplelist input[type=button] {
			padding: 3px 10px;
			margin-left: 10px;
		}

		/* social fixed */
		.socialFixed {
			position: fixed;
			left: 0;
			top: 250px;
			z-index: 99999;
		}

		.socialFixed .socialTools {
			float: none;
			opacity: 0.7;
			transition: opacity 0.5s;
		}

		.socialFixed .socialTools:hover,
		.socialFixed .socialTools:focus {
			opacity: 1.0;
		}

		.socialFixed .socialTools a {
			width: 50px;
			text-align: right;
			font-size: 20pt;
			display: block;
			padding: 10px 10px 8px 10px;
			margin-bottom: 4px;
			color: white;
			opacity: 1;
			border-radius: 0 10px 10px 0;
			transition: width .5s;
			box-shadow: rgba(0, 0, 0, 0.5) 3px 3px 5px;
		}

		.socialFixed .socialTools a img {
			display: inline-block;
			width: 28px;
			vertical-align: middle;
		}

		.socialFixed .socialTools a:hover,
		.socialFixed .socialTools a:focus {
			width: 60px;
		}

		/* CEP Subscriptions Page */
		.box.SUBSCRIBE span.subscribetext {
			display: inline;
		}

		.box.SUBSCRIBE i.fa {
			display: none;
		}
	}

	@media (min-width:1400px) {
		.mainContent .box.B_BOXES.count3 .responsivebox,
		.mainContent .box.B_BOXES.count6 .responsivebox,
		.mainContent .box.B_BOXES.count7 .responsivebox,
		.mainContent .box.B_BOXES.count9 .responsivebox,
		.mainContent .box.B_BOXES.count12 .responsivebox,
		.mainContent .box.B_BOXES.count15 .responsivebox,
		.mainContent .box.B_BOXES.count18 .responsivebox,
		.mainContent .box.B_BOXES.count21 .responsivebox,
		.mainContent .box.B_BOXES.count24 .responsivebox,
		.mainContent .box.promotion.HA_Boxes.count3 .responsivebox,
		.mainContent .box.promotion.HA_Boxes_Top.count3 .responsivebox,
		.mainContent .box.promotion.HA_Boxes.count6 .responsivebox,
		.mainContent .box.promotion.HA_Boxes_Top.count6 .responsivebox,
		.mainContent .box.promotion.HA_Boxes.count9 .responsivebox,
		.mainContent .box.promotion.HA_Boxes_Top.count9 .responsivebox,
		.mainContent .box.promotion.HA_Boxes.count12 .responsivebox,
		.mainContent .box.promotion.HA_Boxes_Top.count12 .responsivebox,
		.mainContent .box.promotion.HA_Boxes.count15 .responsivebox,
		.mainContent .box.promotion.HA_Boxes_Top.count15 .responsivebox,
		.mainContent .box.promotion.HA_Boxes.count18 .responsivebox,
		.mainContent .box.promotion.HA_Boxes_Top.count18 .responsivebox,
		.mainContent .box.promotion.HA_Boxes.count21 .responsivebox,
		.mainContent .box.promotion.HA_Boxes_Top.count21 .responsivebox,
		.mainContent .box.promotion.HA_Boxes.count24 .responsivebox,
		.mainContent .box.promotion.HA_Boxes_Top.count24 .responsivebox {
			width: calc(33% - 15px);
		}

		.mainContent section.DIR_BUS.boxes.three > article,
		.mainContent section.DIR_BUS.boxes.four > article,
		.mainContent section.DIR_PER.boxes.three > article,
		.mainContent section.DIR_PER.boxes.four > article {
			margin: 10px;
			width: 30%;
			flex-basis: 30%;
			max-width: 30%;
		}
	}

	@media (min-width:1500px) {
		.fourcolumn {
			column-count: 4;
		}
	}

	@media (min-width:1900px) {
		.fourcolumn {
			column-count: 4;
		}

		.mainContent .calendarTable .eventTitle {
			font-size: 8pt;
		}

		.mainContent .calendarTable .long {
			display: inline;
		}

		.mainContent section.DIR_BUS.boxes.four > article,
		.mainContent section.DIR_PER.boxes.four > article {
			margin: 10px;
			width: 22%;
			flex-basis: 22%;
			max-width: 22%;
		}
	}
