/*
*********************************************
* Wallace Dezign CSS
*********************************************
** TOC **
* RESET
* WRAPPER
* GLOBAL
* NAVIGATION
* KITCHEN SINK

*********************************************/

/* RESET
 *********************************************/
div, form, ul, ol, li, h1, h2, h3, h4, h5, h6, p, blockquote, cite { margin:0; padding:0; }
table { border-collapse:collapse; border-spacing:0; }
th, td { text-align:start; vertical-align:top; }
h1, h2, h3, h4, h5, h6, p { font-weight:normal; }
img, img a, img a:hover { border:0; text-decoration:none; }
a[href], input[type='submit'], input[type='image'], label[for], select, button, .mys-pointer, #mys_filter_menu { cursor:pointer; }


/* WRAPPER
 *********************************************/
body {
	margin:0;
	padding:0;
	font:normal normal 100%/1.25 Arial, Helvetica, sans-serif;
	line-height:1.5;
	color:#333;
	background: white;
}
#container {
	margin: 0.75rem auto 0 auto;
	padding: 1.25rem 3.75rem 1.25rem 3.75rem;
	max-inline-size: 75rem;
	min-block-size: 25rem;
	font-size:0.938em;
	line-height:1.5;
	background:#FFF;
	display: flex;
	flex-wrap: wrap;
}


/* GLOBAL
 *********************************************/
p { margin-block-end: 0.75rem; }
a {
	color:#369;
	text-decoration:none;
}
a:hover { text-decoration:underline; }
h1 {
	font-family:"adelle",georgia,serif;
	font-size:1.875em;
	line-height:1.25;
	margin-block-end: 0.5rem;
}
h2 {
	font-weight:bold;
	font-size:1.25em;
}
h3 {
	font-family:"adelle",georgia,serif;
	font-size:0.938em;
	text-transform:uppercase;
	letter-spacing: 0.0625rem;
}
ul {
	margin-inline-start: 1.25rem;
	list-style-position:inside;
}
ol {
	margin-inline-start: 1.25rem;
	list-style-type:decimal;
	list-style-position:inside;
}
blockquote {
	margin: 0 0 0.5rem 1.25rem;
	color:#666;
	font-style:italic;
}
cite { font-size:0.814em; }
.gradDivider {
	border-block-start: 1px solid #ddd;
	flex: 0 0 100%;
	background:url("/_images/bg-gradDivider.png") no-repeat center;
	inline-size:100%;
	block-size: 0.625rem;
}


/* NAVIGATION
 *********************************************/
.nav li { /* ABSTRACT BASE CLASS */
	display:inline;
	list-style:none;
	font-family:"adelle",georgia,serif;
}
	.main {
		margin-block-start: 0.625rem;
		font-size:1.125em;
	}
		.main a, .main a:hover { color:#000; }
		.main a[aria-current="page"] { color:#FD4703; }
		.main a[aria-current="page"]:hover {
			color:#FD4703;
			text-decoration: underline;
		}
		.main .pipe {
			margin: 0 0.25rem 0 0.5625rem;
			background:url("/_images/bg-pipe.png") no-repeat center;
			inline-size:1px;
			block-size: 1rem;
			position:relative;
			inset-block-start: 0.125rem;
		}
	.main li:last-child, .contact li:last-child { margin-inline-end:0; }
	.contact { text-align:end; }
		.contact a, .nav .contact a:hover { color:#666; }
		.phone, .email, .linkedIn {
			margin-inline-start: 1.25rem;
			padding: 0 0 0.625rem 1.625rem;
			background-repeat:no-repeat;
		}
		.phone { background-image:url("/_images/icon-phone.png"); }
		.email { background-image:url("/_images/icon-email.png"); }
		.linkedIn { background-image:url("/_images/icon-linkedIn.png"); }





.linkList li {
	padding: 0.3125rem 0;
	background:url("/_images/bg-border.png") repeat-x bottom;
	font-weight:bold;
	list-style:none;
}
.linkList li:last-child { background:none; }
.linkList .selected,
.linkList a[aria-current="page"] {
	color:#FD4703;
}
.linkList .selected:hover,
.linkList a[aria-current="page"]:hover {
	color:#FD4703;
	text-decoration: underline;
}


/* PARTS
 *********************************************/
#mainContent, #sidebar { margin: 0.9375rem 0 1.25rem 0; }

#mainContent {
	flex: 1 1 auto;
	padding-inline-end: 1.5625rem;
}
	.main-narrow { inline-size: 41.875rem; }
	.main-medium { inline-size: 38.75rem; }
	.main-wide { inline-size: 32.5rem; }

#sidebar {
	flex: 0 0 auto;
}
	.side-narrow { inline-size: 9.375rem; }
	.side-medium { inline-size: 12.5rem; }
	.side-wide { inline-size: 18.75rem; }

	.slideshow { /* must have fixed width and height */
		inline-size: 18.75rem;
		border:1px solid #999;
		position: relative;
		overflow: hidden;
		display: block;
	}
	.slideHome { block-size: 14.0625rem; }
	.slideServices { block-size: 13rem; }
	.slideshow img {
		position: absolute;
		inset-block-start: 0;
		inset-inline-start: 0;
		inline-size: 100%;
		block-size: 100%;
		object-fit: cover;
		opacity: 0;
		transition: opacity 1s ease-in-out;
	}
	.slideshow img.active {
		opacity: 1;
	}
	figure .slideshow + figcaption {
		position: relative;
		z-index: 1;
	}
	.caption {
		margin-block-start: 0.25rem;
		text-align:center;
		font-style:italic;
		font-size:0.814em;
		color:#777;
	}
	/*#mainContent ul {
		font-style:italic;
	}*/

	.subLinks {
		margin: -0.5rem 0 0.9375rem 0.9375rem;
		position:relative;
		inset-inline-start: 0.9375rem;
	}

	#mainContent .thumb {
		display:inline;
		margin: 0.5rem 0.8125rem 0.8125rem 0;
		border:1px solid #CCC;
	}

	.media .thumb {
		float:inline-start;
		margin: 0.5rem 0.8125rem 0.8125rem 0;
		border:1px solid #CCC;
	}
	/*#mainContent #gallery { margin:15px 0; }
	#mainContent #gallery .thumb {
		float:inline-start;
		margin:0 15px 15px 0;
	}
	#mainContent #gallery a:hover .thumb {
		border:1px solid #d55d22;
		filter:alpha(opacity=50);
		-moz-opacity:0.50;
		-khtml-opacity:0.50;
		opacity:0.50;
	}*/
header {
	inline-size: 100%;
	margin-block-end: 0.5rem;
}

#header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1.25rem;
}

#header .left,
#header .right {
	flex: 0 1 auto;
}

#header .left img {
	max-inline-size: 15rem;
	block-size: auto;
}

/* ====== media ====== */
.media {margin: 0.625rem;}
.media, .bd {overflow:hidden; _overflow:visible; zoom:1;}
.media .img {float:inline-start; margin-inline-end: 0.625rem;}
.media .img img{display:block;}
.media .imgExt{float:inline-end; margin-inline-start: 0.625rem;}
	.landing {
		margin: 0.625rem 0 0.9375rem 0;
		border-block-end:thin solid #CCC;
	}




#footer {
	clear:both;
	padding-block-start: 0.375rem;
	inline-size:100%;
	border-block-start:1px solid #ddd;
	font-style:italic;
	font-size:0.750em;
}



/* FORM
 *********************************************/
 .row, select {
 	margin-block-end: 0.5rem;
	display:block;
 }
 .required {
 	color:#018172;
	font-weight:bold;
	font-style:italic;
 }
 input, select { inline-size: 15.625rem; }
 label {
 	display:block;
 }




/* KITCHEN SINK
 *********************************************/
.listFollow { margin-block-end: 0.25rem; } /* used for paragraphs with lists following */
.cta {
	font-family:"adelle",georgia,serif;
	font-size:1.188em;
	color:#FD4703;
	letter-spacing: 0.125rem;
	text-transform:uppercase;
}
.ampersand {
	font-style:italic;
	font-family:Baskerville, Cambria, Georgia, Times, �Times New Roman�, serif;
}
/*.rule {
	margin:10px 0 15px 0;
	border:none;
    border-block-end:thin solid #CCC;
}*/

.bump4px { margin-block-start: 0.25rem; }
.bump12px { margin-block-start: 0.75rem; }
.clearfix:after {
  visibility:hidden;
  display:block;
  font-size:0;
  content:" ";
  clear:both;
  block-size:0;
  }
	* html .clearfix { zoom:1; } /* IE6 */
	*:first-child+html .clearfix { zoom:1; } /* IE7 */
/*.imgLeft {
	float:inline-start;
	margin:0 24px 12px 0;
}
.imgRight {
	float:inline-end;
	margin: 0 0 0.75rem 1.5rem;
}*/

.left { float:inline-start; }
.right { float:inline-end; }
.btn { inline-size: 7.8125rem; }
.fifty { max-inline-size: 31.25rem; } /* for linkList on the homepage */
.test { border:1px solid red; } /* FOR TESTING */

.btnCta { /* used on contact form */
-moz-border-radius: 0.3125rem;
-webkit-border-radius: 0.3125rem;
border-radius: 0.3125rem;
-moz-box-shadow:0 1px 0 rgba(0, 0, 0, 0.6);
-webkit-box-shadow:0 1px 0 rgba(0, 0, 0, 0.6);
box-shadow:0 1px 0 rgba(0, 0, 0, 0.6);
background-color:#fc6932;
border:none;
color:#fff;
float:inline-start;
font-family:"adelle",georgia,serif;
font-size: 0.8125rem;
text-transform:uppercase;
letter-spacing: 0.0625rem;
padding: 0.375rem 1.25rem 0.125rem 1.25rem;
inline-size:auto;
}

.visually-hidden {
	border: 0;
	clip: rect(0 0 0 0);
	block-size: auto;
	margin: 0;
	overflow: hidden;
	padding: 0;
	position: absolute;
	inline-size: 1px;
	white-space: nowrap;
  }

/* RESPONSIVE STYLES
 *********************************************/

/* Base responsive improvements */
img {
	max-inline-size: 100%;
	block-size: auto;
}

figure {
	margin: 1.25rem 0;
}

figure img {
	display: block;
	margin: 0 auto;
}

figcaption {
	margin-block-start: 0.5rem;
	text-align: center;
	font-style: italic;
	font-size: 0.875em;
	color: #777;
}

/* Mobile Navigation Toggle */
#mobile-menu-toggle {
	display: none;
	background: none;
	border: none;
	font-size: 1.25rem;
	cursor: pointer;
	padding: 0.625rem;
	color: #333;
	float: inline-end;
}
#mobile-menu-toggle:hover {
	background: #eee;
}

/* Tablet styles (768px - 1023px) */
@media (max-width: 63.9375rem) {
	#container {
		inline-size: auto;
		max-inline-size: 46.875rem;
		margin: 0.75rem 1.25rem;
		padding: 1.25rem 2.5rem;
	}

	.gradDivider {
		inline-size: 100%;
	}
}

/* Mobile styles (up to 767px) */
@media (max-width: 47.9375rem) {
	body {
		font-size: 100%;
	}

	#container {
		inline-size: auto;
		margin: 0;
		padding: 0.9375rem;
		box-shadow: none;
		-moz-box-shadow: none;
		-webkit-box-shadow: none;
		flex-direction: column;
	}

	/* Header responsive */
	#header {
		flex-direction: column;
		align-items: center;
		gap: 0;
		margin-block-end: 0;
	}
	
	#header .left,
	#header .right {
		inline-size: 100%;
		text-align: center;
	}

	#header .left {
		margin-block-end: 0;
		text-align: left;
	}

	#header .left img {
		max-inline-size: 10rem;
	}

	/* Contact info stacking */
	ul.nav.contact {
		text-align: center !important;
		margin-block-end: 0.625rem;
	}

	ul.nav.contact li {
		display: block;
		margin: 0.5rem 0 0.5rem 0 !important;
		padding-inline-start: 0 !important;
		background-position: center top;
		padding-block-start: 1.875rem !important;
	}

	/* Mobile navigation */
	#mobile-menu-toggle {
		display: block;
		position: absolute;
		inset-block-start: 1.25rem;
		inset-inline-end: 1.25rem;
	}

	nav {
		clear: both;
	}

	nav ul.nav.main {
		display: none;
		text-align: center !important;
		background: #f5f5f5;
		margin: 0;
	}

	nav ul.nav.main.active {
		display: block;
	}

	.nav.contact {
		display: none;
	}

	nav ul.nav.main li {
		display: block;
		margin: 0 !important;
		padding: 0.25rem 0;
	}

	nav ul.nav.main li a {
		min-block-size: 0;
		padding-block: 0.25rem;
	}

	nav ul.nav.main li:last-child {
		border-block-end: none;
	}

	.pipe {
		display: none !important;
	}

	.gradDivider {
		inline-size: 100%;
		block-size: 0.3125rem;
		background-size: 100% 0.3125rem;
	}

	/* Content layout */
	#mainContent,
	#sidebar {
		inline-size: 100% !important;
		padding: 0 !important;
		margin: 0.9375rem 0;
	}

	.main-narrow,
	.main-medium,
	.main-wide,
	.side-narrow,
	.side-medium,
	.side-wide {
		inline-size: 100% !important;
	}

	#sidebar {
		margin-block-start: 1.875rem;
		padding-block-start: 1.25rem !important;
		border-block-start: 2px solid #ddd;
	}

	/* Typography */
	h1 {
		font-size: 1.75rem;
		line-height: 1.3;
	}

	h2 {
		font-size: 1.25rem;
	}

	h3 {
		font-size: 1rem;
	}

	.intro {
		font-size: 1rem;
	}

	/* Images and figures */
	figure {
		margin: 0.9375rem 0;
	}

	.thumb {
		margin: 0.5rem auto 0.8125rem auto !important;
		display: block !important;
		float: none !important;
	}

	/* Touch-friendly buttons and links */
	a,
	button,
	.cta,
	.btnCta {
		min-block-size: 2.75rem;
		padding: 0.75rem 1rem;
		display: inline-block;
	}

	nav ul li a {
		padding: 0.9375rem 0.625rem;
		display: block;
	}

	/* Footer */
	#footer {
		inline-size: 100%;
		text-align: center;
		padding: 1.25rem 0;
	}

	/* Forms */
	input[type="text"],
	input[type="email"],
	textarea,
	select {
		inline-size: 100% !important;
		max-inline-size: 100%;
		box-sizing: border-box;
	}

	/* Slideshow */
	.slideshow {
		inline-size: 100% !important;
		max-inline-size: 18.75rem;
		margin: 0 auto;
	}

	.slideHome,
	.slideServices {
		block-size: auto !important;
	}
}

/* Small mobile (up to 480px) */
@media (max-width: 30rem) {
	h1 {
		font-size: 1.5rem;
	}

	#container {
		padding: 0.625rem;
	}

	ul.nav.contact li {
		font-size: 0.875rem;
	}
}