/* -----------------------------------------------------------------------------------------------------------------------
File Author:	Ryan Marincovich
Date Created:	2009.09.24
Client:         Archdiocese of Saint Paul/Minneapolis
File Purpose:	Framework style sheet
REVISIONS:
-------------------------------------------------------------------------------------------------------- */


/* ------------------------------  GLOBAL DEFS  -------------------------------------------------------- */

/* ------------------------------  RESETS  -------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-family: inherit;
	vertical-align: baseline;
}
/* remember to define focus styles! */
:focus {
	outline: 0;
}
body {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	color: #000000;
	height: 100%;
}
ol, ul {
	list-style: none;
	margin: 0 0 12px 0;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}
p { 
	padding: 0 0 12px 0; 
}
div.details {
	clear: left;
}
#columnFull div.details {
	width: 690px;
}
#columnFull .full-content {
	padding: 0 0 0 10px;
}
.details ol, .details ul {
	margin: 0 0 12px 30px;
}
.details ol {
	list-style: outside decimal;
}
.details ul {
	list-style: outside disc;
}
/* ------------------------------  END RESETS  ---------------------------------------------------- */

/* ------------------------------  GLOBAL IMG DEFS  ---------------------------- */
img {
	border: 0;
	display: block;
}
img.float-right {
	float: right;
}
img.float-left {
	float: left;
}
img.frame-overlay {
	position: absolute;
	top: 0;
}
/* ------------------------------  END GLOBAL IMG DEFS  ------------------------ */

/* ------------------------------  GLOBAL TEXT HEADER DEFS  ---------------------------- */
/* page header */
h1 {
	font-size: 1.125em;
	line-height: 1.375em;
}
h1.page-title {
	padding: 3px 0 15px 0;
	font-weight: bold;
}
h1.page-title-full { padding: 3px 0 15px 0; }
h1#Preview {
	margin-top: 5px;
	padding: 11px 0 9px 0;
	background: url(/_images/framework/mod-divider.gif) top left repeat-x;
}
h2.page-sub-title, h2.page-sub-title-full {
	padding: 3px 0 5px 0;
	font-weight: bold;
	font-size: 0.875em;
	line-height: 1em;
}
h2#SectionHeader {
	width: 100%;
	height: 30px;
}
h2#SectionHeader { background: url(/_images/framework/bg-section-header.gif) top left no-repeat; }
h2#SectionHeaderPlain { 
	height: 30px;
	padding: 0 0 10px 0; 
}
h2#SectionHeaderButton {
	width: 100%;
	height: 25px;
	padding: 0 0 10px 0; 
}
h2.section-extranet { float: left; }
/* header for 14 pt text */

/* normal font size 11px */
h3, h4, h5, .regular-text, ul#globalNavigation, p, .details ol, .details ul {
	font-size: 0.6875em;
	line-height: 1.375em;
}
h3.mod-header {
	width: 200px;
	height: 30px;
}
h3.text-header, h3.office-header {
	font-size: 0.875em;
	line-height: 1.125em;
	padding: 0 0 12px 0;
}
h3.office-header { padding-bottom: 1px; }
h3.grey-header {
	height: 30px;
	background: #f0f5f8 url(/_images/framework/mod-divider.gif) top left repeat-x;
}
h3#errorPageHeader { clear: left; }
h3.grey-header img, h3.blue-header img { margin: 0 auto; }
h3.plain { background-image: none; }
h3.grey-header img.rss-title { 
	margin: 0 0 0 9px;
	float: left; 
	display: inline;
}
h3.grey-header img.icon { 
	margin: 7px 10px 0 0;
	float: right; 
	display: inline;
}
.twoColFull h3.blue-header, .job-posting h3.grey-header { margin: 0 0 5px 0; }
.job-posting h3.grey-header { 
	width: 100%;
	float: left; 
}
h3.blue-text-header {
	padding: 4px 0 6px 0;
	text-align: center;
	background: #f0f5f8 url(/_images/framework/mod-divider.gif) top left repeat-x;
	color: #666;
	clear: left;
}
h4.attribute-header {
	width: 100%;
	margin: 10px 0 0 0;
	padding: 3px 0 4px 0;
	text-align: center;
	color: #666;
	float: left;
	background: #f0f5f8 url(/_images/framework/mod-divider.gif) top left repeat-x;
}
h4.career-header {
	padding: 3px 0 5px 0;
	font-weight: bold;
	font-size: 0.75em;
	line-height: .875em;
}
/* ------------------------------  END GLOBAL TEXT HEADER DEFS  ------------------------ */
/* --------------------------- LINK DEFS ----------------------------------- */
a { font-weight: bold; color: #c00; }
a, a:visited { text-decoration: none; }
a:hover, a:active { text-decoration: underline; }
a.opposite, a:visited.opposite { text-decoration: underline; }
a.opposite:hover, a.opposite:active { text-decoration: none; }
a.light { font-weight: normal; }
#siteControls a, #footer a, .mod-footer a, .sortable-table ul.header a { color: #fff; }
#tempContentNotice a { color: #c00; }
/* --------------------------- END LINK DEFS ------------------------------- */

/* --------------------------- TEXT DEFS ----------------------------------- */
p.page-text { padding: 6px 0 12px 0; }
.padded-text { font-size: 0.6875em; }
.form-text { padding: 16px 0 0 0; }
.form-text span, .dynamic-form-text span { color: #c00; }
.intro-text { padding: 0 0 0 10px; }
.no-records, .centered-text {
	padding: 6px 0 12px 0;
	text-align: center;
}
/* --------------------------- END TEXT DEFS ------------------------------- */

/* --------------------------- ERROR DEFS ---------------------------------- */
#errorPageContainer {
	padding: 0 20px;
}
.textError {
	width: 100%;
	font-size: 12px;
	font-weight: bold;
	color: #c00;
	background-color: #fee;
	padding: 0 0 10px 0;
}
.textError h1 {
	padding: 10px;
	font-size: 18px;
	font-weight: bold;
	color: #000;
	float: left;
}
.textError ul {	padding: 5px 10px; }
.textError a { text-decoration: underline; }
.textError a.back { padding: 0 10px; }
.textErrorSmall {
	font-size: 11px;
	padding: 5px;
	color: #c00;
}
.form-row-error, .form-error-alert {
	width: 100%;
	border-top: 1px solid #c00;
	border-bottom: 1px solid #c00;
	background: #fcc url(/_images/framework/error-form-left.gif) top left repeat-y;
	float: left;
}
.form-error-alert, .form-confirm-alert { margin: 0 0 15px 0; }
.form-error-mod, .form-error-mod-alert {
	background: url(/_images/framework/error-form-right.gif) top right repeat-y;
	float: left;
}
.form-error-mod { 
	width: 100%;
	padding: 0 0 5px 0; 
}
.form-error-mod-alert { 
	width: 680px;
	padding: 10px; 
}
span.error-message, div.error-message {
	color: #c00;
	padding: 0 0 0 25px;
	background-image: url(/_images/framework/error-form-icon.gif);
	background-position: top left;
	background-repeat: no-repeat;
	font-weight: bold;
	text-align: left;
	float: left;
}
div.error-message ul { 
	margin: 0; 
	padding: 6px 10px 7px 0;
}
.form-confirm-alert {
	width: 100%;
	border-top: 1px solid #390;
	border-bottom: 1px solid #390;
	background: #dafbca url(/_images/modules/confirm-form-left.gif) top left repeat-y;
	float: left;
}
.form-confirm-mod {
	width: 680px;
	padding: 10px;
	background: url(/_images/modules/confirm-form-right.gif) top right repeat-y;
	float: left;
}
span.confirm-message {
	padding: 11px 0 0 10px;
	text-align: left;
	float: left;
}
/* --------------------------- END ERROR DEFS ------------------------------ */

/* --------------------------- FIXES FOR IE6 ------------------------------ */
.clearfix:after {
     content: " "; 
     display: block; 
     height: 0; 
	 font-size: 0;
     clear: both; 
     visibility: hidden;
}
.clearfix {display: inline-block;}
/* Hides from IE-mac \*/

* html .clearfix {height: 1%;}
.clearfix {display: block;}

/* End hide from IE-mac */

* html img.frame-overlay { right: -1px; }
img.frame-overlay { right: 0; }

/* --------------------------- END FIXES FOR IE6 -------------------------- */

/* --------------------------- OVERLAY DEFS -------------------------- */
#mainOverlay {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	visibility: hidden;
	z-index: 900;
}
#overlayBG {
	width: 100%;
	height: 100%;
	background-repeat: repeat;
}
.overlay-container {
	width: 600px;
	padding: 90px 0 0 0;
	margin: 0 auto;
	position: relative;
}
.overlay-layer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.overlay-header {
	width: 100%;
	height: 40px;
	background-position: top left;
	background-repeat: no-repeat;
	float: left;
}
img.close {
	margin: 10px 10px 0 0;
	float: right;
	display: inline;
	position: relative;
}
img.head {
	margin: 10px 0 0 10px;
	float: left;
	display: inline;
}
.overlay-body {
	width: 100%;
	background-position: top left;
	background-repeat: repeat-y;
	float: left;
}
.overlay-body h1 {
	padding: 15px 0 4px 0;
}
img.share {
	margin: 20px 0 0 0;
	float: right;
}
.overlay-body p {
	padding: 12px 0;
	text-align: center;
}
.overlay-gradient {
	width: 500px;
	margin: 0 auto;
	padding: 0 40px;
	background: url(/_images/overlay/gradient.gif) bottom left no-repeat;
}
.overlay-footer {
	width: 100%;
	height: 20px;
	float: left;
}
#videoPlayer, #audioPlayer, #photoGallery {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	visibility: hidden;
}
#videoFrame, #audioFrame {
	width: 400px;
	padding: 10px 0px 0px 0px;
	margin: 0px auto;
}
#photoGalleryFlash {
	width: 500px;
	margin: 10px auto 0 auto;
	background-color: #000;
}
#videoFrame, #audioFrame, #photoGalleryFlash {
	border: none;
	text-align: center;
	position: relative;
}

/* --------------------------- END OVERLAY DEFS ---------------------- */

/* ------------------------------  END GLOBAL DEFS  ---------------------------------------------------- */

/* ------------------------------  FRAMEWORK STYLES  -------------------------------------------------------- */

#container, #controls, #gradientWrapper, #tempContentNotice {
	width: 100%;
}
#tempContentNotice {
	background-color: #fc0;
	color: #000;
}
#tempContentNotice p {
	font-weight: bold;
	padding: 3px 0 5px 0;
}
#controls { 
	height: 25px;
	font-weight: bold;
	color: #9ab2ca;
	background: #0f3364; 
	border-bottom: 5px solid #6ea1c5;
}
#google_translate_panel, #google_translate_panel_disabled {
	position: absolute;
	top: 0;
	left: 0;
	width: 350px;
	height: 30px;
	background: url(/_images/framework/bg-google-translate.gif) top left no-repeat;
	z-index: 500;
}
#google_translate_panel_disabled {
	width: 185px;
	height: 30px;
	background: url(/_images/framework/bg-google-translate-disabled.gif) top left no-repeat;
}
#google_translate_panel_disabled div.enable {
	padding: 5px;
	text-align: center;
	color: #000;
}
#google_translate_panel_disabled div.enable a { color: #c00; }
#google_translate_panel img.close {
	position: absolute;
	top: 7px;
	right: 12px;
	width: 15px;
	height: 15px;
	z-index: 502;
	margin: 0;
}
#google_translate_element {
	position: absolute;
	top: 0;
	left: 0;
	width: 330px;
	height: 30px;
	z-index: 501;
}
#google_translate_element select { 
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	font-size: 10px; 
}
#google_translate_element .goog-te-gadget { color: #6ea1c5; font-style: italic; font-weight: normal; }
#google_translate_element .goog-te-gadget a { font-style: normal; color: #6ea1c5; }
.goog-te-gadget {
	width: 300px;
	padding: 6px 0 0 15px;
}
.goog-te-gadget div { 
	width: 130px; 
	height: 18px;
	float: left;
	position: relative;
}
.goog-te-gadget span { 
	position: absolute;
	top: 0;
	right: 0;
	width: 123px;
	padding: 6px 0 0 0;
	color: #6ea1c5;
	float: right;
}
.goog-te-gadget span img {
	margin: 2px 2px 0 0;
	float: left; 
	display: inline;
}
.goog-te-gadget span a { float: left; }

#gradientWrapper {
	background: #eaf1f6 url(/_images/framework/bg.gif) top repeat-x;
}
.site-width {
	margin: 0 auto;
}
#bodyContainer { padding: 0 0 30px 0; }
#header {
	width: 100%;
	height: 140px;
	text-align: left;
	background: url(/_images/framework/bg-header.gif) top left repeat-x;
}
.body-container {
	width: 100%;
	text-align: left;
}
#body {
	background-color: #fff;
}
#bodyMinHeight {
	width: 1px;
	height: 475px;
	float: right;
	overflow: hidden;
}
/* ------------------------------  SITE HEADER STYLES  ------------------------------------------------------ */
#siteControls {
	width: 100%;
	line-height: 15px;
	font-size: 11px;
	position: relative;
}
ul#languageNav {
	width: 600px;
	margin: 0;
	padding: 2px 0 0 10px;
}
ul#languageNav li {
	display: inline;
}
ul#languageNav li span {
	font-weight: normal;
	padding: 0 5px 0 5px;
}

ul#FontSize, ul#FontSizeTranslateDisabled { 
	width: 50px; 
	margin: 0 0 0 355px;
	padding: 5px 0 0 0;
	float: left;
	display: inline;
}
ul#FontSizeTranslateDisabled {
	margin: 0 0 0 190px;
}
ul#FontSize li, ul#FontSizeTranslateDisabled li {
	padding: 0 0 0 5px;
	float: left;
	display: inline;
}
#donationTab {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 500;
}
#cartItems {
	height: 18px;
	margin: 4px 160px 0 0;
	padding: 0 0 0 19px;
	font-weight: bold;
	color: #6ea1c5;
	float: right;
	display: inline;
	background: url(/_images/framework/icon-cart.gif) top left no-repeat;
}

#logoWrapper {
	width: 100%;
	height: 95px;
	position: relative;
}
#logo {
	position: absolute;
	top: 0;
	left: 0;
}
ul#altNav {
	position: absolute;
	top: 58px;
	right: 10px;
	margin: 0;
}
ul#altNav li {
	height: 15px;
	margin: 4px 0 0 0;
	float: left;
	background-position: top left;
	background-repeat: no-repeat;
}
ul#altNav li.divider {
	margin: 0;
	padding: 0 2px;
	float: left;
	display: inline;
	font-size: 16px;
	color: #0f3364;
	font-weight: normal;
}
#globalSearch {
	position: absolute;
	top: 12px;
	right: 10px;
	width: 220px;
	height: 40px;
	background: url(/_images/framework/bg-global-search.gif) top left no-repeat;
}
#globalSearch input.field {
	width: 175px;
	height: 17px;
	font-size: 12px;
	line-height: 16px;
	border: 0;
	padding: 1px 3px;
	margin: 10px 0 0 11px;
	color: #000;
	float: left;
	display: inline;
	background: url(/_images/framework/input-global-search.gif) top left no-repeat;
}
#globalSearch input.submit-search, #quickSearch input.submit-search {
	border: 0;
	padding: 0;
	margin: 10px 0 0 0;
	float: left;
}
#quickSearch input.submit-search { margin: 6px 0 0 0; }
#contentCap {
	width: 100%;
	height: 10px;
	margin: 5px 0 0 0;
	background: url(/_images/framework/content-corner-left.gif) top left no-repeat;
}
#contentCap p {
	width: 100%;
	height: 100%;
	padding: 0;
	background: url(/_images/framework/content-corner-right.gif) top right no-repeat;
}
#breadcrumb {
	padding: 0 9px;
	text-align: left;
	border: 1px solid #ccc;
}
#breadcrumb ul {
	margin: 0; 
	padding: 3px 0 5px 0;
}
#breadcrumb li {
	padding: 0 5px 0 0;
	display: inline;
	font-weight: bold;
	color: #666;
}
/*
	position: absolute;
	z-index: 1000;
*/
/* ------------------------------  END SITE HEADER STYLES  -------------------------------------------------- */

/* ------------------------------  MAIN NAV AND 2NAV STYLES  ------------------------------------------------------ */
#globalNavigationBar, ul#globalNavigation {
	width: 100%;
	height: 30px;
}
#globalNavigationBar {
	background: url(/_images/framework/nav-cap-right.gif) top right no-repeat;
}
ul#globalNavigation {
	width: 700px;
	margin: 0;
	padding: 0 0 0 10px;
	float: left;
	display: inline;
	background: url(/_images/framework/nav-cap-left.gif) top left no-repeat;
}
li.about, li.bishops, li.departments, li.directories, li.news-events, li.reference {
	height: 30px;
	margin: 0;
	padding: 0;
	float: left;
	background-repeat: no-repeat;
	position: relative;
	z-index: 500;
}
ul#globalNavigation li span, ul#altNav li span { display: none; }
ul#globalNavigation li.nav-on { background-position: bottom left; }
ul#globalNavigation li.nav-off { background-position: top left; }
ul#globalNavigation li a.global, ul#altNav li a { 
	width: 100%;
	height: 100%;
	float: left;
}
li.nav-link {
	font-weight: bold;
	background-image: url(/_images/modules/wh-dot-divider.gif);
	background-position: bottom left;
	background-repeat: repeat-x;
	float: left;
}
li.nav-link a, li.nav-link span {
	width: 198px;
	padding: 4px 10px 5px 10px;
	float: left;
}
li.nav-link a { display: inline; }
li.nav-link span { display: none; }
ul.drop-nav-panel {
	position: absolute;
	top: 30px;
	width: 205px;
	margin: 0;
	padding: 0 0 4px 0;
	background: url(/_images/framework/drop-panel-bg.gif) top left repeat-y;
	visibility: hidden;
	border-bottom: 1px solid #ccc;
	z-index: 500;
}
ul.drop-nav-panel li {
	width: 100%;
	float: left;
	background: url(/_images/framework/drop-panel-bullet.gif) top left no-repeat;
}
ul.drop-nav-panel li.shadow {
	height: 6px;
	background: url(/_images/framework/drop-panel-shadow.gif) top left no-repeat;
}
ul#aboutNavDrop, ul#bishopsNavDrop, ul#departmentsNavDrop, ul#directoriesNavDrop, ul#news-eventsNavDrop { left: 0; }
ul.drop-nav-panel a {
	width: 173px;
	padding: 2px 15px 3px 15px;
	margin: 0 1px;
	float: left;
	display: inline;
}
ul.drop-nav-panel a, ul.drop-nav-panel a:visited {
	color: #999;
}
ul.drop-nav-panel a:hover, ul.drop-nav-panel a:active {
	color: #fff;
	background-color: #88b2cf;
	text-decoration: none;
}
ul#secondaryNavigation {
	width: 180px;
	margin: 0;
	padding: 0 0 15px 0;
	float: left;
}
ul#secondaryNavigation li {
	width: 100%;
	margin: 0;
	padding: 0 0 1px 0;
	float: left;
	color: #9ab2ca;
	font-weight: bold;
	background: url(/_images/framework/mod-divider.gif) bottom left repeat-x;
}
ul#secondaryNavigation li.endcap {
	width: 100%;
	margin: 0;
	padding: 0 0 20px 0;
	float: left;
	background: url(/_images/framework/cap-2nav-bottom.gif) bottom left no-repeat;
}
ul#secondaryNavigation li p {
	margin: 0;
	padding: 0;
	float: left;
}
ul#secondaryNavigation li a, ul#secondaryNavigation li span { 
	width: 160px;
	padding: 4px 10px 5px 10px; 
	float: left;
	display: inline;
}
ul#secondaryNavigation li.on a { color: #9ab2ca; }
ul#secondaryNavigation li.on a, ul#secondaryNavigation li.on a:visited { text-decoration: underline; }
ul#secondaryNavigation li.on a:hover, ul#secondaryNavigation li.on a:active { text-decoration: none; }
ul#secondaryNavigation li ul.child {
	width: inherit;
	margin: 0;
	padding: 0;
	float: inherit;
}
ul#secondaryNavigation li ul.child li {
	padding: 0;
	background: none;
}
ul#secondaryNavigation li ul.child li a, ul#secondaryNavigation li ul.child li span { 
	width: 140px;
	padding: 1px 10px 5px 30px; 
	float: left;
	display: inline;
	background: url(/_images/framework/bullet-2nav.gif) top left no-repeat;
}
/* ------------------------------  END 2NAV STYLES  -------------------------------------------------- */

/* --------------------------- COLUMN CONTAINERS ----------------------------------- */
#pageContent {
	margin: 0 0 0 10px;
	position: relative;
}
#pageMainColumn {
	width: 700px;
	float: left;
}
ul#contentColumns, #columnFull {
	margin: 20px 0 0 0;
}
li#columnNavigation, li#columnContent {
	margin: 0;
	float: left;
	display: inline;
}
li#columnNavigation {
	width: 200px;
	padding: 0 0 10px 0;
}
li#columnContent {
	width: 500px;
	padding: 0 0 15px 0;
}
#columnFull {
	width: 700px;
	padding: 0 0 15px 0;
	float: left;
}
/* --------------------------- END COLUMN CONTAINERS ------------------------------- */

/* ------------------------------  END BODY STYLES  ---------------------------------------------------- */

/* ------------------------------  FOOTER STYLES  ------------------------------------------------------ */
#footer {
	width: 100%;
	background: #0f3364;
	color: #9ab2ca;
	clear: left;
}
ul#footerNav {
	width: 100%;
	margin: 0;
	float: left;
}
ul#footerNav li.col {
	padding: 0 10px;
	float: left;
	display: inline;
}
ul#footerNav li.col p {	padding: 6px 0 0 0; }
ul#footerNav li.col p.copy { padding: 6px 0 6px 0; }
ul.footer-nav {
	margin: 0 0 0 20px;
	list-style: outside disc;
}
ul.footer-nav li { padding: 6px 0 0 0; }
#footerCap {
	width: 100%;
	height: 10px;
	float: left;
	background: url(/_images/framework/footer-corner-left.gif) top left no-repeat;
}
#footerCap p {
	width: 100%;
	height: 100%;
	padding: 0;
	background: url(/_images/framework/footer-corner-right.gif) top right no-repeat;
}
/* ------------------------------  END FOOTER STYLES  -------------------------------------------------- */
