/*
##################################################################################
###                                                                            ###
###                           GENERAL HTML ELEMENTS                            ###
###                                                                            ###
##################################################################################
*/
html {
	font-size: 62.5%; /* Default font size is 16px. 62.5% of 16 = 10px. So the base font size is 10px. Makes working with rems easier (1.6rem = 16px) */
	                       -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
	*, *:before, *:after { -webkit-box-sizing: inherit;    -moz-box-sizing: inherit;    box-sizing: inherit; }
body {
	font-family: Arial, Helvetica, sans-serif; /* Poppins, Arial, Helvetica, sans-serif; */
	font-size: 1.6rem;
	line-height: 1.25; /* 16px * 1.25 = 20px line-height (use 1.125 for a line-height of 18px) */
	background: #658DC3;  /* sort of a periwinkle */
	color: #173578; /* dark blue */
}
hr { box-sizing: content-box; } /* hr is set like this in normalize.css, but since this comes after, it needs to be set again here */
h1, h2, h3, h4, h5, h6 { border: 0px dashed silver; margin: 0px; padding: 6px 1px 0px; } /* top  right&left  bottom */
h1 { text-align: center; padding-bottom: 15px; }
h1 { font-size: 2.86rem; } h2 { font-size: 2.6rem; } h3 { font-size: 2.35rem; } h4 { font-size: 2.1rem; } h5 { font-size: 1.85rem; } h6 { font-size: 1.6rem; }
h1.mainHeadline { font-size: 3.7rem; color: #173578; /* dark blue */; text-shadow: 2px 2px 4px #bbb; }  /* bbb = medium gray */
/*h2.mainSubtext { padding-bottom: 0px; text-align: center; }*/
@media only screen and (min-width: 380px) {
	h1 { font-size: 2.95rem; } h2 { font-size: 2.68rem; } h3 { font-size: 2.41rem; } h4 { font-size: 2.15rem; } h5 { font-size: 1.89rem; } h6 { font-size: 1.625rem; }
	h1.mainHeadline { font-size: 3.81rem; }
}
@media only screen and (min-width: 800px) {
	h1 { font-size: 3.03rem; } h2 { font-size: 2.75rem; } h3 { font-size: 2.48rem; } h4 { font-size: 2.20rem; } h5 { font-size: 1.93rem; } h6 { font-size: 1.65rem; }
	h1.mainHeadline { font-size: 3.91rem; }
}
@media only screen and (min-width: 1024px) {
	h1 { font-size: 3.12rem; } h2 { font-size: 2.83rem; } h3 { font-size: 2.54rem; } h4 { font-size: 2.25rem; } h5 { font-size: 1.96rem; } h6 { font-size: 1.675rem; }
	h1.mainHeadline { font-size: 4.02rem; }
}
@media only screen and (min-width: 1440px) {
	h1 { font-size: 3.2rem; } h2 { font-size: 2.9rem; } h3 { font-size: 2.6rem; } h4 { font-size: 2.3rem; } h5 { font-size: 2.0rem; } h6 { font-size: 1.7rem; }
	h1.mainHeadline { font-size: 4.125rem; }
}

/* Extra top padding for the About Us page only, to put more space between the pictures and the name/title header for the next employee */
#body_about h3 { border: 0px dashed blue; padding-top: 15px; }

a { color: #FF6D01; }
	a:visited {  }
	a:hover   { color: DarkOrange; }
	a:active  { color: OrangeRed; }

ul {
	margin-left: 0px;
	margin-top: 0px;
}
li {
	margin-left: 5px;
	margin-bottom: 5px;
}
tr { vertical-align: top; }

/*
##################################################################################
###                                                                            ###
###                              CUSTOM CLASSES                                ###
###                      (*NOT* DEPENDENT ON RESOLUTION)                       ###
###                                                                            ###
##################################################################################
*/
.footnote {
	border: 1px solid #FFD7D7;
	margin-top: 15px;
	padding: 6px 10px;
	line-height: 180%;
	font-size: 1.5rem;
	font-style: italic;
	box-shadow: 3px 3px 6px #ddd; /* horiz vertical blur <spread> color */
}

.companyInfoBlockRight {
	color: Ivory;
	text-align: right;
	font-size: 1.2rem;
}
.companyInfoBlockRight a { color: Ivory; }
.legalBlockCenter {
	color: Ivory;
	text-align: center;
	font-size: 1.15rem;
	font-style: italic;
	padding-top: 10px;
}
.legalBlockCenter a { color: Ivory; }

.img-left {
	float: left;
	margin: 3px 15px 10px 0px;
	box-shadow: 2px 2px 7px #777; /* 777 = med-dark gray */
}
.img-center {
	width: 99.8%;
	margin: 3px 15px 10px 0px;
	box-shadow: 3px 3px 14px #777;
}
.img-right {
	float: right;
	margin: 3px 0px 10px 15px;
	box-shadow: 2px 2px 7px #777;
}
.img-scaling {
	width: 45%;
	max-width: 225px;
	height: auto;
}

span.resistBreak {         /* For specifying where lines of text should break (i.e. titles), or rather what words should NOT be separated. */
	display: inline-block; /* Example: <span class="resistBreak">Just Fur A While</span> <span class="resistBreak">Pet Services/span> */
}                          /* https://stackoverflow.com/questions/18222409/specifying-a-preferred-line-break-point-in-html-text-in-a-responsive-design */
.center { text-align: center; }
.clearBoth { clear: both; }
.text {
	font-size: 1.6rem;
	border: 0px dotted orange;
	margin: 0px;
	padding: 3px 2px 10px; /* top  right&left  bottom */
}
.largerText {
	font-size: 2.0rem;
	border: 0px dotted red;
	margin: 0px;
	padding: 4px 2px 10px; /* top  right&left  bottom */
}
.nobr { white-space: nowrap; }
.big { font-size: larger; }
.larger { font-size: 120%; }
.smaller { font-size: 80%; }
.bold { font-weight: bold; }
.italic { font-style: italic; }
.cents { vertical-align: super; font-size: 65%; text-decoration: underline; }
.noPaddingBottom { padding-bottom: 0px; }
.smPaddingBottom { padding-bottom: 8px; }
.lgPaddingBottom { padding-bottom: 15px; }
.border { 1px solid red; }
/*
##################################################################################
###                                                                            ###
###                              CUSTOM CLASSES                                ###
###                      (*RESPONSIVE* w/ MEDIA QUERIES)                       ###
###                                                                            ###
##################################################################################
*/
/* =======================================================
RESOLUTION - 0 to 379px (SMALL MOBILE, PORTRAIT):
	FLUID-WIDTH CONTENT
	NAV BAR 100% & VERTICAL / STACKED (for now)
(THE DEFAULT STYLES FOR THE "RESPONSIVE" CUSTOM CLASSES)
==========================================================*/
.wrapper {
	border: 0px solid cyan;
	background: White;
	/* The following is dependent upon resolution... */
	width: 100%;
	margin: 0px;
	position:relative;
}
.header {
	border: 0px solid green;
	text-align: center;
	background: #FFF7EF; /* a very light orange */
	xbackground-image: linear-gradient(white, #FFF7EF); /* #FFF5EB = very light orange */
	background-image: radial-gradient(white, hsl(30,100%,99%), hsl(30,100%,94%), hsl(30,100%,90%));
	/* The following is dependent upon resolution... */
	padding: 0px;
}
.header img { 
	border: 0px solid black;
	/* The following is dependent upon resolution... */
	xwidth: 100%;
	xmax-width: 300px;
	xheight: auto;
}
.clientLoginButton {
	position: absolute;
	left: 10px; top: 10px;
	xmargin-top: 10px; xmargin-left: 10px;
}
.clientLoginButton:hover {
	left: 11px; top: 11px;
}
.clientLoginButton a {
	text-align: center;
	border: 1px outset #2F71C8; /* medium blue from logo */
	padding: 4px 8px;
	background: #2F71C8; /* medium blue from logo */
	color: white;
	text-decoration: none;
	box-shadow: 1px 2px 3px #666; /* horiz vertical blur <spread> color */
	/* The following is dependent upon resolution... */
	font-size: 1.1rem;
	font-weight: normal;
	line-height: 1.0;
	border-radius: 13px;
}
.clientLoginButton a:hover {
	box-shadow: none;
}
.clientLoginButton a:active {
	color: #E78931; /* orange from logo */
}
.xheaderPhoneNumber {
	position: absolute;
	right: 10px; top: 10px;
	font-weight: bold;
	font-size: 0.9em;
	color: #E78931; /* orange from logo */
	text-shadow: 12px 12px 12px rgba(140,70,110,0.9); /* dark rust */
}
.xheaderPhoneNumber:hover { right: 9px; top: 11px; text-shadow: none; }
.getStartedButton {
	position: absolute;
	right: 10px; top: 10px;
	font-weight: bold;
	font-size: 1.3em;
	color: #E78931; /* orange from logo */
}
.getStartedButton:hover { right: 9px; top: 11px; text-shadow: none; }
.headerSocialMediaLinks {
	position: static; /* static is the default; makes it so that for small screens, the facebook and instagram links are shown below logo */
}
/*	vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
	For all menubar related classes, see menubar.css
	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */

.content {
	border: 0px dotted blue;
	width: 100%;
	xbox-shadow: 0px 30px 20px -25px #666 inset; /* horiz vertical blur <spread> color */ /* #640000 = A very dark red */
}
.content-inner {
	text-align: left;
	overflow: hidden;
	/* The following is dependent upon resolution... */
	padding: 20px;
}
.footer {
	background: #173578; /* dark blue */
	border: 0px solid red;
	width: 100%;
	clear: both;
}
.serviceAreaMap {
	width: 100%;
	/* The following is dependent upon resolution... */
	height: 400px;
}
.services-img {
	box-shadow: 2px 2px 3px #777;
	display: block;
	margin: 2px auto;
}
#body_services h3 { text-align: center; }
/*
====================================================
RESOLUTION - 380px+ (LARGE MOBILE, TABLET):
	FLUID-WIDTH CONTENT
	NAV BAR HORIZONTAL
====================================================*/
@media only screen and (min-width: 380px) {
   .wrapper {
		width: 100%;
		margin: 0px;
	}
	.header {
		xheight: 220px;
	}
	.header img { 
		xwidth: 350px;
		xmax-width: none;
		xheight: auto;
	}
	.clientLoginButton a {
		font-size: 1.3rem;
		font-weight: bold;
		line-height: 1.2;
		border-radius: 15px;
	}
	.headerPhoneNumber {
		font-size: 1.1em;
	}
	.content-inner {
		padding: 25px;
	}
	.serviceAreaMap {
		height: 480px;
	}
}
/*
==========================================================
RESOLUTION - 800px+ (DESKTOP):
	720px FIXED-WIDTH CONTENT
	NAV BAR STILL HORIZONTAL
==========================================================*/	
@media only screen and (min-width: 800px) {
   .wrapper {
		width: 720px;
		margin: 11px auto;
		box-shadow: 2px 4px 20px #333; /* horiz vertical blur <spread> color */
	}
	.header {
		xheight: 220px;
	}
	.headerSocialMediaLinks {
		position: absolute; /* on larger screens (desktop sized), these links are fixed in the upper-right below the phone number */
		right: 10px; top: 40px;
	}
		.headerSocialMediaLinks a { display: block; } /* make the <a> links stack (display on new lines) instead of side by side (inline) */
	.content-inner {
		padding: 30px;
	}
	.services-img {
		box-shadow: 2px 2px 7px #777;
		display: inline-block;
		margin: 3px 0px 10px 15px;
		float: right;
	}
	#body_services h3 { text-align: left; }
}
/*
==========================================================
RESOLUTION - 1024px+ (HD DESKTOP):
	900px FIXED-WIDTH CONTENT
	NAV BAR STILL HORIZONTAL
==========================================================*/
@media only screen and (min-width: 1024px) {
   .wrapper {
		width: 900px;
		margin: 14px auto;
	}
	.header {
		xheight: 220px;
	}
	.content-inner {
		padding: 35px;
	}
}
/*
==========================================================
RESOLUTION - 1440px+ (XHD DESKTOP):
	1100px FIXED-WIDTH CONTENT
	NAV BAR STILL HORIZONTAL
==========================================================*/
@media only screen and (min-width: 1440px) {
   .wrapper {
		width: 1100px;
		margin: 17px auto;
	}
	.header {
		xheight: 220px;
	}
	.content-inner {
		padding: 40px;
	}
}
/*
##################################################################################
###                                                                            ###
###                               PRINT STYLES                                 ###
###                                                                            ###
##################################################################################
*/
@media print {
	.content { width: 100%; margin: 0px; }
	.clientLoginButton { display: none; }
	.menubar { display: none; }
}
