:root {
	--default-space: .5em;
	--img-right-margin: 1em;
	--img-left-margin: 1em;
	--input-focus-color: #207ab7;
	--cms-accent-color: #efefef;
	--calendar-accent-color: #3a87ad;
	--slideshow-arrow-font-size: 20px;
	--slideshow-accent-color: black;
	--slideshow-caption-color: white;
}

html { scroll-behavior: smooth; }

/* HTML ELEMENTS */
html * {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	min-width: 0;
}

a { color: inherit; }

a.no-link { cursor: default; }

a[href^="tel:"] { white-space: nowrap; }

i, em.mdi { font-style: normal; }

table, .table { border-collapse: collapse; }

table, th, td {
	font-family: inherit;
	font-size: inherit;
	color: inherit;
}

th, .th, td.main-column {
	font-weight: bold;
	text-align: start;
}

.table { display: table; }

.thead { display: table-header-group; }

.tbody { display: table-row-group; }

.tr { display: table-row; }

.td, .th {
	display: table-cell;
	vertical-align: middle;
}

.copy :is(td, th) { padding: var(--default-space); }

blockquote { display: block flow-root; }

blockquote figcaption {
	font-style: normal;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 1rem;
}

p,
blockquote,
.copy ol,
.copy ul,
.post-container:not(.card),
.quote-container:not(.card),
#site_hours_container { margin-bottom: 1em; }

.copy img:not(.no-style),
.copy iframe,
.copy table,
.copy .slideshow,
.copy figure.image { margin: var(--default-space); }

.copy .socialmedia iframe { margin: 0; }

p:last-child,
blockquote:last-child,
.copy ol:last-child,
.copy ul:last-child,
.post-container:not(.card):last-child,
.quote-container:not(.card):last-child,
.copy ol ol,
.copy ul ul,
.copy ol ul,
.copy ul ol { margin-bottom: 0; }

h1, h2, h3, h4 { margin-bottom: var(--default-space); }

small { font-size: .9em; }

iframe, img, .slideshow, figure {
	border: 0;
	vertical-align: middle;
}

.copy img { object-fit: cover; }

ul { list-style-type: disc; }

ul ul { list-style-type: circle; }

ul ul ul { list-style-type: square; }

ol { list-style-type: decimal; }

ol ol { list-style-type: upper-alpha; }

ol ol ol { list-style-type: upper-roman; }

mark, .mark {
	background-color: #faa !important;
	color: black;
}

.noty_text a,
mark a,
.mark a,
.warning a,
.information a,
.dialog-info a {
	color: inherit !important;
	text-decoration: underline !important;
}

.noty_text strong { color: inherit !important; }

.form-asterisk::before {
	color:red;
	content: '*';
}

figure {
	display: inline-block;
	border: thin solid;
	padding: 8px;
	text-align: center;
}

figure.image.align-left { float: left; }

figure.image.align-right { float: right; }

figure.image.align-center {
	display: table;
	margin-left: auto;
	margin-right: auto;
}

figcaption { margin-top: 8px; }

/* END HTML ELEMENTS */

/* columns layout */
.columns {
	display: table;
	width: 100%;
}

.col {
	display: table-cell;
	vertical-align: middle;
	padding-right: var(--default-space);
}

.col:last-child { padding-right: 0; }

.col-0 { width: 0; } /* for collapsing down to fixed child width */

.col-1 { width: 8.33333333%}

.col-2 { width: 16.66666666%; }

.col-3 { width: 25%; }

.col-4 { width: 33.33333333%; }

.col-5 { width: 41.66666666%; }

.col-6 { width: 50%; }

.col-7 { width: 58.33333333%; }

.col-8 { width: 66.66666666%; }

.col-9 { width: 75%; }

.col-10 { width: 83.33333333%; }

.col-11 { width: 91.66666666%; }

.col-12 { 
	min-width: 100%;
	max-width: 100%;
	/* 100% width of inputs inside table-cells allows container to overflow on Safari */
} /* for expanding to fill up to .col-0 elements */

/* Form fields */
input, select, textarea, .input {
	min-height: 36px;
	color: #333;
	border-radius: var(--default-space);
	border: thin solid #c5c5c5;
	transition: border linear .2s, box-shadow linear .2s;
	padding: 4px;
}

select { cursor: pointer; }

input[type=checkbox],
input[type=radio] {
	min-height: 0;
	height: 16px;
	width: 16px;
}

input[type=file],
input[type=image] { border-color: transparent; }

textarea {
	font-family: Helvetica, Arial, sans-serif !important;
	overflow: auto;
}

textarea.autosize { resize: none; }

.input.StripeElement {
	display: flex;
	align-items: center;
}

.input.StripeElement .__PrivateStripeElement { width: 100%; }

input:focus,
select:focus,
textarea:focus,
.input:focus,
.input.StripeElement--focus {
	outline: none;
	border-color: var(--input-focus-color);
	box-shadow: 0 0 0 1px var(--input-focus-color);
}

input[type=file]:focus, 
input[type=image]:focus { border-color: var(--input-focus-color); }

input[type=checkbox]:focus,
input[type=radio]:focus {
	box-shadow: none;
	outline: 2px solid var(--input-focus-color);
}

.formgroup .tox-tinymce { border-radius: var(--default-space); }

:focus::placeholder { opacity: .5; }

input.mark,
select.mark,
textarea.mark,
.input.mark { border-color: red !important; }

input.mark:focus,
select.mark:focus,
textarea.mark:focus,
.input.mark:focus,
.input.mark.StripeElement--focus { box-shadow: 0 0 0 1px red !important; }

fieldset {
	margin-top: var(--default-space);
	padding: .5em 1em 1em;
	border-radius: 1em;
	border: 2px solid #c5c5c5;
}

fieldset + .formgroup, .ui-dialog fieldset + .formgroup { margin-top: var(--default-space); }

legend { padding: 0 var(--default-space); }

.ui-dialog legend input:first-child:is([type=checkbox],[type=radio]) { margin-left: 0; }

/* make TinyMCE inputs match */
.tox-listbox--select,
.tox-textfield,
.tox-selectfield select { border-radius: var(--default-space) !important; }

.tox-listbox--select:focus,
.tox-textfield:focus,
.tox-selectfield select:focus { box-shadow: 0 0 0 1px var(--input-focus-color) !important; }

button:disabled {
	opacity: 0.5;
	cursor: default;
}

.cms-form input:not([type=checkbox], [type=radio]),
.cms-form select,
.cms-form textarea,
.cms-form .input { width: 100%; }

.cms-form select { height: 36px; /* Force 36px height for Safari */ }

.cms-form input,
.cms-form select,
.cms-form textarea,
.cms-form .input,
.cms-form .form-element,
.cms-form .tox-tinymce { margin-top: var(--default-space); }

.cms-narrow {
	width: 100%;
	max-width: 20em;
}

.formgroup {
	text-align: left;
	display: block;
	margin-top: 1.2em;
}

.label {
	display: block;
	text-align: left;
	line-height: normal !important;
}

.invisilabel {
	position: fixed;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

.right-label { float: right; }

.right-label input { margin-top: initial !important; }

.advanced-names .col { vertical-align: baseline; }

.p-ph, .p-ph-right { /* (persistent placeholder) */
	position: absolute;
	font-size: initial;
	color: darkgray;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	left: 5px;
	right: 5px;
}

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

/* end form fields */

#account_menu li { white-space: nowrap; }

#logo img, #title img {
	width: auto;
	height: auto;
}

.slogan, .marquee, nav, .page, .sidebar { position: relative; }

.site_contact {
	display: table;
	white-space: nowrap;
}

.site_contact_cell { display: table-cell; }

.site_contact .mdi { padding-right: .3em; }

.site_contact_content { white-space: normal; }

.site_contact + .site_contact { margin-top: var(--default-space); }

.site_address_line2 { display: block; }

/*hide "Hours" subtitle on contact page if empty (after visibility filter applied)*/
#site_hours_container:not(:has(> .site_hours)) { display: none; }

.clear { clear: both; }

.has-pg-calendar #fancybox-overlay, .has-pg-single_event #fancybox-overlay { z-index: 10000; }
.has-pg-calendar #fancybox-wrap, .has-pg-single_event #fancybox-wrap { z-index: 10001; }

.cms-button {
	background-color: #f7f7f7;
	border: 0;
	border-radius: 2px;
	color: #212121;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	font: 500 14px Roboto, 'Droid Sans', arial, sans-serif;
	padding: 8px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color .2s, box-shadow .2s;
	white-space: nowrap;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .37);
}

.cms-button:hover:enabled, .cms-button:focus:enabled {
	background-color: #ebebeb;
	box-shadow: 0 2px 2px rgba(0, 0, 0, .2), 0 6px 10px rgba(0, 0, 0, .3);
}

.cms-button:active:enabled {
	background-color: #ddd;
	box-shadow: 0 11px 7px rgba(0, 0, 0, .19), 0 13px 25px rgba(0, 0, 0, .3);
}

.cms-button.shorter {
	height: 28px;
	padding: 0 8px;
}

.lfab {
	float: left;
	font-family: Helvetica, Arial, sans-serif !important;
	font-size: 16px;
	font-weight: bold !important;
	text-decoration: none !important;
    position: sticky;
    z-index: 4;
    bottom: 15px;
    border-radius: 2em;
	background-color: white !important;
	color: #222f3e !important;
	height: 56px;
	line-height: 56px;
	padding: 0 1em;
    box-shadow: 0 0 4px rgb(0 0 0 / 14%), 0 4px 8px rgb(0 0 0 / 28%);
	opacity: 1 !important;
}

.lfab:hover, .lfab:focus {
	box-shadow: 0 0 6px rgba(0, 0, 0, .16),0 6px 12px rgba(0, 0, 0, .32);
	outline: none;
	background-color: #efefef !important;
}

.lfab:active {
	background-color: #555c66 !important;
	color: white !important;
}

/* actions which appear in the top right corner of content */
.hoverbuttons {
	all: initial;
	display: none;
	position: absolute;
	text-align: right;
	font-size: 15px;
	z-index: 6;
	top: 3px;
	right: 3px;
}

a.hoverbuttons, .hoverbuttons a {
	all: initial;
	display: inline-block;
	cursor: pointer; /* add pointer cursor even when there is no href attribute */
	width: 30px;
	height: 30px;
	line-height: 30px;
	border-radius: 50%;
	background-color: white;
	box-shadow: 0 0 4px rgba(0, 0, 0, .14), 0 4px 8px rgba(0, 0, 0, .28);
	text-align: center;
	color: black !important;
}

a.hoverbuttons:hover,
.hoverbuttons a:hover { box-shadow: 0 0 6px rgba(0, 0, 0, .16),0 6px 12px rgba(0, 0, 0, .32); }

/* dim hoverbutton action icons */
.hoverbuttons i, #pin_admin i { opacity: .54; }

.hoverbuttons i i, #pin_admin i i { opacity: 1; }

/* un-dim hoverbutton action icons when hovering over them */
.hoverbuttons a:hover i, #pin_admin:hover i { opacity: 1; }

.mdi { font-size: 1.2em; }

.mdi-checkbox-marked-circle { color: green; }

.border, hr { border: thin dotted; }

hr {
	border-style: none none dotted;
	margin: 1em;
	clear: both;
}

div.border { padding: var(--default-space); }

.two-column, .three-column, .four-column, .five-column, .six-column {
	column-width: 7.5em;
	column-gap: 1em;
}

.two-column { column-count: 2; }

.three-column { column-count: 3; }

.four-column { column-count: 4; }

.five-column { column-count: 5; }

.six-column { column-count: 6; }

.two-column > label { display: block; } /* forces two columns when only two labels exist and .no-overflow isn't applied to them */

.horizontal-scroll-wrapper {
	display: block;
	overflow-x: auto;
	clear: both;
	margin: var(--default-space) 0;
}

table.horizontal-scroll {
	word-break: initial;
	margin: 0;
}

.table-sort th.sortable > div::after {
	font-family: 'Material Design Icons';
	content: '\F0045'; /* arrow-down (placeholder) */
	visibility: hidden;
}

.table-sort th.sortable > div:hover { cursor: pointer; }

.table-sort th.sortable > div:hover::after {
	visibility: visible;
	opacity: .5;
}

.table-sort th.sortable.tablesorter-headerAsc > div::after {
	content: '\F0045'; /* arrow-down */
	visibility: visible;
}

.table-sort th.sortable.tablesorter-headerDesc > div::after {
	content: '\F005D'; /* arrow-up */
	visibility: visible;
}

.table-sort th.sortable.tablesorter-headerAsc > div:hover::after { content: '\F005D'; /* arrow-up */ }

.table-sort th.sortable.tablesorter-headerDesc > div:hover::after { content: '\F0045'; /* arrow-down */ }

.page_details {
	float: right;
	clear: right;
	text-align: right;
	line-height: 1em;
	display: block;
	margin-bottom: .5em;
}

.comment-wrapper { margin-top: var(--default-space); }

.comments {
	width: 100%;
	padding: .5em;
	font: inherit;
	background-color: var(--cms-accent-color);
	border-radius: var(--default-space);
	min-height: 36px;
	border: 1px solid #c5c5c5;
}

textarea.comments { background-color: white; }

.comments::placeholder { opacity: .75; }

.custom_button {
	display: inline-block;
	font-size: 0.8em;
	font-weight: bold;
	text-transform: uppercase;
	transition: all .3s ease-in-out;
	text-decoration: none !important;
	transition-duration: .5s;
	border: thin solid;
	padding: 1em 1.5em;
	margin: 2.5px;
}

.custom_button:hover, .custom_button:active { background-color: var(--cms-accent-color); }

.material-design {
	clear: both;
	width: 100%;
	text-align: left;
	white-space: nowrap;
	box-sizing: border-box !important;
	margin: var(--default-space) 0 !important;
}

.material-design thead {
	position: sticky;
	top: 0;
	z-index: 1;
	background-color: var(--cms-accent-color);
}

.material-design tbody tr { border-bottom: thin solid var(--cms-accent-color); }

.material-design tbody tr:first-child { border-top: thin solid var(--cms-accent-color); }

.material-design tbody tr:hover,
.material-design tbody tr:focus-within,
.material-design tbody tr.loaded { background-color: var(--cms-accent-color); }

.material-design :is(td, th) {
	padding: 0 0.5em;
	height: 3.5em;
}

.material-design :is(td, th):first-child { padding-left: 1em; }

.material-design :is(td, th):last-child { padding-right: 1em; }

.material-design a { text-decoration: none; }

.material-design a:hover { text-decoration: underline; }

.material-design:not(:has(.icon-visibility-column > i)) .icon-visibility-column { display: none; }

.actions { text-align: right; }

.actions > * + * { margin-left: var(--default-space); }

.actions > a .mdi { opacity: .54; }

@media (any-hover: hover) and (any-pointer: fine) {
	.actions > a .mdi { visibility: hidden; }

	tr:hover > .actions > a .mdi,
	tr:focus-within > .actions > a .mdi,
	a.show-actions .mdi { visibility: visible; }
}

.actions > a .mdi:hover { opacity: 1; }

.material-mobile { display: none; }

.mobilewidth .material-design .material-mobile { display: inline; }

.mobilewidth .material-design .mobile-hide { display: none !important; }

.mobilewidth .material-design,
.mobilewidth .material-design tbody { display: block; }

.mobilewidth .material-design tbody tr {
	display: block;
	padding: calc(1.3em + 2 * var(--default-space)) 0 var(--default-space);
	position: relative;
}

.mobilewidth .material-design :is(td, th) {
	display: block;
	padding: var(--default-space);
	height: auto;
	line-height: 1.3em;
	text-align: left !important;
}

.mobilewidth .material-design :is(td, th):empty,
.mobilewidth .material-design thead { display: none; }

.mobilewidth .material-design .image-cell img,
.mobilewidth .material-design .image-cell .slideshow,
.mobilewidth .material-design .image-cell .slideshow_broken { max-width: 100%; }

.mobilewidth .material-design .icon-cell {
	position: absolute;
	top: 0;
	left: 0;
}

.mobilewidth .material-design .icon-cell:nth-of-type(2) { left: 1.5em; }

.mobilewidth .material-design td.actions {
	position: absolute;
	top: 0;
	right: 0;
}

.nowrap { white-space: nowrap; }

.no-overflow { min-width: 5em; }

.no-overflow .table {
	width: 100%;
	table-layout: fixed;
}

.no-overflow .td {
	overflow-wrap: normal;
	word-break: normal;
	overflow: hidden;
	text-overflow: ellipsis;
	padding: 0;
}

.page h1 a { text-decoration: none; }

.page h1 a:hover { text-decoration: underline; }

.copy {
	clear: both;
	overflow-wrap: break-word;
	word-break: break-word;
}

.copy img[style*="float: left;"],
.copy table[style*="float: left;"],
.copy iframe[style*="float: left;"],
.copy .slideshow[style*="float: left;"],
figure.image.align-left {
	margin-right: var(--img-right-margin);
	margin-left: 0;
}

.copy img[style*="float: right;"],
.copy table[style*="float: right;"],
.copy iframe[style*="float: right;"],
.copy .slideshow[style*="float: right;"],
figure.image.align-right {
	margin-left: var(--img-left-margin);
	margin-right: 0;
}

.copy figure.image img { float: none !important; } /* prevent floating of image within figure */

.no-style, .slideshow img, figure img {
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
	background-color: transparent !important;
	margin: 0 !important;
}

.checker-background, #fancybox-img {
	background-color: white !important;
	background-image: linear-gradient(45deg, lightgray 26%, transparent 25%, transparent 76%, lightgray 75%),
		linear-gradient(45deg, lightgray 26%, transparent 25%, transparent 76%, lightgray 75%);
	background-position: 0 0, 10px 10px;
	background-size: 20px 20px;
}

nav li a[target=_blank]::after {
	content: ' \F03CC'; /* open-in-new */
	font-family: 'Material Design Icons';
	font-weight: normal !important;
}

/* add padding around images used in material-design tables */
.image-cell {
	padding-top: 5px !important;
	padding-bottom: 5px !important;
}

.image-cell img, .image-cell .slideshow, .image-cell .slideshow_broken {
	max-width: 200px;
	height: auto;
}

/* clearfixes */
blockquote::after,
.clearfix::after,
.copy::after,
.cms-form::after,
.label::after,
.cards::after {
	content: '';
	display: table;
	clear: both;
}

/* responsive stuff */
.copy:not(.editable) img:not(.no-style), .copy:not(.editable) iframe { max-width: 100%; }

.copy:not(.editable) .slideshow { width: 100%; }

/* allow hardcoded CMS images to scale proportionately to their intrinsic dimensions */
.copy:not(.from-db) img:not(.no-style) { height: auto; }

/* set borders outside of the dimensions of block objects */
.copy img, .copy iframe, .copy table, .copy .slideshow { box-sizing: content-box; }

/* revert box-sizing for fancybox so it centers properly */
#fancybox-wrap, #fancybox-wrap * { box-sizing: content-box; }

/* center block elements when they occupy most of the .copy width (gets applied dynamically by functions.js) */
.center-block {
	margin-left: auto !important;
	margin-right: auto !important;
	float: none !important;
}

.center-block:not(.slideshow) { display: table !important; }

.center-block.slideshow { display: block !important; }

.copy ul, .copy ol {
	overflow: hidden; /* prevents bullets from falling behind float:left elements */
	padding-left: 2em;
	margin-top: var(--default-space);
}

.copy li { margin: var(--default-space) 0; }

.copy li:first-child { margin-top: 0; }

.select_bar ul {
	display: inline;
	margin-left: 5px;
	padding-left: 0;
}

.select_bar li {
	list-style: none;
	display: inline;
}

.select_bar li + li::before { content: ' | '; }

.copy .select_bar a.current {
	display: inline-block;
	padding: .25em;
	background-color: var(--cms-accent-color);
}

.blog-details { clear: both; }

.cards {
	margin-top: 10px;
	margin-bottom: 10px;
	padding: 10px 10px 0;
	background-color: var(--cms-accent-color);
	box-shadow: inset 0 1px 2px rgba(0,0,0,0.2);
	border-radius: 20px;
}

.card {
	margin-bottom: 10px;
	background-color: white;
	border-radius: 15px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.2);
	padding: 15px;
}

.sidebar .card {
	display: block;
	width: auto;
	max-width: none;
}

#contact_form { display: inline-block; }

/* loading animation elements */
.loading {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background-color: rgba(255, 255, 255, .5);
	z-index: 2;
}

.loading svg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#loading {
	display: none;
	z-index: 10001;
	position: fixed;
}

/* strikeout for broken links */
.broken-link { text-decoration: line-through !important; }

.broken-link img { cursor: not-allowed; }

/* PhotoBox defaults */
#PhotoBox, .preview_PhotoBox {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4;
}

#photospot,
.preview_photospot,
.box-hero-image {
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

#photocaption,
.preview_photocaption,
.box-hero-caption {
	position: absolute;
	left: 0px;
	bottom: 0px;
	width: 100%;
	padding: 5px 10px;
	opacity: 0.8;
	background: var(--slideshow-accent-color);
	color: var(--slideshow-caption-color);
}

/* Boxes */
.boxes {
	margin-top: calc(2 * var(--default-space));
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: 2em;
}

.box-hero { 
	position: relative;
	overflow: hidden;
	margin-bottom: 1em; 
}

.box-hero-image { aspect-ratio: 1; }

.box.ui-sortable-helper {
	transform: rotate(3deg);
	backdrop-filter: blur(10px);
}

.boxes.ui-sortable .box:before {  /* wiggle room for single-row contained boxes  */
	content: '';
    width: 100%;
    height: calc(100% + 0.5em);
    top: 0;
    left: 0;
    position: absolute;
	z-index: -1;
}

.boxes .content { position: relative; }

@media screen and (min-width: 767px) {
	.boxes.boxes-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.boxes.boxes-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	
	.boxes.boxes-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* PLUGINS */
.fake-masonry, /* used in edit_quote.php*/
.masonry {
	margin-left: -5px;
	margin-right: -5px;
	clear: both;
}

.fake-masonry.cards, /* used in edit_quote.php*/
.masonry.cards {
	padding-left: 5px;
	padding-right: 5px;
	margin-left: 0;
	margin-right: 0;
}

.brick {
	margin: 0 5px 10px;
	display: inline-block;
	vertical-align: top;
	width: calc(100% - 10px);
	max-width: clamp(350px, 18em, 400px);
}

.cards:not(.fake-masonry) .brick { width: calc(100% - 20px); }

/* jquery accordion */
.accordion { text-align: left; }

.accordion > h1, .accordion > h2, .accordion > h3 { cursor: pointer; }

.accordion .tabs { margin: var(--default-space) 0; }

.ui-tabs-active a {
	padding: 3px;
	background-color: #dddddd;
}

.tabs-nav-container { margin-top: var(--default-space); }

.tabs-nav-container .next-tab::after,
.tabs-nav-container .prev-tab::before {
	font-family: 'Material Design Icons';
	font-size: 1.3em;
}

.tabs-nav-container .next-tab::after { content: ' \F0142'; } /* chevron-right */

.tabs-nav-container .prev-tab::before { content: '\F0141 '; } /*chevron-left */

.ui-tabs-panel .tabs-nav-container::after {
	content: '';
	clear: both;
	display: block;
}

.ui-tabs-panel .next-tab { float: right; }

.ui-accordion-header::before {
	font-family: 'Material Design Icons';
	content: '\F0140'; /* chevron-down */
	font-size: 1.5em;
	vertical-align: middle;
}

.accordion .ui-accordion-header-active::before { content: '\F0143'; } /* chevron-up */

/* Tooltips */
.ttbubble { display: none; }

.tooltip > sup {
	vertical-align: top;
	font-size: 0.6em;
	line-height: inherit;
	position: static;
}

.tippy-box {
	box-shadow: 0 2px 15px rgba(0, 0, 0, .3);
	padding: var(--default-space);
	/* resets */
	white-space: normal;
	text-align: left;
	font-weight: normal;
	font-size: initial;
	background-color: white;
	color: black;
}

.tippy-box[data-placement^='top'] > .tippy-arrow::before { border-top-color: white; }

.tippy-box[data-placement^='bottom'] > .tippy-arrow::before { border-bottom-color: white; }

.tippy-box[data-placement^='left'] > .tippy-arrow::before { border-left-color: white; }

.tippy-box[data-placement^='right'] > .tippy-arrow::before { border-right-color: white; }

.tippy-content > i:not(.mdi), #password_parent > .ttbubble > i:not(.mdi) {
	font-weight: bold;
	display: block;
	padding: .2em 0 .6em;
	font-style: italic;
}

.tippy-content > i + i {
	margin-top: var(--default-space);
	border-top: 1px dotted;
}

/* jQuery datepicker */
.ui-datepicker-calendar .ui-state-default { color: #353535; }

#ui-datepicker-div { line-height: normal; }

/* jQuery UI dialog elements */
.ui-widget-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, .8);
}

.ui-dialog {
	position: absolute !important;
	z-index: 999;
	background-color: white;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
	color: #222f3e;
	line-height: normal;
	text-shadow: none !important;
	text-align: left;
	width: calc(100vw - 50px) !important;
	max-width: 482px;
    box-shadow: 0 16px 16px -10px rgb(34 47 62 / 15%), 0 0 40px 1px rgb(34 47 62 / 15%);
	border: thin solid #ccc;
	border-radius: 3px;
	letter-spacing: normal;
	font-size: 16px;
	font-weight: normal;
}

.ui-dialog h1, .ui-dialog h2, .ui-dialog h3 {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
	margin: var(--default-space) 0;
	text-transform: none;
	font-weight: bold;
	padding: 0;
}

.ui-dialog h1 { font-size: 20px; }

.ui-dialog h2 { font-size: 18px; }

.ui-dialog h3 { font-size: inherit; }

.ui-dialog-content {
	min-height: 0 !important;
	max-height: calc(100vh - 89px) !important; /* account for height of titlebar */
	overflow: auto;
}

.ui-dialog .label {
	color: rgba(34,47,62,.7);
	font-weight: normal;
	font-size: 14px;
	line-height: 1.3 !important;
}

.ui-dialog label { white-space: nowrap; }

.ui-dialog .col { padding-right: 5px; }

.ui-dialog .col:last-of-type { padding-right: 0; }

.ui-dialog table { margin: 0; }

.ui-dialog:focus { outline: none; }

.ui-dialog a, .ui-dialog a:hover, .ui-dialog a:focus { color: inherit; }

.ui-dialog input:not([type=checkbox], [type=radio]),
.ui-dialog select,
.ui-dialog textarea,
.ui-dialog .input {
	width: 100%;
	font-family: inherit;
	font-size: 16px;
}

.ui-dialog input,
.ui-dialog select,
.ui-dialog textarea,
.ui-dialog .input { margin-top: 0; }

.ui-dialog input[type=checkbox],
.ui-dialog input[type=radio] {
	margin: 8.5px;
	margin-right: 6px;
	position: relative;
	top: 1px;
}

.ui-dialog p {
	margin: unset;
	line-height: normal;
	font-family: unset;
}

.ui-dialog small { font-size: .9em; }

.ui-dialog .formgroup {
	margin-top: 0;
	margin-bottom: 5px;
}

.ui-dialog button { cursor: pointer; }

.ui-dialog-titlebar {
	display: flex;
	cursor: grab;
	padding: 8px 16px 10px;
}

.ui-dialog-title {
	font-size: 20px;
	flex: 1 1 auto;
	white-space: nowrap;
	overflow-x: hidden;
	text-overflow: ellipsis;
}

.ui-button {
	flex: 0 0 auto;
	overflow: hidden;
	width: 34px;
	height: 32px;
	border-radius: 3px;
	font-weight: bold;
	line-height: 32px;
	border: none;
	padding: 0;
	background-color: transparent;
}

.ui-button:hover { background-color: #e3e3e3; }

.ui-icon-closethick::before {
	font-family: 'Material Design Icons';
	font-size: 18px;
	content: '\F0156'; /* close */
}

/* hide "close" text on dialog close button */
.ui-dialog-titlebar-close .ui-button-text { display: none; }

/* custom class to make dialog fixed */
.ui-dialog-fixed { position: fixed !important; }

/* prevent dialog elements from displaying before JS loads */
.dialog { display: none; }

/* make our added sections of the dialog match TinyMCE */
.dialog-content { padding: 16px !important; }

.dialog-content p {
	color: inherit;
	font-size: inherit;
}

.dialog-content .formgroup:last-of-type { margin-bottom: 0; }

.dialog-info {
	display: inline-block;
	background-color: #d9edf7;
	border: thin solid #779ecb;
	border-radius: var(--default-space);
	padding: 10px;
	margin-top: 10px;
	color: black;
	text-shadow: none !important;
	text-align: left;
}

.dialog .dialog-info, .cms-narrow .dialog-info, .brick .dialog-info { display: block; }

.page .dialog-info a, .sidebar .dialog-info a { font-weight: normal; }

.dialog-info a { color: #779ecb !important; }

.dialog-info.dialog-warning {
	background-color: #ffeaa8;
	border-color: #ffc237;
}

.dialog-info.dialog-warning a { color: #ffc237; }

.dialog-check-label { font-size: 16px; }

.dialog-footer {
	clear: both;
	text-align: right;
	padding: 8px 16px;
	border-top: thin solid #ccc;
}

.dialog-content .custom_button,
.dialog-footer button {
	font-family: inherit;
	font-size: 14px;
	font-weight: bold;
	border: none;
	padding: 7px 16px;
	min-width: 50px;
	background-color: #f0f0f0;
	border: thin solid #f0f0f0;
	border-radius: 3px;
	color: #222f3e;
	margin-left: 3.5px;
}

.dialog-footer button:focus,
.dialog-footer button:hover {
	background-color: #e3e3e3;
	border-color: #e3e3e3;
	outline: none;
}

.dialog-footer button[type=submit], .dialog-footer button.submit {
	background-color: #207ab7;
	border-color: #207ab7;
	color: white;
}

.dialog-footer button[type=submit]:hover, .dialog-footer button[type=submit]:focus {
	background-color: #1c6ca1;
	border-color: #1c6ca1;
}

/* Nivo Slider */
.slideshow {
	overflow: hidden;
	display: block;
	position: relative;
}

.nivoSlider {
	z-index: 0; /* contain transition layers within nivoSlider z-index scope */
	/* (width of 100% is already set by nivoSlider plugin) */
	height: 100% !important;
	position: absolute !important;
	left: 0;
}

/* revert on nivoSlider's transition boxes and slices the responsive max-width applied to .copy img */
.copy:not(.editable) .nivo-slice img, .copy:not(.editable) .nivo-box img { max-width: none; }

.nivo-directionNav {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
}

.slideshow .nivo-directionNav a {
	top: auto;
	opacity: 0;
	font-size: 0;
	line-height: 0;
	border-radius: 100%;
	display: block;
	background-color: var(--slideshow-accent-color);
	color: var(--slideshow-caption-color);
	border: 2px solid var(--slideshow-caption-color);
	padding: 5px;
	text-decoration: none !important;
	overflow: hidden; /* prevent transparent portions of oversized icons from overflowing parent */
}

.slideshow:hover .nivo-directionNav a {
	letter-spacing: initial;
	opacity: 0.5;
}

.slideshow .nivo-directionNav a:hover { opacity: 0.8; }

a.nivo-prevNav { left: 15px; }

a.nivo-nextNav { right: 15px; }

a.nivo-prevNav::before, a.nivo-nextNav::before {
	font-family: 'Material Design Icons';
	font-size: var(--slideshow-arrow-font-size);
	line-height: var(--slideshow-arrow-font-size);
}

a.nivo-prevNav::before { content: '\F0731'; } /* left-arrow-bold */

a.nivo-nextNav::before { content: '\F0734'; } /* right-arrow-bold */

.slideshow .nivo-caption {
	background-color: var(--slideshow-accent-color);
	color: var(--slideshow-caption-color);
	pointer-events: none; /* prevent captions from obstructing slide links */
}

.slideshow_broken {
	background-color: var(--cms-accent-color);
	outline: thin solid black;
	color: #444;
	display: flex !important;
	justify-content: center;
	align-items: center;
	font-family: Helvetica, Arial, sans-serif !important;
	font-size: 16px;
}

/* Google custom search */
.gsc-inline-block, .gsc-search-button { box-sizing: content-box; }

.gsc-adBlock { display: none !important; }

/* Google ReCAPTCHA */
.g-recaptcha iframe {
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* social media buttons and counters */
.socialmedia {
	all: initial;
	display: inline-block;
	vertical-align: middle;
	height: 20px;
	line-height: 1;
	margin-bottom: 2px;
	overflow-y: hidden;
	cursor: pointer;
}

.socialmedia .socialmedia { display: inline-block; }

.socialmedia + .socialmedia { margin-left: 4px; }

a.socialmedia {
	line-height: 20px;
	text-decoration: none !important;
}

a.socialmedia .mdi { vertical-align: middle; }

.page .socialmedia + .socialmedia { margin-left: 0; }

.facebook-buttons a {
	color: white !important;
	font-family: Helvetica, Arial, sans-serif !important;
	font-size: 11px !important;
	font-weight: bold !important;
	background-color: #1877f2;
	border-radius: 3px;
	padding: 0 10px 0 7px;
	position: relative;
}

.facebook-buttons a .mdi {
	font-size: 14px;
	position: relative;
	top: -1px;
	margin-right: 2px;
}

.facebook-buttons a:active::before {
	background-color: rgba(9, 30, 66, .3);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	display: block;
	content: '';
}

.twitter-buttons a {
	color: white !important;
	font-family: Helvetica, Arial, sans-serif !important;
	font-size: 12px !important;
	background-color: black;
	border-radius: 9999px;
    padding: 0 12px 0 12px;
	margin-right: .5px;
}

.twitter-buttons a .mdi::before { margin-top: -1px; }

.twitter-buttons a:active,
.twitter-buttons a:focus,
.twitter-buttons a:hover { background-color: #333; }

/* Site Identity */
#site-identity {
    display: flex;
    align-items: center;
    justify-content: center;
}

#logo { max-width: 40%; }

#logo img, #title img {
	max-height: 100px;
	max-width: 100%;
}

#title-and-slogan { flex: 1; }

#logo + #title-and-slogan { margin-left: 1em; }

#logo + #title-and-slogan #title { display: inline-block; }

#site-identity .slogan { margin-top: 0.2em; }
/* end site identity */

@media screen and (max-width: 767px) {
    #site-identity {
        display: block;
        text-align: center;
    }
	
    #logo { margin: 0.2em auto; }
	
    #logo + #title-and-slogan { margin-left: 0; }

	#logo + #title-and-slogan #title { margin-top: 0.2em; }
    
    header nav { min-width: auto; }
}

/* responsive modifications */
@media screen and (max-width: 640px) {
	.cms-narrow { max-width: initial; }
}

#bulk_select_all_mobile { display: none; }

.mobilewidth #bulk_select_all_mobile,
.grid-view #bulk_select_all_mobile { display: inline-flex; }

/* hide classes */
.hide, .print-only-inline, .print-only-block, .print-only-table-row { display: none; }

/* print modifications */
@media print {
	.print-only-inline { display: inline; }

	.print-only-block { display: block; }

	.print-only-table-row { display: table-row; }

	.no-print { display: none !important; }
}
