html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	box-sizing: border-box;
}

button, input, select {
	box-sizing: border-box;
	font-family: inherit;
	font-size: 100%;
}

button {
	cursor: pointer;
}

td, th {
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}

ul, ol {
	list-style-type: none;
}

a,
a:visited {
	color: inherit;
	text-decoration: none;
}

/* ======================================================================
	Caught results (messages and errors)
====================================================================== */

.gst-caught {
	list-style-type: none;
	padding: 0;
}

.gst-caught li {
	background-color: #a0ffa0;
	border: 2px solid #008000;
	color: black;
	cursor: pointer;
	margin: 0.5em 0;
	padding: 0.5em;
}
.gst-caught li.gst-hover {
	background-color: #c0ffc0;
	border-color: #189818;
}

.gst-caught li.error {
	background-color: #ffa0a0;
	border-color: #800000;
}
.gst-caught li.error.gst-hover {
	background-color: #ffb0b0;
	border-color: #b03030;
}

.gst-caught li em {
	font-style: italic;
}

.gst-caught li strong {
	font-weight: bold;
}

.gst-caught .ui-icon {
	float: left;
	margin-top: 0.2em;
	margin-right: 0.2em;
}

/* ============================================================
	Admin Page Preview
============================================================ */

.preview-controls-wrap {
	color: #C5343B;
	font-size: 18px;
	text-align: center;
}

.preview-controls {
	margin: 0 auto;
	padding: 8px 0;
	width: 962px;
}


/* ============================================================
	In-Page Editing
============================================================ */

.edit-controls {
	position: relative !important;
	outline: 1px dashed #f00;
}

.edit-controls__actions {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 200;
}

.edit-controls__label {
	background: url('../../images/admin/gear.png') no-repeat scroll 5px center rgb(146, 26, 31);
	color: #fff;
	font-size: 10px;
	line-height: 15px;
	padding: 1px 10px 0 20px;
	text-transform: uppercase;
}

.edit-controls__action-list {
	background-color: white !important;
	box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5) !important;
	display: none !important;
	list-style-type: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.edit-controls__actions:hover .edit-controls__action-list {
	display: block !important;
}

.edit-controls__action-link {
	display: block !important;
	color: #C2262E !important;
	font-size: 12px !important;
	margin: 0 !important;
	padding: 10px !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
}
.edit-controls__action-link:hover {
	background-color: #C2262E !important;
	color: white !important;
}

body > .ui-dialog .cms-dialog .fb2_invariant {
	border-bottom: 1px solid black;
	margin-bottom: 0.5em;
	padding-bottom: 0.5em;
}

body > .ui-dialog .cms-dialog .fb2_invariant table {
	width: 100%;
}

body > .ui-dialog .cms-dialog .fb2_invariant table th {
	text-align: left;
}

body > .ui-dialog .cms-dialog .fb2_invariant table td {
	text-align: right;
}

body > .ui-dialog .cms-dialog .mceEditor {
	height: 350px;
}


/* ======================================================================
	Admin Bar (what?)
====================================================================== */

#admin-bar {
	background-color: white;
	color: #333;
	font-family: verdana, arial, helvetica, sans-serif;
	font-size: 12px;
	padding: 10px;
	line-height: 1.2;
	box-shadow: 0 0 8px rgba(0,0,0,.5);
}

#admin-bar a {
	color: #c0222d;
}

#admin-bar-inner {
	background: white url('../../images/admin/header-right.png') right bottom no-repeat;
	color: white;
	font-family: georgia, serif;
	margin-bottom: 5px;
}

#admin-bar-inner img {
	vertical-align: bottom;
}

#admin-bar h1 {
	position: absolute;
	top: 10px;
	right: 30px;
	color: #666;
	font-size: 1em;
	text-align: right;
	font-weight: normal;
}

#admin-bar #top_logout {
	position: absolute;
	top: 25px;
	right: 30px;
	text-align: right;
	color: #c0222d;
	font-family: arial, helvetica, sans-serif;
	font-size: .8em;
	text-decoration: none;
}

/* ============================================================
	Clearfix
============================================================ */

.clearfix:after {
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}


/* ============================================================
	Dynamic nav for tablet/phone view
============================================================ */

.dynamic-nav {
	position: relative;
	
	display: none;
}

.dynamic-nav-activate {
	cursor: pointer;
	display: block;
}

.dynamic-nav-expanded {
	position: absolute;
	top: 100%;
	z-index: 150;
	
	display: none;
}
.dynamic-nav.expanded .dynamic-nav-expanded {
	display: block;
}

.dynamic-nav-expanded h2 {
	position: relative;
}

.dynamic-nav-expanded h2 .dynamic-nav-back {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	
	cursor: pointer;
	display: block;
}

.dynamic-nav-expanded h2 .dynamic-nav-back span {
	position: absolute;
	height: 100%;
	width: 100%;
	
	display: block;
}

.dynamic-nav-expanded .dynamic-nav-list li.has-children {
	position: relative;
}

.dynamic-nav-expanded .dynamic-nav-list li.has-children .dynamic-nav-forward {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	
	cursor: pointer;
	display: block;
}

.dynamic-nav-expanded .dynamic-nav-list li.has-children .dynamic-nav-forward span {
	position: absolute;
	height: 100%;
	width: 100%;
	
	display: block;
}

/* ============================================================
	Really common styles
============================================================ */

.ui-widget {
	font-size: 0.9em;
}

.ui-tabs {
	border-width: 0;
}

.ui-tabs .ui-tabs-nav {
	background: transparent none;
	border-width: 0;
	padding: 0;
}

.ui-tabs .ui-tabs-panel {
	border: 1px solid #aaa;
	padding: 0.5em;
}

.pretty {
	border: 1px solid #b0b0b0;
	box-shadow: 0 0 4px #b9b9b9;
	padding: 4px;
}

/* ============================================================
	Module - Directory
============================================================ */

.directory__item {
	overflow: auto;
}

.directory__photo {
	float: right;
}

/* ============================================================
	Module - Events
============================================================ */

.events__list {
	list-style-type: none;
}

.events__title {
	text-decoration: none;
}

.events__date {
	display: block;
}

.events__short-details {
	margin-top: 0.5em;
}

/* ============================================================
	Module - FAQs
============================================================ */

.faqs__list {
	list-style-type: none;
}

.faqs__item {
	margin: 1em 0;
}

.faqs__question {
	font-weight: bold;
}

/* ============================================================
	Module - Forms
============================================================ */

.forms__form-list {
	list-style-type: none;
}

.forms__contact-field-list {
	list-style-type: none;
}

.forms__question-list {
	list-style-type: none;
}

/* ============================================================
	Module - Gallery
============================================================ */

.gallery__wrap {
	border: 1px solid #b0b0b0;
}

.gallery__item {
	padding: 8px;
}

.gallery__item-image {
	display: block;
}

.gallery__control-wrap {
	display: none;
	margin: 4px auto;
	overflow: auto;
	width: 100px;
}
.gst-gallery-active .gallery__control-wrap {
	display: block;
}

.gallery__control {
	background-position: left top;
	background-repeat: no-repeat;
	cursor: pointer;
	float: left;
	height: 28px;
	text-indent: -9000px;
}
.gallery__control__previous {
	background-image: url("../../images/gallery-previous.gif");
	width: 51px;
}
.gallery__control__previous:hover {
	background-position: left -28px;
}
.gallery__control__next {
	background-image: url("../../images/gallery-next.gif");
	width: 49px;
}
.gallery__control__next:hover {
	background-position: left -28px;
}

/* ============================================================
	Module - Locations
============================================================ */

.locations__map {
	border: 1px solid black;
	height: 300px;
}

.locations__list {
	list-style-type: none;
}

.locations__wrap #adp-placemark td,
.locations__wrap .adp-placemark td {
	padding: 0.25em;
	vertical-align: middle;
}

.locations__wrap #adp-placemark .adp-marker,
.locations__wrap .adp-placemark .adp-marker {
	display: block;
}

/* ============================================================
	Module - News
============================================================ */

.news__list {
	list-style-type: none;
}

.news__item {
	overflow: auto;
}

.news__thumbnail {
	float: left;
	margin: 0 1em 1em 0;
}

.news__link {
	text-decoration: none;
}

/* ============================================================
	Module - Page Headers
============================================================ */

.page-headers__list {
	list-style-type: none;
}

.page-headers__item {
	position: relative;
	width: 100%;
}
.page-headers__item + .page-headers__item {
	display: none;
}
.page-headers__item.cycle-sentinel + .page-headers__item.cycle-slide {
	display: block;
}

.page-headers__link {
	display: block;
}

.page-headers__image {
	display: block;
	height: auto;
	width: 100%;
}

.page-headers__description {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}

/* ============================================================
	Nav
============================================================ */

.nav__list {
	position: absolute;
	left: 100%;
	top: 0;
	z-index: 300;
	
	display: none;
}
.nav__clamp__right > .nav__list {
	left: auto;
	right: 100%;
}
.nav__list__level-1 {
	position: static;
	display: block;
}
.nav__list__level-2 {
	left: 0;
	top: 100%;
}
.nav__clamp__right > .nav__list__level-2 {
	right: 0;
}

.nav__item {
	position: relative;
}
.nav__item__level-1 {
	display: inline-block;
}

.nav__item:hover > .nav__list,
.nav__item__open > .nav__list {
	display: block;
}

.nav__link {
	display: block;
}

/* ============================================================
	Main Content
============================================================ */

.cms-content img {
	margin: 1em;
}

.cms-content img[style="float: left;"] {
	margin: 1em 1em 1em 0;
}

.cms-content img[style="float: right;"] {
	margin: 1em 0 1em 1em;
}

.cms-content ul {
	list-style-type: disc;
}

.cms-content ol {
	list-style-type: decimal;
}

/* ============================================================
	Footer
============================================================ */

.footer__inner {
	padding: 1em;
	text-align: center;
}

.footer__inner a {
	text-decoration: none;
}
