@charset "utf-8";
html {
  height: 100%;
}
body {
  font-size: 14px;
  line-height: 1.25;
  font-family: Georgia, "Times New Roman", Times, serif;
	background-color: black;
	margin: 0;
	padding: 0;
	color: #000;
  height: 100%;
}

/* ~~ Element/tag selectors ~~ */
ul, ol, dl { /* Due to variations between browsers, it's best practices to zero padding and margin on lists. For consistency, you can either specify the amounts you want here, or on the list items (LI, DT, DD) they contain. Remember that what you do here will cascade to the .nav list unless you write a more specific selector. */
	padding: 0;
	margin: 0px 15px;
}
h1, h2, h3, h4, h5, h6, p, video {
	margin-top: 0;	 /* removing the top margin gets around an issue where margins can escape from their containing div. The remaining bottom margin will hold it away from any elements that follow. */
	padding-right: 15px;
	padding-left: 15px; /* adding the padding to the sides of the elements within the divs, instead of the divs themselves, gets rid of any box model math. A nested div with side padding can also be used as an alternate method. */
}
a img { /* this selector removes the default blue border displayed in some browsers around an image when it is surrounded by a link */
	border: none;
}
/* ~~ Styling for your site's links must remain in this order - including the group of selectors that create the hover effect. ~~ */
a:link {
	color: #42413C;
	text-decoration: underline; /* unless you style your links to look extremely unique, it's best to provide underlines for quick visual identification */
}
a:visited {
	color: #6E6C64;
	text-decoration: underline;
}
a:hover, a:active, a:focus { /* this group of selectors will give a keyboard navigator the same hover experience as the person using a mouse. */
	text-decoration: none;
}

select {
  font-size: 16px;
}

/* ~~ this fixed width container surrounds all other elements ~~ */
.container {
	width: 1080px;
	background-color: white;
	margin: 0 auto; /* the auto value on the sides, coupled with the width, centers the layout */
}

/* ~~ This is the layout information. ~~ 

1) Padding is only placed on the top and/or bottom of the div. The elements within this div have padding on their sides. This saves you from any "box model math". Keep in mind, if you add any side padding or border to the div itself, it will be added to the width you define to create the *total* width. You may also choose to remove the padding on the element in the div and place a second div within it with no width and the padding necessary for your design.

*/
header {
	width: 100%;
	position: relative;
  font-family: "Copperplate Gothic", "Copperplate Gothic Bold", "Times New Roman", serif;
  background: black;
  color: white;
  font-size: 14px;
  text-align: center;
  padding: 4px;
}

.mainmenu {
}

.page {
  position: relative;
	width: 1080px;
  text-align: left;
  min-height: 100vh;
}

.page table {
  display: inline;
  margin-left: 15px;
  margin-right: 15px;
}

.page ol {
  margin-left: 15px;
  margin-bottom: 12px;
}

.page ol li {
  margin-left: 15px;
}

.page ul {
  margin-left: 15px;
  margin-bottom: 12px;
}

.page li {
  margin-left: 0px;
}

.page blockquote {
  -webkit-margin-start: 15px;
}

/* ~~ miscellaneous float/clear classes ~~ */
.fltrt {  /* this class can be used to float an element right in your page. The floated element must precede the element it should be next to on the page. */
	float: right;
	margin-left: 8px;
}
.fltlft { /* this class can be used to float an element left in your page. The floated element must precede the element it should be next to on the page. */
	float: left;
	margin-right: 8px;
}
.clearfloat { /* this class can be placed on a <br /> or empty div as the final element following the last floated div (within the #container) if the overflow:hidden on the .container is removed */
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}

/* my own stuff */

h1 {
 font-size:22pt;
 margin-bottom:20px;
 color: #003399;
}

h2 {
  font-size: 16pt;
  font-weight: bold;
  color: #8DB3E2;
  margin-bottom: 20px;
}

h3 {
  font-size: 12pt;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 12px;
}

h4 {
  font-size: 12pt;
  font-weight: bold;
  margin-bottom: 12px;
}
  

/* Navigation */

.navbar {
    position: relative;
    display: inline;
    width: 100%;
}

.navbar-collapse {
    padding-right: 5px;
    padding-left: 5px;
}

/* Base CSS */
vnav {position: relative; float: left; display: block; width: 20%;}
vnav {padding: 0; margin: 0; border: 0;}
vnav ul,
vnav ul li,
vnav ul ul {list-style: none; margin: 0; padding: 0; border: 0;}
vnav ul {position: relative; z-index: 397;}
vnav ul li {min-height: 1px; line-height: 1em; vertical-align: middle;}
vnav ul li:hover {position: relative; z-index: 399; cursor: default;}
vnav ul ul {visibility: hidden; position: absolute; top: 100%; left: 0; z-index: 398; width: 100%;}
vnav ul ul ul {top: 0px; left: 99%;}
vnav ul li:hover > ul { visibility: visible;}
vnav ul ul {top: 0px; left: 99%;}

/* Custom CSS Styles */
vnav ul {text-align: left; width: 200px; background: #efefef;}
vnav ul ul {width: 150px; }
vnav ul li {padding: 7px 10px; color: #000;}
vnav ul li.hover,
vnav ul li:hover {background: #ccc; color: #fff;}
vnav ul a:link,
vnav ul a:visited {color: #000; text-decoration: none;}
vnav ul a:hover {color: #000;}
vnav ul a:active {color: #ffa500;}

hnav {position: relative; display: inline; width: auto;}
hnav a:link {color:white; text-decoration:none;}
hnav a:visited {color:white; text-decoration:none;}
hnav ul ul {display: none; text-align: left; width: auto;}
hnav ul li:hover > ul {display: block;}
hnav ul {background: #3f6794; background: linear-gradient(top, #3f6794, #5e81a9, #3f6794); background: -moz-linear-gradient(top, #3f6794, #5e81a9, #3f6794); background: -webkit-linear-gradient(top, #3f6794, #5e81a9, #3f6794); padding: 0px; list-style: none; position: relative; display: inline-table; width: auto; top: 2px;}
hnav ul:after {content: ""; clear: both; display: block;}
hnav>ul>li {font-size: larger; float: left; margin: 0px 10px; color: white; text-decoration:none; width: auto;}
hnav>ul>li:first-child { padding-left: 0px;}
hnav ul li:hover>a {color: yellow; text-decoration: none;}
hnav ul li a {display: block; padding: 0px 0px; color: black; text-decoration: none;}
hnav ul ul {background: #3f6794; border-radius: 0px; padding: 0; margin: 0; position: absolute; top: 100%; z-index: 1000;}
hnav ul ul li {float: none; border-bottom: 1px solid yellow; position: relative; z-index: 1000; font-size: medium; margin: 0px 10px; width: auto;}
hnav ul ul li:last-of-type {border: none;}
hnav ul ul li a {padding: 5px 0; color: #fff;}
hnav ul ul li a:hover {background: #3f6794;}
hnav ul ul ul {position: absolute; left: 100%; top: 0; z-index: 1000;} 

.text {
	font-family: Georgia, Georgia, "Times New Roman", Times, serif;
	font-size: 12pt;
	text-align: justify;
}
.medlg {  font-size: 14pt}
.larger { font-size: 18pt}
.large {  font-size: 24pt}
.smaller {
	font-size: 10pt;
	font-family: Arial, Helvetica, sans-serif;
}
.small {
	font-size: 8pt;
	font-family: Arial, Helvetica, sans-serif;
}
p {  text-align: justify}
myp {
  display: block;
  text-align: justify;
  -webkit-margin-before: 1em;
  padding-left: 15px;
  padding-right: 15px;
}
ol {
  list-style-type: decimal;
}
.cmstitle {  font-family: Georgia, Georgia, "Times New Roman", Times, serif; font-size: 18pt; font-weight: bold; color: #003399; width: 100%; text-align: center; }
.label {  font-family: Arial, Helvetica, sans-serif; font-size: 10pt}
.highlight {  color: #00421D; font-weight: bold; font-style: italic; }
.whitelink {  font-family: Arial, Helvetica, sans-serif; font-size: 7pt; text-decoration: none; color: #FFFFFF; font-weight: bold}
.whitelinkalt { font-family: Arial, Helvetica, sans-serif; font-size: 7pt; text-decoration: underline; color: #FFFFFF; font-weight: bold }
.divrelative {  position: relative; text-align: left; }
.divabsolute {  position: absolute; text-align: left; }

credits {
  font-size: small;
  text-align: center;
  width: 270px;
  margin-left: 10px;
  position: absolute;
  top: 750px;
  z-index: 12;
}

trailer {
  position: relative;
  width: 1080px;
  z-index: 10;
  text-align: center;
  top: -10px;
  font-size: 12px;
}

trailer .small a {
  text-decoration: none;
}

trailer .small a:hover {
  text-decoration: underline;
}

.home, .sub {
  position: relative;
  margin-bottom: 25px;
  overflow: visible;
}

.home.page {
  min-height: 768px;
}

.home:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url(../images/homepagebackground.jpg); 
    width: 100%;
    height: 100%;
    right: 0px;
}

.sub .banner {
  padding-bottom: 45px;
  border-bottom: 2px solid #CCC;
  text-align: center;
  white-space: nowrap;
}

.sub .banner:after {
    content : "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url(../images/homepagebackground6.jpg); 
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    opacity : 0.6;
    right: 0px;
}

.sub {
    display: inline-block;
    position: relative;
    background-image: url(../images/subpagebackground.jpg); 
    background-repeat: repeat-y;
    background-attachment: fixed;
    background-position-x: center;
    width: 100%;
    height: 100%;
}

.title {
  position: relative;
  margin-top: 23px;
  text-align: center;
  width: 100%;
  z-index: 10;
}

.logo {
  display: inline;
  padding-right: 15px;
  opacity: 0.6;
  z-index: 5;
}

.sub .logo {
  position: relative;
  top: 10px;
  z-index: 5;
  height: 119px;
}

.sub .title {
  position: relative;
  top: -8px;
  z-index: 10;
  display: inline;
}

.toplink {
  display: inline;
  margin: 0px 12px 4px 9px;
  position: relative;
  top: -4px;
  font-family: "Copperplate Gothic", "Copperplate Gothic Bold", "Times New Roman", serif;
  font-weight: bold;
}

.toplink a {
  color: white;
  text-decoration: none;
}

.toplink a:hover {
  text-decoration: underline;
}

.facebook {
  display: inline;
  margin: 0px 6px 4px 6px;
  position: relative;
}

.yelp {
  display: inline;
  margin: 0px 6px 4px 6px;
  position: relative;
}

.rssfeed {
  display: inline;
  margin: 0px 6px 4px 6px;
  position: relative;
  top: 4px;
}

.contact {
  display: none;
  position: absolute;
  top: 4px;
  left: 800px;
  text-align: center;
  font-family: "Copperplate Gothic", "Times New Roman", serif;
  font-size: 20px;
  line-height: 1.0;
  width: 200px;
  height: 220px;
  z-index: 12;
}

.contactbkgd {
  display: none;
  position: absolute;
  top: 4px;
  left: 801px;
  width: 200px;
  height: 220px;
  background-color: #ced3cf;
  opacity: 0.7;
  border-radius: 20px;
  z-index: 10;
}

.contact input {
  margin: 2px 0px;
  border-radius: 10px;
  padding: 2px;
}

.byline {
  position: relative;
  margin-top: 48px;
  font-family: "Copperplate Gothic", "Copperplate Gothic Bold", "Times New Roman", serif;
  /*font-family: "Tango Script SSi", "Lucida Calligraphy", cursive;*/
  font-size: 36px;
  font-weight: bold;
  /*color: #00421D;*/
  color: black;
  z-index: 10;
  width: 100%;
  text-align: center;
}
.byline .caps {/*
  font-family: Vivaldi, "Tango Script SSi", "Lucida Calligraphy", cursive;
  position: relative;
  top: 4px;
  font-size: 50px;*/
}
.photo {
  position: relative;
  margin-top: 18px;
  z-index: 10;
  width: 100%;
  text-align: center;
}

.photo img {
  border-radius: 20px;
  box-shadow: 8px 8px 8px #333333;
}

.testimonial {
  position: relative;
  margin-top: 32px;
  text-align: center;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16pt;
  font-weight: bold;
  font-style: italic;
  z-index: 10;
  padding: 0px 140px;
}

.sub .testimonial {
  font-family:"Century Schoolbook", "Times New Roman", serif ;
  font-size: 12pt;
  color: #00421D;
  padding: 20px 32px;
  margin-top: 0px;
  width: 275px;
  display: inline-block;
}

.sub .navigation {
  position: relative;
  float: left;
  width: 309px;
  padding: 0px;
  margin-right: 30px;
}

.navigationlink {
  position: absolute;
  top: 165px;
  display: none;
  width: 100vw;
  text-align: center;
}

.iconbar {
  position: relative;
  top: 30px;
  font-family: "Copperplate Gothic", "Copperplate Gothic Bold", "Times New Roman", serif;
  font-size: 10px;
  font-weight: bold;
  z-index: 10;
  width: 100%;
  text-align: center;
}

.icon {
  display: inline-block;
  position: relative;
  width: 92px;
  height: 110px;
  border-radius: 12px;
  padding: 6px;
  text-align: center;
  color: white;
  z-index: 10;
  cursor: pointer;
}

.icon:after {
  content: "";
  position: absolute;
  top: -6px;
  left: 0;
  width: 92px;
  height: 128px;
  background-color: #325d32;
  border-radius: 12px;
  opacity: 0.8;
  margin: 6px;
  z-index: -1;
  cursor: pointer;
}

.sub .iconbar {
  font-size: 9px;
  width: 310px;
  padding: 0px 15px;
}

.sub .icon {
  display: inline-block;
  position: relative;
  width: 80px;
  min-height: 110px;
  border-radius: 11px;
  padding: 5px;
  text-align: center;
  color: white;
  z-index: 10;
  cursor: pointer;
}

.sub .icon img {
  height: 66px;
  width: 64px;
}

.sub .icon a:link {
  color: white;
  text-decoration: none;
}
.sub .icon a:visited {
  color: white;
  text-decoration: none;
}
.sub .icon a:hover {
  color: white;
  text-decoration: none;
}

.sub .icon:after {
  content: "";
  position: absolute;
  top: -6px;
  left: 0;
  width: 80px;
  height: 110px;
  background-color: #325d32;
  border-radius: 11px;
  opacity: 0.8;
  margin: 5px;
  z-index: -1;
  cursor: pointer;
}

.sub .content {
  position: relative;
  float: right;
  max-width: 600px;
  padding-right: 140px;
  font-family: "Myriad Pro", Arial, sans-serif;
  font-size: 12pt;
  min-height: 100vh;
  z-index: 20;
}

.sub .content ul {
  padding-left: 15px;
}

.pagetitle {
  font-family: "Copperplate Gothic", "Copperplate Gothic Bold", "Times New Roman", serif;
  font-size: 24pt;
  font-weight: bold;
  margin: 15px;
  width: 570px;
  /*border-bottom: thin solid #9C6;*/
  margin-bottom: 0px;
}

subtitle {
  font-size: 18pt;
  font-weight: bold;
  font-style: italic;
  color: #00421D;
  margin: 0px 15px;
}

pullquote {
  position: relative;
  display: block;
  float: right;
  width: 260px;
  border: thin solid #325d32;
  border-radius: 12px;
  background-color: white;
  margin: 4px 0px 4px -70px;
  padding: 6px;
  left: 90px;
  font-family: "Century Schoolbook", "Times New Roman", serif;
  font-size: 14px;
  font-weight: bold;
}

pullquote ul {
  padding-left: 15px;
}

.tabbar {
  padding: 0px 15px;
  width: 700px;
  margin-bottom: 30px;
}

.z20 {
  z-index:: 20;
}

tab {
  position: relative;
  top: 0px;
  display: inline;
  border: thin solid #9C6;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  background-color: #EEE;
  height: 24px;
  padding: 2px 12px;
  z-index: 10;
}

tab:hover {
  cursor: pointer;
}

.activetab {
  background-color: transparent;
  border: none;
  border-top: thin solid #9C6;
  cursor: default;
}

tab.secondLine {
  top: 5px;
}

.tabsection {
  display: none;
}

.showsection {
  display: block;
}

.linklist {
  display: none;
}

top {
  display: block;
  margin: 0px 0px 12px 15px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: small;
}

teammate {
  display: block;
  margin-top: 24px;
}

teammate name {
  display: block;
  font-weight: bold;
  font-size: medium;
  margin-bottom: 12px;
}

teammate ul {
  position: relative;
  left: 15px;
}

teammate img {
  float: left;
  margin: 0px 15px 4px 15px;
}

table#paymentplans td {
  border: thin solid black;
}
/* Mobile Friendly CSS */
img {
  height: auto ;
  width: auto ;
  max-width: 100% ;
}
@media screen and (max-width: 1080px) {
	.home:after, .sub .banner:after {
    background-repeat: no-repeat;
  }
  .container {
    width: 100vw;
  }
  .page {
    width: 100%;
  }
  .pagetitle {
    margin-top: 0px;
  }
  .sub .banner {
    height: 100%;
    width: auto;
  }
  .sub .content {
    padding-right: 100px;
  }
}
@media screen and (max-width: 1040px) {
  .sub .content {
    padding-right: 60px;
  }
}
@media screen and (max-width: 1000px) {
  .sub .content {
    padding-right: 20px;
  }
}
@media screen and (max-width: 960px) {
  .sub .banner {
    padding-bottom: 78px;
  }
  .logo {
    position: absolute;
    left: 15px;
    width: 20vw;
  }
  .sub .logo {
    position: absolute;
    left: 15px;
    width: 20vw;
    z-index: 10;
  }
  .sub .title {
    top: 24px;
    padding: 0px 4px;
  }
  .sub .title img {
    z-index: 20;
  }
	.byline {
  	font-size: 30px;
    margin-top: 18px;
  }
  .home .testimonial {
    font-size: 12pt;
    margin-top: 18px;
	  padding: 0px 110px;
  }
  .sub .content {
    float: none;
    padding: 8px;
    margin: auto;
  }
  .sub .testimonial {
    width: 90vw;
  }
  .sub .navigation {
    float: none;
    text-align: center;
    width: 100%;
  }
  .navigationlink {
    display: block;
    z-index: 1000;
  }
  .sub .iconbar {
    width: 95%;
    overflow-x: scroll;
    white-space: nowrap;
    margin-bottom:30px;
	}
  .sub .icon {
    white-space: normal;
  }
  .iconbar {
    top: 20px;
    font-size: 10px;
    max-height: 240px;
    overflow-x: scroll;
    white-space: nowrap;
  }
  .icon {
    margin-bottom: 20px;
    white-space: normal;
  }
}
@media screen and (max-width: 840px) {
	.byline {
  	font-size: 24px;
    margin-top: 16px;
  }
  .testimonial {
    font-size: 11pt;
    margin-top: 12px;
	  padding: 0px 80px;
  }
}
@media screen and (max-width: 750px) {
  header {
    font-size: 12px;
  }
  .toplink {
    margin: 0px 3px 4px 3px;
  }
  .title img {
  }
	.byline {
  	font-size: 18px;
    margin-top: 10px;
  }
  .testimonial {
    font-size: 11pt;
    margin-top: 8px;
	  padding: 0px 50px;
  }
}
@media screen and (max-width: 667px) {
  header {
    font-size: 10px;
  }
  .title img {
  }
	.byline {
  	font-size: 24px;
    margin-top: 0px;
  }
  .testimonial {
    font-size: 10pt;
	  padding: 0px 20px;
    height: 60px;
  }
}
@media screen and (max-width: 550px) {
  .tabbar {
    display: none;
  }
  .linklist {
    margin: 0px 0px 8px 15px;
    display: block;
  }
  .sub .banner {
    height: 96px;
    margin: 30px 20px 0px 0px;
    padding-bottom: 42px;
  }
  .sub .logo {
    margin-top: 30px;
  }
  header {
    padding: 0px;
  }
  .toplink {
    margin: 0px;
  }
  .home .testimonial {
    font-size: 9pt;
    padding: 20px;
  }
  .sub .testimonial {
    font-size: 10pt;
    width: 80vw;
  }
}
@media screen and (max-width: 375px) {
  header {
  }
  .sub .banner {
    width: 375px;
  }
  .sub .logo {
    width: 76px;
  }
  .toplink {
    margin: 0px;
  }
	.byline {
  	font-size: 16px;
  }
  .home .testimonial {
    font-size: 8pt;
    padding: 10px;
  }
  .sub .testimonial {
    font-size: 9pt;
    padding: 10px;
  }
  .pagetitle {
    border-bottom: none;
  }
}
/*
@media screen and (max-width: 1080px) {
  @viewport {
    width: 100%;
    initial-scale: 1.2;
  }
}
*/
