/**
 * Classic Messaging: main stylesheet.
 *
 * Ported from the Classic Messaging child theme of Hybrid 0.8. Selectors and
 * values are kept as-is so the site renders the same; new rules are at the end.
 */

/* ==========================================================================
   Base reset and typography (from Hybrid 18px.css)
   ========================================================================== */
html,body,div,span,object,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,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;vertical-align:baseline;outline:none;font-size:100%;background:transparent;border:none;text-decoration:none}b,i,hr,u,center,menu,layer,s,strike,font,xmp{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;font-weight:normal;font-style:normal;background:transparent;border:none;text-decoration:none}font{color:#333}center{text-align:left}body{line-height:21px;font-family:Georgia,Times,"Times New Roman",serif;color:#333;background:#fff}h1,h2,h3,h4,h5,h6{font-style:normal;font-weight:normal;margin:0 0 18px 0}h1{font-size:1.8em}h2{font-size:1.7em}h3{font-size:1.55em;}h4{font-size:1.4em}h5{font-size:1.25em}h6{font-size:1.1em}p{margin:0 0 18px 0}ol,ul{list-style:none}ul{list-style:disc;margin:0 0 18px 2.5em}ol{list-style-type:decimal;margin:0 0 18px 3em}ol ol{list-style:upper-roman}ol ol ol{list-style:lower-roman}ol ol ol ol{list-style:upper-alpha}ol ol ol ol ol{list-style:lower-alpha}ul ul,ol ol,ul ol,ol ul{margin-bottom:0}dl{margin:0 0 18px 3px}dl dt{font-weight:bold;margin:12px 0 0 0}dl dd{margin:6px 0 0 1.5em}strong{font-weight:bold}strong strong{font-weight:normal}em,cite{font-style:italic}em em,cite cite{font-style:normal}abbr{cursor:help}acronym{text-transform:uppercase;border-bottom:1px dashed #666;cursor:help}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:baseline;position:relative;bottom:0.3em}sub{vertical-align:baseline;position:relative;top:0.3em}address{font-style:italic;margin:0 0 18px 0}li address,dd address{margin:0}blockquote{margin:0 2.5em;font-style:normal}blockquote em,blockquote cite{font-style:italic}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{cursor:pointer}a img{border:none}pre{overflow:auto;font:.9em Monaco,monospace,Courier,"Courier New";line-height:18px;margin-bottom:18px;padding:9px}code{font:.9em Monaco,monospace,Courier,"Courier New"}pre code{font-size:1em}ins,dfn{font-style:italic;text-decoration:none;border-bottom:1px solid #666}del{text-decoration:line-through}object{margin-bottom:18px}input,textarea{font-size:1em;font-family:Georgia,Times,"Times New Roman",serif;padding:3px}:focus{outline:none}form label{cursor:pointer}option{padding:1px 3px}table{border-collapse:collapse;border-spacing:0;margin-bottom:18px}th,td{text-align:left}hr{margin-bottom:18px}img.wp-smiley{max-height:12px;margin:0;padding:0;border:none}.gallery{display:block;text-align:center;margin-bottom:18px !important}.alignleft,.left{float:left;margin-right:15px}.alignright,.right{float:right;margin-left:15px}.aligncenter,.center{display:block;margin:0 auto 18px auto}.alignnone,.block{clear:both;margin:0 0 18px 0}.clear{clear:both}img.alignleft,img.alignright{display:inline}blockquote.alignleft,blockquote .alignright{width:33%}

/* ==========================================================================
   Layout: three columns, content left, 960px fixed (from Hybrid 3c-l-fixed.css)
   ========================================================================== */
#body-container {
	overflow: visible;
	width: 960px;
	margin: 0 auto;
	}

#container {
	overflow: hidden;
	float: left;
	width: 960px;
	}

.content {
	overflow: hidden;
	float: left;
	width: 520px;
	}
.no-widgets .content, .no-default-widgets .content {
	width: 960px;
	}

#primary {
	overflow: hidden;
	float: right;
	width: 190px;
	}

#secondary {
	overflow: hidden;
	float: right;
	width: 190px;
	margin-right: 20px;
	}

#subsidiary {
	overflow: hidden;
	}

#subsidiary .widget {
	overflow: hidden;
	float: left;
	width: 300px;
	margin: 0 20px 0 0;
	}

#footer-container {
	clear: both;
	overflow: hidden;
	}

#footer {
	clear: both;
	}

/* ==========================================================================
   Drop-down menus (from Hybrid drop-downs.css)
   ========================================================================== */
/* Drop-down styles. */
div.menu ul {
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 1.0;
	}
div.menu ul ul {
	position: absolute;
	top: -999em;
	width: 10em;
	}
div.menu ul ul li {
	width: 100%;
	}
div.menu li:hover {
	visibility: inherit;
	}
div.menu li {
	float: left;
	position: relative;
	}
div.menu a {
	display: block;
	position: relative;
	}
div.menu li:hover ul, li.sfHover ul {
	left: 0;
	top: 2em;
	z-index: 99;
	}
div.menu li:hover li ul, li.sfHover li ul {
	top: -999em;
	}
div.menu li li:hover ul, li li.sfHover ul {
	left: 10em;
	top: 0;
	}
div.menu li li:hover li ul, li li.sfHover li ul {
	top: -999em;
	}
div.menu li li li:hover ul, li li li.sfHover ul {
	left: 10em;
	top: 0;
	}

/* ==========================================================================
   Site styles (from classic/library/css/screen.css)
   ========================================================================== */
/* Body */
body {
	font: normal normal normal 15px/21px Arial, sans-serif;
	color: #868686;
	}

/* Body container */
#body-container {
	margin: 0px auto 21px auto;
	}

/* Links */
a {
	color: #c00000;
	text-decoration: none;
	}
a:visited {
	color: #333;
	}
a:hover, a:active {
	color: #c30000;
	text-decoration: underline;
	}

/* Headers */
h2, h3, h4, h5, h6 {
	font-family: Arial, sans-serif;
	color: #000;
	font-weight: bold;
	}
h2 {
	font-size: 21px;
	}
h3 {
	font-size: 18px;
	}
h4 {
	font-size: 17px;
	}
h5 {
	font-size: 15px;
	}
h6 {
	font-size: 13px;
	}

/* Lists */
ul {
	list-style: square;
	}

/* Blockquotes */
blockquote {
	font-style: italic;
	color: #555;
	}
blockquote blockquote {
	color: #777;
	}
blockquote em {
	font-style: normal;
	}

/* Code */
pre {
	padding: 9px;
	background: #f9f9f9;
	border: 1px solid #ccc;
	}
code {
	padding: 0 3px;
	background: #eee;
	}
pre code {
	background: transparent;
	}

/* Tables */
table {
	width: 100%;
	border-collapse: separate;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	}
caption {
	font-size: .9em;
	font-style: italic;
	text-align: right;
	}
td, th {
	padding: 3px 6px;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	}
th {
	background: #eee;
	}

/* Drop caps */
.drop-cap {
	float: left;
	margin: 3px 3px 0 0;
	font: normal normal normal 47px/35px "Warnock Pro", "Goudy Old Style", Palatino,"Book Antiqua", Georgia, serif;
	color: #333;
	}

/* Notes */
.note {
	padding: 6px 9px;
	background: #eee;
	border: 1px solid #ccc;
	}

/* Warnings/Alerts */
.warning, .alert {
	padding: 6px 9px;
	background: #fffbbc;
	border: 1px solid #E6DB55;
	}

/* Errors */
.error {
	padding: 6px 9px;
	background: #ffebe8;
	border: 1px solid #C00;
	}

/* Downloads */
.download {
	padding: 6px 9px;
	background: #e7f7d3;
	border: 1px solid #6c3;
	}

/* Breadcrumb */
.breadcrumb {
	margin: 0 0 30px 0;
	font-size: .9em;
	font-style: italic;
	color: #666;
	display:none;
	}
.breadcrumb a {
	color: #111;
	text-decoration: none;
	}
.breadcrumb a:hover {
	color: #d54e21;
	text-decoration: underline;
	}

/* Images */
.post img {
	max-width: 568px;
	padding: 5px;
	border: 1px solid #ccc;
	}

.thumbnail {
	float: left;
	width: 100px;
	height: 100px;
	margin: 5px 15px 0 0;
	}

/* Captions [caption] */
.wp-caption {
	max-width: 576px;
	margin-top: 6px;
	padding: 6px 1px 0 1px;
	border: 1px solid #ccc;
	text-align: center;
	}
.wp-caption .wp-caption-text {
	margin: 0;
	padding: 0 5px;
	text-align: right;
	font-size: .9em;
	font-style: italic;
	color: #666;
	}
.wp-caption img {
	max-width: 564px;
	margin: 0 auto;
	padding: 0;
	border: 1px solid #666;
	}

/* Gallery [gallery] */
.gallery img {
	border: 1px solid #ccc;
	}

/* Avatars */
.avatar {
	float: left;
	width: 100px;
	height: 100px;
	margin: 5px 15px 0 0;
	padding: 5px;
	border: 1px solid #ccc;
	}

/* Header */
#header-container { float: left; }

#header {
	margin: 20px 0 20px 0;
	}

/* Blog title */
#site-title {
	font: italic normal normal 35px/35px Arial, sans-serif;
	margin: 0 0 10px 0;
	
	}
#site-title a {
	display: block;
	color: #000;
	text-indent: -9000em;
	width: 220px;
	height: 160px;
	background: url('../images/classic_full.png') no-repeat;
	margin-bottom: -60px;
	}

/* Blog description */
#site-description {
	font: normal normal normal 16px/20px Arial, sans-serif;
	margin: 0;
	color: #666;
	display: none;
	}

/* Navigation */
#primary-menu, #navigation {
	overflow: visible;
	height: 34px;
	margin: 0;
	z-index: 100;
	clear: both;
	float: right;
	position: relative;
        top: -40px;
	}
#primary-menu li, #page-nav li {
	margin-right: 10px;
	}
#primary-menu li li, #page-nav li li {
	margin-right: 0;
	}
#primary-menu li a, #page-nav li a {
	padding: 3px;
	color: #c00000;
	background: transparent;
	border: 0px solid #fff;
	text-shadow: 0px 1px #fff;
	}
	
#primary-menu li a:hover { text-decoration: none; border-bottom: 2px solid #777; }

#primary-menu li a[title='Login'] { background: #c00000; color: #fff; text-shadow: 0px 1px #993333; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; padding: 5px; }
#primary-menu li a[title='Login']:hover { border-bottom: none; background: #993333; }


/* Drop-downs style */
#primary-menu li:hover ul, #primary-menu li.sfHover ul, #page-nav li:hover ul, #page-nav li.sfHover ul {
	top: 32px;
	}
#primary-menu li li a, #page-nav li li a {
	border-top: none;
	margin-right: 0;
	}
#primary-menu li ul, #page-nav li ul {
	background: #fff;
	border-top: 1px solid #ccc;
	}
#primary-menu li li:hover ul, #primary-menu li li.sfHover ul, #primary-menu li li li:hover ul, #primary-menu li li li.sfHover ul, 
#page-nav li li:hover ul, #page-nav li li.sfHover ul , #page-nav li li li:hover ul, #page-nav li li li.sfHover ul  {
	top: -1px;
	}
#primary-menu li li li, #page-nav li li li {
	margin-left: -1px;
	}

/* Container (wraps content, primary, and secondary) */
#container {
	margin-bottom: 21px;
	}

/* Main content */
.content {
	margin: 0 0 21px 0;
	}
.no-widgets .content, .page-template-no-widgets .content {
	width: 960px;
	}

/* Posts */
.post {
	overflow: hidden;
	margin: 0 0 40px 0;
	}
.single .post, .attachment .post, .page .post {
	margin: 0;
	}

/* Archive information */
.author-info, .search-info {
	overflow: hidden;
	margin: 0 0 40px 0;
	}

/* Entry title */
.entry-title {
	font-size: 30px;
	margin: 0 0 12px 0;
	font-weight: normal;
	font-style: normal;
	}
.archive .entry-title, .search .entry-title {
	font-size: 21px;
	margin: 0;
	}
.page-title, .attachment-title {
	margin: 0 0 21px 0;
	}
.entry-title a:hover {
	text-decoration: none;
	color: #000;
	}

            
.entry-title a {
	color: #000;
	}

/* Byline */
.byline {
	margin: 0 0 30px 0;
	font-style: italic;
	color: #666;
	}
.archive .byline, .search .byline {
	margin: 0;
	}
.byline .byline-prep {
	text-transform: lowercase;
	}

/* Entry content */
.entry-content {
	overflow: hidden;
	margin: 0 0 10px 0;
	}

/* Entry metadata */
.entry-meta {
	clear: both;
	font-style: italic;
	color: #666;
	}

/* Page links (multiple-paged posts) */
p.page-links a {
	margin: 0 3px;
	padding: 3px 9px 3px 9px;
	border: 1px solid #ccc;
	}

/* Navigation links */
.navigation-links {
	margin-bottom: 21px;
	font-style: italic;
	}
.navigation-links .previous {
	float: left;
	max-width: 50%;
	}
.navigation-links .next {
	float: right;
	max-width: 50%;
	text-align: right;
	}
.navigation-attachment {
	overflow: hidden;
	}

/* Widgets */
.widget {
	overflow: hidden;
	margin: 0 0 15px 0;
	}
.widget a {
	color: #464646;
	text-decoration: underline;
	}
.widget a:hover {
	color: #d54e21;
	text-decoration: none;
	}
	
.widget a.read-more {
	color: #464646;
	text-decoration: none;
	}

/* Widget titles */
.widget-title {
	font-size: 18px;
	font-weight: normal;
	font-style: normal;
	color: #c00000;
	background: url('../images/underline.png') no-repeat bottom left;
	padding-bottom: 9px;
	margin-bottom: 10px;
	}

/* Utility widget areas */
#utility-before-content, #utility-after-content, #utility-after-page, #utility-after-single {
	margin: 0 0 21px 0;
	padding: 20px 20px 0 20px;
	border: 1px solid #ccc;
	}

/* Comments template */
#comments-template {
	clear: both;
	}

/* Comment headers */
.comments-header {
	font-size: 1.2em;
	}

/* Comments are closed */
.comments-closed {
	font-style: italic;
	}

/* Comment list */
#comments-template ol {
	list-style: none;
	margin: 0 0 21px 0;
	}
#comments li, #comments li li li, #comments li li li li li {
	overflow: hidden;
	margin: 0 0 15px 0;
	padding: 15px 15px 0 15px;
	background: #fff;
	border: 1px solid #ccc;
	}
#comments li li, #comments li li li li {
	background: #f9f9f9;
	}

/* Avatar */
#comments-template .avatar {
	width: 40px;
	height: 40px;
	float: left;
	margin-right: 15px;
	padding: 0;
	border: 1px solid #666;
	}

/* Comment metadata */
.comment-meta {
	margin: 10px 0 21px 0;
	font-size: 13px;
	color: #666;
	}
.comment-author {
	font-size: 15px;
	color: #000;
	}
.comment-reply-link, .permalink, .comment-edit-link {
	font-style: italic;
	color: #666;
	}

/* Comment text */
.comment-text {
	clear: left;
	margin: 0 15px;
	}

/* Form */
.text-input {
	display: block;
	padding: 3px 6px;
	width: 97%;
	}
#comments-template label {
	font-size: .9em;
	}

/* Respond textarea */
textarea {
	width: 98%;
	}

/* Submit and reset buttons */
.button, .submit, .reset {
	width: 100px;
	margin-right: 15px;
	padding: 7px 15px 8px 15px;
	background: #fff;
	border: 1px solid #ccc;
	}
.button:hover, .submit:hover, .reset:hover {
	cursor: pointer;
	background: #f9f9f9;
	}

/* Footer container */
#footer-container {
	clear: both;
	margin: 21px 0 21px 0;
	}

/* Subsidiary */
#subsidiary {
	margin: 0 0 21px 0;
	}

/* Footer */
#footer {
	font-style: normal;
	color: #444;
	font-size: 80%;
	border-top: 1px solid #e8e8e8;
	padding-top: 1em;
	}
#footer .copyright {
	display: inline;
	float: left;
	margin-right: 4px;
	}

/* Custom styles */

.inside-page { padding-top: 20px; }
body.home h2.entry-title { display: none; }
span.lead-in { color: #393838; font-weight: bold; font-size: 120%; margin-right: 4px;} 
ul.service-list { list-style-type: none; margin-left: 0px; }
ul.service-list li { clear: both; }
ul.service-list li ul li { margin-left: -10px; font-size: 13px; color: #333; }
ul.service-list li.service-block { width: 265px; margin: 10px; padding: 15px; border: 1px solid #eee; float: left; background: #e9e9e9; clear: none; }
ul.service-list li.service-block:hover { -webkit-box-shadow: 0px 0px 14px #aaa; background: #eee; }
div.entry-content ul li h4 { margin-bottom: 5px; }

#phone-number { width: 960px; margin: 0px auto 0px auto;}
#phone-number p { background: #999; padding: 6px 10px; display: inline; float: right; text-shadow: 0px 1px #777; color: #fff; -moz-border-radius-bottomleft: 3px; -moz-border-radius-bottomright: 3px; -webkit-border-bottom-left-radius: 3px; -webkit-border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;border-bottom-right-radius: 3px;  text-align: center; }
#phone-number p img {position:relative; top:2px;padding-right: 3px;}

/* Contact form */

div.entry-content div.wpcf7 { margin: 1em; width: 500px;}
div.entry-content div.wpcf7 input, textarea { border: 1px solid #d1d1d1; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.3; }
div.entry-content div.wpcf7 input[type="text"]:focus, textarea:focus { border: 1px solid #a1a1a1; }
div.entry-content div.wpcf7 input[type="text"] { height: 12px; padding: 4px 3px 3px 3px; margin: 3px; }
div.entry-content div.wpcf7 label { font-weight: bold; font-size: 80%; }
div.entry-content div.wpcf7 span.form-tip { font-size: 70%; color: #c00000; }

div.entry-content div.wpcf7 input[type="submit"] { border: 1px solid #c00000; float: right; background: #c00000; color: #fff; text-shadow: 0px 1px #993333; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; padding: 5px; } 
div.entry-content div.wpcf7 input[type="submit"]:hover { background: #993333;}

/* RSS widget */

div.widget { font-size: 13px; line-height: 1.25; margin-right: 1em; }
div.widget-widget_rss { font-size: 12px; }
div.widget-widget_rss h3 a { text-decoration: none; color: #c00000; }
div.widget-widget_rss ul { margin-left: 0px; }
div.widget-widget_rss ul li { padding-bottom: 4.5px; color: #999; }
div.widget-widget_rss ul li a { text-decoration: none; color: #111; }

/* ==========================================================================
   Child theme overrides (from classic/style.css)
   ========================================================================== */
body { background: #fff url('../images/gradient.png') repeat-x; }

address { font-size: 13px; }
div.entry-content address { color: #555; line-height: 1.5; font-style: normal; }

/* ==========================================================================
   Additions for the standalone theme
   ========================================================================== */

/* Current Contact Form 7 renders email/phone fields as type="email"/"tel";
   style them like the text inputs the old CSS targeted. */
div.entry-content div.wpcf7 input[type="email"],
div.entry-content div.wpcf7 input[type="tel"] { height: 12px; padding: 4px 3px 3px 3px; margin: 3px; }
div.entry-content div.wpcf7 input[type="email"]:focus,
div.entry-content div.wpcf7 input[type="tel"]:focus { border: 1px solid #a1a1a1; }

/* Keyboard access for drop-downs (replaces the Superfish script). */
div.menu li:focus-within ul { left: 0; top: 32px; z-index: 99; }

/* Visible focus for keyboard users (the reset removes outlines). */
a:focus-visible, input:focus-visible, textarea:focus-visible, button:focus-visible { outline: 2px solid #c00000; outline-offset: 2px; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	}
.skip-link:focus {
	position: absolute; top: 6px; left: 6px; z-index: 1000;
	width: auto; height: auto;
	clip-path: none;
	padding: 8px 12px;
	background: #fff; color: #c00000;
	}

/* Homepage slider (replaces Easing Slider: 960x240, fade). */
.cm-slider {
	position: relative;
	overflow: hidden;
	width: 100%;
	max-width: 960px;
	aspect-ratio: 960 / 240;
	background: #fff;
	}
.cm-slider .cm-slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 1.2s ease-in-out;
	}
.cm-slider .cm-slide.is-active { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
	.cm-slider .cm-slide { transition: none; }
	}

/* [SGM] map embed (replaces Simple Google Map; the plugin used 100% x 300px). */
.sgm-map iframe {
	display: block;
	width: 100%;
	height: 300px;
	border: 0;
	}

/* ==========================================================================
   Small screens: collapse the fixed 960px three-column layout
   ========================================================================== */
@media (max-width: 991px) {
	#phone-number, #body-container, #container {
		width: auto;
		float: none;
		}
	#body-container { padding: 0 16px; }
	#phone-number p { display: block; float: none; }
	#header-container { float: none; }
	#site-title a { margin-bottom: 0; }
	#primary-menu, #navigation {
		float: none;
		top: 0;
		height: auto;
		margin: 0 0 21px 0;
		}
	div.menu ul { overflow: hidden; }
	div.menu li { margin-bottom: 8px; }
	.content, .no-widgets .content, .page-template-no-widgets .content {
		float: none;
		width: auto;
		}
	#primary, #secondary {
		float: none;
		width: auto;
		margin: 0 0 21px 0;
		}
	img, .post img, .wp-caption, .wp-caption img { max-width: 100%; height: auto; }
	/* [column] shortcode output: stack the columns. */
	.post_column_1 {
		display: block !important;
		float: none !important;
		width: auto !important;
		padding-right: 0 !important;
		}
	ul.service-list li.service-block { float: none; width: auto; }
	div.entry-content div.wpcf7 { width: auto; margin: 1em 0; }
	}
