@charset "UTF-8";
@-ms-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}

*:focus {
    outline: none;
}


article, aside, details, figcaption, figure, footer, hgroup, nav, section, summary {
  display: block;
}

audio, canvas, video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden] {
  display: none;
}

html {
  font-family: sans-serif;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  height:100%;
}

body {
  margin: 0;
  height:100%;
  width:100%;
}

h1 {
  font-size: 2em;
  font-weight:300;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

code, kbd, pre, samp {
  font-family: monospace, serif;
  font-size: 1em;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

q {
  quotes: "\201C" "\201D" "\2018" "\2019";
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

button, input, select {
  font-family: inherit;
  font-size: 100%;
  margin: 0;
}

button, input {
  line-height: normal;
}

button, html input[type="button"], input[type="reset"], input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled], input[disabled] {
  cursor: default;
}

input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
  vertical-align: top;
 border:1px solid #D1D2D4;

}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

ul, ol {
  padding: 0;
  list-style: none;
}

h1, h2, h3, h4, h5, h6, p, ul, ol {
  margin: 0;
}

a {
  text-decoration: none;
}

body, html {
  width: 100%;
  min-width: 20em;
}

h1 {
  font-size: 1.875em;
  line-height: 1.2em;
  margin-bottom: 0.4em;
}
h2 {
  font-weight:300;
  font-size: 1.5em;
  line-height: 1.25em;
  margin-bottom: 0.5em;
}

.block {
  position: relative;
  margin: 0 auto;
  padding: 1.5em 1.25em;
  max-width: 60em;
}

.btHeader {
	position:relative;
	display:block;
  	z-index: 100;
  	color: #FFFFFF; /* possible override */
  	background-color: #2874B6; /* possible override */
	height:70px;
	width:100%;
  	font-size: 1.775em;
  	font-weight:300;
	margin-left:auto;
	margin-right:auto;
  	white-space: normal;
	text-align:center;
}
.btHeader table {
  	height:70px;
	width:100%;
	margin-left:auto;
	margin-right:auto;
}
.btHeader table tr td{
	vertical-align:middle;	
}

.main {
  background: #FFFFFF;
  color:#333333;
}
.main .block {
	padding:0px;
	padding-top: .0em;
	padding-bottom: 1.875em;;
}

/* step dots */
.stepDots{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	padding-top:15px;
	padding-bottom:10px;	
	text-align:center;
}
.stepDots div{
	display:inline-block;
	height:20px;
	width:20px;
	border-radius:50%;
	margin-right:5px;
	cursor:pointer;	
}
.dotDefault{
	background-color:#888888; /* possible override */
}
.dotComplete{
	background-color:#80B641; /* possible override */
}
.dotError{
	background-color:#D83400; /* possible override */
}


/* service panels */
.servicePanel{
	min-height:450px;
	/*width:350px;*/
	min-width:300px;
	max-width:400px;
	margin-left:auto;
	margin-right:auto;
}
.servicePanel h2{
	text-align:center;	
}

/* available service slots */
#panel_date .btnBox{
	margin-left:auto;
	margin-right:auto;
	text-align:center;
}
#availableServiceSlots{
	overflow:auto;
	margin-left:auto;
	margin-right:auto;
	padding-right:10px;
	padding-left:10px;
	padding-bottom:10px;
	text-align:center;
}
.serviceSlot{
	display:inline-block;
	margin-right:7px;
	margin-bottom:7px;
	height:70px;
	width:75px;
	border:1px solid #6D7173;	
	cursor:pointer;
	white-space:nowrap;
	text-align:center;
}
.serviceSlotMonth{
	padding-top:5px;
	font-size:14px;
	color:#6D7173;
}
.serviceSlotDay{
	padding-top:5px;
	font-size:30px;
	color:#6D7173;
}
.serviceSlotSel{
	color:#82B649;
}

/* service packages */
#availableServicePackages{
	overflow:auto;
	padding-left:10px;
	padding-right:10px;
}
.servicePackage{
	margin-bottom:5px;
	height:50px;
	border:1px solid #6D7173;	
	cursor:pointer;
	white-space:nowrap;
	text-align:left;
	padding:10px;
	color:#6D7173;
}
.servicePackageLabel{
	font-size:120%;
}
.servicePackagePrice{
	font-size:90%;
}
.servicePackageSel{
	color:#82B649;
}

/* input elements */
.btnBox{
	padding-top:5px;
	margin-bottom:20px;
	margin-left:auto;
	margin-right:auto;
}
.btnSubmit{
	width:130px;
	margin-left:5px;
	margin-right:5px;
	height:42px;
	line-height:38px;
	text-decoration: none;
	font-weight:300;	
	vertical-align: middle;
	cursor:pointer;
	-webkit-border-radius: 2;
	-moz-border-radius: 2;
	border-radius: 2px;
	color: #FFFFFF;
	border: 0px;
	background-color: #2874B6;
	font-size:90%;
}
.btnSubmit:hover{
	opacity:0.7;
}
input{
	-webkit-appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;		
	border-radius: 0;
	font-size:1.1em;
}
input:focus{
	outline: none;
}

input[type='text'], input[type='email'], input[type='tel']{
	width:240px;
	height:35px;
	display:block;
	font-size:1.1em;
	font-weight:300;
	margin-bottom:8px;
	margin-right:auto;
	margin-left:auto;
	outline: none;
	border:1px solid #D1D2D4;
	padding-left:4px;
}

@media screen and (-webkit-min-device-pixel-ratio:0) { 
  select,
  input {
    font-size: 16px;
  }
}


