@charset "utf-8";
/* CSS Document */

*, :before, :after {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}
a img {
   border: none;
}
html, body {
   height: 100%;
   font-family: Helvetica, Arial, sans-serif;
   font-size: 16px;
   background: #FFF;
}

#shadow {
   min-height: 100%;
   height: auto !important;/*ie6*/
   min-width:240px;
}

#main {
   margin: 0 auto;
   height: 100%;
}

/*oooooooooooooooooooo Header*/
#header {
   background: #000 url(../images/header-bg.png) right bottom no-repeat;
   height: 95px;
   position: relative;
   /* top: 32px; */
   /* margin-bottom: 32px; */
   margin-bottom: -95px;
}
#header.sticky {
    background: #000;
    height: 60px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    box-shadow: 0 4px 11px rgba(0,0,0,0.5);
}
#header.sticky #sitebrand {
    height: 80%;
}
#header.sticky .navigation,
#header.sticky #search,
#header.sticky #minicart {
    bottom: 50%;
    -webkit-transform: translateY(50%);
    transform: translateY(50%);
}
#header.sticky .navigation .active_parent:not(:hover) a {
    border-radius: 1em;
}

#header .screenonly {
    position: absolute;
    width:  100%;
    height: 100%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}
#header .waiver-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    margin: 0;
    transition: 0.3s;
}
#header.sticky .waiver-btn {
    display: none;
}
#header .waiver-btn:hover {
    background: #74BE44;
    color: #FFF;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

#sitebrand {
    position: absolute;
    left: 15px;
    top: 50%;
    height: 75px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
#sitebrand a {
    display: block;
    height: 100%;
}
#logo {
   /* position: absolute; */
   width: auto;
   height: 100%;
   /* top: 20px; */
   /* left: 25px; */
}
#tagline {
   position: absolute;
   left: 87px;
   top: 82px;
   font-size: 16px;
   display: none;
}
#header .phone {
   position: absolute;
   right: 0;
   top: 0;
   font-size: 1.25em;
   font-weight: bold;
   background: #75bf44;
   left: 0;
   text-align: center;
   -webkit-transform: translateY(-100%);
   transform: translateY(-100%);
   padding: 0.25em;
   height: 32px;
}
#header .phone .by-appointment {
    font-weight: normal;
}

/* fixed phone */
#header .phone {
    position: fixed;
    bottom: 0;
    top: auto;
    box-shadow: 0 -4px 11px rgba(0,0,0,0.5);
    z-index: 1000;
    -webkit-transform: none;
    transform: none;
    padding: 0.5em;
    height: auto;
}

#search {
   position: absolute;
   bottom: 0;
   right: 54px;
   width: 42px;
   height: 40px;
}
#search.expanded {width: 240px;z-index: 100;}

#search form {
    display: none;
    padding: 0.5em 1em;
    box-shadow: 2px 4px 4px rgba(0,0,0,0.5);
    background: #EEE;
    top: 36px;
    position: absolute;
    right: -1em;
}
#search.expanded form {display: block;}
#search .nav-icon {
   float: right;
   background: url(/images/icon_sprite.png) -7px -55px;
   height: 42px;
   width: 42px;
   display: inline-block;
   padding: 10px;
   border-radius: 0;
   cursor: pointer;
}
#search:hover:not(.expanded) .nav-icon,    
#minicart:hover:not(.expanded) .nav-icon {
   background-position-x: -125px;
}
#search.expanded .nav-icon {
   background-color: #EEE;
   background-position-x: -184px;
}
#search form span {
   border: 2px solid #CCC;
   border-radius: 0.5em;
   background: #FFF;
   display: block;
   font-size: 1.125em;
   padding: 0.5em;
   white-space: nowrap;
   padding-right: 36px;
   position: relative;
   width: 100%;
}
#search form input[type=text],
#search form input[type=text]:focus {
   width: 100%;
   height: 2em;
   letter-spacing: 1px;
   border: none;
   background: none;
   font-size: 1em;
   padding: 0;
   outline: none;
   margin: -0.5em;
   padding-left: 0.5em;
}

#search form input[type=submit] {
    background: url(/images/icon_sprite.png) -190px -60px;
    height: 32px;
    width: 32px;
    position: absolute;
    right: 2px;
    top: 2px;
    padding: 5px;
}

#minicart {
   position: absolute;
   bottom: 0;
   right: 12px;
   width: 42px;
   height: 40px;
}
#minicart .nav-icon {
   float: right;
   background: url(/images/icon_sprite.png) -7px -158px;
   height: 42px;
   width: 42px;
   display: inline-block;
   padding: 10px;
   border-radius: 0;
   cursor: pointer;
}
#minicart .nav-icon[data-count]:after {
    content: attr(data-count);
    position: absolute;
    top: 3px;
    right: 3px;
    font-size: 0.75em;
    min-width: 1.25em;
    padding: 0.125em;
    text-align: center;
    line-height: 1em;
    background: #75bf44;
    border-radius: 2em;
    font-weight: bold;
}
#minicart.expanded .nav-icon {
    background-position-x: -185px;
    background-color: #eee;
}
#minicart .cart_content {
    display: none;
    background: #EEE;
    box-shadow: 2px 4px 8px rgba(0,0,0,0.5);
    padding: 0.5em 0 0;
    width: 300px;
    position: absolute;
    right:  -42px;
    top: 35px;
    z-index: 1000;
    right: 0;
}

#minicart .cart_content .no-results {
    padding: 1em;
    text-align: center;
}
#minicart.expanded .cart_content {
    display: block;
}
#minicart .cart_item_headers {display: none; }
#minicart .cart_item {
    padding: 0.5em;
    padding-left: 4.5em;
    background: #FFF;
    border-bottom: 1px solid #EEE;
    padding-right: 1.5em;
    display: block;
    text-decoration: none;
    color: #000;
}

#minicart .cart_items .more {
    background: #FFF;
    font-size: 1.25em;
    display: block;
    padding: 0.8em;
    text-align: right;
    color: #AAA;
}
#minicart .cart_item > * {
    display: block;
}
#minicart .cart_item .thumbnail {
    width: 3em;
    background-size: contain;
    height: 3em;
    float: left;
    margin-left: -4em;
}
#minicart .cart_item .name {
    font-weight: bold;
}
#minicart .cart_item .subtotal,
#minicart .cart_item .qty {
    text-align: left;
    font-size: 0.8em;
}
#minicart .cart_item .qty:before {
    content: 'Quantity: ';
}
#minicart .subtotal:before {
    content: 'Subtotal: ';
}
.cart_item .remove {
    width: 1em;
    cursor: pointer;
    position: relative;
    padding: 0;
}
.cart_item .remove:before {
    height: 1em;
    border-radius: 1em;
    text-align: center;
    content: '';
    display: inline-block;
    width: 1em;
}
.cart_item .remove:hover:before {
    background: #C00;
}
.cart_item .remove:after {
    content: '+';
    line-height: 0.6em;
    -webkit-transform: rotate(45deg) translate(-50%, 50%);
    transform: rotate(45deg) translate(-50%, 50%);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    display: inline-block;
    font-size: 1.5em;
    padding: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    position:absolute;
    left: 50%;
    top: 50%;
    top: 0.05em;
    left: 0.0125em;
    height: 0.6em;
    padding: 0.2em;
}

#minicart .cart_item .remove:after {
    top: -0.2em;
}
.cart_item .remove:hover:after {
    color: #EEE;
}
#minicart .remove {
    float: right;
    display: none;
    margin-right: -1em;
}
#minicart .cart_item:hover .remove {
    display: block;
}
#minicart .cart_total {
    padding: 0.5em;
}
#minicart .cart_total .total {
    font-size: 1.25em;
    text-align: right;
    display: block;
}
#minicart .cart_total .total:before {
    content: 'Total: ';
}
#minicart .view_cart.button {
    display: block;
    border-radius: 0;
    text-align: center;
    margin: 0;
    font-size: 1.25em;
}


#header .social-media {
   position: absolute;
   right: 30px;
   top: 35px;
   display: none;
}
#header .social-media .follow-us {
   float: right;
   margin-top: -3px;
   font-size: 16px;
   color: #d2d2d2;
   font-weight: bold;
}
#header .social-media a {
   width: 27px;
   margin-left: 10px;
   float: right;
}
#header .social-media img {
   width: 27px;
}

/*oooooooooooooooooooo Navigation*/
#bottom {
   max-width: 960px;
   margin: 0 auto;
   padding-top: 95px;
}



#header .navigation-1 {}
.navigation.navigation-1 {display: none; }


#header .navigation-1 ul {
   margin-top: 25px;
   padding-top: 8px;
   padding-bottom: 3px;
   background: url('../images/nav-bg-bottom.png') right bottom no-repeat;
   position: relative;
}
#header .navigation-1 li {
   /* padding-left: 30px; */
   list-style: none;
   /* margin-bottom: 5px; */
   /* padding-top: 5px; */
   border-top: 2px solid #ADADAD;
   background-position: 10px 11px;
   background-repeat: no-repeat;
}
#header .navigation-1 li:first-child {
   border: none;
   padding-top: 0;
   position: absolute;
   top: -17px;
   background-position: 10px 6px;
}
#header .navigation-1 li.active,
#header .navigation-1 li:hover {
   /* background-image: url('../images/nav-bullet.png'); */
}
#header .navigation-1 a {
   text-decoration: none;
   font-size: 16px;
   /* height: 20px; */
   display: block;
   color: #DCDCDB;
}

#header .navigation-1 .free-arenas-ad {
    padding: 10px 0 10px 10px;
    /* max-width: 240px; */
    display: block;
    height: auto;
}

#header .navigation-1 .free-arenas-ad img {
    max-width: 100%;
}
#header .navigation-1 ul li:not(.expanded) ul {
    display: none;
}
#header .navigation-1 li ul a {
   text-transform: none;
   font-weight: normal;
   /* font-style: normal; */
   font-size: 13px;
}

#header .navigation-1.expa li ul a {}
#header .navigation-1 a:hover,
#header .navigation-1 a.active {
   /* color: #FFFFFF; */
}
#header .navigation-1 li ul li:first-child,
#header .navigation-1 li ul li ul li:first-child,
#header .navigation-1 li ul li,
#header .navigation-1 li ul li ul li {
   position: static;
   border: none;
   padding: 0;
   margin: 0;
   padding-left: 20px;
}
#header .navigation-1 li ul {
   margin-top: 5px;
   padding-top: 0;
   background: none;
   padding-bottom: 3px;
}
#header .navigation-1 li ul li.active,
#header .navigation-1 li ul li:hover {
   color: #FFFFFF;
   background-position: 2px 3px;
}

#header .navigation-12,
#header .navigation-13 {
   float: right;
   clear: both;
}

#header .navigation-1 .social-media {
   margin: 20px 0 10px 10px;
   text-align: center;
}

#header .navigation-1 .social-media:after {content: ' ';display: block;clear: both;}
#header .navigation-1 .social-media a {
   height: auto;
   display: block;
   width: 33.3%;
   margin: 0;
   float: left;
   padding: 0 3%;
}
#header .navigation-1 .social-media img {
   max-height: 100%;
   max-width: 100%;
}

#header .navigation-1 {
    background: none;
    transition: margin 0.2s ease-in-out;
    position: absolute;
    bottom: 0;
    right: 20px;
}
#header .navigation-1.expanded {
    z-index: 100;
}

#header .navigation-1:before {
    display: inline-block;
    content: ' ';
    height: 42px;
    width: 42px;
    padding: 10px;
    background: url(/images/icon_sprite.png) -7px -4px;
    cursor: pointer;
    box-sizing: border-box;
}

#header .navigation-1.expanded:before {
    height: 42px;
    background-color: #eee;
    background-position-x: -185px;
}

#header .navigation-1 > ul {
    background: #EEE;
    margin-top: 0;
    /* border-left: 2px solid #000; */
    /* box-shadow: 0 0 50px -5px #FFF; */
    height: 0;
    box-sizing: border-box;
    overflow: hidden;
    padding: 0;
    position: absolute;
    top: 38px;
    right: 0;
    width: 200px;
    box-shadow: 2px 4px 4px rgba(0,0,0,0.5);
}
#header .navigation-1.expanded > ul {
    height: auto;
    padding: 8px 0 3px;
}

#header .navigation-1 ul > li:first-child {
    top: auto;
    background: none;
    position: relative;
    border-top: 1px solid #000;
}

#header .navigation-1 a {
    color: #000;
    padding: 0.35em 0 0.35em 2em;
}

#header .navigation-1 li {
    border-top: 1px solid #000;
}
#header .navigation-1 a:hover {background-color: #CCC;}

#header .navigation-1.expanded li ul li {
    /* padding: 3px 0 3px 20px; */
}

#header .navigation-1.expanded li ul a {
    font-size: 16px;
}

#header .navigation-1 .fb-like-box, #header .navigation-1 .social-media, #header .navigation-1 .free-arenas-ad {
    display:none;
}
#header .navigation-1:not(.expanded):hover:before {
    background-position-x: -125px;
}

.navigation-1 li.parent a:before {
    content: '+';
    float: right;
    font-size: 1.5em;
    padding: 0 0.25em;
    color: #AAA;
    line-height: 0.8em;
}
.navigation-1 li.parent.expanded a:before {
    content: '';
}

/* main-nav */

.navigation.navigation-2 {
    position: absolute;
    right: 104px;
    bottom: 0;
}
.navigation.navigation-2 ul li {
    list-style: none;
}
.navigation.navigation-2 > ul > li {
    display: inline-block;
    position: relative;
}
.navigation.navigation-2 > ul > li a {
    display: inline-block;
    color: #FFF;
    padding: 0.5em 1em;
    text-decoration: none;
}
.navigation.navigation-2 > ul > li.active a,
.navigation.navigation-2 > ul > li.active_parent > a,
.navigation.navigation-2 > ul > li.active:hover > a,
.navigation.navigation-2 > ul > li.active_parent:hover > a {
    background: #FFF;
    color: #000;
}
.navigation.navigation-2 ul li.active:hover a {
    cursor: default; 
}
.navigation.navigation-2 ul li:hover a {
    text-decoration: none;
}
.navigation.navigation-2 > ul > li:hover > a {
    background: linear-gradient(#EEE 85%, #CCC);
    color: #000;
}
.navigation.navigation-2 > ul > li.parent:hover > a,
.navigation.navigation-2 > ul > li.active_parent.parent:hover > a {
    background: #EEE;
}

.navigation.navigation-2 ul li.active:hover a {
    cursor: default; 
    background: #FFF;
}
.navigation.navigation-2 ul  ul {
    display: none;
}
.navigation.navigation-2 > ul > li.home {
    display: none;
}

/* sub-nav */
.navigation.navigation-2 > ul > li:hover > ul {
    display: block;
    position: absolute;
    top: 34px;
    left: 0;
    z-index: 9999;
}
.navigation.navigation-2 > ul > li > ul {
    background: #EEE;
    box-shadow: 1px 2px 2px rgba(0,0,0,0.5);
    min-width: 150px;
}
.navigation.navigation-2 > ul > li > ul a {
    color: #000;
    display: block;
}
.navigation.navigation-2 > ul > li > ul a:hover {
    color: #000;
    display: block;
    background: #d2d2d2;
}
.navigation.navigation-2 li ul li {display: list-item; }

/*oooooooooooooooooooo Content*/
#content {
   width: 100%;
   float: right;
   padding-bottom: 20px;
   box-sizing: border-box;
   padding-top: 4em;
}
#content li {
    line-height: 1.5em
}
#content img {
    max-width: 100%;
}

/* content sub containers ***********/
#column-a1 {
   margin-bottom: 30px;
   text-align: center;
   background: #74be44;
}

#column-a1 img {
    box-shadow: 0 0 30px 0 #000;
}

#column-a3 h2:first-child,
#column-b2 h2:first-child {
   margin-top: 0;
}
#column-a3,
#column-b3 {
   width: 220px;
   float: right;
}
#column-a2,
#column-b1 {
   width: 100%;
   float: left;
   box-sizing: border-box;
   margin-right: -240px;
   padding-right: 240px;
   min-width: 524px;
}

#column-b1:after, #column-b2:after {
    display: block;
    content: ' ';
    clear: both;
}
#column-a3,
#column-b2 {
   max-width: 220px;
   float: left;
   padding-left: 20px;
}
#column-a3 > *,
#column-b2 > * {
   margin-bottom: 10px;
}
#column-a3 .search,
#column-b3 .search {
   width: 230px;
}

#column-a3 .search input[type=text],
#column-b3 .search input[type=text] {
   float: left;
   border: 2px solid #DCDCDB;
   background: #FFF;
   width: 180px;
   /* height: 25px; */
   padding: 3px;
   color: #000;
   margin-top: 1px;
   letter-spacing: 1px;
   font-size: 16px;
   padding: 0.5em;
}
#column-a3 .search input[type=submit]:not(.button),
#column-b3 .search input[type=submit]:not(.button) {
   background: url(../images/go-button.png);
   display: block;
   float: right;
   width: 36px;
   height: 35px;
   cursor: pointer;
   text-transform: capitalize;
   font-weight: bold;
   padding: 0.5em;
}



#events {
   margin-bottom: 20px;
}
.event_date {width: 75px;}
#news ul {
}
#news li {
   margin-left: 20px;
   margin-bottom: .5em;
}

/*oooooooooooooooooooo Footer*/
 #footer, #sticky-footer-push {
   min-height: 50px;/* #sticky-footer-push must be the same height as #footer *//*do not replace with min-height*/
   padding: 2em;
   background: #000;
   color: #FFF;
}

#sticky-footer-push {
   clear: both;
   visibility: hidden;
}

#footer {
   clear: both;
   padding-bottom: 4em;
}
#footer .col {margin-bottom: 1em; }
#footer > div {
    max-width: 1024px;
    margin:0 auto;
}

#footer:after {
    display: block;
    content: '';
    clear: both;
}

#footer a {
    text-decoration: none;
    color: #FFF;
}
#footer img {max-width: 100%;max-height: 100%;}

#footer A:hover {
    text-decoration: none;
}

#footer-contact {
   text-align: left;
}
#footer-contact .email {
    margin-top: 1em;
}
#footer-contact .email a {
    color: #74be44;
    text-decoration: underline;
}
#footer-contact .phone {
    font-size: 1.5em;
    margin-bottom: 0.5em;
}
#footer h3 {
    font-size: 1.5em;
    color: #74be44;
    margin-bottom: 0.5em;
    font-weight: normal;
}
#footer-links ul {column-count:2;width: 60%;}
#footer-links li {list-style:none; }
#footer-links a {
    text-decoration:none; 
    border-right: 1px solid #000;
    padding-right: 5px;
}
#footer-links a:hover {text-decoration: underline; }
#footer-links a:last-child {
    border-right: none;
    padding-right: 0;
}
#footer .social-media-container {
    float: right;
}
#footer .social-media {
    margin-bottom:18px
}
#footer .social-media a {
    width: 2em;
    height: 2em;
    display: inline-block;
}
#footer .social-media a + a {
    margin-left: 0.5em;
}
#footer .social-media a img {
    max-height: 100%;
    max-width: 100%
}
#footer .social-media a:hover {
    opacity: 0.6;
}
#footer .copyright {
    clear: right;
    padding: 1em;
    text-align: right;
    float: right;
    width: 55%;
}
#footer .powered-by {
    clear: left;
    float: left;
    width: 45%;
    margin-top: 0.25em;
    padding-left: 2%;
}
/*
#footer .powered-by a {
    height: 2em;
    display: inline-block;
    vertical-align: -0.5em;
}
*/
#footer .col {
    overflow: hidden;
}
.footer-payments {
    display: flex;
    flex-wrap: wrap;
    align-items: 40px;
}
.footer-payments li {
    list-style: none;
    margin: 1%;
}
.footer-payments li.cash-payment,
.footer-payments li.check-payment {
    width: 48%;
}

.footer-payments li.square-payment,
.footer-payments li.venmo-payment,
.footer-payments li.cash-app-payment {
    width: 33.3%;
    padding: 10px 10px 5px;
    margin: 1% 0;
    background: #FFF;
    height: 40px;
}
.footer-payments li.square-payment {
    border-radius: 0.25em 0 0 0.25em;
}
.footer-payments li.cash-app-payment {
    border-radius: 0 0.25em 0.25em 0;
}


h1,
#column-a3 h2 {
   font-size: 2em;
   margin-bottom: .5em;
   color: #74BE44;
   min-width: 300px;
}

h2 {
   font-size: 19px;
   margin-top: 1em;
   margin-bottom: 0.25em;
}

hr, h2 {
   clear: left;
}

hr {
   border-top: 2px solid #DCDCDB;
   margin: 1em 0;
}

a {
   color: #74BE44;
   /* text-decoration: none; */
}

a:hover {
   text-decoration: underline;
}

h2 a, h3 a, h4 a, h5 a, h6 a {text-decoration: none; }

.headerLink {
   font-weight: normal;
   float: right; 
   clear: both;
}

#content p {
   line-height: 1.5em;
   margin-bottom: 1em;
}
#content ul,
#content ol {
   margin-left: 20px;
   margin-bottom: 1em;
}

#content p,
#content dl,
#content ol,
#content ul {
   /*max-width: 465px;*/
}

/* Definition Lists  ************/
dl {
   margin-bottom: 1em;

}
dt {
   font-weight: bold;
   margin-top: .75em;

}

dd {
   margin-left: 0;

}


.clear {
   clear: both;
}
.clearfix:after {
    display: block;
    content: '';
    clear: both;
}

.printonly {
   display: none;
}

.signature:before {
    display: block;
    border-top: 1px solid #d2d2d2;
    content: ' ';
    width: 15px;
}

#date_adjust {
   padding: 10px 10px 0 10px;
   margin: 0 0 1em 10px;
   color: #fff;
   border: 2px solid #74BE44;
}

#date_adjust p {
   margin-top: .5em;
}

#date_adjust input[type="text"]{
   width: 8em;
}

.cornerPic {
   float: right; 
   width: 30%;
   margin: 0 0 .75em .75em;
}

.error {
   background-color: #990000;
   font-weight: bold;
   color: white;
}

.success {
   /*background-color: #00FF00;*/
   font-weight: bold;
   padding: 0 .25em;
}
#success
{
   font-family: Arial, sans-serif;
   /* background: #006997; */
   color: #FFFFFF;
   font-weight: bold;
}
#error
{
   font-family: Arial, sans-serif;
   background: #C00;
   color: #FFF;
   font-weight: bold;
}
#error a,
#succes a {
   color: #404040;
   text-decoration: underline;
}

.fine_print {
   font-size: .75em;
}

/* Lined Tables  ************/
table.lined {
   border-collapse: collapse;
}

.lined thead ,
.lined tfoot {
   border: 1px solid #dcdcdb;
} 
.lined td, 
.lined th {
   padding: 5px;
   border: 1px solid #dcdcdb;
   border-top: none;
   background: rgba(255,255,255,0.75)
}

.lined th, .lined tfoot td {
   background-color: #74BE44;
   color: #FFF;
   /* border: none; */
}
.lined th a, .lined tfoot td a {
   color: #FFF;
   text-decoration: underline;
}

.lined tfoot {
   font-weight: bold;
}
.lined tbody tr:nth-child(even) td, 
.lined tbody tr.row_even td {
   background: rgba(127,127,127,0.1);
}
.lined tr:nth-child(odd) td, 
.lined tr.row_odd td {
}

.fat td,
.fat th {
   padding: 10px 5px;
}
table.hoverable tr:hover td {
   background: #000;
   color: #FFF;
   cursor: pointer;
}

table.entity td {
   padding: 3px;
}
table.entity tfoot td {
   padding: 10px 3px;
}
table td {
   vertical-align: top;
}
.message {
    display: block;
    padding: .5em;
    margin: 0;
    background: #74BE44;
    font-weight: bold;
    color: #000000;
    border-top: 0.25em solid #FFF;
    border-bottom: 0.25em solid #FFF;
    text-align: center;
}

.message:nth-of-type(2) {
    border-top: none;
}
.more_info {
   float: right;
}

caption {
   margin-top: 1.5em;
   font-size: 1.25em;
   text-align: left;
}
.col {
   float: left;
   margin-right: 10px;
}
.leftcol,
.rightcol {
    width: 48%;
    padding-bottom: 2em;
}
.leftcol {float: left; }
.rightcol {float: right; }


/* Service Listings *******************************/
#service-types {
   /* width: 480px; */
   /* padding-bottom: 20px; */
   position: absolute;
   bottom: -4em;
   width: 100%;
}
a.service-type {
   /* width: 100px; */
   /* height: 125px; */
   overflow: hidden;
   float: left;
   margin-right: 0.25em;
   /* margin-bottom: 10px; */
   text-decoration: none;
   display: block;
   /* color: #DCDCDB; */
   /* max-width: 30%; */
   /* background: #EEE; */
   padding: 0.5em 1em;
   color: #000;
}

a.service-type:not(.active):hover {
    background: linear-gradient(#EEE 85%,#ccc);
}

a.service-type.active {
    background: #e4e4e4;
}
.service-type .name {
   font-size: 16px;
   /* font-weight: bold; */
   white-space: nowrap;
}
.service-type img {
   margin-top: 5px;
   width: 100px;
   max-width: 100%;
   display: none;
}
.service-type.inactive {
  /* for IE */
  filter:alpha(opacity=60);
  /* CSS3 standard */
  /* opacity:0.6; */
}
.service-type:hover {
  /* for IE */
  filter:alpha(opacity=100);
  /* CSS3 standard */
  opacity: 1.0;  
}
.services {
   /* width: 720px; */
   margin-top: 3px;
   display: flex;
   flex-wrap: wrap;
}
.services:after {
    content: ' ';
    display: block;
    clear: both;
}
.services .service {
   width: 23%;
   background: #FFF;
   margin-bottom: 1.25em;
   margin-left: 2%;
   color: #000;
   float: left;
   padding: 0.75em;
   box-shadow: 1px 2px 2px rgba(0,0,0,0.5);
   position: relative;
   text-decoration: none;
   display: flex;
   flex-direction: column;
   /* height: 100%; */
}

@media only screen and (min-width:1001px) {
    .services .service:not(.featured-service) {width: 23.5%; }
    .services .service:not(.featured-service):nth-of-type(4n+1) {
        clear:  both;
        margin-left: 0;
    }
    .services .service.featured-service {width: 32%; }
    .services .service.featured-service:nth-of-type(3n+1) {
        clear:  both;
        margin-left: 0;
    }
}
@media only screen and (min-width:722px) and (max-width:1000px) {
    .services .service {width: 32%; }
    .services .service:nth-of-type(3n+1) {
        clear:  both;
        margin-left: 0;
    }
}
@media only screen and (min-width:401px) and (max-width:721px) {
    .services .service {width: 49%; }
    .services .service:nth-of-type(2n+1) {
        clear:  both;
        margin-left: 0;
    }
}
@media only screen and (max-width:400px) {
    .services .service {width: 100%; margin-left: 0; }
}
.services .service:hover {
    text-decoration: none;
    box-shadow: 2px 4px 4px rgba(0,0,0,0.5);
}
.services .service:hover .price {}
#content .service .desc p {
   line-height: 1.25em;
}
.services .service a {
   color: #000;
   display: block;
}
.services .service .thumbnail {
    margin: 0 auto;
    display: block;
}
.services .service .thumbnail a {
    text-align: center;
}
.services .service .thumbnail a img {
    max-width: 100%;
}
.services .service .name,
.services .service .desc,
.services .service .price {
}
.services .service .name {
   font-weight: bold;
   /* flex: 1 0 auto; */
}
.services .service .desc {
   padding-left: 10px;
   font-size: 0.8em;
   flex: 1 0 auto;
}
.services .service .price {
   background: #444;
   padding: 1em 0.5em;
   margin: 0.75em -0.75em -0.75em;
   box-sizing: content-box;
   display: block;
   color: #FFF;
   text-align: center;
}

.services .service .price:hover {
    background: #000;
}
.co2 td, .co2 tr:nth-child(even) td {
   width: 50%;
   background: none;
}

.co2price {
   text-align: right;
}

/* Service Details ********************************/
#detail_img {
   float: right;
   margin: 0 0 1em 1em;
   width: 212px;
   position: relative;
   max-width: 50%;
}

#detail_img img {
   width: 100%;
   max-width: 212px;
}

.order-only {
    position: absolute;
    top: 0;
    left: 0;
}

.short_desc {
   margin: 1em 0;
   display: block;
}

.qty-input_block {
    font-size: 1.5em;
}
.qty-input_block input[type=text] {
    width: 2em;
    font-size: 1em;
    text-align: center; 
    border: none;
    border-bottom: 1px solid #000;
}

.detail_price {
   font-weight: bold;
   font-size: 1.5em;
   display: block;
   margin: 1em 0;
}

.detail_price.add_to_cart.button {
    background: #444;
}
.detail_price.add_to_cart.button:hover {
    background: #000;
}

#product_short_desc {
   margin-top: 2em;
   width: 340px;
}

#product_long_desc {
   border-top: 2px solid #DCDCDB;
   padding-top: 10px;
   clear: both;
}


/* Reference **********************/
.leftbox {
   width: 49%;
   float: left;
   border: 2px solid #DCDCDB;
   margin-bottom: 1em;
   padding: 8px;
   margin-right: 1%;
}
.rightbox {
   width: 49%;
   float: right;
   border: 2px solid #DCDCDB;
   margin-bottom: 1em;
   padding: 8px;
   margin-left: 1%;
}

/* Search Results *****************/
.page-result {
  // margin-bottom: 1em;
}
.page-result .name:after {
   content: ' | ';
}

input[type=text],
input[type=password],
input[type=email],
input[type=number],
input[type=date],
select,
textarea {
   border: 1px solid #DCDCDB;
   font-size: 1em;
   padding: 0.25em;
   font-family: inherit;
}

button,
input[type=submit],
input[type=button] {
   padding: 3px 10px;
   background: #74BE44;  
   border: none;
   border-radius: 5px;
   -moz-border-radius: 5px;
   cursor: pointer;
}

.percentage,
.currency {
   text-align: right;
}

/* good idea. doesn't work 
input.currency:before {
   content: '$';
}
input.percentage:after {
   content: '%';
}
*/

sup,
sub {
    height: 0;
    line-height: 1;
    vertical-align: baseline;
    _vertical-align: bottom;
    position: relative;
    
}
sup {
    bottom: 1ex;
}
sub {
    top: .5ex;
}
a sub,
a:hover sub {
    text-decoration: none;
}
/*
a.button, span.button {
    background: url("../images/button-sprite-left.png") no-repeat scroll left top transparent;
    cursor: pointer;
    display: block;
    float: left;
    height: 30px;
    margin-bottom: 10px;
    margin-right: 10px;
    text-align: center;
    text-decoration: none;
}
a.button span, span.button button, span.button input {
    background: url("../images/button-sprite-right.png") no-repeat scroll right top transparent;
    border: medium none;
    color: #000;
    display: block;
    font-family: Helvetica,Arial,sans-serif;
    font-size: 15px;
    font-weight: bold;
    height: 24px;
    margin-left: 9px;
    padding: 6px 9px 0 0;
}
span.button button, span.button input {
    height: 30px;
    padding: 0 9px 0 0;
}
a.button:hover, span.button:hover {
    background-position: left bottom;
}
a.button:hover span, span.button:hover input {
    background-position: right bottom;
}
*/
a.button, 
span.button, 
input.button,
button.button {
    background: #74BE44;
    border-radius: 2em;
    display: inline-block;
    padding: 0.5em 1em;
    margin-right: 5px;
    color: #FFF;
    font-weight: bold;
    transition: background-color 0.3s, border 0.3s, color 0.3s;
    text-decoration: none;
    cursor: pointer;
}
a.button:after, 
span.button:after, 
input.button:after,
button.button:after {
    display: block;
    content: ' ';
    clear: both;
}

.button.ghost {
    border: 0.125em solid #aaa;
    background: linear-gradient(rgba(255, 255, 255, 0.75),rgba(255, 255, 255, 0.75));
    color: #aaa;
}
a.button:hover, 
span.button:hover, 
input.button:hover,
button.button:hover {
    background: #000;
    color: #d2d2d2;
    border-color: #000;
}
.button button,
.button input[type=submit] {
    background: none;
    color: #fff;
    border: none;
    font-weight: bold;
    margin: -5px -10px;
    padding: 5px 10px;
    cursor: pointer;
}
.button.next,
.button.right {
   float: right;
}

.fineprint.button {padding: 0.25em 1em; }
.fineprint {font-size: 0.8em; }

a.add {
    /* padding: 3px 25px 3px 0; */
    /* background: url(../images/add.png) right center no-repeat; */
    display: block;
    text-decoration: none;
    width: auto;
    height: 1.125em;
    float: right;
}
a.add:hover {
    text-decoration: underline;
}
.hidden {display:none; }

.youtube-wrapper {margin-bottom:1em; }
.youtube-wrapper div {
    float: none;
    clear: both;
    width: 100%;
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 25px;
    height: 0;
}
.youtube-wrapper div .youtube {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#how-does-it-work {
    float: right;
    font-size: 1.5em;
    margin-top: -2.5em;
}

.col {padding: 0 1%; margin: 0; }
.col.span-1-of-3 {width: 33.33%; }
.col.span-2-of-3 {width: 66.66%; }
.col.span-1-of-4 {width: 25%; }
.col.span-1-of-2,
.col.span-2-of-4 {width: 50%; }
.col.span-3-of-4 {width: 75%; }
.col.span-1-of-5 {width: 20%; }
.col.span-2-of-5 {width: 40%; }
.col.span-3-of-5 {width: 60%; }
.col.span-4-of-5 {width: 80%; }

.add:before {
    background: #75bf44;
    border-radius: 2em;
    display: inline-block;
    content: '+';
    height: 0.8em;
    width: 0.8em;
    text-align: center;
    color: #FFF;
    line-height: 0.6em;
    font-size: 1.25em;
    padding: 0.1em;
    cursor: pointer;
    margin-right: 0.125em;
}

.service-links {
}
.service-links a {
    font-size: 30px;
    color: #000;
    background: #74BE44;
    margin: 0 1% 1em;
    text-align: center;
    display: block;
    float: left;
    padding: 10px 0;
    font-weight: bold;
    width: 48%;
    box-shadow: 1px 2px 2px rgba(0,0,0,0.5);
    text-decoration: none;
}
.service-links a:hover {
    text-decoration: none;
    background: #d2d2d2;
}
#featured-services .service-links {
    display: block;
    clear: both;
    top: 3em;
    position: relative;
    padding: 0 20%;
}

@media only screen and (max-width:1000px) {
    #content {
        padding: 1.5em;
        margin-left:0;
    }
    #header {
        /* height: 170px; */
    }
    
    #search {
        /* background: #74BE44; */
        /* padding: 5px; */
        /* height: auto; */
        /* bottom: -41px; */
        /* right: 0; */
        /* width: 100%; */
        /* margin-left: -50px; */
        /* padding-left: 50px; */
        /* height: 40px; */
        /* background: #74BE44; */
        /* width: 100%; */0% */
        padding-left: 120px;
        /* margin-left: -120px; */
        /* display: block; */
        /* border-left: 1px solid #000; */
    }
    #search form span:after {
        content: ' ';
        display: block;
        clear: both;
    }

    #search form {
        /* padding-right: 30px; */
    }
    #search input[type=text] {
        /* width: 100%; */
        /* height: auto; */
        /* float: left; */
        /* background: #000; */
    }

    #search input[type=image] {
        margin-right: -30px;
        background-color: #000;
        border-radius: 7px;
        margin-top: 2px;
    }
    #header .phone {
        /* top: 0; */
        /* font-size: 20px; */
        /* background: #000; */
        /* padding: 5px; */
        /* width: 100%; */
        /* right: 0; */
        /* text-align: center; */
    }

    #sitebrand {
        /* top: 50px; */
        /* position: absolute; */
    }

    #tagline {
        top: 110px;
    }

}
@media only screen and (max-width:888px) {
    #how-does-it-work {
        margin-top: 0; 
        float: none;
        clear: both;
        font-size: 1.25em;
    }
}

@media only screen and (max-width:721px) {
    .col {float: none; }
    .col.span-1-of-2,
    .col.span-1-of-3,
    .col.span-2-of-3,
    .col.span-1-of-4,
    .col.span-2-of-4,
    .col.span-3-of-4 {width: 100%; clear: both; display: block; }

    #header .phone {font-size: 1.125em;}
    #header .navigation-2 {/* right: 126px; */}
    #header .navigation-1 {right:0; }
    #header .navigation-2 > ul > li > a {padding: 0.5em }
    #footer .fb-page {display: none; }
    #footer .social-media-container {
        float: right;
        width: 50%;
        text-align: right;
        clear: none;
    }
    #footer .col.contact {
        float: left;
        width: 160px;
        clear: none;
        margin-right: 10px;
    }
    #footer-links ul {column-count:1; width: 100%; text-align: center; }
    #footer-links li {display:inline-block; line-height:1.5em;}
    #footer-links li:not(:first-child):before {content: '| '; }
    #header .waiver-btn {
        font-size: 0.8em;
    }
}
@media only screen and (max-width:580px) {
    #header {
        /* top: 48px; */
        /* margin-bottom: 48px; */
    }
    #search {
        /* padding-left: 50px; */
        /* margin-left: -50px; */
    }
    #search.expanded {
        width: 100%;
        right: 0;
        /* padding: 0; */
        /* margin: 0; */
    }

    #search.expanded .nav-icon {
        right:  42px;
        position: absolute;
    }
    #search form {
        width: 100%;
        right: 0;
        left: 0;
    }
    #header .phone {/* height: 48px; */}
    #header .phone .by-appointment {display: block; }
    #header .social-media {
        top: 60px;
        right: 5px;
    }
    #sitebrand {
        /* top: 70px; */
        /* position: absolute; */
        /* left: 25px; */
    }

    #tagline {
        top: 130px;
    }

    .navigation.navigation-1 {display: block; }
    .navigation.navigation-2 {display: none; }
    #minicart {right:42px; }
    #search {right:84px; }
    
    #column-a2, #column-a3,
    #column-b1, #column-b2, #column-b3 {
        width: 100%;
        float: none;
        padding: 0;
        margin: 0;
        margin-bottom: 1em;
        max-width: none;
        min-width: initial;
    }
    #detail_img {
        max-width: none;
        width: 100%;
        text-align: center;

    }
    .leftcol, .leftbox, .rightcol, .rightbox {
        width: 100%;
        margin: 0;
        clear: both;
        float: none;
        margin-bottom: 1em;
    }
    #footer-links li {
        display:block; 
        line-height:1.5em; 
        border-bottom: 1px solid #FFF;
    }
    #footer-links li:first-child {
        border-top: 1px solid #FFF;
    }

    #footer-links li:not(:first-child):before {display:none; }
    #footer-links li a {display:block; width: 100%; padding: 0.5em; }
    #footer .social-media a {
        font-size: 0.75em;
    }
}
@media only screen and (max-width:450px) {
    .services .service {
        width:100%;
        min-height: 0;
    }

    .service-type .name {
        font-size: 14px;
    }
    #service-types {
        left: -1em;
        width: 100vw;
        /* position:relative; */
    }
    a.service-type {
        padding: 0.5em;
    }
    #footer .social-media-container, #footer .col.contact {width:100%;float:none;clear:both;text-align: left;}
    #footer .powered-by,
    #footer .copyright {width:100%;float:none;clear:both;text-align: center;}
}

@media only screen and (max-width:330px) {
    #sitebrand a {/* margin-top:20px; */}
    #header {
        /* height: 160px; */
    }
    #header.sticky {height: 42px; }
    #sitebrand {
        /* top: -10px; */
    }
    #tagline {
        font-size: 14px;
        top: 110px;
        width:150px; 
    }
    #header .phone {
        font-size: 14px;
    }
    #header .social-media {
        top: 45px;
    }
    #header .social-media .follow-us {
        display: none;
    }
    #header .social-media a {
        margin-left: 3px;
    }
    .service-type .name {
        font-size: 11px;
    }
    #how-does-it-work {
        font-size: 1em;
    }
}