/* Blue */
/* Red */
/* Green-Yellow */
/* Grey */
/*DEVLOPMENT MISSING PAGE LINKS ON SUBPAGES*/
#subpage main a[href='#'] { background-color: red; }

.fullwidth { width: 100%; float: left; }

.space-20 { margin-bottom: 20px; }

/* #Clearing */
/* Self Clearing Goodness */
.container:after { content: "\0020"; display: block; height: 0; clear: both; visibility: hidden; }

.clearfix:before, .clearfix:after { content: '\0020'; display: block; overflow: hidden; visibility: hidden; width: 0; height: 0; }

.row:before { content: '\0020'; display: block; overflow: hidden; visibility: hidden; width: 0; height: 0; }
.row:after { content: '\0020'; display: block; overflow: hidden; visibility: hidden; width: 0; height: 0; clear: both; }

.clearfix:after { clear: both; }

.row, .clearfix { zoom: 1; }

.clear { clear: both; display: block; overflow: hidden; visibility: hidden; width: 0; height: 0; }

.no-js .top-bar { display: none; }

@media screen and (min-width: 40em) { .no-js .top-bar { display: block; }
  .no-js .title-bar { display: none; } }
.wrap-fix { overflow-wrap: break-word; word-wrap: break-word; -ms-word-break: break-all; word-break: break-word; -ms-hyphens: auto; -moz-hyphens: auto; -webkit-hyphens: auto; hyphens: auto; }

body { font-family: "Barlow Condensed", sans-serif; color: #434343; }

h1, h2, h3, h4, h5, h6 { font-family: "Barlow Condensed", sans-serif; }

h1, h2, h3, h5, h6 { font-weight: 400; }

h1 { font-size: 3.75rem; text-transform: uppercase; }

h2 { font-size: 2.25rem; }

h3 { font-size: 1.5rem; text-transform: uppercase; }

h4 { font-size: 1.375rem; text-transform: uppercase; font-weight: 500; }

h5 { font-size: 1.25rem; }

h6 { font-size: 1.125rem; }

p, ol, ul { font-size: 1.375rem; }

a { color: #0A4366; }
a:hover { color: #990000; }

strong { font-weight: 500; }

.button { text-transform: uppercase; font-size: 1.125rem; padding: .85em 2em; border-radius: 0; background-color: #0A4366; }
.button:hover { background-color: #990000; }
.button.invert { background-color: #990000; }
.button.invert:hover { background-color: #0A4366; }

.tooltip { max-width: 15rem; font-size: 15px; }

.has-tip { font-weight: 400; cursor: pointer; }

/* FORMS */
input[type=text], [type=password], textarea { border-radius: 0; box-shadow: none; font-size: 1rem; }

#catwebformbutton { font-family: "Barlow Condensed", sans-serif, "Font Awesome 5 Pro"; margin-top: 1rem; }

/********** UTILITY HEADER **********/
.util-phone { padding: 10px; background-color: #F0F0F0; font-size: 1.25rem; font-weight: 500; text-align: center; }
.util-phone span { margin-right: 1rem; }

.util-menu { padding: 10px; background-color: #9A9B06; color: #FFFFFF; font-size: 1.25rem; font-weight: 500; text-align: right; }
.util-menu ul { margin: 0; }
.util-menu ul li { display: inline; text-transform: uppercase; margin: 0 .5rem; }
.util-menu ul li a { color: #FFFFFF; }
.util-menu ul li a:hover { text-decoration: underline; }

/********** HEADER **********/
.logo { text-align: center; padding: 1rem 0; }
.logo img { height: 75px; }

.title-bar { background-color: #0A4366; }

.top-bar { padding: 0; }

.top-bar, .top-bar ul { background-color: #FFFFFF; }

.dropdown.menu a { padding: .7rem .5rem; }

.menu { width: 100%; }

nav .menu li a { color: #434343; font-size: 1.375rem; }
nav .menu li a:hover { color: #990000; }

.dropdown.menu .is-active > a { color: #990000; }

.is-dropdown-submenu { background-color: #F0F0F0 !important; border: 0 none; box-shadow: 0 5px 5px rgba(0, 0, 0, 0.16); }
.is-dropdown-submenu:before { margin-left: auto; margin-right: auto; left: -150px; right: 0; content: ""; position: absolute; top: -10px; width: 20px; height: 30px; z-index: 100; content: ''; display: block; width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-bottom: 10px solid #F0F0F0; }

@media print, screen and (min-width: 40em) { .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a { position: relative; padding-right: .5rem; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after { display: none; } }
ul.is-accordion-submenu { background-color: #F0F0F0; }
ul.is-accordion-submenu li a::before { font-family: Font Awesome\ 5 Pro; font-weight: 400; font-size: 1rem; content: '\f105'; margin-right: 10px; }

/********** HOME BODY **********/
#home main { margin-top: 2rem; margin-bottom: 2rem; text-align: center; }

/********** HOME - SERVICES **********/
section#home-services { margin-top: 2rem; margin-bottom: 2rem; background-color: #0A4366; color: #FFFFFF; padding: 2rem 0; }
section#home-services img { display: block; margin: 0 auto 1rem auto; transition: all .5s ease; width: 75px; }
section#home-services h2 { text-transform: uppercase; text-align: center; margin-bottom: 4rem; }
section#home-services h3 { font-size: 1.375rem; }
section#home-services a { color: #FFFFFF; text-align: center; }
section#home-services a:hover img { transform: scale(1.2); }

/********** HOME - SPECIALTIES (tiles) **********/
section#home-specialties { margin-top: 2rem; margin-bottom: 0; }
section#home-specialties a:hover figure img { -webkit-transform: scale(1.1); -ms-transform: scale(1.1); transform: scale(1.1); }
section#home-specialties figure { position: relative; background-color: #000000; overflow: hidden; margin-bottom: 2rem; }
section#home-specialties figure img { opacity: 0.5; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; filter: alpha(opacity=50); transition: all 0.5s ease; }
section#home-specialties figure figcaption { position: absolute; left: 50%; /* horizontal alignment */ top: 50%; /* vertical alignment */ transform: translate(-50%, -50%); width: 100%; color: #FFFFFF; text-align: center; font-size: 1.375rem; line-height: 1.5rem; }

/********** HOME - TESTIMONIALS **********/
section#home-testimonials { margin-top: 2rem; margin-bottom: 2rem; }
section#home-testimonials h2 { text-align: center; color: #990000; text-transform: uppercase; }
section#home-testimonials .testimonial-item .slick-slide { text-align: center; }
section#home-testimonials span.far { color: #DEDEDE; font-size: 3.125rem; }

/********** HOME - CONTACT **********/
section#home-contact { margin-top: 2rem; margin-bottom: 2rem; background-color: #0A4366; color: #FFFFFF; padding: 3rem 3rem 2rem; }
section#home-contact a { color: #FFFFFF; }
section#home-contact .contact-title { margin-bottom: 0; text-transform: uppercase; }
section#home-contact .thumbnail { border: 0 none; border-radius: 0; box-shadow: none; line-height: 0; }
section#home-contact .thumbnail span { font-size: 4rem; }
section#home-contact .cell { padding: 0 1rem; }

@media print, screen and (max-width: 40em) { section#home-contact { padding: 1rem 1rem 1rem; } }
/********** FOOTER **********/
section#footer-menus { margin-top: 2rem; margin-bottom: 2rem; background-color: #F0F0F0; padding: 1.5rem 1rem 0; }
section#footer-menus ul { margin: 0; margin-bottom: 1.5rem; list-style: none; }
section#footer-menus ul li a { color: #434343; font-size: 1.375rem; }
section#footer-menus ul li a:hover { color: #990000; }

footer { margin-top: 2rem; margin-bottom: 0; background-color: #434343; color: #FFFFFF; padding: 1rem; }
footer a { color: #FFFFFF; }
footer a:hover { color: #FFFFFF; text-decoration: underline; }
footer .policies { text-align: right; }

/********** SUBPAGE HEADER **********/
section#subpage-header { margin-top: 0; margin-bottom: 2rem; background: linear-gradient(to left, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.6) 80%), url(/_assets/img/subpage-header/_generic.jpg); height: 250px; overflow: hidden; color: #FFFFFF; }
section#subpage-header .subpage-title { padding-left: 5rem; }
section#subpage-header #breadcrumb { font-size: 1.25rem; text-transform: uppercase; }
section#subpage-header #breadcrumb a { color: #FFFFFF; }
section#subpage-header #breadcrumb a:hover { text-decoration: underline; }
section#subpage-header #breadcrumb .far { padding: 0 .5rem; color: #FFFFFF; }

@media print, screen and (max-width: 40em) { section#subpage-header { min-height: 150px; height: inherit; }
  section#subpage-header .subpage-title { padding-left: 1rem; }
  section#subpage-header .subpage-title h1 { font-size: 2rem; } }
/********** SUBPAGE **********/
#subpage main ul { margin-left: 2.5rem; }
#subpage main a:not(.button) { font-weight: 500; }

#aside-info { margin-top: 0; margin-bottom: 2rem; padding: 2rem; background: url(/_assets/img/aside-info-bg.jpg); background-repeat: no-repeat; }
#aside-info h3 { font-size: 2.25rem; color: #000000; }
#aside-info h5 { font-size: 1.375rem; color: #990000; text-transform: uppercase; }

#aside-info-links { margin-top: 2rem; }
#aside-info-links a.button.invert { text-align: center; font-size: 1.125rem; padding: .85em 1.2em; text-transform: capitalize; }

#aside-contact { background-color: #0A4366; color: #FFFFFF; padding: 2rem; }
#aside-contact h5 { font-size: 1.375rem; text-transform: uppercase; }
#aside-contact ul { list-style: none; margin: 0; }
#aside-contact ul li { font-size: 1.375rem; line-height: 2.5rem; }
#aside-contact ul li .phone2 { margin-left: 3rem; }
#aside-contact ul li i { margin-right: 1rem; }
#aside-contact ul li a { color: #FFFFFF; }
#aside-contact ul li a:hover { text-decoration: underline; }

/********** CONTACT PAGE **********/
.callout { background-color: #F0F0F0; border-radius: 0; border: 0 none; font-size: 1.375rem; }

section#google-map { margin-top: 2rem; margin-bottom: 2rem; }
section#google-map .mapCont { margin: 0 Auto; }
section#google-map .mapCont #googleMap { height: 450px; }
section#google-map #iw-mnh { font-family: "Barlow Condensed", sans-serif; }

#aside-hours h5 { font-size: 1.375rem; text-transform: uppercase; font-weight: 500; }
#aside-hours table { font-size: 1.375rem; }
#aside-hours thead th { font-weight: 500; text-transform: uppercase; }

.floated-label-wrapper { position: relative; }
.floated-label-wrapper label { background: #FFFFFF; color: #0A4366; font-size: 1rem; font-weight: 500; left: 0.75rem; opacity: 0; padding: 0 0.25rem; position: absolute; top: 2rem; transition: all 0.15s ease-in; z-index: -1; }
.floated-label-wrapper label.show { opacity: 1; top: -0.85rem; z-index: 1; transition: all 0.15s ease-in; }

/********** STAFF PAGE **********/
.staff-list { margin-top: 0; margin-bottom: 1rem; }

/********** CLIENT AREA **********/
.tabs.client-info { border: 0 none; background: #ffffff; }

.tabs-title > a, .tabs-title .tabs-logout > a { display: block; padding: 1.25rem 1.5rem; font-size: 1.375rem; line-height: 1; color: #0A4366; font-weight: 500; outline: 0; }
.tabs-title > a:focus, .tabs-title .tabs-logout > a:focus, .tabs-title .tabs-logout > a[aria-selected=true] { background: #e6e6e6; color: #0a4366; }

.tabs-content { border: 0 none; border-top: 0; background: #FFFFFF; color: #434343; }
