/*
Theme Name: Garage Doors - ultrabootstrap customized
Author: contento interactive
Author URI: http://contentointeractive.com
Description: Garage Doors is a Customized theme for Garage Doors Companies, based on the theme Ultrabootstrap, which is a multipurpose Free WordPress Theme.
Version: 7000
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ultrabootstrap
Tags: right-sidebar, theme-options, featured-images, rtl-language-support, grid-layout, editor-style, custom-header, threaded-comments, custom-background, custom-colors, blog, footer-widgets
*/

/*!
 * Bootstrap v3.3.6 (http://getbootstrap.com)
 * Copyright 2011-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
hr {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  :after,
  :before {
    color: #000!important;
    text-shadow: none!important;
    background: 0 0!important;
    -webkit-box-shadow: none!important;
    box-shadow: none!important
  }
  a,
  a:visited {
    text-decoration: underline
  }
  a[href]:after {
    content: " (" attr(href) ")"
  }
  img {
    page-break-inside: avoid;
    max-width: 100%!important
  }
  h2,
  h3,
  p {
    orphans: 3;
    widows: 3
  }
  h2,
  h3 {
    page-break-after: avoid
  }
  .navbar {
    display: none
  }
  .btn > .caret {
    border-top-color: #000!important
  }
}
@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('../fonts/glyphicons-halflings-regular.eot');
  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')
}
.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}
.glyphicon-tags:before {
  content: "\e042"
}
*,
:after,
:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  box-sizing: inherit
}
html {
  font-size: 10px;
  -webkit-tap-highlight-color: transparent
}
a:focus {
  outline: -webkit-focus-ring-color auto 5px;
  outline-offset: -2px
}
.img-responsive {
  display: block;
  max-width: 100%;
  height: auto
}
hr {
  margin-top: 20px;
  border-top: 1px solid #eee
}
.h1,
.h2,
.h3,
.h4,
h1,
h2,
h3,
h4 {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit
}
.h1,
.h2,
.h3,
h1,
h2,
h3 {
  margin-top: 20px;
  margin-bottom: 10px
}
.h1,
h1 {
  font-size: 36px
}
.h2,
h2 {
  font-size: 30px
}
.h3,
h3 {
  font-size: 24px
}
.h4,
h4 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 18px
}
.text-center {
  text-align: center
}
.text-capitalize {
  text-transform: capitalize
}
ol ol,
ol ul,
ul ol,
ul ul {
  margin-bottom: 0
}
.list-inline {
  padding-left: 0;
  margin-left: -5px;
  list-style: none
}
.list-inline > li {
  display: inline-block;
  padding-right: 5px;
  padding-left: 5px
}
address {
  font-style: normal;
  line-height: 1.42857143;
  margin: 0 0 1.5em
}
.container {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto
}
@media (min-width:768px) {
  .container {
    width: 750px
  }
}
@media (min-width:992px) {
  .container {
    width: 970px
  }
}
@media (min-width:1200px) {
  .container {
    width: 1170px
  }
}
.container-fluid {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto
}
.row {
  margin-right: -15px;
  margin-left: -15px
}
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-8,
.col-md-12,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-6,
.col-md-8,
.col-md-9,
.col-sm-12,
.col-sm-4,
.col-sm-6,
.col-sm-8,
.col-xs-12,
.col-xs-2,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-9 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px
}
.col-xs-12,
.col-xs-2,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-9 {
  float: left
}
.col-xs-12 {
  width: 100%
}
.col-xs-9 {
  width: 75%
}
.col-xs-7 {
  width: 58.33333333%
}
.col-xs-6 {
  width: 50%
}
.col-xs-5 {
  width: 41.66666667%
}
.col-xs-2 {
  width: 16.66666667%
}
@media (min-width:768px) {
  .col-sm-12,
  .col-sm-4,
  .col-sm-6,
  .col-sm-8 {
    float: left
  }
  .col-sm-12 {
    width: 100%
  }
  .col-sm-8 {
    width: 66.66666667%
  }
  .col-sm-6 {
    width: 50%
  }
  .col-sm-4 {
    width: 33.33333333%
  }
}
@media (min-width:992px) {
  .col-md-12,
  .col-md-2,
  .col-md-3,
  .col-md-4,
  .col-md-6,
  .col-md-8,
  .col-md-9 {
    float: left
  }
  .col-md-12 {
    width: 100%
  }
  .col-md-9 {
    width: 75%
  }
  .col-md-8 {
    width: 66.66666667%
  }
  .col-md-6 {
    width: 50%
  }
  .col-md-4 {
    width: 33.33333333%
  }
  .col-md-3 {
    width: 25%
  }
  .col-md-2 {
    width: 16.66666667%
  }
}
@media (min-width:1200px) {
  .col-lg-2,
  .col-lg-3,
  .col-lg-4,
  .col-lg-8 {
    float: left
  }
  .col-lg-8 {
    width: 66.66666667%
  }
  .col-lg-4 {
    width: 33.33333333%
  }
  .col-lg-3 {
    width: 25%
  }
  .col-lg-2 {
    width: 16.66666667%
  }
}
caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777;
  text-align: left
}
output {
  display: block;
  padding-top: 7px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555
}
.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: 400;
  line-height: 1.42857143;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-image: none;
  border: 1px solid transparent
}
.btn.active:focus,
.btn:active:focus,
.btn:focus {
  outline: dotted thin;
  outline: -webkit-focus-ring-color auto 5px;
  outline-offset: -2px
}
.btn:focus,
.btn:hover {
  color: #333;
  text-decoration: none
}
.btn.active,
.btn:active {
  background-image: none;
  outline: 0;
  -webkit-box-shadow: inset 0 3px 5px rgba(0,0,0,.125);
  box-shadow: inset 0 3px 5px rgba(0,0,0,.125)
}
.btn.disabled,
.btn[disabled] {
  cursor: not-allowed;
  -webkit-box-shadow: none;
  box-shadow: none;
  opacity: .65
}
a.btn.disabled {
  pointer-events: none
}
.btn-primary {
  color: #fff;
  background-color: #337ab7;
  border-color: #2e6da4
}
.btn-primary:focus {
  color: #fff;
  background-color: #286090;
  border-color: #122b40
}
.btn-primary.active,
.btn-primary:active,
.btn-primary:hover {
  color: #fff;
  background-color: #286090;
  border-color: #204d74
}
.btn-primary.active:focus,
.btn-primary.active:hover,
.btn-primary:active:focus,
.btn-primary:active:hover {
  color: #fff;
  background-color: #204d74;
  border-color: #122b40
}
.btn-primary.active,
.btn-primary:active {
  background-image: none
}
.btn-primary.disabled:focus,
.btn-primary.disabled:hover,
.btn-primary[disabled]:focus,
.btn-primary[disabled]:hover {
  background-color: #337ab7;
  border-color: #2e6da4
}
.fade {
  opacity: 0;
  -webkit-transition: opacity .15s linear;
  -o-transition: opacity .15s linear;
  transition: opacity .15s linear
}
.fade.in {
  opacity: 1
}
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent
}
.dropdown {
  position: relative
}
.dropdown-toggle:focus {
  outline: 0
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  font-size: 14px;
  text-align: left;
  list-style: none;
  background-color: #fff;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 4px;
  -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
  box-shadow: 0 6px 12px rgba(0,0,0,.175)
}
.dropdown-menu.pull-right {
  right: 0;
  left: auto
}
.dropdown-menu .divider {
  height: 1px;
  margin: 9px 0;
  overflow: hidden;
  background-color: #e5e5e5
}
.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: 400;
  line-height: 1.42857143;
  color: #333;
  white-space: nowrap
}
.dropdown-menu > li > a:focus,
.dropdown-menu > li > a:hover {
  color: #262626;
  text-decoration: none;
  background-color: #f5f5f5
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:focus,
.dropdown-menu > .active > a:hover {
  text-decoration: none;
  background-color: #337ab7;
  outline: 0
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:focus,
.dropdown-menu > .disabled > a:hover {
  color: #777
}
.dropdown-menu > .disabled > a:focus,
.dropdown-menu > .disabled > a:hover {
  text-decoration: none;
  cursor: not-allowed;
  background-color: transparent;
  background-image: none
}
.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 12px;
  line-height: 1.42857143;
  color: #777;
  white-space: nowrap
}
.pull-right > .dropdown-menu {
  right: 0;
  left: auto
}
.btn .caret {
  margin-left: 0
}
.nav {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none
}
.nav > li {
  position: relative;
  display: block
}
.nav > li > a {
  position: relative;
  display: block;
  padding: 10px 15px
}
.nav > li > a:focus,
.nav > li > a:hover {
  text-decoration: none;
  background-color: #eee
}
.nav > li.disabled > a {
  color: #777
}
.nav > li.disabled > a:focus,
.nav > li.disabled > a:hover {
  color: #777;
  text-decoration: none;
  cursor: not-allowed;
  background-color: transparent
}
.nav > li > a > img {
  max-width: none
}
.navbar {
  position: relative;
  margin-bottom: 20px;
  border: 1px solid transparent
}
.navbar-nav {
  margin: 7.5px -15px
}
.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 20px
}
@media (min-width:768px) {
  .navbar {
    border-radius: 4px
  }
  .navbar-nav {
    float: left;
    margin: 0
  }
  .navbar-nav > li {
    float: left
  }
  .navbar-nav > li > a {
    padding-top: 15px;
    padding-bottom: 15px
  }
}
.navbar-default {
  background-color: #f8f8f8;
  border-color: #e7e7e7
}
.navbar-default .navbar-nav > li > a {
  color: #777
}
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > li > a:hover {
  color: #333;
  background-color: transparent
}
.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:focus,
.navbar-default .navbar-nav > .disabled > a:hover {
  color: #ccc;
  background-color: transparent
}
@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0
  }
  to {
    background-position: 0 0
  }
}
@-o-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0
  }
  to {
    background-position: 0 0
  }
}
@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0
  }
  to {
    background-position: 0 0
  }
}
.media {
  margin-top: 15px;
  overflow: hidden;
  zoom: 1
}
.media:first-child {
  margin-top: 0
}
.media > .pull-right {
  padding-left: 10px
}
.media > .pull-left {
  padding-right: 10px
}
.panel {
  margin-bottom: 20px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 1px rgba(0,0,0,.05);
  box-shadow: 0 1px 1px rgba(0,0,0,.05)
}
.clearfix:after,
.clearfix:before,
.container-fluid:after,
.container-fluid:before,
.container:after,
.container:before,
.nav:after,
.nav:before,
.navbar:after,
.navbar:before,
.row:after,
.row:before {
  display: table;
  content: " "
}
.clearfix:after,
.container-fluid:after,
.container:after,
.nav:after,
.navbar:after,
.row:after {
  clear: both
}
.pull-right {
  float: right!important
}
.pull-left {
  float: left!important
}
.hide {
  display: none!important
}
.show {
  display: block!important
}
.hidden {
  display: none!important
}
@-ms-viewport {
  width: device-width
}
.visible-xs {
  display: none!important
}
@media (max-width:767px) {
  .visible-xs {
    display: block!important
  }
}

/* Reusable ACF-driven staff cards. */
.staff-section {
  background: linear-gradient(to bottom,#f5f7fb 0,#fff 100%)
}

.staff-section__header {
  width: 100%;
  max-width: none;
  margin: 0 0 30px;
  background: transparent
}

.staff-section__eyebrow {
  margin-bottom: 7px;
  color: #1769aa;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase
}

.staff-section__header h2 {
  margin: 0 0 10px;
  color: #173f7a;
  font-size: clamp(30px,4vw,44px);
  text-transform: none
}

.staff-section__header > p:last-child {
  margin-bottom: 0;
  color: #536579;
  font-size: 17px
}

.staff-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 22px
}

.staff-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid #dce4ed;
  border-top: 5px solid #3d4652;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(20,45,75,.1)
}

.staff-card__image {
  aspect-ratio: 4/5;
  overflow: hidden;
  background: #e8edf2
}

.staff-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover
}

.staff-card__content {
  padding: 20px 20px 23px
}

.staff-card__content h3 {
  margin: 0 0 9px;
  color: #173f7a;
  font-size: 23px
}

.staff-card__content > p:last-child {
  margin: 0;
  color: #536579;
  font-size: 14px;
  line-height: 1.5
}

.staff-section__cta {
  margin-top: clamp(30px,4vw,48px)
}

.staff-section__cta h3 {
  margin: 0 0 7px;
  color: #173f7a;
  font-size: clamp(24px,3vw,32px)
}

.staff-section__cta p {
  margin: 0 0 18px;
  color: #536579;
  font-size: 16px
}

.staff-section__phone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 250px
}

@media (max-width:991px) {
  .staff-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))
  }
}

@media (max-width:540px) {
  .staff-grid {
    grid-template-columns: 1fr
  }
}

html {
  font-family: sans-serif;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  box-sizing: border-box
}
body {
  margin: 0
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block
}
[hidden],
template {
  display: none
}
a {
  background-color: transparent
}
b,
strong {
  font-weight: 700
}
img {
  vertical-align: middle;
  border: 0;
  height: auto;
  max-width: 100%
}
svg:not(:root) {
  overflow: hidden
}
figure {
  margin: 1em 40px
}
hr {
  box-sizing: content-box;
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em
}
h1,
h2,
h3,
h4 {
  font-family: Lato,serif;
  clear: both;
  color: #222
}
p {
  margin: 0 0 1.5em;
  font-size: 18px;
  font-weight: 400
}
li {
  font-size: 16px;
  line-height: 1.5
}
i {
  font-style: italic
}
var {
  font-family: Monaco,Consolas,"Andale Mono","DejaVu Sans Mono",monospace;
  font-size: .9375rem
}
ol,
ul {
  margin: 0 0 1.5em 3em
}
ul {
  list-style: disc
}
ol {
  list-style: decimal
}
li > ol,
li > ul {
  margin-bottom: 0;
  margin-left: 1.5em
}
a:active,
a:focus,
a:hover {
  color: #191970
}
.site-main .comment-navigation {
  margin: 0 0 1.5em;
  overflow: hidden
}
.comment-navigation .nav-previous {
  float: left;
  width: 50%
}
.comment-navigation .nav-next {
  float: right;
  text-align: right;
  width: 50%
}
.screen-reader-text {
  clip: rect(1px,1px,1px,1px);
  position: absolute!important;
  height: 1px;
  width: 1px;
  overflow: hidden
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0,0,0,.6);
  clip: auto!important;
  color: #21759b;
  display: block;
  font-size: .875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000
}
.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1rem
}
.clear:after,
.clear:before {
  content: "";
  display: table;
  table-layout: fixed
}
.clear:after {
  clear: both
}
.widget {
  margin: 0 0 1.5em
}
.updated:not(.published) {
  display: none
}
.entry-summary {
  margin: 1.5em 0 0
}
.page-links {
  clear: both;
  margin: 0 0 1.5em
}
object {
  max-width: 100%
}
.gallery {
  margin-bottom: 1.5em
}
body,
body.custom-background {
  font: 400 13px/22px Lato;
  color: #666;
  background-color: #fff
}
.btn {
  color: #fff!important;
  border-radius: 0;
  border: none;
  text-transform: uppercase;
  font-size: .8em;
  padding: 5px 25px
}
a,
a:visited {
  color: #a90329;
  text-decoration: none
}
a:hover {
  color: #333
}
.btn,
a,
a:active,
a:focus,
a:hover,
img {
  text-decoration: none;
  -webkit-transition: .3s ease-in-out;
  -moz-transition: .3s ease-in-out;
  -ms-transition: .3s ease-in-out;
  -o-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
  outline: 0
}
h1,
h2,
h3,
h4 {
  font-weight: 900;
  margin: 20px 0;
}
h1 {
  font-size: 2.5em
}
h2 {
  font-size: 2em
}
h3 {
  font-size: 1.5em;
  margin: 0 0 10px
}
h4 {
  letter-spacing: 2px;
  display: inline-block;
  padding-bottom: 10px;
  margin-bottom: 20px;
  color: #333
}
.txtcenter {
  text-align: center
}
a.readmore {
  font-size: .8em;
  letter-spacing: 3px
}
.spacer {
  padding-top: 20px;
  padding-bottom: 20px
}
#product-links .glyphicon {
  margin-left: -15px;
  color: #c38a24
}
header .logo-tag {
  margin: 5px 0
}
header .logo-tag h1 {
  margin: 6px 0;
  font-size: 1.5em
}
header .logo-tag h1 a:hover {
  text-decoration: none
}
header .logo-tag h2 {
  margin: 0;
  color: #666;
  font-size: .8em;
  font-weight: 300;
  letter-spacing: 2px;
}
header .navbar-default {
  border: none;
  margin: 0;
  background: #c38a24
}
header .navbar-default .navbar-nav li a {
  letter-spacing: 1px;
  font-size: .8em;
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1.1;
  color: #fff;
  padding: .9em 1.2em
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:focus,
.navbar-default .navbar-nav > .active > a:hover {
  color: #efefef
}
header .navbar-default .navbar-nav > li > a:hover {
  color: #ccc
}
.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border: none;
  border-radius: 0
}
.dropdown-menu {
  right: auto;
  left: 0;
  box-shadow: none
}
.dropdown-menu li a {
  color: #000!important;
  font-size: .9em!important;
  padding: 1em 1.2em!important
}
.dropdown-menu li a:hover {
  background-color: #fff!important
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:focus,
.dropdown-menu > .active > a:hover {
  color: #555!important
}
.navbar {
  border-radius: 0;
  min-height: 0
}
.post-list .post-block {
  margin-bottom: 30px;
  background-color: #fff;
  overflow: hidden;
  height: 100%;
  box-shadow: 0 5px 10px #ccc
}
.post-list .post-block .summary {
  padding: 15px 15px 0
}
.post-list .post-block img {
  transform: scale(1)
}
.post-list .post-block img:hover {
  transform: scale(1.07)
}
.post-info {
  font-size: .8em
}
.post-info a {
  margin-right: 5px
}
.post-info ul {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 15px;
  float: left;
  width: 100%
}
.post-info ul li {
  display: inline-block
}
.post-list h3 {
  margin-bottom: 25px
}
footer {
  background-color: #000;
  padding: 15px 0;
  font-size: .8em;
  color: #aaa;
  position: relative
}
footer a:hover {
  color: #aaa
}
footer ul {
  margin: 0
}
section.footers {
  background: #333;
  padding: 40px 10px 10px;
  border-bottom: 1px solid #e7e7e7
}
section.footers h2,
section.footers h3 {
  color: #fff!important
}
section.footers .widget-title {
  margin-top: 20px
}
section.footers a:hover {
  color: #fff
}
section#product-links .red,
section.footers .blue,
section.footers .red {
  font-size: 28px;
  padding-left: 10px;
  padding-right: 10px
}
.page-title {
  margin-bottom: 10px
}
.page-title h1 {
  font-size: 2.7em;
  font-weight: 700;
  display: inline-block
}
.comments-area {
  margin-top: 30px;
  border-top: 1px dotted #ccc;
  padding-top: 30px
}
.comments-area h2 {
  margin-bottom: 15px
}
.comments-area ol {
  margin: 0;
  list-style: none
}
.comments-area ol.comment-list {
  padding: 0
}
.comments-area ol.comment-list article {
  margin-bottom: 15px;
  background: #fff;
  padding: 15px;
  border-radius: 5px
}
.comments-area footer {
  background: 0 0;
  padding: 0
}
.widget {
  margin-bottom: 30px;
  padding: 15px;
  background: #fff;
  margin-botom: 10px
}
.widget ol,
.widget ul {
  margin: 0;
  padding-left: 15px
}
#header-logo-phone {
  margin-top: -4px;
  background-repeat: repeat;
  padding-top: 15px;
  padding-bottom: 0;
  position: relative
}
.book-form-wrapper {
  box-shadow: 0 0 15px #aaa;
  border: 2px solid #fff
}
a.blue,
a.red {
  display: inline-block;
  background: #c38a24;
  background: -moz-linear-gradient(top,#c38a24 0,#c1a472 100%);
  background: -webkit-linear-gradient(top,#c38a24 0,#c1a472 100%);
  background: linear-gradient(to bottom,#c38a24 0,#c1a472 100%);
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  color: #fff!important;
  -webkit-appearance: none;
  text-shadow: 0 1px 2px #000;
  font-size: 32px;
  box-shadow: 0 0 15px rgba(0,0,0,.6);
  line-height: .5;
  padding: 20px 15px;
  min-width: 250px;
  border-radius: 30px;
  border: 6px solid #c09346
}
h3.widget-title {
  font-size: 2em
}
a.red {
  background: #8c0900;
  background: -moz-linear-gradient(top,#8c0900 0,#da0000 100%);
  background: -webkit-linear-gradient(top,#8c0900 0,#da0000 100%);
  color: #fff!important;
  text-shadow: 0 1px 2px #000;
  letter-spacing: 1px
}
a.red:hover {
  background: #da0000;
  background: -moz-linear-gradient(top,#da0000 0,#8c0900 100%);
  background: -webkit-linear-gradient(top,#da0000 0,#8c0900 100%)
}
#promored {
  background-color: #333;
  font-size: 150%
}
.white {
  color: #fff
}
.pagetitle {
  margin: 0
}
#promo h3,
#promored h3 {
  font-weight: 700;
  font-size: 1.5em;
  margin-bottom: 0;
  text-transform: uppercase;
  text-align: center;
  color: #fff
}
#promored h3 {
  letter-spacing: 1px;
  font-size: 2em;
  text-shadow: 1px 1px 4px #000
}
#promo h3 i {
  -moz-transform: scaleX(-1);
  -o-transform: scaleX(-1);
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
  filter: FlipH;
  -ms-filter: "FlipH"
}
a.blue:hover {
  background: #c1a472;
  background: -moz-linear-gradient(top,#c1a472 0,#c38a24 100%);
  background: -webkit-linear-gradient(top,#c1a472 0,#c38a24 100%);
  letter-spacing: 0
}
a.blue span.blue.smalltxt,
a.red span.blue.smalltxt {
  font-size: 14px;
  font-weight: 300;
  text-transform: capitalize
}
#secondary a.red.rfs {
  width: 90%;
  margin: 0 5%
}
aside a.red.rfs {
  width: 100%;
  text-align: center
}
#hero-1 h2,
#hero-1 h2.hero-title {
  line-height: 1.3;
  text-align: center;
  color: #fff;
  font-weight: 900;
  text-transform: uppercase;
  font-size: 48px;
  text-shadow: 1px 2px 2px rgba(0,0,0,.5);
  padding-top: 40px
}
.transblue ul li {
  list-style-type: none;
  color: #fff;
  font-size: 1.7em;
  text-shadow: 1px 2px 2px rgba(0,0,0,.5);
  margin: .75rem;
  font-weight: 700
}
.transblue ul {
  list-style-type: none;
  margin: -40px 0 0;
  padding: 0
}
#hero-1 {
  background-size: cover;
  background-position: center center;
  position: relative;
  overflow: hidden
}
#hero-1 p {
  font-size: 20px;
  color: #fff;
  padding: 10px;
  font-weight: 300;
  text-align: center;
  text-transform: uppercase
}
#service-1,
#service-2,
#service-3 {
  box-shadow: 0 5px 10px rgba(0,0,0,.6)
}
a.service-block {
  color: #fff;
  text-align: center;
  display: block;
  width: 100%;
  position: absolute;
  bottom: 0;
  margin: 0;
  padding: 12px 5px;
  text-shadow: 1px 1px 1px rgba(0,0,0,.3);
  font-size: 22px
}
#home-body-content {
  background-color: #efefef;
  padding-bottom: 60px
}
#reviews h2 {
  text-align: center;
  margin-bottom: 10px
}
#companypanorma {
  background-size: cover;
  min-height: 350px;
  background-position: center center
}
#product-links {
  background-color: #efefef;
  padding-top: 20px;
  padding-bottom: 20px
}
.mylinks {
  text-align: center;
  padding: 10px 20px 20px
}
.maplinkswrapper {
  background: rgba(255,255,255,.8);
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
  box-shadow: 6px 0 35px rgba(0,0,0,.2)
}
.mapbkg {
  background-position: center center;
  background-size: cover;
  min-height: 250px
}
.family-check-list {
  font-size: 16px;
  text-align: center;
  width: 100%;
  margin-top: -44px;
  display: block
}
.family-check-list p,
.family-check-list ul {
  background-color: rgb(195,138,36,.7);
  width: 100%;
  display: inline-block;
  font-weight: 700;
  padding: 10px;
  margin: 0;
  color: #fff;
  list-style-type: none
}
.family-check-list ul li {
  display: inline;
  margin-right: 10px
}
.mb-1 {
  margin-bottom: 10px
}
.mt-1 {
  margin-top: 10px
}
.mb-3 {
  margin-bottom: 30px
}
#individual-post,
#maintext {
  background-color: #efefef
}
#maintext h2 {
  font-weight: 900;
  margin-top: 40px
}
#maintext h4 {
  margin-bottom: 10px
}
.summary h3 {
  font-size: 150%
}
.summary p {
  font-size: 13px
}
ul.footer-products-list {
  margin-left: 0;
  margin-top: 0;
  display: inline-block;
  padding-left: 5px;
  margin-bottom: 0;
  width: 100%;
  column-count: 5
}
ul.footer-products-list li {
  list-style-type: none;
  float: left;
  margin-left: 0;
  text-align: center;
  line-height: 1.2;
  height: auto
}
ul.footer-products-list li a {
  font-size: 13px;
  line-height: 1;
  text-transform: capitalize;
  text-decoration: underline;
  word-break: break-all
}
.mobileshow {
  display: none
}
.mobilehide {
  display: inline-block
}
#fullwidth-wrapper .bluebkg.row,
#individual-post .bluebkg.row {
  background-color: #999;
  padding-top: 20px;
  padding-left: 20px;
  margin: 0 -20px -20px
}
#checklist h3,
#reviews h2 {
  text-transform: capitalize;
  font-size: 2.1em;
  margin-top: 15px;
  font-weight: 700
}
#checklist .eq-blocks {
  margin-bottom: 0
}
#fullwidth-wrapper .bluebkg.row h3,
#individual-post .bluebkg.row h3 {
  color: #fff;
  text-shadow: 0 0 4px #000;
  font-size: 1.7em
}
.bluebkg .blue,
.bluebkg .red {
  font-size: 18px;
  min-width: 0;
  margin-top: -7px;
  margin-bottom: 10px;
  padding: 10px 15px
}
.bluebkg .blue {
  padding-top: 8px;
  padding-bottom: 8px
}
#secondary {
  text-align: center
}
.location-details img {
  max-height: 300px;
  box-shadow: 0 0 5px #ccc
}
.book-form-wrapper h4 {
  margin-bottom: 5px
}
#product-links ul,
#product-links ul li {
  list-style-type: none;
  font-size: 23px
}
#product-links ul li {
  font-size: 20px;
  text-align: center
}
#secondary a.red {
  width: 100%
}
#mobile-person .pd-1 {
  padding: 10px
}
#mobile-person h2,
#mobile-person h3,
#mobile-person h4,
#mobile-person p {
  color: #fff
}
#mobile-person img {
  border-radius: 10px;
  border: 1px solid #ccc
}
.clearall {
  clear: both
}
.mobileonly {
  display: none
}
.text-xs-center {
  text-align: center
}
.logo-menu .container {
  width: 100%!important
}
#fullwidth-wrapper {
  background-color: #efefef
}
#reviews .container-fluid .row {
  max-width: 100%;
  margin: 0;
  padding: 0
}
body.home #reviews {
  background-color: #fff
}
#tap-text-btns {
  position: fixed;
  bottom: 4px;
  width: 100%;
  z-index: 99999
}
#tap-text-btns div {
  padding: 0
}
#tap-text-btns a.blue,
#tap-text-btns a.red {
  min-width: 50px;
  font-size: 23px;
  width: 100%;
  padding: 10px 5px;
  line-height: 1
}
.fineprint {
  font-size: 11px;
  text-align: center;
  color: #ccc
}
.footers p {
  font-size: 15px
}
.footers h4 {
  margin-top: 0
}
.checklist {
  width: 414px;
  max-width: 100%
}
#middletxt p {
  text-transform: capitalize
}
@media (min-width:768px) {
  .text-sm-right {
    text-align: right
  }
  .text-sm-center {
    text-align: center
  }
  .navbar-nav > li {
    float: none;
    display: inline-block
  }
  .navbar-nav {
    float: none;
    text-align: center
  }
}
@media (min-width:992px) {
  .text-md-left {
    text-align: left
  }
  .text-md-right {
    text-align: right
  }
  #middletxt h3 {
    font-size: 200%;
    margin-top: 20px
  }
  #middletxt p {
    font-size: 160%;
    margin-bottom: 0;
    margin-top: 8px
  }
}
@media (max-width:991px) {
  #header-logo-phone .container {
    width: 100%!important
  }
  h1 {
    font-size: 2em
  }
  header .navbar-default .navbar-nav > li > a {
    padding: 15px 10px
  }
  header .logo-tag h1 {
    font-size: 1em;
    margin-top: 15px
  }
  header .logo-tag h2 {
    font-size: .5em;
    letter-spacing: 1px
  }
  #header-logo-phone .container a.red {
    padding-left: 5px;
    padding-right: 5px;
    letter-spacing: 0
  }
}
@media (max-width:767px) {
  section.footers ul {
    margin-left: 30%
  }
  #hero-1 p {
    font-size: 2px
  }
  header .navbar-default .navbar-nav > li > a {
    padding: 5px 30px
  }
  header .navbar-nav {
    display: inline-block;
    margin-top: 0
  }
  header .navbar-nav .dropdown-menu {
    margin-left: 5px;
    display: none!important
  }
  h4 {
    margin-bottom: 10px
  }
  .logo-tag {
    margin-left: 15px
  }
  .spacer {
    padding-top: 30px;
    padding-bottom: 30px
  }
  .post-list .post-block {
    height: auto
  }
  ul {
    margin: 0;
    padding-left: 15px
  }
  #hero-1 h2,
  #hero-1 h2.hero-title {
    font-size: 32px;
    line-height: 1.1;
    padding-left: 20px;
    padding-right: 20px;
    text-align: center;
    color: #fff;
    text-shadow: 1px 2px 2px rgba(0,0,0,.5);
    margin: 10px auto 25px
  }
  #individual-post .row {
    padding: 0
  }
  .mobileshow {
    display: inline-block
  }
  .mobilehide {
    display: none
  }
  #header-logo-phone {
    position: relative;
    top: 0;
    z-index: 9999
  }
  #logo-menu {
    position: relative;
    top: 0;
    z-index: 9999;
    box-shadow: 0 10px 20px rgba(0,0,0,.5)
  }
  #header-logo-phone .container a.red {
    padding-left: 5px;
    padding-right: 5px;
    letter-spacing: 0
  }
  #companypanorma {
    min-height: 100px
  }
  .family-check-list {
    margin-top: 0
  }
  .family-check-list ul li {
    display: inline-block
  }
  #secondary a.red {
    width: auto
  }
  ul.footer-products-list li {
    width: 50%
  }
  .logo-tag a img {
    width: 100%
  }
  .xs-mt-0 {
    margin-top: 0
  }
  .xs-hide {
    display: none!important
  }
  .mobileonly {
    display: block!important
  }
  #middletxt p.mobileonly {
    margin-bottom: 10px!important;
    margin-block-start: 0px;
    margin-block-end: 0px;
    text-transform: capitalize
  }
  #middletxt img {
    width: 270px;
    margin-top: -5px;
    margin-left: auto;
    margin-right: auto
  }
  .mobilelg {
    clear: both;
    font-size: 150%;
    font-weight: 900;
    text-transform: uppercase
  }
  #hero-1 h2,
  #hero-1 h2.hero-title {
    padding-top: 10px;
    margin-top: 0;
    margin-bottom: 10px;
    font-weight: 400;
    text-transform: initial
  }
  #promo .spacer {
    padding-top: 10px;
    padding-bottom: 10px
  }
  #hero-1 .spacer {
    padding-top: 0;
    padding-bottom: 0
  }
  #hero-1 .blue,
  #hero-1 .red {
    margin-bottom: 10px
  }
}
@media (max-width:766px) {
  .mobile-center {
    text-align: center
  }
  #header-logo-phone h3 .xs-hide {
    display: none
  }
  .transblue ul {
    margin-top: 0
  }
}
@media (max-width:540px) {
  body {
    padding-bottom: 80px
  }
  #middletxt h3 {
    font-size: 1.2em
  }
  #middletxt p {
    margin-bottom: 5px;
    font-size: 15px;
    line-height: 1;
    margin-top: 3px
  }
}
.tap-text-phone-icon {
  float: left;
  margin-left: 30px;
  margin-right: -30px
}
.tap-text-calendar-icon,
.tap-text-save-icon {
  margin-top: -5px;
  margin-right: 5px
}
#tap-text-btns .blue,
#tap-text-btns .red {
  border-radius: 5px
}
#middletxt p {
  font-size: 17px;
  color: #222;
  font-weight: 400;
  margin-bottom: 5px
}
body,
p {
  color: #222
}
footer p {
  color: #aaa
}
.p-tap {
  padding: 3px!important
}
header .logo-tag {
  margin-top: 0
}
#tap-text-btns .blue {
  font-size: 19px!important
}
article {
  font-size: 16px
}
section.footers a,
section.footers p {
  color: #ddd
}
.footers h3.widget-title {
  text-align: center
}
.footers ul {
  text-align: center;
  list-style-type: none;
  margin-left: 0;
  padding-left: 0
}
#mobile-person p {
  font-size: 20px;
  line-height: 1.3;
  text-align: center;
  margin: 20px 0 0
}
.family-check-img {
  box-shadow: 0 0 10px #888;
  display: inline-block
}
.family-check-img p {
  font-size: 12px;
  text-align: right;
  padding-right: 5px;
  background-color: #222;
  color: #fff;
  margin-bottom: 0
}
.family-check-list p,
.family-check-list ul,
a.service-block {
  background-color: rgba(48,22,125,.8)
}
#mobile-person,
a.service-block:hover {
  background-color: #30167d
}
.footerlogo {
  background-color: #fff;
  padding: 10px;
  border-radius: 10px;
  margin-top: 20px
}
#pg_title h1 span {
  text-transform: uppercase!important
}
#trust-badges img {
  display: inline-block;
  max-height: 165px;
  padding: 0;
  margin: 0
}
#companypanorma img {
  width: 100%
}
#service-1,
#service-2,
#service-3,
#service-4 {
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  min-height: 200px;
  padding: 0;
  border: 0;
  box-shadow: 0 5px 10px rgb(0 0 0 / 60%);
  max-width: 300px;
  margin: auto auto 10px
}
#pg_title,
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:focus,
.navbar-default .navbar-nav > .active > a:hover,
header .navbar-default {
  background-color: #2f2f7f
}
#pg_title h1 {
  color: #fff
}
.eq-blocks {
  margin-bottom: 0
}
#reviews img {
  box-shadow: 0 0 10px #ccc;
  border-radius: 10px
}
#middletxt h3 {
  margin-top: 0
}
a.red {
  background: linear-gradient(to bottom,#e5590d 0,#f99a0c 100%);
  border-color: #ef780d
}
a.red:hover {
  background: linear-gradient(to bottom,#f99a0c 0,#e5590d 100%);
  border-color: #ef780d
}
a.blue {
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  font-size: 32px;
  line-height: .7;
  padding: 15px;
  border-radius: 30px;
  transition: background .5s;
  background: linear-gradient(to bottom,#1a0056 0,#4a2faa 100%);
  border-color: #30167d
}
#checklist p,
#checklist p.fineprint {
  margin-bottom: 0;
  color: #000
}
a,
footer a,
footer a:visited {
  color: #d0580e
}
a.blue:hover {
  background: linear-gradient(to bottom,#4a2faa 0,#1a0056 100%);
  border-color: #30167d
}
#hero-1 h3 {
  color: #fff!important;
  margin-bottom: 0;
  font-size: 23px
}
ul.footer-products-list li {
  width: 100%!important
}
#reviews {
  background-color: transparent!important
}
#reviews .container {
  position: relative;
  z-index: 5
}
#reviews svg {
  position: absolute;
  z-index: 1
}
#home-body-content {
  background: linear-gradient(to bottom,#fff 30%,#ccc 100%)
}
#promo {
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
  background: linear-gradient(to bottom,#fff 0,#f1f1f1 28%,#e1e1e1 64%,#f6f6f6 100%);
  background-color: #ddd
}
header {
  overflow: hidden;
  border-bottom: 1px solid #ddd
}
#promo h3 {
  color: #222
}
.transblue {
  background-color: rgba(255,255,255,.9)
}
#hero-1 h2 {
  color: #222!important;
  text-shadow: none!important;
  margin-top: 0!important;
  padding-top: 0!important
}
#hero-1 h2 span.mobilelg {
  color: #f47722
}
#hero-1 .book-form-wrapper {
  margin-top: 0;
  background-color: #efefef;
  border-color: #fff;
  border-widtH: 2px;
  padding: 20px 0 0;
  border-radius: 15px
}
#hero-1 .book-form-wrapper h3 {
  color: #222!important
}
#hero-1 img {
  margin-bottom: 8px;
  border-radius: 30px;
  box-shadow: 0 0 15px #aaa
}
#companypic img {
  border-radius: 20px;
  margin-bottom: 10px
}
#trust-badges .row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  padding: 0!important
}
#pg_title {
  box-shadow: inset 0 0 30px rgba(0,0,0,.3);
  box-shadow: none;
  background-color: #333
}
#individual-post {
  background-color: #333
}
.separator svg {
  padding-bottom: 0;
  margin-top: -20px;
  margin-bottom: -6px
}
#individual-post #trust-badges .row {
  margin-top: 20px!important;
  box-shadow: none
}
.book-form-wrapper {
  background-color: #ddd;
  border-radius: 15px
}
.post-content h2 .text-capitalize {
  text-transform: uppercase!important
}
.worryfree {
  font-weight: 400!important
}
.separator {
  position: relative
}
#hero-1 h2,
.mobilelg {
  text-transform: capitalize!important
}
#logo {
  max-width: 300px;
  margin-top: 20px
}
#fullwidth-wrapper .bluebkg.row p,
#individual-post .bluebkg.row p {
  margin-bottom: 0;
  padding-bottom: 0
}
#fullwidth-wrapper .bluebkg.row,
#individual-post .bluebkg.row {
  padding-bottom: 5px
}
@media (max-width:1200px) {
  ul.footer-products-list {
    column-count: 4
  }
}
@media (max-width:767px) {
  .logo-menu {
    display: none
  }
  #hero-1 h2 {
    color: #222!important;
    text-shadow: none!important
  }
  .transblue {
    background-color: rgba(255,255,255,.9)
  }
  #hero-1 img {
    margin-bottom: 8px;
    border-radius: 30px
  }
  #logo {
    margin-top: -5px
  }
  #trust-badges img {
    padding: 0;
    margin-top: 5px
  }
  ul.footer-products-list {
    column-count: 3
  }
}
@media (max-width:500px) {
  #middletxt img {
    padding-left: 15px;
    padding-right: 15px
  }
  ul.footer-products-list {
    column-count: 2
  }
}
@media (max-width:440px) {
  .mobilelg {
    font-size: 120%
  }
  ul.footer-products-list {
    column-count: 2
  }
}
@media (max-width:340px) {
  .mobilelg {
    font-size: 100%
  }
}
@media (max-width:290px) {
  .mobilelg {
    font-size: 80%
  }
}

/* Modern theme system */
:root {
  --color-primary: #f47722;
  --color-secondary: #2f2f7f;
  --color-button-alt: #2f2f7f;
  --color-ink: #172033;
  --color-muted: #5e6878;
  --color-surface: #fff;
  --color-canvas: #f5f7fb;
  --color-line: #e4e8f0;
  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --shadow-sm: 0 8px 24px rgba(23,32,51,.08);
  --shadow-md: 0 18px 50px rgba(23,32,51,.14)
}

html {
  scroll-behavior: smooth
}

body,
body.custom-background {
  background: var(--color-canvas);
  color: var(--color-ink);
  font-family: Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--color-ink);
  font-family: Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.15
}

p {
  color: var(--color-muted)
}

a {
  color: var(--color-primary);
  text-underline-offset: 3px
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid color-mix(in srgb,var(--color-primary) 45%,transparent);
  outline-offset: 3px
}

.container {
  max-width: 1180px
}

.spacer {
  padding-top: clamp(42px,6vw,78px);
  padding-bottom: clamp(42px,6vw,78px)
}

header {
  display: flex;
  flex-direction: column;
  overflow: visible;
  background: var(--color-surface);
  border-bottom: 0;
  box-shadow: 0 1px 0 var(--color-line)
}

#header-logo-phone {
  order: 1;
  padding: 16px 0
}

.logo-menu {
  order: 2;
  background: var(--color-secondary)
}

.logo-menu .navbar,
header .navbar-default {
  margin: 0;
  background: transparent;
  border: 0
}

.desktop-navigation > div,
.desktop-navigation .navbar-nav {
  width: 100%
}

header .navbar-default .navbar-nav li a {
  padding: 16px 18px;
  color: rgba(255,255,255,.88);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: none;
  transition: color .2s ease,background-color .2s ease
}

header .navbar-default .navbar-nav > li > a:hover,
header .navbar-default .navbar-nav > .active > a,
header .navbar-default .navbar-nav > .active > a:focus,
header .navbar-default .navbar-nav > .active > a:hover {
  color: #fff;
  background: color-mix(in srgb,#fff 12%,transparent)
}

.dropdown-menu {
  padding: 8px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-md)
}

.dropdown-menu li a {
  border-radius: 7px;
  color: var(--color-ink)!important
}

.dropdown-menu li a:hover {
  background: var(--color-canvas)!important
}

#logo {
  max-width: min(100%,280px);
  margin-top: 0
}

#middletxt h3 {
  margin: 3px 0 8px;
  font-size: clamp(15px,2vw,25px)
}

#middletxt p {
  margin: 4px 0 0;
  color: var(--color-muted);
  font-size: 13px;
  font-weight: 600
}

a.red,
a.blue,
.btn-primary,
input[type=submit] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #fff!important;
  font-size: 26px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.01em;
  text-align: center;
  text-shadow: none;
  box-shadow: 0 8px 22px rgba(23,32,51,.16);
  transition: transform .2s ease,box-shadow .2s ease,filter .2s ease
}

a.red,
.btn-primary,
input[type=submit] {
  background: var(--color-primary);
  border-color: var(--color-primary)
}

a.blue {
  background: var(--color-button-alt);
  border-color: var(--color-button-alt)
}

a.red:hover,
a.blue:hover,
.btn-primary:hover,
input[type=submit]:hover {
  color: #fff!important;
  filter: brightness(.92);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(23,32,51,.22)
}

a.red span.blue.smalltxt,
a.blue span.blue.smalltxt {
  color: inherit;
  opacity: .84
}

#hero-1 {
  position: relative;
  overflow: hidden;
  background-position: center;
  background-size: cover
}

#hero-1:after {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:linear-gradient(90deg,rgba(255,255,255,.88) 0,rgba(255,255,255,.82) 48%,rgba(255,255,255,.88) 100%);
  content: "";
  pointer-events: none
}

#hero-1 .transblue {
  position: relative;
  z-index: 1;
  background: transparent
}

#hero-1 .spacer {
  padding-top: clamp(40px,5vw,72px);
  padding-bottom: clamp(40px,5vw,72px)
}

#hero-1 h2,
#hero-1 h2.hero-title {
  margin: 0 auto 28px!important;
  padding: 0!important;
  color: var(--color-ink)!important;
  font-size: clamp(34px,5vw,64px);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: 1.03;
  text-shadow: none!important
}

#hero-1 h2 span.mobilelg {
  color: var(--color-primary)
}

#hero-1 img,
.mobile-heropic img {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md)
}

#hero-1 .book-form-wrapper,
.book-form-wrapper {
  padding: 24px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(255,255,255,.75);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(10px)
}

#hero-1 .book-form-wrapper h3 {
  margin: 0 0 18px;
  color: var(--color-ink)!important;
  font-size: 22px
}

input,
select,
textarea,
.form-control {
  min-height: 46px;
  padding: 10px 13px;
  background: #fff;
  border: 1px solid #d8dee9;
  border-radius: 9px;
  color: var(--color-ink);
  box-shadow: none
}

textarea {
  min-height: 110px
}

#promo {
  background: var(--color-surface);
  border: 0;
  border-bottom: 1px solid var(--color-line)
}

#promo .spacer {
  padding-top: 20px;
  padding-bottom: 20px
}

#promo h3 {
  margin: 0;
  color: var(--color-ink);
  font-size: clamp(18px,2vw,24px);
  letter-spacing: -.02em;
  text-align: center
}

#promo .glyphicon {
  margin-right: 8px;
  color: var(--color-primary)
}

#checklist {
  position: relative;
  background: var(--color-surface)
}

#checklist .container-fluid {
  max-width: 1240px
}

#checklist .row {
  display: flex;
  align-items: stretch;
  justify-content: center
}

#checklist .eq-blocks {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px
}

#checklist .check-list,
#checklist .check-list2 {
  width: 100%;
  max-width: 370px;
  height: auto;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm)
}

.service-coupon {
  position: relative;
  width: 100%;
  max-width: 350px;
  min-height: 270px;
  padding: 10px;
  overflow: hidden;
  background: #222;
  border-radius: var(--radius-md);
  color: #fff;
  filter: drop-shadow(0 15px 28px rgba(23,32,51,.18))
}

.service-coupon:before,
.service-coupon:after {
  position: absolute;
  top: 50%;
  width: 28px;
  height: 28px;
  background: var(--color-surface);
  border-radius: 50%;
  content: "";
  transform: translateY(-50%)
}

.service-coupon:before {
  left: -14px
}

.service-coupon:after {
  right: -14px
}

.service-coupon__inner {
  display: grid;
  height: 100%;
  min-height: 250px;
  padding: 20px 28px 16px;
  border: 2px dashed rgba(255,255,255,.7);
  border-radius: 12px;
  text-align: center
}

.service-coupon__value {
  align-self: end;
  font-size: 78px;
  font-weight: 800;
  letter-spacing: -.08em;
  line-height: .8
}

.service-coupon__value sup {
  position: relative;
  top: -.55em;
  margin-right: 4px;
  font-size: 30px;
  letter-spacing: 0
}

.service-coupon__offer {
  margin: 8px 0 12px;
  font-size: 25px;
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.05;
  text-transform: uppercase
}

.service-coupon__offer span {
  display: block;
  font-size: 17px;
  letter-spacing: .08em
}

.service-coupon__terms {
  align-self: end;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,.55);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35
}

.service-coupon__expiration {
  margin-top: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase
}

#home-body-content,
#fullwidth-wrapper,
#individual-post,
#maintext {
  background: var(--color-canvas)
}

.post-list .post-block,
.comments-area ol.comment-list article,
.widget {
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm)
}

.post-list .post-block,
a.service-block {
  transition: transform .25s ease,box-shadow .25s ease
}

.post-list .post-block:hover,
a.service-block:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-md)
}

#service-1,
#service-2,
#service-3,
#service-4 {
  min-height: 240px;
  overflow: hidden;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm)
}

a.service-block {
  background: color-mix(in srgb,var(--color-secondary) 88%,transparent)
}

a.service-block:hover {
  background: var(--color-secondary)
}

#pg_title {
  padding: 26px 0;
  background: var(--color-secondary);
  box-shadow: none
}

#pg_title h1 {
  margin: 0;
  color: #fff;
}

#reviews {
  background: var(--color-surface)!important
}

#reviews img, #maintext img, #individual-post img , #fullwidth-wrapper img{
  border: 1px solid var(--color-line);
  border-top: 5px solid #ddd;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm)
}

.review-carousel-nav {
  display: none
}

@media (max-width:767px) {
  #reviews .su-row {
    display: flex!important;
    flex-wrap: nowrap!important;
    gap: 14px;
    width: 100%;
    margin: 0;
    padding: 4px 6% 16px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch
  }

  #reviews .su-row::-webkit-scrollbar {
    display: none
  }

  #reviews .su-row > .su-column {
    float: none!important;
    flex: 0 0 88%;
    width: 88%!important;
    margin: 0!important;
    scroll-snap-align: center;
    scroll-snap-stop: always
  }

  #reviews .su-column-inner,
  #reviews .su-column-inner p {
    margin: 0
  }

  #reviews .su-column-inner img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0
  }

  .review-carousel-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 2px
  }

  .review-carousel-arrow,
  .review-carousel-dot {
    padding: 0;
    border: 0;
    cursor: pointer
  }

  .review-carousel-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    background: #173f7a;
    border-radius: 50%;
    color: #fff;
    font-size: 28px;
    line-height: 1
  }

  .review-carousel-dots {
    display: flex;
    gap: 7px
  }

  .review-carousel-dot {
    width: 8px;
    height: 8px;
    background: #b8c1cd;
    border-radius: 50%
  }

  .review-carousel-dot.is-active {
    background: #173f7a;
    transform: scale(1.25)
  }

  .staff-grid {
    display: flex!important;
    flex-wrap: nowrap;
    gap: 14px;
    width: 100%;
    margin: 0;
    padding: 4px 6% 16px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch
  }

  .staff-grid::-webkit-scrollbar {
    display: none
  }

  .staff-grid > .staff-card {
    flex: 0 0 88%;
    width: 88%;
    scroll-snap-align: center;
    scroll-snap-stop: always
  }

  #hero-1 .row > .text-center:first-child {
    flex: 0 0 100%;
    width: 100%
  }

  #hero-1 h2,
  #hero-1 h2.hero-title {
    width: 100%;
    text-align: center!important
  }

  #home-body-content .service-grid-column {
    float: none;
    width: 100%;
    margin-right: auto;
    margin-left: auto
  }

  #home-body-content .service-card {
    width: 100%;
    max-width: 380px;
    margin-right: auto;
    margin-left: auto
  }

  #tap-text-btns a.red.tapbtn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px
  }

  #tap-text-btns .tap-text-phone-icon {
    float: none;
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    margin: 0
  }
}
#maintext img, #individual-post img, #fullwidth-wrapper img
  {
  border-color: #1769aa;
}

#trust-badges .row {
  display: flex!important;
  gap: 0;
  align-items: center;
  flex-wrap: nowrap
}

#trust-badges .row > div {
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 0;
  margin: 0!important;
  padding: 8px
}

#trust-badges img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0!important;
  padding: 0!important;
  filter: grayscale(.15);
  transition: filter .2s ease,transform .2s ease
}

#trust-badges img:hover {
  filter: grayscale(0);
  transform: translateY(-2px)
}

#promored {
  background: var(--color-secondary)
}

#promored h3 {
  margin: 0;
  color: #fff;
  text-align: center
}

#product-links {
  background: var(--color-canvas)
}

.maplinkswrapper {
  overflow: hidden;
  background: var(--color-surface);
  border: 1px solid var(--color-line)
}

section.footers {
  padding: 58px 10px 32px;
  background: #151b29;
  border-bottom: 1px solid rgba(255,255,255,.1)
}

section.footers p,
section.footers a {
  color: #b9c1cf
}

footer {
  background: #0d111b;
  color: #929bab
}

@media (max-width:991px) {
  #checklist .row {
    flex-wrap: wrap
  }

  #checklist .eq-blocks {
    height: auto!important
  }

  #checklist .check-list,
  #checklist .check-list2,
  .service-coupon {
    max-width: 520px
  }

  #hero-1:after {
    background: rgba(255,255,255,.92)
  }
}

@media (max-width:767px) {
  body {
    font-size: 15px
  }

  #header-logo-phone {
    padding: 10px 0
  }

  #hero-1 h2,
  #hero-1 h2.hero-title {
    font-size: clamp(30px,10vw,46px)
  }

  #hero-1 img,
  .mobile-heropic img {
    border-radius: var(--radius-md)
  }

  #promo h3 {
    line-height: 1.35
  }

  #checklist .spacer {
    padding-top: 32px;
    padding-bottom: 32px
  }

  .service-coupon {
    min-height: 250px
  }

  #individual-post .row {
    padding: 16px;
    border-radius: var(--radius-md)
  }

  #tap-text-btns a.blue,
  #tap-text-btns a.red {
    min-height: 48px;
    border-radius: var(--radius-sm);
    font-size: 18px
  }
}

@media (prefers-reduced-motion:reduce) {
  *,
  :after,
  :before {
    scroll-behavior: auto!important;
    transition-duration: .01ms!important;
    animation-duration: .01ms!important;
    animation-iteration-count: 1!important
  }
}

/* Lightweight Formidable Forms styling */
.frm_forms {
  --frm-field-height: 38px;
  width: 100%;
  color: var(--color-ink);
  font-family: inherit
}

.frm_forms fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0
}

.frm_forms legend,
.frm_forms .frm_screen_reader,
.frm_forms .frm_primary_label {
  position: absolute!important;
  width: 1px!important;
  height: 1px!important;
  padding: 0!important;
  overflow: hidden!important;
  clip: rect(0,0,0,0)!important;
  clip-path: inset(50%)!important;
  border: 0!important;
  white-space: nowrap!important
}

.frm_forms .frm_fields_container {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 12px
}

.frm_forms .frm_form_field,
.frm_forms .frm_submit,
.frm_forms .frm_error_style,
.frm_forms .frm_message {
  min-width: 0;
  margin: 0
}

.frm_forms input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]),
.frm_forms select,
.frm_forms textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: var(--frm-field-height);
  margin: 0;
  padding: 11px 8px;
  background: #fff;
  border: 1px solid #d8dee9;
  border-radius: 10px;
  color: var(--color-ink);
  font: inherit;
  font-size: 15px;
  line-height: 1.35;
  box-shadow: 0 1px 2px rgba(23,32,51,.04);
  transition: border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
  appearance: none
}

.frm_forms textarea {
  min-height: 104px;
  resize: vertical
}

.frm_forms select {
  padding-right: 38px;
  background-image: linear-gradient(45deg,transparent 50%,#687386 50%),linear-gradient(135deg,#687386 50%,transparent 50%);
  background-position: calc(100% - 18px) 20px,calc(100% - 13px) 20px;
  background-repeat: no-repeat;
  background-size: 5px 5px,5px 5px
}

.frm_forms input::placeholder,
.frm_forms textarea::placeholder {
  color:  var(--color-ink);
  opacity: 1
}

.frm_forms input:not([type=hidden]):not([type=checkbox]):not([type=radio]):focus,
.frm_forms select:focus,
.frm_forms textarea:focus {
  background: #fff;
  border-color: var(--color-primary);
  outline: 0;
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--color-primary) 18%,transparent)
}

.frm_forms input[type=checkbox],
.frm_forms input[type=radio] {
  width: 18px;
  height: 18px;
  min-height: 0;
  margin: 2px 8px 0 0;
  accent-color: var(--color-primary)
}

.frm_forms .frm_checkbox label,
.frm_forms .frm_radio label {
  display: flex;
  align-items: flex-start;
  color: var(--color-muted);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4
}

.frm_forms .frm_required {
  color: var(--color-primary)
}

.frm_forms .frm_description {
  margin: 5px 2px 0;
  color: var(--color-muted);
  font-size: 12px;
  line-height: 1.4
}

.frm_forms .frm_error {
  margin: 5px 2px 0;
  color: #b42318;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35
}

.frm_forms .frm_blank_field input:not([type=checkbox]):not([type=radio]),
.frm_forms .frm_blank_field select,
.frm_forms .frm_blank_field textarea,
.frm_forms [aria-invalid=true] {
  border-color: #d92d20;
  box-shadow: 0 0 0 3px rgba(217,45,32,.1)
}

.frm_forms .frm_error_style,
.frm_forms .frm_message {
  padding: 11px 13px;
  border: 1px solid;
  border-radius: 9px;
  font-size: 13px;
  line-height: 1.4
}

.frm_forms .frm_error_style {
  background: #fff4f2;
  border-color: #fecdca;
  color: #912018
}

.frm_forms .frm_message {
  background: #ecfdf3;
  border-color: #abefc6;
  color: #067647
}

.frm_forms .frm_submit {
  margin-top: 2px
}

.frm_forms .frm_button_submit,
.frm_forms button[type=submit],
.frm_forms input[type=submit] {
  width: 100%;
  min-height: var(--frm-field-height);
  margin: 0;
  padding: 12px 20px;
  background: var(--color-button-alt);
  border: 1px solid var(--color-button-alt);
  border-radius: 999px;
  color: #fff!important;
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-shadow: none;
  cursor: pointer;
  box-shadow: 0 8px 20px color-mix(in srgb,var(--color-button-alt) 24%,transparent);
  transition: transform .18s ease,filter .18s ease,box-shadow .18s ease
}

.frm_forms .frm_button_submit:hover,
.frm_forms button[type=submit]:hover,
.frm_forms input[type=submit]:hover {
  filter: brightness(.92);
  transform: translateY(-1px);
  box-shadow: 0 11px 24px color-mix(in srgb,var(--color-button-alt) 30%,transparent)
}

.frm_forms .frm_button_submit:disabled,
.frm_forms button[type=submit]:disabled,
.frm_forms input[type=submit]:disabled {
  cursor: not-allowed;
  filter: grayscale(.35);
  opacity: .65;
  transform: none
}

.frm_forms .frm_ajax_loading {
  display: block;
  margin: 8px auto 0
}

.book-form-wrapper .frm_forms .frm_fields_container {
  gap: 10px
}

@media (max-width:767px) {
  .frm_forms {
    --frm-field-height: 46px
  }
}

/* Compact spacing and wide hero booking layout */
.spacer {
  padding-top: clamp(24px,3.2vw,42px);
  padding-bottom: clamp(24px,3.2vw,42px)
}

#hero-1 .spacer {
  padding-top: clamp(10px,3vw,40px);
  padding-bottom: clamp(15px,3vw,40px)
}

#hero-1 h2,
#hero-1 h2.hero-title {
  margin-bottom: 18px!important
}

#header-logo-phone {
  padding-top: 10px;
  padding-bottom: 10px
}

#promo .spacer {
  padding-top: 12px;
  padding-bottom: 12px
}

#checklist .spacer {
  padding-top: 28px;
  padding-bottom: 28px
}

#pg_title {
  padding-top: 18px;
  padding-bottom: 18px
}

#product-links {
  padding-top: 12px;
  padding-bottom: 12px
}

section.footers {
  padding-top: 36px;
  padding-bottom: 22px
}

.page-section {
  padding: 18px
}

a.red,
a.blue {
  flex-wrap: wrap
}

a.red .smalltxt,
a.blue .smalltxt,
a.red span.blue.smalltxt,
a.blue span.blue.smalltxt {
  display: block;
  flex: 0 0 100%;
  width: 100%;
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.25;
  text-align: center
}

#hero-1 .row {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap
}

#hero-1 .hero-media-column,
#hero-1 .hero-form-column {
  display: flex;
  flex-direction: column;
  width: 50%
}

#hero-1 .hero-media-column {
  align-items: center;
  justify-content: center
}

#hero-1 .hero-media-column .mobile-heropic,
#hero-1 .hero-media-column .mobile-heropic img {
  width: 100%
}

#hero-1 .hero-media-column .mobile-heropic img {
  display: block;
  height: 100%;
  max-height: 470px;
  object-fit: cover
}

#hero-1 .hero-form-column {
  gap: 12px
}

#hero-1 .book-form-wrapper {
  margin: 0;
  padding: 18px
}

#hero-1 .book-form-wrapper h3 {
  margin-bottom: 12px;
  font-size: 20px
}

.book-form-wrapper .frm_forms .frm_fields_container {
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 9px
}

.book-form-wrapper .frm_forms .frm_form_field {
  grid-column: span 1
}

.book-form-wrapper .frm_forms .frm_submit {
  grid-column: 2/span 2;
  justify-self: stretch;
  width: 100%
}

#hero-1 .book-form-wrapper .frm_forms .frm_submit {
  grid-column: 3;
  grid-row: 3
}

#hero-1 .book-form-wrapper .frm_forms .frm_fields_container > .frm_form_field:nth-of-type(1) {
  grid-column: 1;
  grid-row: 1
}

#hero-1 .book-form-wrapper .frm_forms .frm_fields_container > .frm_form_field:nth-of-type(2) {
  grid-column: 1;
  grid-row: 2
}

#hero-1 .book-form-wrapper .frm_forms .frm_fields_container > .frm_form_field:nth-of-type(3) {
  grid-column: 2;
  grid-row: 3
}

#hero-1 .book-form-wrapper .frm_forms .frm_fields_container > .frm_form_field:nth-of-type(4) {
  grid-column: 1;
  grid-row: 3
}

#hero-1 .book-form-wrapper .frm_forms .frm_fields_container > .frm_form_field:nth-of-type(5) {
  grid-column: 2/span 2;
  grid-row: 1
}

#hero-1 .book-form-wrapper .frm_forms .frm_fields_container > .frm_form_field:nth-of-type(6) {
  grid-column: 2/span 2;
  grid-row: 2
}

.book-form-wrapper .frm_forms .frm_error_style,
.book-form-wrapper .frm_forms .frm_message {
  grid-column: 1/-1
}

.book-form-wrapper .frm_forms textarea {
  min-height: var(--frm-field-height);
  resize: vertical
}

.service-coupon--horizontal {
  max-width: none;
  min-height: 126px;
  padding: 7px;
  border-radius: 14px
}

.service-coupon--horizontal .service-coupon__inner {
  display: grid;
  grid-template-columns: minmax(105px,.8fr) minmax(150px,1.35fr);
  grid-template-rows: auto auto;
  align-items: center;
  min-height: 112px;
  padding: 12px 22px;
  column-gap: 18px;
  row-gap: 6px;
  text-align: left
}

.service-coupon--horizontal .service-coupon__value {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  font-size: 72px;
  text-align: center
}

.service-coupon--horizontal .service-coupon__offer {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  font-size: 24px
}

.service-coupon--horizontal .service-coupon__terms {
  grid-column: 2;
  grid-row: 2;
  align-self: center;
  padding-top: 6px;
  border-top: 1px solid rgba(255,255,255,.5);
  text-align: left
}

/* Local service utility bar */
.service-alert-bar {
  background: #000;
  color: #fff;
  font-size: 14px;
  font-weight: 600
}

.service-alert-bar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%!important;
  max-width: none;
  gap: 20px;
  min-height: 42px;
  padding-right: clamp(16px,3vw,48px);
  padding-left: clamp(16px,3vw,48px)
}

.service-alert-bar p {
  margin: 0;
  color: inherit
}

.service-alert-bar p:first-child {
  text-align: left;
  font-size:14px;
}

.service-alert-bar p:last-child {
  margin-left: auto;
  font-size:14px;
  text-align: right
}

.service-alert-bar a {
  color: #fff;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px
}

.logo-menu,
.logo-menu .navbar,
.logo-menu .navbar-default,
.logo-menu .navbar-nav {
  background-color: #222;
}

#middletxt .google-rating-badge {
  display: block;
  width: 235px;
  max-width: 100%;
  height: auto;
  margin: 3px auto
}

#header-logo-phone .row {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap
}

#middletxt {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center
}

/* Booking actions use the blue brand color. */
.book-form-wrapper .frm_forms .frm_button_submit,
.book-form-wrapper .frm_forms button[type=submit],
.book-form-wrapper .frm_forms input[type=submit] {
  background: linear-gradient(180deg,#315f96 0,#173f7a 48%,#102d57 100%);
  border-color: #102d57;
  border-width: 1px 1px 4px;
  border-style: solid;
  text-shadow: 0 1px 1px rgba(0,0,0,.24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.32),inset 0 -2px 0 rgba(0,0,0,.12),0 7px 0 rgba(23,32,51,.16),0 12px 22px rgba(23,32,51,.2)
}

.book-form-wrapper .frm_forms .frm_button_submit:hover,
.book-form-wrapper .frm_forms button[type=submit]:hover,
.book-form-wrapper .frm_forms input[type=submit]:hover {
  background: linear-gradient(180deg,#3a6ca7 0,#1b4a8e 48%,#123463 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4),inset 0 -2px 0 rgba(0,0,0,.12),0 9px 0 rgba(23,32,51,.16),0 16px 27px rgba(23,32,51,.24)
}

section.footers a.blue {
  background: linear-gradient(180deg,#315f96 0,#173f7a 48%,#102d57 100%);
  border-color: #102d57;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.32),inset 0 -2px 0 rgba(0,0,0,.12),0 7px 0 rgba(23,32,51,.16),0 12px 22px rgba(23,32,51,.2)
}

section.footers a.blue:hover {
  background: linear-gradient(180deg,#3a6ca7 0,#1b4a8e 48%,#123463 100%);
  border-color: #102d57;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4),inset 0 -2px 0 rgba(0,0,0,.12),0 9px 0 rgba(23,32,51,.16),0 16px 27px rgba(23,32,51,.24)
}

/* Text-first service cards replace the former photo tiles. */
#home-body-content .row {
  display: flex;
  flex-wrap: wrap
}

#home-body-content .row > h2 {
  flex: 0 0 100%;
  width: 100%
}

.service-grid-column {
  display: flex;
  margin-bottom: 24px
}

#home-body-content .service-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100%;
  margin: 0;
  padding: 26px 24px 24px;
  overflow: visible;
  background: #fff;
  border: 1px solid #dce4ed;
  border-top: 5px solid #1769aa;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(20,45,75,.1);
  color: #25354a;
  text-decoration: none;
  transition: transform .2s ease,box-shadow .2s ease,border-color .2s ease
}

#home-body-content .service-card:hover,
#home-body-content .service-card:focus {
  border-color: #1769aa;
  color: #25354a;
  text-decoration: none;
  transform: translateY(-5px);
  box-shadow: 0 14px 34px rgba(20,45,75,.16)
}

.service-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 62px;
  margin-bottom: 16px;
  background: #eaf4fc;
  border-radius: 14px;
  color: #1769aa
}

.service-card__icon svg {
  width: 42px;
  height: 42px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round
}

.service-card h3 {
  min-height: 52px;
  margin: 0 0 10px;
  color: #173f7a;
  font-size: 21px;
  line-height: 1.2
}

.service-card p {
  margin-bottom: 14px;
  color: #536579;
  font-size: 15px;
  line-height: 1.5
}

.service-card ul {
  margin: 0 0 20px;
  padding-left: 20px;
  color: #34475b;
  font-size: 14px;
  line-height: 1.7
}

.service-card li::marker {
  color: #1769aa
}

.service-card__link {
  margin-top: auto;
  color: #1769aa;
  font-size: 14px;
  font-weight: 800
}

@media (max-width:767px) {
  .service-alert-bar__inner {
    flex-direction: column;
    gap: 3px;
    padding-top: 8px;
    padding-bottom: 8px;
    text-align: center
  }

  .service-card h3 {
    min-height: 0
  }
}

.service-coupon--horizontal .service-coupon__expiration {
  grid-column: 1;
  grid-row: 2;
  align-self: center;
  margin: 0;
  padding-top: 6px;
  border-top: 1px solid rgba(255,255,255,.5);
  text-align: center
}

@media (max-width:991px) {
  #hero-1 .hero-media-column,
  #hero-1 .hero-form-column {
    width: 50%
  }

  .service-coupon--horizontal .service-coupon__inner {
    grid-template-columns: 105px 1fr;
    padding-right: 14px;
    padding-left: 14px;
    column-gap: 12px
  }
}

@media (max-width:767px) {
  .spacer {
    padding-top: 22px;
    padding-bottom: 22px
  }

  #hero-1 .hero-media-column,
  #hero-1 .hero-form-column {
    width: 100%
  }

  #checklist .spacer {
    padding-top: 20px;
    padding-bottom: 20px
  }
}

/* Dimensional call and scheduling buttons */
a.red,
a.blue {
  position: relative;
  top: 0;
  border-width: 1px 1px 4px;
  border-style: solid;
  text-shadow: 0 1px 1px rgba(0,0,0,.24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.38),inset 0 -2px 0 rgba(0,0,0,.1),0 7px 0 rgba(23,32,51,.16),0 12px 22px rgba(23,32,51,.2);
  transform: translateY(0);
  transition: top .12s ease,transform .18s ease,box-shadow .18s ease,filter .18s ease
}

a.red {
  background: linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 78%,#fff) 0,var(--color-primary) 48%,color-mix(in srgb,var(--color-primary) 82%,#000) 100%);
  border-color: color-mix(in srgb,var(--color-primary) 72%,#000)
}

a.blue {
  background: linear-gradient(180deg,color-mix(in srgb,var(--color-button-alt) 78%,#fff) 0,var(--color-button-alt) 48%,color-mix(in srgb,var(--color-button-alt) 82%,#000) 100%);
  border-color: color-mix(in srgb,var(--color-button-alt) 72%,#000)
}

a.red:hover,
a.blue:hover {
  top: -2px;
  filter: saturate(1.08) brightness(1.02);
  transform: translateY(0);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45),inset 0 -2px 0 rgba(0,0,0,.1),0 9px 0 rgba(23,32,51,.16),0 16px 27px rgba(23,32,51,.24)
}

a.red:hover,
a.red:focus {
  background: linear-gradient(180deg,#ff747b 0,#ed4650 48%,#cc2833 100%);
  border-color: #b9212c
}

a.red:active,
a.blue:active {
  top: 5px;
  border-bottom-width: 1px;
  filter: brightness(.94);
  box-shadow: inset 0 2px 4px rgba(0,0,0,.2),0 2px 0 rgba(23,32,51,.14),0 5px 10px rgba(23,32,51,.15)
}

/* Hero artwork accents inspired by the diagonal service-brand treatment. */
#hero-1 .hero-media-column {
  position: relative;
  isolation: isolate;
  overflow: hidden
}

#hero-1 .hero-media-column .mobile-heropic {
  position: relative;
  z-index: 2
}

#hero-1 .hero-media-column .mobile-heropic img {
  position: relative;
  z-index: 2;
  border-radius: 20px;
  box-shadow: none;

}

/* Real, responsive benefit cards replace the former checklist images. */
.hero-benefits {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 16px;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto
}

.hero-benefit {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 82px;
  padding: 17px 10px;
  background: #fff;
  border: 1px solid #dce4ed;
  border-top: 4px solid #1769aa;
  border-radius: 12px;
  color: #25354a;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  box-shadow: 0 8px 24px rgba(20,45,75,.1)
}

.hero-benefit__check {
  flex: 0 0 25px;
  width: 25px;
  height: 25px;
  fill: none;
  stroke: green;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round
}

@media (max-width:991px) {
  .hero-benefits {
    grid-template-columns: repeat(2,minmax(0,1fr))
  }
}

@media (max-width:540px) {
  .hero-benefits {
    grid-template-columns: 1fr;
    gap: 10px
  }

  .hero-benefit {
    min-height: 62px;
    padding: 13px 15px
  }
}

/* Offer details now live inside the full-width hero coupon. */
.service-coupon--horizontal {
  min-height: 164px
}

.service-coupon--horizontal .service-coupon__inner {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr auto;
  min-height: 150px;
  row-gap: 5px
}

.service-coupon--horizontal .service-coupon__value {
  grid-column: 1;
  grid-row: 1/3
}

.service-coupon--horizontal .service-coupon__offer {
  grid-column: 2;
  grid-row: 1;
  align-self: end
}

.service-coupon__promo {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  line-height: 1.15;
  text-align: center
}

.service-coupon__promo > span {
  display: block;
  margin-bottom: 2px;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  opacity: .82
}

.service-coupon__promo strong {
  display: block;
  color: inherit;
  font-size: 28px;
  font-weight: 800
}

.service-coupon__fineprint {
  display: flex;
  grid-column: 1/-1;
  grid-row: 2;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding-top: 7px;
  border-top: 1px solid rgba(255,255,255,.58);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap
}

.service-coupon__fineprint span + span:before {
  margin-right: 10px;
  content: "\2022";
  opacity: .7
}

.hero-benefits-row {
  flex: 0 0 100%;
  width: 100%;
  margin-top: 22px
}

.hero-benefit {
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 10px
}

.hero-benefit__item {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 5px;
  width: 100%
}

.hero-benefit__item span {
  display: block;
  white-space: nowrap
}

.hero-benefit__check {
  stroke: #2e9d52
}

@media (max-width:767px) {
  .service-coupon__fineprint {
    flex-wrap: wrap;
    gap: 3px 8px;
    white-space: normal
  }

  .service-coupon__fineprint span + span:before {
    margin-right: 8px
  }

  #home-body-content .service-grid-column {
    float: none;
    width: 100%;
    margin-right: auto;
    margin-left: auto
  }

  #home-body-content .service-card {
    width: 100%;
    max-width: 380px;
    margin-right: auto;
    margin-left: auto
  }
}
