/* BASE SITE STYLES */
body { color: #1a1a1a; font-family: Merriweather, Georgia, serif; font-size: 16px; font-size: 1.1rem; line-height: 1.75; }
h1, h2, h3, h4, h5, h6 { text-rendering: optimizeLegibility; }
img { height: auto; max-width: 100%; vertical-align: middle; }


/* MAIN NAVIGATION MENU */
.navbar { padding: 0; }
.primary-menu { background: rgba(128, 128, 128, 0.19); }
.primary-menu a { color: #1a1a1a; font-family: Montserrat, "Helvetica Neue", sans-serif; font-size: 13px; }
.primary-menu a:hover { color: #007acc; }


/*ORDER FORM SIDEBAR */
.order-form-main { border-radius: 16px; background-color: rgba(30,115,190,0.36); padding: 20px; }
.order-form-main hr { background-color: #094b8d; border: 0; height: 2px; margin: 30px 100px 1.75em; width: 60%; }
.order-form-main label { font-size: 1.0rem; font-weight:700;  }

.order-form-total-text { font-size: 1.25rem; font-weight: 700; line-height: 1.25; padding-right: 50px; }
.order-form-total-price { font-size: 1.25em; color: #060; }
.order-form-desc-text { font-size: 0.9rem; margin-top: 15px; }
.form-text-small-red { color: #ff0000; font-size: 12px; }

.product-title { font-size: 1.0rem; font-weight: 700; line-height: 1.25; }
.product-subtitle { font-size: 0.75rem; color: #ff0000; }
.product-quantity { font-size: 0.95rem; }
.product-qty-field { margin-top: -4px; }
.product-qty-field.field-plus { margin-top: -4px; }
.product-price { font-size: 0.95rem; padding-left:20px; }
.product-price span { color: #900; }

/* HOMEPAGE STYLES */
.index-cta-small-red { color: red; text-align: center; margin-bottom:25px; }
.index-cta-small-black { text-align: center; margin-top: -25px; margin-bottom: -8px; }
.index-cta-small-blue { text-align: center; color: #000080; }
.indexpage h3 { font-size: 23px; font-size: 1.4375rem; line-height: 1.2173913043; }

/* GENERAL PAGE STYLES */
.genpage p { font-size: 1.0rem; }
.genpage h1 { font-size: 1.4rem; margin: 25px 0px; }
.genpage h2 { font-size: 1.2rem; }
.genpage h3 { font-size: 1.1rem; }

/* BLOG PAGE STYLES */
.bloglist { list-style: none; padding-left: 0; }
.bloglist li { padding: 6px 8px; margin-bottom: 3px; border: 1px solid #ccc; border-radius: 2px; background-color: #eee; }
.bloglist li a { font-size: 0.80rem; }
.blog-index-box { border: 1px solid #ddd; padding: 15px; border-radius: 4px; min-height: 120px; margin-bottom: 12px; }
.blog-index-box-link { font-size: 0.8rem; }
.blog-index-box-title { font-size: 0.8rem; }
.blog-index-box-summary { font-size: 0.8rem; }

/* CHECKOUT PAGE STYLES */
.checkoutpage { font-size: 0.9rem; }
.checkoutpage hr { margin-top: 0.3rem; margin-bottom: 0.3rem; }
.order-instructions { background-color: rgba(30,115,190,0.36); padding:25px; border-radius: 16px; }
#register-form { background-color: rgba(30,115,190,0.36); padding:15px; margin-top: 25px; border-radius: 16px; }
.payment-info { padding: 15px; border: 1px solid #ff0000; border-radius: 12px; margin-bottom: 30px; }
.payment-info h4 { font-size: 1.2rem; font-weight: 700; margin-bottom: 20px; }

.product-container { position: relative; width: 100%; height: 60px; padding: 0px; }
.product-container:hover { background-color: #e0f8df ; }

.product-container a { color: #004a85; }
.product-container .clickable { position: absolute; width: 100%; height: 100%; top: 0px; left: 0px; border: 1px solid green; border-radius: 4px; transition: all ease .5s; z-index: 10; }
.product-container .product { position: absolute; top: 20px; left: 0; right: 0; text-align: center; }
.product-container img.cat-icon { width: 30px; height: auto; display: inline-block; }
.product-container .checked-box { position: absolute; top: 0px; right: 0px; width: 22px; height: 22px; background-color: #0055ff; color: #fff; text-align: center; border-top-right-radius: 4px; display: none; }
#initialform { font-family: Rubik; border:1px solid #ddd; padding:20px; border-radius:8px; }
.order-blue { font-size: 1.25rem; color: #004a85; }

.testclass .card {
  background-color: #E8F1F7;
  padding-bottom: 0px;
  padding-top: 10px;
  margin-top: 20px;
  border-radius: 10px;
  border: none;
}
.testclass .card h5 {
  font-size: 1.1rem;
}
.moreinfolink {
	font-family: Rubik;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.65;
}


.hidden { display: none; }

.tel-btn a {
  color: #fff;
  padding: 8px 10px 8px 10px;
  font-size: 16px;
  display: inline-block;
  text-decoration: none;
  position: fixed;
  bottom: 50px;
  background: #E70E2E;
  border-radius: 9px;
  right: 25px;
  z-index: 11;
  font: bold 16px/24px "Montserrat";
}


/* FOOTER STYLES */
footer { margin: 50px 0px; background: #eee; padding: 20px; border-radius: 18px; }
footer a { font-size: 0.9rem; }
footer h3 { font-size: 1.0rem; }


/* UTILITY CLASSES */
.standard-red-center { color: #ff0000; text-align: center; font-weight: 600; margin-bottom: 0.6em; }
.standard-black-center { text-align: center; }

.alignleft { float: left; margin: 0.375em 1.75em 1.75em 0; }
.alignright { float: right; margin: 0.375em 0 1.75em 1.75em; }

.text-red { color: #ff0000; }
.text-blue { color: #094989; }

.martop10 { margin-top: -10px; }


/* HTML MARQUEE STYLES */
.html-marquee { margin: 0 auto; margin-bottom: 10px; height:25px; width:100%; background-color:FFFFFF; background-image:url(http://); font-family:Georgia; font-size:14px; color:red; font-weight:bold; border-width:0; border-style:dotted; border-color:ff0000; white-space: nowrap; overflow: hidden; }
.html-marquee span { display: inline-block; padding-left: 10%; animation: marquee 0s linear infinite; }
@keyframes marquee {
    0%   { transform: translate(0, 0); }
    100% { transform: translate(-100%, 0); }
}


div.result { 
margin: 0;
padding: 15px 5px;
font-size: 0.9em;
line-height: 1.2em;
border-bottom: 1px solid #ccc;
}

div.result small {
font-size: 0.7em;
color: #999;
}

div.result:hover {
background: #ebf0f1;
}

div.result address {
font-style: normal;
}

div.result h3 {
margin: 0 0 5px;
font-size: 1.5em;
text-transform: none;
}

div.result img {
border: none;
}

div.result .search-term {
background: #ff6;
color: #000;
}

div.result div.result_name {
width: 100%;
}

div.result div.result_address {
float: left;
width: 55%;
}

div.result div.result_phone {
float: left;
width: 22.5%;
min-height: 3em;
padding-right: 15px;
padding-left: 15px;
}

div.result div.result_links {
float: left;
display: table-cell;
width: 20%;
text-align: right;
vertical-align: bottom;
}

div.result div.result_links div {
clear: right;
margin-bottom: 3px;
}

div.result div.special {
float: right;
height: 20px;
margin: 0;
padding-left: 20px;
line-height: 20px;
text-align: left;
font-style: italic;
background: url( ../images/star.png ) no-repeat left center;
}

.location_search_title, .location_search_distance_cell, .location_search_taxonomy_cell {
font-weight:bold;
vertical-align:top;
}
@media screen and (min-width:600px) and (max-width:1280px) {
 .scheduling h2 {
  font-size:50px;
  font-weight:500
 }
}
@media screen and (max-width:800px) {
 .result a.btn { width: 100% !important; padding: 3px 12px !important; }
 .result div.result_links { width: 100% !important; }
 .result div.result_phone { width: 100% !important; padding: 0; }
 .result div.result_phone span.result_phone { margin: 15px 0 !important; }
 .scheduling h2 { font-size: 30px!important; margin-bottom:15px; }
 div.result h3 { font-size: 1.2rem; }
 div.location_search div>div { float:left; padding-left:0%; width:100%!important; }
 div.result div.result_address { width:100%; float:none; }
 div.result div.result_phone { width:70%; min-height:.1em; padding: 3px 0px; }
 div.result div.result_links { width:30%; }
 div.result div.result_name { margin-bottom:10px; }
 div.result div.result_phone span.result_phone,
 div.result div.result_phone span.result_email,
 div.result div.result_phone span.result_fax,
 div.result div.result_links div.result_website,
 div.result div.result_links div.result_directions { display:block; margin:5px 0; }
 div.result div.result_links div.result_website { margin-bottom: 15px; }
}

@media (max-width: 768px) {
	body { font-size: 1.0rem; }
	.btn.btn-purchase:hover {  color: #ffff06 !important; }
	.navbar-collapse.collapse.show { height:100%; min-height: 900px; z-index: 999; }
    .nav-item { width: 100%; text-align: left; }
    .v-line { display: none; }
	#logo { max-width: 260px; }
	.navbar-nav .nav-link { font-size: 0.9rem; padding: 15px 20px 0px; border-bottom: 1px solid #eee; }
	.dropdown-item { padding: .25rem 40px; font-size: 0.9rem; }
	.fixed-bottom { padding: 5px 0px 0px; background-color: #fff; }
	.product-price { width: 45%; float: left; padding-left: 0px; }
	.product-quantity-mobile { width: 25%; float: left; }
	.product-qty-field-mobile { margin-top: -4px; float: left; width: 25%; }
	.mobile-seperator {	width: 95% !important; margin: 30px 7px 1.75em !important; background-color: #fff !important; height: 1px !important; }
	.alignright { width: 40% !important; }
	.alignleft { width: 40% !important; }
	.img-mobile { width: 45% !important; float:left; margin: 5px; }
	.index-cta-mobile { padding-top: 10px; font-size: 0.9rem; }
	.index-cta-small-blue a { color: #000080; }
	.index-cta-small-red a { color: red; }
	.index-cta-small-black { text-align: center; margin-top: -15px; margin-bottom: 0px; }
	.genpage p { font-size: 0.9rem; }
	.genpage h1 { font-size: 1.2rem; }
}
