html, * {
	font-family: 'Lato', sans-serif;
	color: #4c4c4c;
	font-weight: 300;
}

strong {
	font-weight: 700;
}

a {
	color: #782b90;
	font-weight: 400;
	text-decoration: none;
}

a:hover,
a:active {
	text-decoration: underline;
	color: #8d34a9;
}

a.btn,
input[type="submit"].btn {
	box-sizing: border-box;
	color: #fff;
	background-color: #782b90;
	padding: 10px 30px;
	margin: 10px 0;
	display: block;
	font-weight: 400;
	text-align: center;
	border: none;
}

a.btn:hover,
a.btn:focus,
input[type="submit"].btn:hover,
input[type="submit"].btn:focus {
	background-color: #8d34a9;
	text-decoration: none;
}

a.btn:active,
input[type="submit"].btn:active {
	position: relative;
	top: 1px;	
}

sup {
	font-size: 0.4em;
	font-weight: 400;
}

strong sup {
	font-weight: 700;
}

h1, h2 {
	color: #782b90;
	font-weight: 300;
	border-bottom: 1px solid #782b90;
	padding-bottom: 8px;
	margin: 16px 0 8px 0;
	line-height: 1.1em;
}

h1 {
	font-size: 32px;
	margin: 16px 0;
	text-transform: uppercase;
}

h2 {
	font-size: 24px;
}

h3, h4 {
	font-weight: 400;
	margin: 24px 0 4px 0;
	line-height: 1.2em;
}

#process h3 {
	margin:22px 0;
	text-transform: none;
}

h3 {
	font-size: 22px;
}

.qna h3,
.qna .answer {
	position: relative;
	padding-left:30px;
}

.qna h3:after {
	content: 'Q:';
	position:absolute;
	color: #782b90;
	top: 0;
	left: 0;
}

.qna .answer:after {
	content: 'A:';
	font-weight: 400;
	color: #782b90;
	position:absolute;
	top: 0;
	left: 0;
	font-size: 18px;
}

.survey h3,
.survey question
{
	color: #782b90;
    font-weight: 400;
}

.survey select {
	color: #782b90;
    font-size: 16px;
    font-weight:400;
}

.survey-slider input[type=text] {
    font-weight: 600;
    border: 0;
    color: #782b90;
    padding-left: 50%;
}

.survey-slider .ui-widget-header {
    background-image: none; 
    background-color: #782b90;
}

.survey-slider table {
    width: 100%;
    font-size: 12px;
    border: 0;
}

.calc-slider label {
	color: #782b90;
    font-weight: 400;
}

.calc-slider input[type=text] {
    font-weight: 600;
    border: 0;
    color: #782b90;
    padding-left: 50%;
}

.calc-slider .ui-widget-header {
    background-image: none; 
    background-color: #782b90;
}

.calc-totals {
    border: solid;
    border-width: 1px;
    border-color: #782b90;
}

.calc-totals label {
	color: #782b90;
    font-weight: 400;
    float: right;
}

.calc-totals input[type=text] {
    font-weight: 600;
    border: 0;
}

.scorecard {
    font-size:18px;
}

.scorecard h3
{
	color: #782b90;
}

.scorecard .title {
    font-weight:600;
    color: #782b90;
    font-style:italic;
    display:inline;
}

.scorecard .recommend {
    display:inline;
    color: #782b90;
}

.scorecard .score {
    color: #782b90;
    font-weight: 400;
    display:inline;
}

h4 {
	font-size: 20px;
	border: none;
	padding: 0;
}

p {
	margin: 8px 0 16px 0;
	font-size: 18px;
	line-height: 1.2em;
}

ul {
	padding-left: 20px;
}

li {
	padding: 4px 0;
	font-size: 16px;
	line-height: 1.1em;
}

li a {
	font-weight: 300;
}

li li {
	padding-bottom:0;
}

hr {
	border: 0;
	border-bottom: 1px solid #782b90;
}


table {
	width: 100%;
	font-size: 16px;
}

table td {
	padding: 10px;
	vertical-align:top;
	margin: 16px 0;
	line-height: 1.1em;
}

/* x-small */ 
@media only screen and (min-width : 480px) {

} /* end x-small */

/* small */ 
@media only screen and (min-width : 768px) {

h1 {
	font-size: 36px;
}

h2 {
	font-size: 24px;
}

h3 {
	font-size: 18px;
}

h4 {
	font-size: 16px;
}

p {
	line-height: 1.3em;
}

#widgets p {
	font-size: 16px;
}

#map ul {
	margin: 0;
}

#map h4 {
padding: 0 10px;
}

#map p {
font-size: 14px;
padding: 0 10px;
}

#map a {
display: block;
border-top: 1px solid #782b90;
padding: 4px 0 0 0 
}


a.btn {
	display: inline-block;
}

} /* end small */

/* medium */
@media only screen and (min-width : 992px) {

h1 {
	font-size: 45px;
}

h2 {
	font-size: 32px;
}

h3 {
	font-size: 20px;
}

h4 {
	font-size: 18px;
}

#map p {
font-size: 16px;
}


li {
	padding: 6px 0;
}

} /* end medium */

/* large */
@media only screen and (min-width : 1200px) {

h1, h2 {
	padding-bottom: 12px;
	margin: 24px 0 12px 0;
}

h1 {
	font-size: 55px;
	margin: 24px 0;
}

h2 {
	font-size: 36px;
}

h3 {
	font-size: 22px;
}

h4, p, .qna .answer:after {
	font-size: 20px;
}

#map p {
font-size: 18px;
}

li, table {
	font-size: 18px;
}


} /* end large */

/* x_large */
@media only screen and (min-width : 1600px) {

}

/* xx_large */
@media only screen and (min-width : 2000px) {

}

/* The following fields allow you to customize the way the data validators are displayed.  
    It's a global change without having to add a new class to the elements. */

/* affects the error message beside the field */
.field-validation-error {
    color:red;
    font-size: 24px;
}

.field-validation-valid {
    display: none;
}

/* affected the data entry field in error */
/*.input-validation-error {
    border: 1px solid #ff0000;
    background-color: #ffeeee;
}

.validation-summary-errors {
    font-size: 12px;
    color: #ff0000;
}*/

.validation-summary-valid {
    display: none;
}
