/*
-----------------------------------------------
imarketsolutions.com 
Stylesheet: Master.css
Created: 8/28/2013
Author:  Ben Schiling
Organization:  iMarket Solutions
----------------------------------------------- */

/*----------------------------------------------------------------------------*/
/* --- BEGIN GENERAL UTILITY ------------------------------------------------ */

/* --- Fonts --- */

/* cyrillic-ext */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOkCnqEu92Fr1Mu51xFIzIFKw.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOkCnqEu92Fr1Mu51xMIzIFKw.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* greek-ext */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOkCnqEu92Fr1Mu51xEIzIFKw.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}

/* greek */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOkCnqEu92Fr1Mu51xLIzIFKw.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* vietnamese */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOkCnqEu92Fr1Mu51xHIzIFKw.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOkCnqEu92Fr1Mu51xGIzIFKw.woff2) format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOkCnqEu92Fr1Mu51xIIzI.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* cyrillic-ext */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOjCnqEu92Fr1Mu51TzBic3CsTKlA.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOjCnqEu92Fr1Mu51TzBic-CsTKlA.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* greek-ext */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOjCnqEu92Fr1Mu51TzBic2CsTKlA.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}

/* greek */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOjCnqEu92Fr1Mu51TzBic5CsTKlA.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* vietnamese */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOjCnqEu92Fr1Mu51TzBic1CsTKlA.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOjCnqEu92Fr1Mu51TzBic0CsTKlA.woff2) format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOjCnqEu92Fr1Mu51TzBic6CsQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* cyrillic-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOmCnqEu92Fr1Mu5mxKOzY.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* greek-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOmCnqEu92Fr1Mu7mxKOzY.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}

/* greek */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOmCnqEu92Fr1Mu4WxKOzY.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* vietnamese */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOmCnqEu92Fr1Mu7WxKOzY.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* cyrillic-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* greek-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}

/* greek */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* vietnamese */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2) format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/woff2/KFOlCnqEu92Fr1MmWUlfBBc4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}



/* --- GENERAL UTILITY - UNIVERSAL RESET --- */
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

*,
*:before,
*:after {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  background: transparent none repeat left top;
}

fieldset,
a img {
  border: 0 solid transparent;
}

html,
body {
  height: 100%;
}

body {
  font: 62.5%/1.8em 'Roboto', Arial, 'Helvetica Neue', Helvetica, sans-serif;
  background-color: #FFF;
  text-align: left;
  min-width: 320px;
  color: #3b3b3b;
}

body.active-navigation,
body.no-scroll {
  overflow: hidden;
}

body.mceContentBody {
  min-width: 0;
  background-color: #FFF;
}

#container-all {
  overflow: hidden;
  position: relative;
}

.width-limiter {
  max-width: 1252px;
  margin: 0 auto;
  width: calc(100% - 42px);

}

@media all and (max-width: 1025px) {}

@media all and (max-width: 800px) {

  /*prevent automatic landscape orientation zoom on iOS devices */
  html {
    -webkit-text-size-adjust: 100%;
  }
}

.modal-trigger {
  cursor: pointer;
}

.modal-trigger:focus {
  background-color: blue;
  /* make a brand color */
}

#site-modal.ims-lightbox {
  /* make a brand color */
  background-color: #ffffff;
  padding-top: 54px;
}

#site-modal .popup-inner {
  padding: 0 20px;
}

#site-modal .mf-title.secondary-tools-heading {
  margin-bottom: -4px;
}

#site-modal .mf-subtitle {
  font-size: 18px;
  line-height: 28px;
  margin-bottom: 17px;
}

/* imsLightbox Modal Forms */
.ims-lightbox {
  background-color: #fff;
  position: fixed;
  left: 0%;
  top: 29px;
  width: 100%;
  height: calc(100% - 85px);
  z-index: 1001;
  overflow: visible;
  -webkit-box-shadow: 0 1px 12px 20000px rgba(0, 0, 0, .25);
  box-shadow: 0 1px 12px 20000px rgba(0, 0, 0, .25);
  border-radius: 0px;
  padding: 64px 0 30px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
}

.ims-lightbox .popup-inner {
  height: 100%;
  overflow-y: scroll;
}

.ims-lightbox .secondary-tools-outer {
  border: none;
  padding: 0;
  margin: 0;
}

.ims-lightbox .close-popup {
  background-color: #2b2b2b;
  border-radius: 50%;
  height: 58px;
  width: 58px;
  display: inline-block;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
  background-image: url(/assets/templates/main/images/icons/icon-close.svg);
  background-repeat: no-repeat;
  background-position: center;
  color: transparent;
  background-size: 30px;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
  position: absolute;
  top: -29px;
  right: 13px;
}

/* Minimal styles for Promotions popup */
.promotions-popup {
  text-align: center;
}

.promotions-popup .popup-inner {
  padding: 0 15px;
}

.promotions-popup .popup-inner h2.h1 {
  margin-top: 0;
  margin-bottom: 19px;
}

.ims-lightbox .promotions-popup {
  height: 100%;
}

.ims-lightbox .promotions-popup h2.h1 a {
  text-decoration: none;
  color: #3B3B3B;
}

.ims-lightbox .promotions-popup p {
  font-size: 18px;
  line-height: 28px;
}

.ims-lightbox .promotions-popup img {
  max-width: 100%;
  height: auto;
  margin-bottom: -8px;
  margin-right: 7px;
}

.promotions-popup .cta-phone {
  margin-bottom: 41px;
}

.promotions-popup .cta-phone a {
  font-size: 45px;
  line-height: 54px;
  font-weight: 700;
  color: #0554BD;
}

.ims-lightbox .promotions-popup p.call-redeem {
  font-size: 2.4em;
  font-weight: 700;
  margin-bottom: 16px;
  margin-top: 37px;
  color: #3B3B3B;
}

/* --- GENERAL UTILITY - ACCESSIBILITY --- */

#access_key,
.access_key {
  text-align: center;
}

#accessibility {
  position: absolute;
  left: -999em;
}

/* --- GENERAL UTILITY - TYPOGRAPHY --- */

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  color: #3B3B3B;
  font-weight: bold;
  line-height: 1.15em;
  margin: 1.2em 0 0.7em;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  display: block;
}

p,
li {
  line-height: 1.75em;
}

p {
  margin-bottom: 28px;
}

#home-top-content li,
#home-main-content li,
#top-content li,
#main-content li {
  margin-bottom: 0;
}

address {
  font-size: 1.2em;
  font-style: normal;
  margin-bottom: 1.5em;
}

blockquote {
  margin: 0 .6em;
}

iframe {
  border: none;
  position: relative;
  z-index: 1;
}

blockquote p {
  margin-bottom: 0.75em;
}

blockquote .source {
  font-size: 1.2em;
}

ul,
ol {
  padding: 0 0 1.8em 1.8em;
  color: #3B3B3B;
}

ul ul,
ul ol,
ol ul,
ol ol {
  padding-bottom: 0;
}

li li,
li p {
  font-size: 1em;
}

dl {
  padding: 0 0 1.8em 0;
}

dt {
  font-size: 1.3em;
  font-weight: bold;
}

dd {
  font-size: 1.3em;
  padding: 0 0 1.5em 3.6em;
}

dd ul,
dd ol {
  padding-left: 0;
}

dd * {
  font-size: 1em;
}

.publication_name {
  font-style: italic;
}

.footnote {
  font-size: 1.1em;
}


/* --- LAYOUTS - TYPOGRAPHY --- */

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
p,
li {
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

h1,
.h1 {
  font-size: 3.6em;
  line-height: 1.16em
}

h2,
.h2 {
  font-size: 2.8em;
  line-height: 1.28em;
}

h3,
.h3 {
  font-size: 2.4em;
  line-height: 1.33em;
}

h4,
.h4 {
  font-size: 2.0em;
  line-height: 1.3em;
}

h5,
.h5 {
  font-size: 1.6em;
  line-height: 1.3em;
}

h6,
.h6 {
  font-size: 1.6em;
  line-height: 1.3em;
}

p,
li {
  font-size: 1.6em;
}

/* --- GENERAL UTILITY - IMAGES --- */

a img {
  border: 0;
}

p.last {
  margin-top: 3em;
}

.image-left,
.image-right,
.image-center {
  font-size: 1.2em;
  line-height: 0;
}

.image-left,
.image-right {
  max-width: 50%;
}

.image-left {
  float: left;
  margin: 0;
  padding: 0 2em 0.75em 0;
}

.image-right {
  float: right;
  margin: 0;
  padding: 0 0 0.75em 2em;
}

.image-center {
  max-width: 100%;
  margin: 0 auto 1.8em;
  text-align: center;
}

.image-left img,
.image-right img,
.image-center img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.image-contain {
  max-width: 100%;
  height: auto;
}

.caption {
  font-size: 1.3em;
  line-height: 1.6364em;
  text-align: center;
}

.landing-page-hero-image {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 270px;
  /* Desired height of the image */
  position: relative;
  width: 100%;
}

.custom-featured-image {
  width: auto;
  max-width: 50%;
}

.custom-featured-image>img {
  width: auto;
  max-width: 100%;
  height: auto;
}

@media all and (max-width: 570px) {

  .image-left,
  .image-right {
    float: none;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 0 10px;
  }

  .custom-featured-image {
    max-width: 90%;
  }
}

/* --- GENERAL UTILITY - LINKS --- */

a:link,
a:visited {
  color: #EB2228;
  text-decoration: underline;
  outline: none;
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
}

a:hover,
a:active {
  color: #0554BD;
  text-decoration: none;
}

/* --- GENERAL UTILITY - TABLES --- */

table {
  margin: 0 auto 1.8em auto;
}

caption {
  font-size: 1.2em;
  font-style: italic;
  text-align: center;
  padding: 0 0 0.6em 0;
  margin: 0 auto;
}

td,
th {
  font-size: 1.2em;
  line-height: 1em;
  padding: 0.5em 9px 0.25em;
}

th {
  font-weight: bold;
  border: 0;
}

tfoot td {
  line-height: 1.5em;
}

tfoot ul {
  padding: 0;
  list-style: none;
}

tfoot li {
  font-size: 1em;
}

/* --- GENERAL UTILITY - SITEWIDE FORMS --- */

.populate {
  color: #6d6d6d;
}

.populate:focus {
  color: #000000;
}

form fieldset input[type="text"],
form fieldset textarea,
form fieldset select,
#wp-blog #sidebar select {
  border: 1px solid #707070;
  border-radius: 3px;
  font-family: 'Roboto';
  padding: 13px 10px 14px;
  background-color: #ffffff;
  height: 47.21;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
}

::placeholder {
  color: #3B3B3B;
}

form fieldset select,
#wp-blog #sidebar select {
  padding: 10px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #ffffff url(/assets/templates/main/images/icons/select-arrows.svg) no-repeat scroll 98% 50%;
  padding-right: 25px;
}

#wp-blog #sidebar select {
  height: 50px;
}

label,
input[type="radio"],
input[type="checkbox"],
input[type="submit"],
button {
  cursor: pointer;
}

label,
input[type="submit"],
button {
  border: none;
  -webkit-appearance: none;
}

/*this keeps iphones from zooming in on form fields */
@media screen and (-webkit-min-device-pixel-ratio:0) {

  select:focus,
  textarea:focus,
  input:focus {
    font-size: 16px;
  }
}

pre {
  height: 0;
}

ul.onecol,
ul.twocol,
ul.threecol {
  padding: 0 0 0 1.5em;
}

.content-left form fieldset input[type="text"],
.content-left form fieldset textarea,
.content-left form fieldset select,
.content-left span.wrapper label {
  width: 100%;
}

.content-left label,
.content-left p.label-heading {
  font-size: 1.8em;
  line-height: 1.5em;
  margin: 0;
  display: inline-block;
}

.content-left label em,
.content-left p.label-heading em {
  color: #ce0000;
}

.content-left span.wrapper label input,
.content-left span.wrapper label span {
  display: inline-block;
}

.content-left span.wrapper label input {
  margin: 2px 5px;
}

.content-left span.note {
  display: block;
  font-size: 1.2em;
}

.content-left form fieldset {
  border: none;
  overflow: hidden;
}

.content-left form fieldset ul {
  list-style: none outside none;
  margin: 0;
  overflow: visible;
  padding: 0;
}


.content-left form fieldset ul.submit {
  text-align: center;
}

.content-left form fieldset ul {
  list-style: none outside none;
  margin-top: 0;
  overflow: hidden;
  display: flex;
  gap: 12px 40px;
  flex-wrap: wrap;
  padding-bottom: 24px;
}

.content-left form fieldset:last-of-type ul {
  padding-bottom: 0;
}

.content-left form fieldset.threecol ul {
  gap: 12px 30px;
}

.content-left form fieldset.fourcol ul {
  gap: 12px 20px;
}

.content-left form fieldset ul li {
  list-style: none outside none;
  margin: 5px 0;
  font-size: 1em;
  width: 100%;
}

.content-left form fieldset input[type="text"],
.content-left form fieldset textarea,
.content-left form fieldset select {
  display: block;
  font-size: 1.8em;
  width: 100%;
}

/* --- GENERAL UTILITY - ERRORS & CONFIRMATIONS --- */

/* --- form errors ---- */

/* highlight fields marked as error */
input.error,
select.error,
textarea.error {
  border: 1px solid red !important;
}

/* --- error container styling ---- */

#error-container,
.error-container {
  background: #ffa0a0;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #ffa0a0 0%, #f9c2c2 100%);
  /* Opera 11.10+ */
  /* IE10+ */
  background: -webkit-gradient(linear, left top, left bottom, from(#ffa0a0), to(#f9c2c2));
  background: linear-gradient(to bottom, #ffa0a0 0%, #f9c2c2 100%);
  /* W3C */
  border-top: 10px solid #D60000;
  color: #353535;
  text-shadow: 0 1px 0 #fff;
}

.confirmation-container {
  background: #abeaab;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #abeaab 0%, #bfffbf 100%);
  /* Opera 11.10+ */
  /* IE10+ */
  background: -webkit-gradient(linear, left top, left bottom, from(#abeaab), to(#bfffbf));
  background: linear-gradient(to bottom, #abeaab 0%, #bfffbf 100%);
  /* W3C */
  border-top: 10px solid #008000;
  color: #343434;
  text-shadow: 0 1px 0 #fff;
}

#error-container {
  border-radius: 0 0 7px 7px !important;
  -webkit-box-shadow: 0 1px 3px #000000 !important;
  box-shadow: 0 1px 3px #000000 !important;
  color: #353535 !important;
  height: 50%;
  margin-bottom: 1.8em !important;
  padding: 1.8em 1.8em 2.5em !important;
  position: fixed;
  right: 0 !important;
  top: 0 !important;
  z-index: 3000 !important;
  right: 5% !important;
  width: 30% !important;
}

#error-container h3,
#error-container h2 {
  background-image: none;
  background-repeat: repeat;
  background-attachment: scroll;
  background-position: 0 0;
  background-color: transparent !important;
  border: medium none !important;
  color: #e51937 !important;
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif !important;
  font-size: 2.4em !important;
  font-style: normal !important;
  font-weight: bold !important;
  margin: 0 !important;
  padding: 0 25px 0 0 !important;
  position: relative !important;
  text-shadow: none;
  text-transform: capitalize;
  top: 0 !important;
  width: 100% !important;
}

#error-container ul {
  display: block !important;
  height: 80% !important;
  padding: 0 !important;
  margin: 10px !important;
  overflow-x: hidden !important;
  overflow-y: scroll !important;
  text-align: left !important;
}

#error-container li {
  color: #000000 !important;
  min-height: 0 !important;
  list-style-image: none !important;
  font-weight: normal !important;
  padding: 1px 0 !important;
}

#error-container li:before {
  color: #565656 !important;
  content: "\00BB" !important;
  /* >> */
  font-size: 1.3em !important;
  font-style: normal !important;
  font-weight: normal !important;
  line-height: 1em !important;
  padding: 0 5px 0 0 !important;
  text-shadow: none !important;
}

/* close error container input */
input.close-modal-popup {
  background-image: none;
  background-repeat: repeat;
  background-attachment: scroll;
  background-position: 0 0;
  background-color: #BC1010;
  border: none !important;
  border-radius: 6px !important;
  -webkit-box-shadow: 0 1px 1px #999 !important;
  box-shadow: 0 1px 1px #999 !important;
  color: #FFFFFF !important;
  cursor: pointer !important;
  font-size: 1.8em !important;
  height: 30px !important;
  margin: 1px 5px !important;
  padding: 0 0 0 1px !important;
  position: absolute !important;
  right: 3px !important;
  top: 3px !important;
  width: 30px !important;
  -webkit-appearance: none;
  z-index: 100;
}

input.close-modal-popup:hover,
input.close-modal-popup:active {
  background-color: #676767 !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

/* IE Version Warning */
#ie-message {
  background-color: #EFEFEF;
  border: 1px solid #bababa;
  padding: 5px;
  margin: 10px 30px 0;
  text-align: center;
  display: none;
}

#ie-message .h2,
#ie-message .h3 {
  font-family: Arial, Helvetica, sans-serif;
  color: #d92027;
  margin: 0 0 10px;
}

#ie-message p {
  margin: 0 0 5px;
}

body.oldIE #ie-message {
  display: block !important;
}

/*----- LAYOUTS - ERRORS & CONFIRMATIONS ----- */

#error-container {
  border-radius: 0 !important;
  height: auto !important;
  width: calc(100% - 42px) !important;
}

/* --- GENERAL UTILITY - COLUMN LAYOUTS --- */

fieldset.onecol ul,
fieldset.twocol ul,
fieldset.threecol ul,
ul.twocol,
ul.threecol {
  overflow: hidden;
  padding: 0 0 0 1.5em;
}

fieldset.twocol ul li,
ul.twocol li {
  width: 50%;
}

fieldset.threecol ul li,
ul.threecol li {
  width: 33%;
}

/* --- GENERAL UTILITY - UTILITY CLASSES --- */

.inline-block {
  display: inline-block;
}

.block {
  display: block;
}

.margin-0 {
  margin: 0;
}

.margin-auto {
  margin: auto;
}

.vertical-top {
  vertical-align: top;
}

.vertical-middle {
  vertical-align: middle;
}

.vertical-bottom {
  vertical-align: bottom;
}

.bold {
  font-weight: bold;
}

.normal {
  font-weight: normal;
}

.italic {
  font-style: italic;
}

.no-italic {
  font-style: normal;
}

.clear {
  clear: both;
}

.clear-left {
  clear: left;
}

.clear-right {
  clear: right;
}

.hide {
  display: none;
}

.show {
  display: block;
  margin-top: 20px;
}

.align-center {
  text-align: center;
}

.align-right {
  text-align: right;
}

.align-left {
  text-align: left;
}

.float-left {
  float: left;
}

.float-right {
  float: right;
}

/* Honeypot Validation */
li.company_name_required,
.secondary-tools form ul li.structured_particle_required,
#mini-form li.structured_particle_required,
li.structured_particle_required {
  position: absolute;
  display: none;
  visibility: hidden;
}

/*Top Content Phone on One Line */
#content-phone-callout {
  margin-top: 0;
  margin-bottom: 15px;
  color: #EB2228;
}

#content-phone-callout a {
  display: inline-block;
  text-decoration: underline;
}

/* --- FLEX UTILITY CLASSES --- */

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.inline-flex {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

/* FD = Flex Direction */
.fd-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.fd-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
}

.fd-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
}

.fd-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

/* FW = Flex Wrap */
.fw-wrap {
  -webkit-box-flex: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

/* JC = Justify Content */
.jc-flex-start {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.jc-flex-end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.jc-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.jc-space-around {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.jc-space-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.jc-space-evenly {
  -webkit-box-pack: space-evenly;
  -ms-flex-pack: space-evenly;
  justify-content: space-evenly;
}

/* AC = Align Content */
.ac-flex-start {
  -ms-flex-line-pack: start;
  align-content: flex-start;
}

.ac-flex-end {
  -ms-flex-line-pack: end;
  align-content: flex-end;
}

.ac-center {
  -ms-flex-line-pack: center;
  align-content: center;
}

.ac-space-around {
  -ms-flex-line-pack: distribute;
  align-content: space-around;
}

.ac-space-between {
  -ms-flex-line-pack: justify;
  align-content: space-between;
}

.ac-space-evenly {
  -ms-flex-line-pack: space-evenly;
  align-content: space-evenly;
}

/* AI = Align Items */
.ai-flex-start {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.ai-flex-end {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.ai-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.ai-baseline {
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.ai-stretch {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

/* AS = Align Self */
.as-flex-start {
  -ms-flex-item-align: start;
  align-self: flex-start;
}

.as-flex-end {
  -ms-flex-item-align: end;
  align-self: flex-end;
}

.as-center {
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
}

.as-baseline {
  -ms-flex-item-align: baseline;
  align-self: baseline;
}

.as-stretch {
  -ms-flex-item-align: stretch;
  -ms-grid-row-align: stretch;
  align-self: stretch;
}

.as-auto {
  -ms-flex-item-align: auto;
  -ms-grid-row-align: auto;
  align-self: auto;
}

/* Flex Grow/Shrink/Basis */
.flex-1 {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.flex-2 {
  -webkit-box-flex: 2;
  -ms-flex: 2;
  flex: 2;
}

.flex-3 {
  -webkit-box-flex: 3;
  -ms-flex: 3;
  flex: 3;
}

.flex-4 {
  -webkit-box-flex: 4;
  -ms-flex: 4;
  flex: 4;
}

/* --- GENERAL UTILITY - Read More --- */

.hc-trigger {
  white-space: nowrap;
  font-size: 1.6em;
  font-weight: 700;
}

@media all and (max-width: 800px) {

  /* html.js  */
  .hc-start:not(.show) {
    display: none;
  }
}

/* --- GENERAL UTILITY - SITEWIDE Buttons --- */

input[type="submit"],
button {
  background-color: #0554BD;
  color: #fff;
  border-radius: 0px;
  height: 44px;
  font-size: 18px;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
  padding: 0 25px;
  text-transform: uppercase;
  font-family: 'Roboto';
}

:focus {
  outline: none;
}

input[type="submit"]:hover,
input[type="submit"]:active,
button:hover,
button:active {
  background-color: #048CE1;
  color: #fff;
}

.view-all {
  font-size: 1.8em;
  font-weight: 700;
  margin-bottom: 0;
  text-align: center;
  line-height: 44px;
  text-transform: uppercase;
}

.view-all a {
  padding: 11.5px 20.5px;
  border-radius: 0px;
  text-decoration: none;
  background-color: #0554BD;
  color: #fff;
}

.view-all a:hover,
.view-all a:active {
  background-color: #048CE1;
  color: #fff;
}

.view-all.alt-va a {
  border: 3px solid #ffffff;
  padding: 8px 17px;
}

.cta-button {
  display: inline-block;
  text-align: center;
}

.cta-button a {
  display: block;
  min-height: 56px;
  line-height: 24px;
  font-size: 2em;
  font-weight: 700;
  margin: 0;
  border-radius: 0px;
  border: 2px solid #EB2228;
  padding: 14px 28px;
  text-decoration: none;
  color: #fff;
  background-color: #EB2228;
  text-transform: uppercase;
  box-shadow: -5px 5px 0px 0px #000000;
}

.cta-button a:hover,
.cta-button a:active {
  background-color: #ffffff;
  border-color: #000000;
  color: #EB2228;
}

.cta-button a span {
  display: inline-block;
}

.cta-button.cta-phone a {
  min-height: 77px;
  padding: 24px 33px;
  border-radius: 0;
  font-size: 2.9em;
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  border: none;
}

.cta-button.cta-phone a img {
  margin-right: 14px;
  margin-bottom: -8px;
}

.cta-button.cta-phone a:hover,
.cta-button.cta-phone a:active {
  background-color: #4596d1;
}

.phone-button.cta-button a {
  padding-left: 60px;
  position: relative;
}

.phone-button.cta-button a:before {
  content: '';
  position: absolute;
  left: 17px;
  top: 0px;
  height: 100%;
  width: 34px;
  background-image: url(/assets/templates/main/images/icons/icon-phone-white.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

/* --- END GENERAL UTILITY --- */


/* --- MASTHEAD --- */

.logo {
  margin: 0px auto;
  max-width: 330px;
  position: relative;
}

.logo img {
  width: 100%;
  height: auto;
  display: block;
}

.tagline {
  font-size: 1.8em;
  font-weight: bold;
  margin: 28px auto 18px;
  text-align: center;
  line-height: 1.55em;
}

/* mobile.css rules */
#container-masthead {
  background-color: #fff;
}

#container-masthead #masthead {
  overflow: visible;
}

#masthead .masthead-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-top: 24px;
  padding-bottom: 26px;
}

#masthead .masthead-left,
#masthead .masthead-center,
#masthead .masthead-right {
  width: 100%;
  text-align: center;
}

#masthead .phone-text {
  display: block;
}

#masthead .masthead-top {
  text-align: center;
  background-color: #0554BD;
  padding-top: 12px;
  padding-bottom: 12px;
}

#masthead .masthead-top p {
  margin: 0;
  font-size: 1.8em;
  line-height: 1.44em;
  font-weight: 700;
  color: #fff;
}

#masthead .phone-text {
  display: none;
}

.masthead-financing {
  font-size: 1.8em;
  margin-top: 16px;
  margin-bottom: 0;
}

.masthead-financing a {
  font-weight: 700;
}

#masthead,
.logo,
.phone-container,
.tagline {
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

@media all and (max-width: 800px) {
  #container-masthead::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 4px;
    left: 0;
    bottom: -4px;
    background: #000000;
    z-index: 1;
    -webkit-box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.45);
    box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.45);
  }
}

/* --- PHONE NUMBER --- */

.phone-container {
  text-align: center;
}

.phone-text {
  color: #960404;
  font-size: 2.4em;
  line-height: 1.15em;
  margin: 0;
}

.phone-number {
  font-size: 3.5em;
  font-weight: bold;
  line-height: 1.15em;
  margin: 0;
  white-space: nowrap;
}

.phone-number,
.phone-number span,
.phone-number a,
.phone-number span.gc-cs-link {
  text-decoration: none;
}

.phone-number span.phone-mobile {
  display: none;
}

@media all and (max-width: 570px) {
  .phone-container {
    display: block;
    float: none;
    margin: 0 auto;
    max-width: 450px;
    width: 100%;
  }
}

@media screen and (max-width: 800px) {
  .phone-number span.phone-desktop {
    display: none;
  }

  .phone-number span.phone-mobile {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
  }

  .phone-number span.phone-mobile svg {
    fill: #0554BD;
    width: 24px;
    height: 24px;
  }
}

/* --- END MASTHEAD --- */


/* --- BEGIN PRIMARY NAVIGATION (MOBILE/TABLET) --- */

#container-primary-navigation .phone-number {
  text-align: center;
}

@media all and (max-width: 800px) {
  #toggle-navigation {
    -webkit-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
  }

  #container-primary-navigation,
  .ims-push-content {
    -webkit-transition: left 0.2s ease;
    -o-transition: left 0.2s ease;
    transition: left 0.2s ease;
  }

  #primary-navigation {
    background-image: none;
    background-repeat: repeat;
    background-attachment: scroll;
    background-position: 0 0;
    background-color: rgba(255, 255, 255, 0.98);
    -webkit-box-shadow: none;
    box-shadow: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    width: 100%;
    padding: 80px 0 20px;
    overflow-x: hidden;
    overflow-y: scroll;
  }

  #primary-navigation>ul {
    display: block;
    padding: 0;
    height: auto;
    list-style-type: none;
    position: relative;
    width: 100%;
    /*border-bottom: 1px solid rgba(0,0,0,0.3);*/
  }

  #primary-navigation ul li.nav-level-1:first-of-type:before,
  #primary-navigation ul li.nav-level-1::after,
  #primary-navigation>ul::after,
  #primary-navigation ul li.nav-level-1 ul>li:not(.last):not(.nav-level-3)>a::after,
  #primary-navigation ul li.nav-level-1.active-submenu>a::after {
    content: '';
    position: absolute;
    width: calc(100% - 60px);
    height: 2px;
    left: 50%;
    bottom: 0;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #d0d0d0;
  }

  #primary-navigation ul li.nav-level-1:first-of-type:before {
    top: 0;
  }

  #primary-navigation ul li {
    position: relative;
  }

  /* --- NAV ITEM COLORS & FONT SIZES --- */

  /* ----- Static ----- */
  /* All Nav Items */
  #primary-navigation li,
  #primary-navigation li a:link,
  #primary-navigation li a:visited {
    color: #3B3B3B;
  }

  /* ----- You Are Here ----- */
  /* All Nav Items */
  #primary-navigation li.current>a:link,
  #primary-navigation li.current>a:visited,
  #primary-navigation li.current>a:hover,
  #primary-navigation li.current>a:active {
    color: #EB2228;
  }

  /* ----- Nav Font Sizes ----- */
  /* Top Level */
  #primary-navigation ul li.nav-level-1 {
    font-size: 2.4em;
    line-height: 1.1em;
  }

  /* Secondary */
  #primary-navigation ul li.nav-level-1>ul>li {
    font-size: 0.85em;
    line-height: 1.1em;
  }

  /* Tertiary/Third Level & Beyond */
  #primary-navigation ul li.nav-level-1>ul>li li {
    font-size: 0.85em;
    line-height: 1.1em;
  }

  /* --- TOP-LEVEL --- */

  #primary-navigation ul li.nav-level-1 {
    /*border-bottom: 1px solid rgba(0,0,0,0.3);*/
    min-height: 40px;
    height: auto;
    line-height: 1.1em;
    overflow: hidden;
    padding: 0;
    position: relative;
    text-align: left;
    font-weight: 700;
  }

  #primary-navigation ul li.nav-level-1:last-child::after {
    display: none;
  }

  #primary-navigation ul li.nav-level-1>a {
    display: block;
    padding: 16px 19% 18px 31px;
    text-decoration: none;
    position: relative;
  }

  /* --- NAV ITEMS --- */

  /* ----- All Dropdown Nav Items ----- */
  #primary-navigation ul li.nav-level-1 ul {
    list-style-type: none;
    margin: 0;
    max-height: 0;

  }

  #primary-navigation ul li.nav-level-1 li {
    overflow: hidden;
    text-align: left;

  }

  #primary-navigation ul li.nav-level-1 li a {
    display: block;
    padding: 12px 50px 12px 30px;
    position: relative;
    text-decoration: none;
  }

  /* ----- 3rd Level Nav Items (tertiary service pages) & beyond ------------ */
  #primary-navigation ul li.nav-level-1>ul>li ul {
    border-left: none;
    margin: 0;
  }

  #primary-navigation ul li.nav-level-1>ul>li ul li a {
    padding: 8px 50px 8px 0;
    font-weight: 400;
  }

  #primary-navigation ul li.nav-level-1>ul>li>ul ul {
    margin: 0 0 0 2%;
  }

  /* Active Navigation */
  #primary-navigation ul li.nav-level-1 ul.active {
    max-height: none;
  }

  #primary-navigation ul li.nav-level-1>ul.active {
    padding-bottom: 8px;
    padding-left: 20px;
  }

  /* --- NAVIGATION 'SHOW/HIDE' LINK --- */

  #toggle-navigation {
    height: 0;
    width: 0;
  }

  .no-js #toggle-navigation {
    display: none;
  }

  .js #toggle-navigation {
    background-image: none;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-position: 0 center;
    background-color: transparent;
    background-size: auto 30px;
    border-radius: 0;
    cursor: pointer;
    font-size: 16px;
    font-weight: 700;
    height: 82px;
    text-transform: uppercase;
    left: 0;
    margin: 0 auto;
    width: calc(100% - 80%);
    overflow: hidden;
    padding: 0;
    position: fixed;
    text-align: left;
    bottom: 0;
    z-index: 2001;
    -webkit-transition: background 0.4s linear;
    -o-transition: background 0.4s linear;
    transition: background 0.4s linear;
  }

  .js #toggle-navigation a {
    position: relative;
    font-size: 14px;
    color: #ffffff;
    display: block;
    height: 100%;
    line-height: 40px;
    padding: 46px 5px 0 13px;
    text-align: center;
    text-decoration: none;
    width: 100%;
    -webkit-transition: 0s;
    -o-transition: 0s;
    transition: 0s;
  }

  .js #toggle-navigation a::before,
  .js #toggle-navigation a::after,
  .js #toggle-navigation::before {
    content: '';
    position: absolute;
    width: 38px;
    height: 6px;
    background-color: #ffffff;
    left: 55%;
    -webkit-transform: translate(-50%);
    -ms-transform: translate(-50%);
    transform: translate(-50%);
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    -o-transition-property: transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
  }

  .js #toggle-navigation a::before {
    top: 18px;
    -webkit-transform-origin: center left;
    -ms-transform-origin: center left;
    transform-origin: center left;
  }

  .js #toggle-navigation a::after {
    bottom: 35px;
    -webkit-transform-origin: center left;
    -ms-transform-origin: center left;
    transform-origin: center left;
  }

  .js #toggle-navigation::before {
    top: 29px;
  }

  .js .active-navigation #toggle-navigation {
    border-radius: 50%;
    width: 58px;
    height: 58px;
    position: fixed;
    top: 0;
    right: 0;
    margin-right: 25px;
    margin-top: 47px;
    padding: 0px;
  }

  .js .active-navigation #toggle-navigation a {
    background-color: #2B2B2B;
    height: 100%;
    width: 100%;
    display: inline-block;
    text-align: center;
    font-weight: bold;
    cursor: pointer;
    background-image: url(/assets/templates/main/images/icons/icon-close.svg);
    background-repeat: no-repeat;
    background-position: center;
    color: transparent;
    background-size: 30px;
    -webkit-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
  }

  .js .active-navigation #toggle-navigation a::before,
  .js .active-navigation #toggle-navigation a::after,
  .js .active-navigation #toggle-navigation::before {
    content: none;
  }

  /* ------ Show/Hide Navigation (slide-out) ------ */
  #container-primary-navigation {
    height: 100%;
    left: -100%;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1010;
  }

  #container-primary-navigation .nav-logo {
    position: relative;
    width: calc(100% - 105px);
    padding: 10px 5px 32px 35px;
    margin: -52px auto 0 0;
  }

  #container-primary-navigation .nav-logo a {
    display: inline-block;
    max-width: 240px;
  }

  #container-primary-navigation .nav-logo img {
    max-width: 100%;
    width: 100%;
    height: 100%;
  }

  .active-navigation #container-primary-navigation {
    left: 0;
  }

  #container-masthead,
  #container-content,
  #container-footer,
  .ims-push-content {
    position: relative;
    left: 0;
  }

  .active-navigation #container-masthead.ims-push-content,
  .active-navigation .ims-push-content,
  .active-navigation #container-fixed-masthead {
    left: 0;
  }

  .active-navigation #container-masthead {
    -webkit-box-shadow: none;
    box-shadow: none;
  }

  /* Hide Apex Chat when nav is active */
  .active-navigation #apexchat_invitation_container_minimized_wrapper,
  .active-navigation #apexchat_invitation_container_wrapper {
    display: none !important;
  }

  /* --- EXPAND NAVIGATION BUTTONS --- */

  div.expand-nav {
    cursor: pointer;
    display: block;
    height: 50px;
    margin: 0;
    padding: 2px;
    position: absolute;
    right: 20px;
    top: 5px;
    width: 50px;
    z-index: 900;
    -webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
  }

  div.expand-nav>span.nav-expand {
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
  }

  #primary-navigation li.current span.nav-expand {
    background-color: #EB2228;
  }

  div.expand-nav.active span.nav-expand {
    background-color: #0554BD;
  }

  li.nav-level-1 li div.expand-nav {
    height: 40px;
    padding: 4px;
    width: 40px;
  }

  span.nav-expand {
    background-color: #0554BD;
    border-radius: 5px;
    display: inline-block;
    width: 40px;
    height: 40px;
    margin: 2px;
    text-align: center;
    vertical-align: top;
    padding: 0;
    position: relative;
  }

  li.nav-level-1 li span.nav-expand {
    height: 32px;
    position: relative;
    margin: 0;
    width: 32px;
  }

  span.nav-expand:after,
  span.nav-expand:before {
    content: '';
    position: absolute;
    width: 13px;
    height: 2px;
    background-color: #fff;
    /* border-radius: 0px; */
    top: 50%;
    -webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
  }

  span.nav-expand:before {
    position: relative;
    display: block;
  }

  /* 2nd level */
  li.nav-level-2 span.nav-expand:after,
  li.nav-level-2 span.nav-expand:before {
    content: '';
    position: absolute;
    width: 12px;
    height: 2px;
    background-color: #fff;
    /* border-radius: 0px; */
    top: 50%;
  }

  /* 2nd level static right */
  li.nav-level-2 span.nav-expand:after {
    right: 5.5px;
  }

  /* 2nd level static left */
  li.nav-level-2 span.nav-expand:before {
    left: 6px;
  }

  /* static right */
  span.nav-expand:after {
    -webkit-transform: rotate(-45deg) translateY(-50%);
    -ms-transform: rotate(-45deg) translateY(-50%);
    transform: rotate(-45deg) translateY(-50%);
    right: 9px;
  }

  /* static left */
  span.nav-expand:before {
    -webkit-transform: rotate(45deg) translateY(-50%);
    -ms-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    left: 8.5px;
  }

  /* active left */
  div.expand-nav.active>span.nav-expand::before {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 18px;
    left: 9px;
    background-color: #fff;
  }

  /* active right */
  div.expand-nav.active>span.nav-expand::after {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 18px;
    right: 10px;
    background-color: #fff;
  }

  /* 2nd level right active */
  li.nav-level-2 div.expand-nav.active>span.nav-expand::before {
    top: 15px;
    left: 6px;
  }

  /* 2nd level left active */
  li.nav-level-2 div.expand-nav.active>span.nav-expand::after {
    top: 15px;
    right: 6.5px;
  }

}

/* @media all and (max-width: 800px) */

#primary-navigation .phone-number {
  margin: 20px 0 0 20px;
  padding-bottom: 20px;
  font-size: 26px;
}

#primary-navigation .phone-number svg {
  max-width: 26px;
}

#primary-navigation .phone-number a {
  padding-left: 5px;
}

/* --- MOBILE OVERRIDES --- */

@media all and (min-width: 571px) {
  .js #toggle-navigation a {
    padding-top: 43px;
    padding-left: 18px;
  }
}


/* --- END PRIMARY NAVIGATION (MOBILE/TABLET) --- */


/* --- BEGIN CONTENT FRAMEWORK --- */
#container-fixed-masthead {
  display: none;
}

#content,
#container-content,
#sidebar-content {
  position: relative;
}

#content-wrap {
  overflow: hidden;
  position: relative;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top center;
}

#content-wrap>.width-limiter:not(.top-content-upper) {
  position: relative;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  padding-bottom: 80px;
}

#content-wrap .top-content-upper {
  padding-top: 52px;
  padding-bottom: 46px;
  position: relative;
  background: #0554BD;
}




#content-wrap .top-content-upper h1 {
  margin-bottom: 0;
  z-index: 1;
  position: relative;
  color: #fff;
  margin-top: 0;
}

#content-wrap .content-left #content-phone-callout {
  margin-bottom: 2px;
}

@media (max-width: 800px) {
  #content-wrap>.width-limiter:not(.top-content-upper) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    width: 100%;
    padding-bottom: 0;
  }

  #content-wrap .content-left {
    width: calc(100% - 42px);
    margin: 0 auto;
    padding-bottom: 64px;
    padding-top: 72px;
  }
}



/* --- TOP CONTENT CUSTOM STYLES --- */

#breadcrumbs-container {
  padding: 0px 0 13px;
  font-size: 16px;
  text-transform: capitalize;
  font-weight: 700;
  z-index: 1;
  position: relative;
  color: #fff;
}

#breadcrumbs-container+h1 {
  margin-top: 10px;
}

#breadcrumbs-container a {
  color: #fff;
}

#breadcrumbs-container a:hover,
#breadcrumbs-container a:active {
  text-decoration: none;
}

/* --- Service Area Map Override --- */
#service-areas #content-wrap .content-left #service-calls-map .service-call-info-window p,
#service-areas #content-wrap .content-left #service-calls-map .service-call-info-window strong,
#service-areas #content-wrap .content-left #service-calls-map label {
  color: #000;
}

#service-areas #service-calls-map button {
  border-radius: 0;
}

/* --- FEATURED IMAGE --- */

.automatic-page-image {
  position: absolute;
  height: 100%;
  width: 100%;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}

#wp-blog #container-all>.ims-push-content {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}

/* --- TV LAYOUT OVERRIDES --- */
.no-main-content.exclude-sidebar #content-wrap>.width-limiter,
.no-main-content.full-width-layout #content-wrap>.width-limiter {
  padding-top: 0;
  padding-bottom: 0;
}

.no-landing-page-image:not(.no-main-content) #content-wrap>.width-limiter {
  padding-bottom: 0;
}

.no-landing-page-image.full-width-layout #content-wrap>.width-limiter {
  padding-top: 0;
}

/* --- Width Restriction for No Sidebar --- */
/* Restricts width of all content except .image-SOMETHING divs and img tags. */
.exclude-sidebar .content-left .content-spacer>*:not(.image-left):not(.image-center):not(.image-right):not(img),
.exclude-sidebar .top-content-upper>*:not(.image-left):not(.image-center):not(.image-right):not(img) {
  width: 100%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

@media all and (max-width: 800px) {
  .exclude-sidebar .top-content-upper > .width-limiter {
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* --- END CONTENT FRAMEWORK --- */


/* --- BEGIN SECONDARY CONTENT --- */

.secondary-tools-outer {
  background-color: transparent;
  margin: 0;
  padding: 20px 0;
}

.secondary-tools-outer:first-child {}

.secondary-tools .secondary-tools-heading {
  display: block;
  margin-top: 0;
  margin-bottom: 0.4em;
}

.secondary-tools .secondary-tools-heading,
.secondary-tools .secondary-tools-heading a:link,
.secondary-tools .secondary-tools-heading a:visited {
  text-decoration: none;
}

.secondary-tools .secondary-tools-heading a:hover,
.secondary-tools .secondary-tools-heading a:active {}

.secondary-tools ul {
  list-style-type: none;
  padding: 10px 0;
}

.secondary-tools li {
  font-weight: bold;
  padding: 6px 0;
}

.secondary-tools ul li a:link,
.secondary-tools ul li a:visited {
  /* text-decoration: none; */
}

.secondary-tools ul li a:hover,
.secondary-tools ul li a:active {}

.secondary-tools form {
  margin: 0 0 15px;
}

.secondary-tools form ul {
  list-style-type: none;
  padding: 0;
}

.secondary-tools form fieldset,
.secondary-tools form ul,
.secondary-tools form ul li {
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  width: 100%;
}

.secondary-tools form fieldset input[type="text"],
.secondary-tools form fieldset textarea,
.secondary-tools form fieldset select {
  font-size: 1em;
}

.secondary-tools form fieldset textarea {
  resize: vertical;
}

.secondary-tools form input[type="submit"],
.secondary-tools form button {
  position: relative;
}

/* --- SECONDARY CONTENT - FEATURED IMAGE/VIDEO --- */

#featured-image,
#featured-video {
  background-color: #b1b1b1;
  padding: 10px;
  border-radius: 5px;
  text-align: center;
}

.featured-section-title {
  margin: 10px 0 20px 0;
  color: #fff;
}

.featured-section-caption {
  font-size: 1.8em;
  margin: 20px 0 10px 0;
  display: block;
  color: #fff;
}

#featured-image .automatic-page-image {
  position: relative;
  display: block;
  padding-bottom: 66%;
  background-size: cover;
  background-position: center;
}

/* --- SECONDARY CONTENT - MINI FORM --- */

/* mobile.css */
#mini-form-cta {
  background-color: #EB2228;
  padding-top: 45px;
  padding-bottom: 41px;
}

#mini-form-cta .width-limiter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  gap: 17px;
}

#mini-form-cta .width-limiter>span {
  font-size: 2.8em;
  line-height: 1.3;
  color: #ffffff;
  font-weight: 700;
}

#mini-form-cta img {
  vertical-align: middle;
  margin-right: 10px;
}

#mini-form-cta .cta-phone {
  white-space: nowrap;
}

#mini-form-cta .cta-button a {
  color: #EB2228;
  background-color: #fff;
  border-color: #ffffff;
}

#mini-form-cta .cta-button a:hover,
#mini-form-cta .cta-button a:active {
  color: #ffffff;
  background-color: #3B3B3B;
  border-color: #3B3B3B;
}

#mini-form-cta .width-limiter .cta-phone {
  margin-top: 15px;
}

#mini-form-cta .width-limiter .cta-phone a {
  color: #fff;
}

.mf-title.secondary-tools-heading {
  margin: 0;
  text-align: center;
}

.mf-subtitle {
  margin-top: 0;
  text-align: center;
}

#mini-form .label-heading,
#mini-form label {
  display: block;
  text-align: left;
  font-size: 18px;
  line-height: 27px;
}

#mini-form fieldset,
#mini-form ul,
#mini-form li {
  display: block;
  width: auto;
}

#mini-form ul {
  margin: 0;
}

#mini-form li {
  padding: 5px 0;
  font-weight: 400;
}

#mini-form input[type="text"],
#mini-form textarea,
#mini-form select {
  width: 100%;
  background-color: #FFFFFF;
  height: 47.21px;
}

#mini-form textarea {
  max-height: 100px;
}

#mini-form button,
#mini-form input[type="submit"] {
  position: static;
  margin: 0 auto;
}

#mini-form ul.submit {
  text-align: center;
  margin-top: 16px;
  margin-bottom: 27px;
}

/* Select the ul containing the company required input. */
#mini-form fieldset:last-child>ul:first-child {}

/* --- SECONDARY CONTENT - PROMOTIONS --- */

/*--- PROMOTIONS - Sidebar --- */
.sidebar-right #promotions-secondary:after {
  display: none;
}

#promotions-secondary {
  padding: 71px 0 70px;
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  position: relative;
}
.webp #promotions-secondary {
  background-image: url(/assets/templates/main/images/backgrounds/bg-promos-mobile.webp);
}
.no-webp #promotions-secondary {
  background-image: url(/assets/templates/main/images/backgrounds/bg-promos-mobile.jpg);
}

#promotions-secondary:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #048CE1;
  background: linear-gradient(180deg, rgba(4, 140, 225, 0.9) 0%, rgba(5, 84, 189, 0.9) 100%);
}

#promotions-secondary:after {
  content: '';
  position: absolute;
  top: -1px;
  left: -3px;
  width: 101%;
  height: 100%;
  background-image: url(/assets/templates/main/images/other/promos-curve.svg);
  background-size: contain;
  background-position: top center;
  background-repeat: no-repeat;
}

#promotions-secondary .width-limiter {
  position: relative;
  z-index: 2;
}

#promotions-secondary .secondary-tools-heading {
  text-align: center;
  margin-bottom: 84px;
  max-width: 285px;
  margin-left: auto;
  margin-right: auto;
  color: #fff;
}

.sidebar-right #promotions-secondary .promotions {
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

#promotions-secondary .promotions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 81px;
  padding: 0;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

#promotions-secondary .promotions li {
  padding-top: 0;
  padding-bottom: 0;
}

#promotions-secondary li a {
  display: block;
  padding: 63px 20px 21px 20px;
  position: relative;
  border: 5px dashed #EB2228;
  background-color: #ffffff;
  min-height: 106px;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #3B3B3B;
  transition: 0.2s;
  border-radius: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
  text-align: center;
  gap: 3px;
}

#promotions-secondary .secondary-tools li a:hover {
  background-color: #000000;
  color: #fff;
}

#promotions-secondary .secondary-tools li a:hover .promo-view-details {
  color: #048CE1;
  text-decoration: none;
}

#promotions-secondary .secondary-tools li a .promo-image {
  position: absolute;
  top: -62px;
  left: 50%;
  transform: translate(-50%, 0px);
  height: 106px;
  width: 106px;
  background-color: #EB2228;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%;
  background-image: url(/assets/templates/main/images/icons/icon-promo.svg);
  background-size: 53px;
}


#promotions-secondary a .promo-title {
  display: block;
  font-size: 20px;
  line-height: 26px;
}

#promotions-secondary a .promo-teaser {
  display: block;
  font-weight: 400;
}

#promotions-secondary a .promo-view-details {
  text-transform: uppercase;
  text-decoration: underline;
  display: block;
  color: #EB2228;
}

#promotions-secondary .view-all {
  margin-top: 25px;
}

#promotions-secondary .view-all a {
  padding: 8.5px 17.5px;
  border: 3px solid;
}

/*--- PROMOTIONS - Landing Page --- */
#promotions .promotions-top {
  background-color: #0554BD;
  padding-top: 91px;
  padding-bottom: 83px;
}

#promotions #breadcrumbs-container,
#promotions .promotions-top h1 {
  text-align: center;
  margin-bottom: 0;
  margin-top: 0;
  color: #fff;
}

#promotions #content-wrap {
  padding-top: 0;
}

#promotions #content-wrap .content-left {
  padding-bottom: 39px;
  padding-top: 70px;
}

#promotions #content-wrap>.width-limiter>.content-left>h2 {
  text-align: center;
  margin: 0 auto 30px;
  width: calc(100% - 42px)
}

.promotions-item {
  border: dashed 5px #EB2228;
  background-color: #ffffff;
  color: #3b3b3b;
  text-align: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 30px;
  border-radius: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2);
}

.promotions-item .promotions-inner {
  padding: 35px 23px 56px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.promotions-item h2 {
  margin-bottom: 17px;
  text-align: center;
  margin-top: 21px;
  font-size: 24px;
  line-height: 32px;
}

/* .promotions-item .promotion-content {
  font-size: 1.8em;
} */

.promotions-item .coupon-footer {
  font-style: italic;
  font-size: 1.5em;
  margin-bottom: 30px;
}

.promotions-item .promo-cta-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.promotions-item .promo-cta-buttons .cta-button {
  width: 244px;
}

.promotions-item .promo-cta-buttons .cta-button a {
  box-shadow: none;
  padding: 14px 18px;
}

.promotions-item .cta-button.promo-details a {
  background-color: #0554BD;
  color: #fff;
  border: 2px solid #0554BD;
}

.promotions-item .cta-button.promo-details a:hover,
.promotions-item .cta-button.promo-details a:active {
  background-color: #048CE1;
  border-color: #048CE1;
}

.promotions-item .promo-image img {
  max-width: 100%;
  height: auto;
}

.promotions-item .promo-image:empty {
  background-color: #EB2228;
  background-image:
    url(/assets/templates/main/images/icons/icon-promo.svg);
  background-size: 145px;
  background-position: center;
  background-repeat: no-repeat;
  width: 303px;
  height: 222px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
}

@media all and (min-width: 571px) {
  .promotions-item .promotions-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 25px;
  }

  .promotions-item .promo-image {
    width: 30%;
    min-width: 30%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  #promotions .promo-image:empty {
    width: 33%;
    min-width: 33%;
    background-size: 120px;
  }

  .promotions-item h2,
  #promotions .content {
    text-align: left;
  }

  .promotions-item .promo-cta-buttons {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

/*--- PROMOTIONS - Details Page --- */
#details .promotions-top {
  background-color: #0554BD;
  height: 150px;
}

#details #content-wrap {
  overflow: visible;
}

#details .promotions-item {
  margin-top: -135px;
}

#details .promotions-item .promotion-item-inner {
  display: flex;
  flex-direction: column-reverse;
  padding: 35px 23px 56px;
}

#details h1 {
  margin-bottom: 17px;
  text-align: center;
  margin-top: 21px;
  font-size: 24px;
  line-height: 32px;
}

#details .promo-image:empty {
  width: 100%;
  max-width: 303px;
}

#details #mini-form-cta {
  margin: -5px;
  border-radius: 0 0 15px 15px;
  -webkit-border-radius: 0 0 15px 15px;
  -moz-border-radius: 0 0 15px 15px;
  -ms-border-radius: 0 0 15px 15px;
  -o-border-radius: 0 0 15px 15px;
}

@media all and (min-width: 571px) {
  #details .promotions-item .promo-image {
    width: 100%;
  }
}

/* --- SECONDARY CONTENT - REVIEWS --- */

/* Generic Reviews Outer */
#testimonials-secondary {
  background-size: cover;
  background-position: bottom center;
  padding-top: 70px;
  padding-bottom: 394px;
}
.webp #testimonials-secondary {
  background-image: url(/assets/templates/main/images/backgrounds/bg-reviews-mobile.webp);
}
.no-webp #testimonials-secondary {
  background-image: url(/assets/templates/main/images/backgrounds/bg-reviews-mobile.jpg);
}

#testimonials-secondary .secondary-tools-heading {
  text-align: center;
  margin-bottom: 15px;
  color: #fff;
}

#testimonials-secondary .testimonials-inner {
  padding: 36px 25px 30px;
  background-color: rgba(255, 255, 255, 0.9);
  max-width: 500px;
  border-radius: 15px;
  margin-left: auto;
  margin-right: auto;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
}

#testimonials-secondary .testimonials-inner .source-info .rating_output i.star {
  margin-left: -5px;
  margin-right: 6px;
}

/* Generic Reveiws Inner */
.testimonial p.quote {
  font-style: italic;
  margin-bottom: 5px;
}

.testimonial p.quote:before {
  content: open-quote;
}

.testimonial p.quote:after {
  content: close-quote;
}

/* Standard Reviews Inner */
.testimonial.st-review blockquote .source {
  font-size: 1.5em;
}

/* Birdeye Star Rating Box */
.review-star-rating .star-rating-inner {
  position: relative;
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.9);
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  padding: 20px;
  border-radius: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 273px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 18px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
}

.review-star-rating span.avg-star-rating {
  font-size: 4.5em;
  font-weight: 700;
  margin-right: 7px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.review-star-rating i.star {
  width: 40px;
  height: 35px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.review-star-rating a {
  font-size: 1.8em;
  margin-left: 15px;
  font-weight: 700;
  text-decoration: underline;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.review-star-rating a:hover,
.review-star-rating a:active {
  text-decoration: none;
}

/* Birdeye Reviews Inner */
.testimonial.be-review .source-info {
  min-height: 70px;
  margin-bottom: 12px;
}

.testimonial.be-review .source-info .source {
  font-size: 1.6em;
}

.testimonial.be-review .source-info .rating_output {
  font-style: italic;
  font-size: 1.4em;
  margin-bottom: 4px;
}

.testimonial.be-review .source-info .source,
.testimonial.be-review .source-info .rating_output {
  /*These colors need to be the same to account for facebook reviews. */
  color: #3b3b3b;
}

.testimonial.be-review .source-image {
  position: relative;
  display: inline-block;
  float: left;
  margin-right: 11px;
  margin-top: -5px;
}

.testimonial.be-review .source-image img {
  border-radius: 50%;
  width: 62px;
  max-width: 62px;
  height: 62px;
}

.testimonial.be-review .review-source {
  border-radius: 50%;
  background-color: #fff;
  height: 25px;
  width: 25px;
  position: absolute;
  right: 0px;
  bottom: 0px;
  text-indent: -9999px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto 18px;
  -webkit-box-shadow: 0px 0px 3px #9c9c9c;
  box-shadow: 0px 0px 3px #9c9c9c;
}

.review-source.source-Facebook {
  background-image: url(/assets/templates/main/images/icons/reviewv3-icon-facebook.svg);
}

.review-source.source-Google {
  background-image: url(/assets/templates/main/images/icons/reviewv3-icon-google.svg);
}

.review-source.source-BBB {
  background-image: url(/assets/templates/main/images/icons/reviewv3-icon-bbb.svg);
}

i.star {
  background-image: url(/assets/templates/main/images/icons/reviewv3-icon-review-star.svg);
  width: 22px;
  height: 22px;
  background-repeat: no-repeat;
  display: inline-block;
  background-size: contain;
}

i.icon-recommended {
  background-image: url(/assets/templates/main/images/icons/reviewv3-icon-recommended.svg);
  width: 20px;
  height: 16px;
  background-repeat: no-repeat;
  display: inline-block;
  background-size: contain;
}

.review-source.source-no-source {
  display: none;
}

.testimonial.be-review blockquote {
  margin: 0;
}

.testimonial.be-review .read-more {
  font-size: 16px;
  font-weight: bold;
  color: #EB2228;
  text-decoration: underline;
  cursor: pointer;
  display: block;
  margin-bottom: 30px;
}

.testimonial.be-review .read-more:hover,
.testimonial.be-review .read-more:active {
  text-decoration: none;
  color: #0554BD;
}

#testimonials-secondary .testimonials-inner .view-all {
  text-align: left;
}

@media all and (max-width: 570px) {
  .testimonial.be-review .read-more.popup-link {
    display: none;
  }
}

@media all and (min-width: 571px) {
  .testimonial.be-review .read-more.no-popup-link {
    display: none;
  }
}

/* Birdeye Reviews Popup */
#testimonials-popup .popup-inner {
  padding-right: 35px;
  padding-left: 35px;
}

#testimonials-popup .popup-inner h2 {
  margin-top: 0px;
}

#testimonials-popup-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  border-bottom: 2px solid #dbdbdb;
  margin-bottom: 36px;
  padding-bottom: 20px;
}

#testimonials-popup .review-star-rating .star-rating-inner,
#testimonials-popup-header .popup-header-right p {
  margin-bottom: 0;
}

#testimonials-popup-header h2 {
  margin-top: 0;
}

#testimonials-popup .testimonial {
  margin-bottom: 30px;
}

#testimonials-popup .testimonial .rating_output,
#testimonials-popup .testimonial .source,
#testimonials-popup .testimonial .quote p {
  /*Set these colors to all show on the popup background. */
  color: #3b3b3b;
}

/*--- REVIEWS - Landing Page --- */
/* Default reviews page */
#reviews .testimonial.st-review {
  margin-bottom: 40px;
}

#reviews .testimonial.st-review .quote {
  background-color: #ebebeb;
  padding: 25px;
  border-radius: 10px;
  width: 580px;
  max-width: 95%;
  position: relative;
  margin-bottom: 15px;
}

#reviews .testimonial.st-review .quote p {
  font-style: italic;
}

#reviews .testimonial.st-review .quote p:last-child {
  margin-bottom: 0;
}

#reviews .testimonial .quote p:first-child::before {
  content: '\201c';
}

#reviews .testimonial .quote p:last-child::after {
  content: '\201d';
}

#reviews .testimonial.st-review .source {
  font-size: 1.5em;
  color: #666;
}

#reviews .testimonial.st-review .quote:after {
  content: " ";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 7.5px 0 7.5px;
  border-color: #ebebeb transparent transparent transparent;
  bottom: -9px;
  position: absolute;
}

#reviews .testimonial.st-review:nth-child(odd) .quote:after {
  left: 20px;
}

#reviews .testimonial.st-review:nth-child(even) .quote:after {
  right: 20px;
}

#reviews .testimonial.st-review:nth-child(odd) .quote {
  float: left;
}

#reviews .testimonial.st-review:nth-child(even) .quote {
  float: right;
}

#reviews .testimonial.st-review:nth-child(odd) .source {
  text-align: left;
  clear: left;
}

#reviews .testimonial.st-review:nth-child(even) .source {
  text-align: right;
  clear: right;
}

/*Birdeye Reviews Page */
#reviews .review-star-rating {
  margin-bottom: 40px;
  position: relative;
}

#reviews .review-star-rating a {
  text-decoration: none;
}

#reviews .review-star-rating .star-rating-inner {
  margin-left: 0;
}

#reviews .testimonial.be-review {
  margin-bottom: 40px;
  -webkit-box-shadow: 0px 0px 3px #f1f1f1;
  box-shadow: 0px 0px 3px #f1f1f1;
  background-color: #f1f1f1;
  padding: 20px;
}

/*Reviews Pagination */
#testimonial_pagination {
  text-align: center;
}

#testimonial_pagination a {
  background-color: #ebebeb;
  padding: 3px 10px;
  margin: 0px 5px;
  color: #EB2228;
  text-decoration: none;
  font-size: 15px;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
}

#testimonial_pagination a.current,
#testimonial_pagination a:hover,
#testimonial_pagination a:active {
  background-color: #EB2228;
  color: #ebebeb;
}

#testimonial_pagination .pagination-spacer {
  padding: 3px 5px;
  vertical-align: super;
}

/* --- SECONDARY CONTENT - SERVICE AREAS --- */


#service-area-list {
  padding-top: 0;
  padding-bottom: 0;
}

.service-area-top {
  /*Move these styles to #service-area-list if the background should cover the whole widget */
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  text-align: center;
  padding-top: 72px;
  padding-bottom: 0;
}
.webp .service-area-top {
  background-image: url("/assets/templates/main/images/backgrounds/bg-service-area-mobile.webp");
}
.no-webp .service-area-top {
  background-image: url("/assets/templates/main/images/backgrounds/bg-service-area-mobile.jpg");
}

#service-area-list .sa-title {
  margin-top: 0;
  margin-bottom: 0;
  padding: 121px 22px 17px;
  line-height: 1.17em;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 15px 15px 0 0;
  -webkit-border-radius: 15px 15px 0 0;
  -moz-border-radius: 15px 15px 0 0;
  -ms-border-radius: 15px 15px 0 0;
  -o-border-radius: 15px 15px 0 0;
}

#service-area-list .sa-towns-box {
  background-color: #034ea2;
  padding-top: 30px;
  padding-bottom: 35px;
}

.sa-city-wrapper {
  background-color: rgba(5, 84, 189, 0.9);
  padding: 25px 15px 19px;
}

#service-area-search {
  background-color: rgba(255, 255, 255, 0.9);
  padding: 2px 20px 26px;
  margin-left: auto;
  margin-right: auto;
}

#service-area-search .sas-text {
  margin-top: 0;
  margin-bottom: 2px;
}

#service-area-search-form {
  margin-bottom: 0;
}

#service-area-search-form ul {
  display: flex;
  align-items: center;
  justify-content: center;
}

#service-area-search-form ul li {
  width: auto;
}

#service-area-search #zip_code {
  max-width: 162px;
  height: 44px;
  border-radius: 0;
  border-color: #959595;
  background: #F5F5F5;
  font-size: 16px;
}

#service-area-list .sa-top-box {
  padding-bottom: 70px;
}

#service-area-list .sa-top-box img {
  max-width: 360px;
  width: 100%;
  height: auto;
  margin-bottom: -91px;
}

#service-area-list ul.service-cities {
  padding: 0px;
  margin-left: 0;
  text-align: center;
  display: block;
}

#service-area-list ul.service-cities li {
  display: inline-block;
  margin: 0px 8px 2px;
  position: relative;
  color: #fff;
  font-weight: 700;
  text-decoration: underline;
}

#service-area-list ul.service-cities li:hover {
  text-decoration: none;
}

#service-area-list ul.service-cities li a {
  color: #fff;
}

#service-area-list ul.service-cities li a:hover,
#service-area-list ul.service-cities li a:active {
  text-decoration: none;
}

#service-area-list ul.service-cities li:not(:last-of-type)::after {
  content: '\2022';
  position: absolute;
  right: -10px;
  color: #fff;
}

#service-area-list .view-all {
  margin-top: 0;
  background-color: rgba(5, 84, 189, 0.9);
  border-radius: 0 0 15px 15px;
  -webkit-border-radius: 0 0 15px 15px;
  -moz-border-radius: 0 0 15px 15px;
  -ms-border-radius: 0 0 15px 15px;
  -o-border-radius: 0 0 15px 15px;
  padding-bottom: 32px;
}

/*Service Area Page */
#service-areas #top-content .content-spacer {
  padding-left: 0;
  padding-right: 0;
}

#service-areas #top-content .secondary-tools {
  text-align: center;
  background-color: #EB2228;
  border-radius: 0 0 15px 15px;
  padding: 15px 20px;
}

#service-areas #service-area-search {
  text-align: center;
  max-width: 100%;
  width: 100%;
  margin-top: 0px;
}

#service-areas #service-area-search .sas-text {
  color: #fff;
}

#service-areas h2.service-towns {
  margin-top: 0;
}

#service-areas #service-area-list li a:link,
#service-areas #service-area-list li a:visited {
  display: inline-block;
}

#service-areas #main-content #service-area-towns-list ul li:not(.view-all) {
  width: 50%;
  margin: 0 -3px 5px 0;
  padding: 6px;
  display: inline-block;
  vertical-align: top;
}

#service-areas #service-area-search-form ul {
  gap: 0;
  padding-bottom: 0;
}

#service-areas #service-area-search form li.zip-input label {
  display: none;
}

@media all and (min-width: 501px) {
  #service-areas #main-content #service-area-towns-list ul li:not(.view-all) {
    width: 33%;
  }
}

/* --- SECONDARY CONTENT - Maintenance Program  --- */

#maintenance-secondary {
  background-color: #000000;
  text-align: center;
  padding-top: 49px;
  padding-bottom: 70px;
  position: relative;
}

#maintenance-secondary:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 58vw;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom;
}
.webp #maintenance-secondary:before {
  background-image: url(/assets/templates/main/images/backgrounds/bg-maintenance-mobile.webp);
}
.no-webp #maintenance-secondary:before {
  background-image: url(/assets/templates/main/images/backgrounds/bg-maintenance-mobile.jpg);
}

#maintenance-secondary .width-limiter {
  position: relative;
  z-index: 2;
}

#maintenance-secondary .secondary-tools-heading {
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10px;
  color: #fff;
}

.ma-subtitle {
  margin: 0 auto 18px;
  color: #fff;
  max-width: 312px;
  width: 100%;
}

.maintenance-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 18px;
}

.ma-image {
  -webkit-box-ordinal-group: 0;
  -ms-flex-order: -1;
  order: -1;
  max-width: 269px;
  width: 100%;
  margin: 0 auto -12px;
}

.ma-image img {
  max-width: 100%;
  height: auto;
}

ul.ma-points {
  margin: 0 auto;
  text-align: left;
  padding: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
}

.ma-points li {
  position: relative;
  padding-left: 29px;
  margin-right: 0;
  margin-left: 0;
  margin-bottom: 8px;
  display: block;
  min-height: 38px;
  font-weight: 400;
  color: #fff;
  font-size: 18px;
  line-height: 27px;
}

.ma-points li:last-of-type {
  margin-bottom: 0;
}

.ma-points li:before {
  content: '';
  background-image: url(/assets/templates/main/images/icons/icon-check-circle-red.svg);
  background-size: 100%;
  background-position: top;
  background-repeat: no-repeat;
  height: 100%;
  width: 18px;
  position: absolute;
  top: 10px;
  left: 0px;
}

#maintenance-secondary .view-all {
  margin-top: 28px;
}

@media screen and (min-width: 571px) {
  #maintenance-secondary:before {
    height: 45vw;
  }
}

/* --- SECONDARY CONTENT - AFFILIATIONS --- */

#affiliations-block {
  padding-top: 28px;
  padding-bottom: 30px;
  text-align: center;
  background-color: #eef8fe;
}

#affiliations-block h2 {
  margin-top: 0;
  margin-bottom: 15px;
}

#affiliations-block .h4 {
  margin-top: 0;
  margin-bottom: 20px;
}

#affiliations-block .affiliations-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px;
}

#affiliations-block .affiliations-wrapper picture {
  max-width: 33%;
  height: 100%;
}

#affiliations-block .affiliations-wrapper picture img {
  max-width: 100%;
  height: auto;
}

/* Content Page */
ul.affiliations {
  list-style-type: none;
  margin: 0;
  padding: 0;
  text-align: center;
}

ul.affiliations li {
  display: inline-block;
  margin-right: -3px;
  max-width: 250px;
  padding: 12px;
  vertical-align: middle;
}

ul.affiliations li a {
  color: #000;
  display: block;
  text-decoration: none;
}

ul.affiliations li img {
  border: medium none;
  display: block;
  width: 100%;
}

ul.affiliations li span {
  left: -999em;
  position: absolute;
}

ul.affiliations li span.visible {
  display: block;
  font-size: 1.1em;
  font-weight: bold;
  line-height: 1.1em;
  left: auto;
  padding: 5px;
  position: static;
  text-align: center;
}

/* --- SECONDARY CONTENT - PAYMENTS --- */
/*
#payments ul {
  padding: 0;
  text-align: left;
}

#payments ul li {
  background-image: none;
  background-repeat: repeat;
  background-attachment: scroll;
  background-position: 0 0;
  background-color: transparent;
  display: inline-block;
  list-style-type: none;
  padding: 0;
}

#payments ul li img {}

#payments ul li span {
  position:absolute;
  left:-999em;
}
*/
/* --- SECONDARY CONTENT - LAYOUTS/ANIMATION --- */

/* --- END SECONDARY CONTENT ------------------------------------------------ */


/* --- STAFF PAGE --- */

/* Department Names */
.staff-member-container .department-name {
  text-align: center;
  padding-bottom: 0.8em;
  border-bottom: 1px solid #cccccc;
}

/* Staff Members */
.staff-member {
  border-bottom: 1px solid #cccccc;
  margin: auto auto 15px;
  overflow: hidden;
  padding: 15px 0 30px;
}

.staff-member .photo {
  display: block;
  float: left;
  height: auto;
  max-width: 30%;
  padding: 5px;
}

.staff-member .photo img {
  max-width: 100%;
  height: auto;
}

.staff-member .bio {
  float: left;
  padding-left: 25px;
  width: 70%;
}

/* No biograpy layout */
.staff-member.without-bio {
  display: inline-block;
  vertical-align: top;
  margin: 1% 0;
  text-align: center;
  width: 49%;
  border: none;
}

.staff-member.without-bio .photo {
  display: block;
  float: none;
  max-width: 100%;
}

.staff-member.without-bio .bio {
  float: none;
  padding-left: 0;
  width: 100%;
}

/* Staff Member Preview (for Details mode) */

.staff-member.preview {
  display: inline-block;
  margin: auto -3px 30px auto;
  padding: 0 10px;
  text-align: center;
  vertical-align: top;
  width: 25%;
  border-bottom: none;
}

.staff-member.preview .photo,
.staff-member.preview .bio {
  float: none;
}

.staff-member.preview .photo {
  max-width: 100%;
  padding: 0;
}

.staff-member.preview .bio {
  width: 100%;
  padding-left: 0;
}

/* Staff Member Details */
.staff-member.details {
  border: none;
}

.staff-member.details .photo {
  display: inline;
  float: left;
  padding: 0 25px 0 0;
  max-width: 50%;
}

.staff-member.details .bio {
  float: none;
  padding-left: 0;
  width: auto;
}

/* --- STAFF - LAYOUTS/ANIMATION --- */

@media all and (max-width: 1200px) {

  /* Staff Member Preview - Details Mode */
  .staff-member.preview {
    width: 33.333%;
  }
}

@media all and (max-width: 1025px) {

  /* Staff Member Preview - Details Mode */
  .staff-member.preview {
    width: 50%;
  }
}

@media all and (max-width: 800px) {
  .staff-member .photo {
    max-width: 40%;
  }

  .staff-member .bio {
    width: 60%;
  }
}

@media all and (max-width: 570px) {
  .staff-member {
    text-align: center;
  }

  .staff-member .photo {
    float: none;
    margin: auto;
    width: 200px;
    max-width: 100%;
  }

  .staff-member .bio {
    float: none;
    margin: 15px auto auto;
    padding-left: 0;
    width: 100%;
  }

  /* No biograpy layout */
  .staff-member.without-bio {
    margin: 0;
    width: 100%;
    padding: 30px 0 15px;
  }

  .staff-member.without-bio .photo {
    width: auto;
  }

  /* Staff Member Preview - Details Mode */
  .staff-member.preview {
    width: 100%;
    margin-bottom: 45px;
  }

  .staff-member.preview .bio {
    margin-top: 0;
  }

  /* Staff Member Details */
  .staff-member.details {
    text-align: left;
  }

  .staff-member.details .photo {
    display: block;
    float: none;
    max-width: 100%;
    padding: 0;
    margin: 0;
  }
}

/* --- PROJECTS PAGES --- */

/* -------------- Project Details View ------------------- */

/* Project Detail - Columns */
#project-detail-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

#project-detail-wrap .project-short-description {
  font-weight: 700;
  color: #000;
}

#project-detail-wrap .project-spec-list {
  list-style-type: none;
  padding-left: 0;
}

#project-detail-wrap .project-spec-list li span {
  font-weight: 700;
}

#project-detail-wrap hr {
  color: #707070;
}

@media (max-width: 800px) {
  #project-detail-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }

  .project-main-content {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }

  .project-col-right {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
  }
}

.project-main-content {
  width: 100%;
}

.project-main-content hr {
  color: #707070;
}

/* Project Detail Gallery Thumbnails */
.project-gallery {
  background-color: #ddd;
  margin-bottom: 30px
}

.project-photo-thumbnail {
  margin: 5px;
}

.project-photo-thumbnail a {
  display: block;
  height: 100%;
  text-align: center;
  text-decoration: none;
  width: 100%;
}

.project-category-list span,
.project-category-list a {
  font-size: 16px;
}

/* Project Detail Gallery Pagination */
.project-gallery .alt_page_navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.project-gallery .alt_page_navigation a {
  background-color: #ebebeb;
  padding: 3px 10px;
  margin: 0px 5px;
  color: #005aa1;
  text-decoration: none;
  font-size: 15px;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
  float: none;
}

.project-video {
  max-width: 80%;
  margin: 0 auto;
  margin-bottom: 30px;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.49);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.49);
}

@media all and (max-width: 800px) {
  .project-video {
    max-width: 100%;
  }
}

#paging_container {
  padding: 5px;
}

#details #project-category-nav li {
  display: block;
}

/* -------------- End Details View ------------------- */

/* -------------- Project Grid View ------------------- */

#projects #main-content {
  width: 100%;
}

/* Projects Category Nav */
#cateogry-nav-outer {
  border-bottom: 1px solid #f58220;
  margin-bottom: 35px;
}

#cateogry-nav-outer h2 {
  color: #000000;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 30px;
}

ul#project-category-nav {
  padding-left: 0;
  padding-bottom: 25px;
}

#project-category-nav li {
  list-style: none;
  display: inline-block;
  margin-bottom: 10px;
}

#project-category-nav li:not(:last-child) {
  margin-right: 15px;
}

#project-category-nav a {
  display: inline-block;
  color: #000000;
  border-radius: 50px;
  border: 1px solid #000;
  background-color: #fff;
  padding: 12px 20px 12px 20px;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
}

#project-category-nav a:hover,
#project-category-nav a.active {
  background-color: #000;
  color: #fff;
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
}


/* Project Pagination */
#projects_pagination {
  text-align: center;
}

#projects_pagination a.current,
#projects_pagination a:hover,
#projects_pagination a:active {
  background-color: #000;
  color: #fff;
}

#projects_pagination a {
  padding: 3px 10px;
  margin: 0px 5px;
  color: #000;
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
  border: 1px solid #000000;
  border-radius: 5px;
  background-color: #ffffff;
}

/* Projects Grid */
.projects-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;

  margin: 0 -10px;
}

.project-album {
  width: 33.3%;
  margin: 0 0 20px;
  ;
  padding: 0 10px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media all and (max-width: 800px) {
  .project-album {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
  }

  .projects-grid>div:nth-child(2n+1) {
    /* padding-left: 0px; */
  }

  .projects-grid>div:nth-child(2n) {
    /* padding-right: 0px; */
  }
}

@media all and (max-width: 570px) {
  .project-album {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }

  .projects-grid>div {
    padding: 0;
  }
}

/* Project Grid Card */
.project-album {
  position: relative;
}

.project-contents {
  width: 100%;
  height: 100%;

  padding: 10px 25px 90px;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#aacd37), to(#49a343));
  background-image: -o-linear-gradient(top, #aacd37 0%, #49a343 100%);
  background-image: linear-gradient(180deg, #aacd37 0%, #49a343 100%);
}

.project-album .background-image {
  width: 100%;
  padding-bottom: 62%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

a.project-album {
  text-decoration: none;
}

.project-album .project-name {
  color: #000000;
  font-weight: 700;
  font-size: 24px;
}

.project-album .project-description {
  color: #000000;
  font-size: 18px;
  font-weight: 700;
}

.project-album .project-read-more {
  text-align: center;
  position: absolute;
  bottom: 30px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

.project-album .project-read-more span {
  display: inline-block;
  padding: 12px 20px 12px 20px;
  background-color: #960404;
  text-transform: uppercase;
  color: #ffffff;
  border-radius: 50px;
  font-weight: 700;
  font-size: 18px;
  -webkit-transition: 0.2s all;
  -o-transition: 0.2s all;
  transition: 0.2s all;
}

a.project-album:hover .project-read-more span {
  background-color: #000;
  -webkit-transition: 0.2s all;
  -o-transition: 0.2s all;
  transition: 0.2s all;
}

/* --- End Projects Grid View --- */


/* --- PRODUCTS PAGES --- */

/* --------------- Products -------------------------- */

/* --------------- Products Landing ------------------ */

#products #main-content {
  width: 100%;
}

#product-filter {
  padding: 20px 0 30px;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  margin-bottom: 30px;
}

#closeout #product-filter,
#fireplace-inserts #product-filter,
#free-standing-stoves #product-filter,
#built-in-fireplaces #product-filter {
  display: none;
}

#product-list-wrap #product-filter h2.filter-heading {
  margin-top: 0;
  font-size: 2.4em;
  color: #000000;
}

#product-filter-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

#product-filter-form .form-group {
  display: inline-block;
}

#product-filter-form .filter .form-group {
  margin: 0 10px;
  width: calc(50% - 20px);
}

#product-filter-form .filter .form-group:first-of-type {
  margin-left: 0;
}

#product-filter-form .filter .form-group:last-of-type {
  margin-right: 0;
}

#product-filter-form .filter {
  width: 50%;
}

#product-filter-form .form-group label {
  display: block;
  font-size: 1.8em;
  line-height: 2em;
  margin: 0;
  cursor: pointer;
}

/* select styles from forms.css */
#product-filter-form select {
  padding: 10px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #ffffff url(/assets/templates/main/images/icons/select-arrows.svg) no-repeat scroll 98% 50%;
  padding: 13px 25px 14px 10px;
  height: 50px;
  font-size: 16px;
  border: 1px solid #707070;
  border-radius: 4px;
  color: #7f7f7f;
  -webkit-box-shadow: none;
  box-shadow: none;
  width: 100%;
}

#product-filter-form select:focus {
  font-size: 16px;
}

#product-filter-form .filter-submit {
  width: 25%;
  position: relative;
  text-align: center;
}

#product-filter-form .filter-submit input {
  border-radius: 50px;
  background-color: #000000;
  height: 50px;
  line-height: 50px;
  padding: 0 20px;
  font-size: 18px;
  font-weight: 700;
  margin-right: 10px;
  border: 1px solid #000000;
}

#product-filter-form .filter-submit input:hover,
#product-filter-form .filter-submit input:active {
  background-color: #fff;
  color: #000;
}

#product-filter-form .filter-submit #reset-filter {
  font-size: 18px;
  margin-left: 10px;
  color: #960404;
}

#product-filter-form .filter-submit #reset-filter:hover,
#product-filter-form .filter-submit #reset-filter:active {
  color: #017608;
}

#product-filter-form .filter-sort {
  width: calc(25% - 5px);
  margin-left: 5px;
}

#product-filter-form .filter-sort .form-group {
  width: 100%;
}

.product-count p {
  font-weight: 700;
  color: #000;
}

@media all and (max-width: 1025px) {
  #product-filter-form {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  #product-list-wrap .filter {
    width: 100%;
  }

  #product-list-wrap .filter-submit {
    width: 50%;
  }

  #product-list-wrap .filter-sort {
    margin-left: 0;
    width: calc(50% - 10px);
    margin-right: 10px;
  }

  #product-filter-form .filter-submit {
    text-align: left;
  }

  #product-filter-form select {
    max-width: 290px;
  }

  #product-filter-form .filter .form-group {
    width: calc(50% - 10px);
    margin: 0 5px;
  }

  #product-filter-form .filter .form-group:first-of-type {
    margin-left: 0;
  }

  #product-filter-form .filter .form-group:last-of-type {
    margin-right: 0;
  }

  #product-filter-form .filter-submit::after {
    display: none;
  }
}

@media all and (max-width: 570px) {

  #product-list-wrap .filter-sort,
  #product-list-wrap .filter-submit {
    width: 100%;
  }

  #product-list-wrap .filter-sort {
    margin-right: 0px;
  }

  #product-filter-form .filter .form-group {
    width: 100%;
    margin: 0;
  }

  #product-list-wrap .filter-submit {
    margin-top: 10px;
  }
}

/* Products Pagination */
#products_pagination {
  text-align: center;
}

#products_pagination a.current,
#products_pagination a:hover,
#products_pagination a:active {
  background-color: #000;
  color: #fff;
}

#products_pagination a {
  padding: 3px 10px;
  margin: 0px 5px;
  color: #000;
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
  border: 1px solid #000000;
  border-radius: 5px;
  background-color: #ffffff;
}


/* Products Grid */
.products-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;

  margin: 0 -10px;
}

.product-album {
  width: calc(25% - 20px);
  margin: 0 10px 20px;
  padding: 0 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;

  /* margin: 0 10px 20px;; */
  /* padding: 0 10px 0; */
  /* margin:5px */

}

@media all and (max-width: 800px) {
  .product-album {
    width: calc(50% - 20px);
  }
}

@media all and (max-width: 570px) {
  .product-album {
    width: calc(100% - 20px);
  }

  .products-grid>div {
    padding: 0;
  }
}

/* Product Grid Card */
.product-album {
  position: relative;
}

.product-contents {
  width: 100%;
  height: 100%;

  padding: 10px 25px 90px;
  background-color: #eee;
}

.product-album .background-image {
  width: 100%;
  padding-bottom: 62%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

a.product-album {
  text-decoration: none;
  border: 1px solid #AFB0B4;
}

.product-album .product-name {
  color: #000000;
  font-weight: 700;
  font-size: 24px;
}

.product-album .product-description {
  color: #000000;
  font-size: 18px;
  font-weight: 700;
}

.product-album .product-read-more {
  text-align: center;
  position: absolute;
  bottom: 30px;
  left: 50%;
  width: calc(100% - 20px);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

.product-album .product-read-more span {
  display: inline-block;
  padding: 12px 20px 12px 20px;
  background-color: #960404;
  text-transform: uppercase;
  color: #ffffff;
  border-radius: 50px;
  font-weight: 700;
  font-size: 18px;
  -webkit-transition: 0.2s all;
  -o-transition: 0.2s all;
  transition: 0.2s all;
}

a.product-album:hover .product-read-more span {
  background-color: #000;
  -webkit-transition: 0.2s all;
  -o-transition: 0.2s all;
  transition: 0.2s all;
}

.product-album {
  position: relative;
}

.product-album.onsale:before {
  content: 'Sale!';
  position: absolute;
  top: 0;
  right: 0;
  height: 50px;
  width: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 50px;
  font-size: 14px;
  color: white;
  background-color: #f00;
}

@media all and (max-width: 800px) {
  .product-album .product-read-more span {
    font-size: 16px;
    margin: 0 10px;
  }
}



/* --- End Products Landing --- */

/* --- Product Details View --- */

/* Project Detail - Columns */
#product-detail-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.product-col-right .product-short-description {
  font-weight: bold;
  color: #000;
}

@media (max-width: 800px) {
  #product-detail-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }

  .product-main-content {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }

  .product-col-right {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
  }
}

.product-main-content {
  width: 100%;
  padding-bottom: 20px;
}

/* Project Detail Gallery Thumbnails */
#main-photo {
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.product-gallery {
  background-color: #ddd;
  margin-bottom: 30px
}

.product-photo-thumbnail {
  margin: 5px;
}

.product-photo-thumbnail a {
  display: block;
  height: 100%;
  text-align: center;
  text-decoration: none;
  width: 100%;
}

.product-category-list span,
.product-category-list a {
  font-size: 16px;
}

/* Project Detail Gallery Pagination */
.product-gallery .alt_page_navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.product-gallery .alt_page_navigation a {
  background-color: #ebebeb;
  padding: 3px 10px;
  margin: 0px 5px;
  color: #005aa1;
  text-decoration: none;
  font-size: 15px;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
  float: none;
}

.product-video {
  max-width: 80%;
  margin: 0 auto;
  margin-bottom: 30px;
}

@media all and (max-width: 800px) {
  .product-video {
    max-width: 100%;
  }
}

#paging_container {
  padding: 5px;
}

.product-price-info p,
.product-col-right .product-category,
.product-col-right .product-brand {
  color: #000;
}

.product-price-info .price {}

.product-price-info .sale-price {}

.product-price-info.onsale .price,
.product-price-info.onsale .sale-price {
  color: #f00;
  margin-right: 10px;
}

.product-price-info.onsale .sale-price {}

.product-price-info.onsale .price {
  text-decoration: line-through;
  opacity: .7;
}



/* Related Products */

.related-products {
  width: 100%;
  border-top: 1px solid #707070;
}

.product-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media all and (max-width: 800px) {
  #details .product-row {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

/* End Related Products */

/* --- End Details View --- */
/* --- End Products --- */


/* --- BEGIN FOOTER --- */

#container-footer {
  background-color: #000000;
}

.main-footer {
  padding-top: 71px;
  padding-bottom: 68px;
  border-bottom: 4px solid #707070;
}

#container-footer .main-footer>div,
#container-footer-navigation {
  text-align: center;
}

.footer-center {
  margin-top: 61px;
  margin-bottom: 20px;
}

.footer-center p {
  color: #fff;
}

.footer-center .footer-phone {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  margin-bottom: 2px;
}

.footer-center .footer-phone a {
  font-size: 28px;
  line-height: 36px;
  font-weight: 700;
  color: #fff;
}

.footer-center .footer-247 {
  font-weight: 700;
  margin-bottom: 15px;
}

.footer-center .address {
  margin-bottom: 0;
}

.footer-financing {
  margin-bottom: 0;
  margin-top: 15px;
  font-weight: 700;
}

.footer-financing a {
  color: #fff;
}

.footer-financing a:hover {
  color: #048CE1;
}

.copyright {
  margin-bottom: 25px;
  max-width: 211px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.company_license {
  margin-bottom: 19px;
}

.footer-logo {
  margin-bottom: 19px;
  display: block;
}

.footer-logo img {
  max-width: 283px;
  width: 100%;
  height: auto;
}

#container-footer-navigation {
  padding-top: 30px;
  background-color: #000000;
  padding-bottom: 30px;
  color: #fff;
}

#newsletter-signup {
  background-color: #3B3B3B;
  text-align: center;
  padding: 28px 0px 27px;
}

#newsletter-signup .secondary-tools-heading {
  font-size: 2em;
  color: #fff;
  margin-bottom: 10px;
}

#newsletter-signup form {
  margin-bottom: 0px;
  position: relative;
  max-width: 400px;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
}

#newsletter-signup .secondary-tools form ul li {
  padding: 0;
  width: 100%;
}

#newsletter-signup #list-response-form-7-item-3 {
  height: 44px;
  padding-left: 20px;
  padding-right: 110px;
  width: 100%;
  background-color: #f5f5f5;
  font-size: 16px;
}

#newsletter-signup fieldset:last-child {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 90px;
}

#newsletter-signup button {
  width: 90px;
}

/* #newsletter-signup button:hover,
#newsletter-signup button:active {
  border: 2px solid #fff;
} */

/* --- FOOTER - NAVIGATION --- */

#footer-navigation ul {
  list-style-type: none;
  padding: 0;
  margin: 0px 0 6px;
  text-align: center;
}

#footer-navigation ul li {
  display: inline-block;
  font-size: 1.8em;
  line-height: 28px;
  font-weight: 400;
  padding: 0;
  text-transform: uppercase;
}

#footer-navigation ul li:not(:first-of-type)::before {
  content: '\007C';
  color: #fff;
  display: inline-block;
  position: relative;
  padding: 0 8px;
}

#footer-navigation ul li a:link,
#footer-navigation ul li a:visited {
  color: #fff;
  text-decoration: underline;
  font-weight: 700;
}

#footer-navigation ul li a:hover,
#footer-navigation ul li a:active {
  text-decoration: none;
}

/* --- FOOTER - SOCIAL NETWORKING --- */

.social-networking {
  margin: 0;
  margin-top: 16px;
  text-align: center;
}

.social-networking ul {
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px;
  list-style-type: none;
}

.social-networking li a {
  display: block;
  text-indent: -9999em;
  font-size: 1px;
  color: transparent;
  height: 43px;
  width: 43px;
  background-color: #ffffff;
  border-radius: 50%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto 60%;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
}

.social-networking li.btn-facebook a {
  background-image: url('/assets/templates/main/images/social/btn-facebook.svg');
}

.social-networking li.btn-twitter a {
  background-image: url('/assets/templates/main/images/social/btn-twitter.svg');
  background-size: auto 50%;
}

.social-networking li.btn-youtube a {
  background-image: url('/assets/templates/main/images/social/btn-youtube.svg');
}

.social-networking li.btn-instagram a {
  background-image: url('/assets/templates/main/images/social/btn-instagram.svg');
}

.social-networking li.btn-pinterest a {
  background-image: url('/assets/templates/main/images/social/btn-pinterest.svg');
}

.social-networking li.btn-angies-list a {
  background-image: url('/assets/templates/main/images/social/btn-angies-list.svg');
}

.social-networking li.btn-houzz a {
  background-image: url('/assets/templates/main/images/social/btn-houzz.svg');
}

.social-networking li.btn-linkedin a {
  background-image: url('/assets/templates/main/images/social/btn-linkedin.svg');
}

.social-networking li.btn-google-maps a {
  background-image: url('/assets/templates/main/images/social/btn-google-maps.svg');
  background-size: auto 50%;
}

.social-networking li.btn-google-my-business a {
  background-image: url('/assets/templates/main/images/social/btn-google-my-business.svg');
}

.social-networking li.btn-yelp a {
  background-image: url('/assets/templates/main/images/social/btn-yelp.svg');
}

.social-networking li.btn-flickr a {
  background-image: url("/assets/templates/main/images/social/btn-flickr.svg");
  background-size: auto 40%;
}

.social-networking li.btn-nextdoor a {
  background-image: url('/assets/templates/main/images/social/btn-nextdoor.svg');
  background-size: auto 55%;
}

.social-networking li.btn-x a {
  background-image: url('/assets/templates/main/images/social/btn-x.svg');
  background-size: auto 50%;
}

.social-networking li.btn-tiktok a {
  background-image: url('/assets/templates/main/images/social/btn-tiktok.svg');
}

.social-networking li a:hover,
.social-networking li a:active {
  background-color: #EB2228;
  color: transparent;
}

.footer-right {
  margin-top: 66px;
}

.footer-right p {
  color: #fff;
  line-height: 25px;
}


/* --- FOOTER - iMARKET LINKS --- */

p.imarket-link {
  margin: 0 0 7px;
  color: #fff;
  display: flex;
  justify-content: center;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  font-size: 16px;
  line-height: 25px;
}

p.imarket-link a {
  position: relative;
  background-color: transparent;
  background-image: url('/assets/templates/main/images/logo-imarket.svg');
  background-repeat: no-repeat;
  background-size: 25px;
  background-position: 0 50%;
  color: #fff;
  padding-left: 30px;
  margin: 0;
  text-decoration: underline;
}

p.imarket-link a:hover {
  text-decoration: none;
}

/* --- FOOTER - MOBILE FIXED FOOTER --- */

#container-footer {
  margin-bottom: 81px;
}

.mobile-fixed-footer {
  position: fixed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #0554BD;
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .75);
  box-shadow: 0 5px 15px rgba(0, 0, 0, .75);
  bottom: 0;
  right: 0;
  width: 100%;
  height: 82px;
  line-height: 82px;
  text-align: center;
  z-index: 2000;
  gap: 39px;
}

.active-navigation .mobile-fixed-footer {
  right: -100%;
  -webkit-box-shadow: none;
  box-shadow: none;
}



.mobile-phone,
.mobile-col:not(.mobile-phone) {
  width: 20%;
}

.mobile-col:not(.mobile-phone) a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  text-decoration: none;
  height: 100%;
  padding-bottom: 10px;
}

.mobile-col svg {
  max-width: 40px;
  height: auto;
  fill: #e0f2ff;
  margin-bottom: 3px;
}

.mobile-col.mobile-contact svg {
  max-width: 50px;
  margin-bottom: 7px;
}

.mobile-phone {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.mobile-phone svg {
  max-width: 65px;
  width: 100%;
  fill: #2b2b2b;
}

.mobile-phone .phone-number svg {
  position: relative;
  width: 30px;
  height: 30px;
  fill: #fff;
  margin: 0;
}

.mobile-col:not(.mobile-phone) p {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: #e0f2ff;
  text-transform: uppercase;
}

.mobile-nav-buttons {
  text-align: center;
  margin-top: 39px;
  max-width: 348px;
  margin-left: auto;
  margin-right: auto;
}

.mobile-nav-buttons .cta-phone {
  margin-bottom: 10px;
}

.mobile-nav-buttons .cta-phone a {
  padding: 0;
}

.mobile-nav-buttons .cta-phone a img {
  margin-right: 7px;
}

.mobile-nav-buttons .cta-phone a span {
  color: #0554BD;
  font-size: 45px;
  font-weight: 700;
  line-height: 54px;
  text-decoration: underline;
}

@media all and (min-width: 571px) {
  .mobile-col:not(.mobile-phone) p {
    font-size: 16px;
  }
}

@media all and (max-width: 800px) {
  .mobile-fixed-footer .mobile-phone {
    width: auto;
  }

  .mobile-phone .phone-number a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 14px;
    gap: 9px;
    -webkit-box-shadow: 0 5px 9px rgb(0 0 0 / 24%);
    box-shadow: 0 5px 9px rgb(0 0 0 / 24%);
    background-color: #ffffff;
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -ms-border-radius: 50px;
    -o-border-radius: 50px;
    color: #0554BD;
  }

  .mobile-phone .phone-number {
    font-size: 20px;
    line-height: 35px;

    font-weight: 700;
  }

  .mobile-phone .phone-number .phone {
    display: none;
  }
}

@media all and (max-width: 420px) {
  .mobile-col:not(.mobile-phone) p {
    font-size: 12px;
  }

  .mobile-phone .phone-number svg {
    height: 23px;
    width: 23px;
  }

  /* .mobile-phone .phone-number a {
    height: 50px;
    width: 50px;
  } */
}

/* --- END FOOTER --- */

/* --- YOUTUBE --- */
.vid_trigger {
  position: relative;
  overflow: hidden;
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
  cursor: pointer;
  display: block;
}

.vid_trigger img {
  visibility: hidden;
}

.lightbox {
  display: none;
  position: fixed;
  z-index: 1001;
  width: 100%;
  height: 100%;
  text-align: center;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.8);
}

.v_player {
  position: relative;
  margin: 0 auto;
  width: 100% !important;
  height: 100% !important;
}

.lightbox img,
.lightbox iframe {
  max-width: 800px;
  min-height: 460px !important;
  max-height: 80%;
  margin-top: 130px;
  position: relative;
  z-index: 1000;
  width: 90% !important;
}

.lightbox-visible {
  outline: none;
  display: block;
}

.ims-vid-trigger {
  cursor: pointer;
}

@media all and (min-width: 801px) {
  body.ims-youtube-lightbox #content-wrap {
    z-index: 801;
  }

  body.ims-youtube-lightbox #container-fixed-masthead {
    z-index: 802;
  }
}

@media all and (max-width: 800px) {
  body.ims-youtube-lightbox #masthead .phone-number {
    z-index: 801;
  }

  .lightbox img,
  .lightbox iframe {
    margin-top: 65px;
  }
}

.vid_trigger::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(/assets/templates/main/images/icons/icon-play-button.svg);
  background-size: 20% auto;
  background-repeat: no-repeat;
  background-position: center center;
  opacity: 1;
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
}

.vid_trigger:hover::before {
  opacity: 0.7;
}

/* --- WISTIA --- */
.wista-transcript-container {
  margin: 10px 0;
}

.transcript-content,
.wista-transcript-toggler {
  font-size: 1.2em;
}

.transcript-legend {
  margin: 10px 8px;
  padding: 6px 8px;
  border: 1px solid #9b9b9b;
  max-width: 300px;
}

.transcript-legend-item {
  font-size: 1em;
  font-style: oblique;
}

/* Featured Wistia Styles */
.sidebar-right .wista-transcript-container {
  text-align: center;
}

.sidebar-right .transcript-legend {
  margin: 10px auto;
}

.vid_trigger.whole_home img {
  visibility: initial;
}

/* --- Location Dropdown Nav --- */

.location-navigation {
  margin-left: 5px;
}

.location-navigation ul {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
}

.location-navigation .nav-level-1 {
  position: relative;
}

.location-navigation .nav-level-1>a {
  display: inline-block;
  min-width: 100px;
  padding: 6px 18px 6px 7px;
  background-color: #fff;
  color: #003a63;
  font-size: 16px;
  height: 32px;
}

.location-navigation a span {
  position: relative;
  line-height: 1.1em;
}

.location-navigation .nav-level-1>a>span {
  position: relative;
  top: -2px;
}

.location-navigation .nav-level-1>ul {
  display: none;
  position: absolute;
  text-align: left;
  min-width: 170px;
  background-color: #fff;
  right: 0;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 5px;
}

.location-navigation .nav-level-2 a {
  display: block;
  padding: 8px 15px 8px 15px;
  color: #003a63;
  font-size: 16px;
}

.location-navigation ul li,
.location-navigation ul li a,
.secondary-tools .location-navigation ul li a {
  text-decoration: none !important;
  cursor: pointer;
}

.location-navigation .nav-level-1.active>ul {
  display: block;
  z-index: 1;
  padding: 0;
  overflow: hidden;
}

.location-navigation .nav-level-2 a.current,
.location-navigation .nav-level-2 a:hover {
  background-color: #5C8E1E;
}

.location-navigation .nav-level-1>a>span::before {
  content: none;
}

.location-navigation .nav-level-1>a::before {
  content: "";
  background-image: url("/assets/templates/main/images/nav/icon-dropdown.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  position: absolute;
  top: 0;
  height: 100%;
  width: 7px;
  right: 5px;
}

.location-navigation a.dropdown-trigger {
  height: 32px;
  min-width: 100px;
}

.location-navigation a.dropdown-trigger:hover {
  color: #003a63;
}

.location-select {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 13px 0 13px;
}

.location-select p {
  margin-bottom: 0;
}

.location-select>span {
  font-size: 16px;
}

.location-select select {
  margin-left: 10px;
  height: 32px;
  background-color: #fff;
  color: #003a63;
  border-radius: 5px;
  font-size: 16px;
  padding: 0 0 0 5px;
  border-color: #fff;
}

@media (min-width: 801px) {
  #masthead .location-select {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding: 9px 0 9px;
  }
}

/* End Location Dropdown Nav */

#chat-bubble a {
  position: fixed;
  bottom: 10px;
  right: 10px;
  height: 65px;
  width: 65px;
  border-radius: 50%;
  background-color: #fff;
  -webkit-box-shadow: 0 5px 15px rgb(0 0 0 / 35%);
  box-shadow: 0 5px 15px rgb(0 0 0 / 35%);
  z-index: 1000;
  text-align: center;
  cursor: pointer;
}

#chat-bubble a img {
  padding-top: 15px;
}

@media (max-width: 800px) {
  #chat-bubble a {
    display: none;
  }
}

/* --- Static Campaign Sections - mobile.css --- */
#cmpgn-st {
  background-color: #f5f5f5;
}

#cmpgn-st {
  padding: 15px 0;
}

#cmpgn-st img {
  width: 100%;
  height: auto;
  vertical-align: middle;
  border: solid 3px #000;
}

/* --- Advanced Maintenance Page - mobile.css --- */
#maintenance .top-content-upper {
  background-color: #000000;
  background-image: url(/assets/templates/main/images/maintenance/hero.jpg);
  background-size: cover;
  text-align: center;
  padding-top: 49px;
  padding-bottom: 50px;
  position: relative;
  color: #fff;
}

#maintenance .top-content-upper h1 {
  margin-bottom: 20px;
}
#maintenance .top-content-upper ul li {
  color: #fff;
  list-style-position: inside;
}


#maintenance .top-content-upper .width-limiter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 18px;
  position: relative;
  z-index: 1;
}

#maintenance .top-content-upper .top-content-right img {
  max-width: 100%;
  height: auto;
}

#maintenance-plans-details {
  padding: 35px 0 40px 0;
  text-align: center
}

#maintenance-plans-details #maintenance-details {
  max-width: 607px;
  width: 100%;
  margin: 0 auto;
  text-align: left;
  background-color: #F5F5F5;

}

#maintenance-plans-details h2 {
  margin: 0;
  padding: 23px;
  text-align: center;
}

#maintenance-plans-details .ma-details {
  padding: 0;
  list-style: none
}

#maintenance-plans-details .ma-details li:before {
  content: "";
  background-image: url(/assets/templates/main/images/icons/icon-check-circle-red.svg);
  position: absolute;
  left: 15px;
  top: 15px;
  height: 17.44px;
  width: 17.44px;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
}

#maintenance-plans-details .ma-details li {
  padding: 10px 20px 14px 44px;
  position: relative;
  font-size: 16px;
  line-height: 28px
}

#maintenance-plans-details .ma-details li:nth-child(odd) {
  background-color: #ffffff;
  padding: 3px 20px 5px 44px
}

#maintenance-plans-details .ma-details li:nth-child(odd)::before {
  top: 7px
}



#maintenance-plans-details h2.h1 {
  margin-bottom: 27px;
  margin-top: 0
}

#maintenance-plans-details {
  background: #048CE1;
  background: linear-gradient(180deg, rgba(4, 140, 225, 1) 0%, rgba(5, 84, 189, 1) 100%);
  padding: 70px 0;
  text-align: center;
}

#maintenance-plans-details .service-plan {
  background-color: #ebebeb;
  border: 2px solid #B9B9B9;
  margin-bottom: 25px;
  position: relative;
  overflow: hidden;
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
}

#maintenance-service-plans .service-plan.most-popular::before {
  content: 'Most Popular';
  position: absolute;
  top: 30px;
  right: -50px;
  color: #fff;
  font-size: 1.3em;
  transform: rotate(45deg);
  text-transform: uppercase;
  background-color: #2B2B2B;
  padding: 5px 40px;
}

#maintenance-service-plans .service-plan .plan-title-outer {
  background-color: #E1E1E1;
  padding: 25px 20px;
}

#maintenance-service-plans .service-plan .plan-title-outer .plan-title {
  display: block;
  text-align: center;
  font-size: 1.4em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

#maintenance-service-plans .service-plan .plan-title-outer .plan-number {
  display: block;
  font-size: 4.5em;
  line-height: 1.1;
  margin-bottom: 10px;
}

#maintenance-service-plans .service-plan .plan-title-outer .plan-subtitle {
  display: block;
  font-style: italic;
  font-size: 1.5em;
}

#maintenance-service-plans .service-plan .plan-benefit {
  display: block;
  text-align: left;
  padding: 10px 10px 10px 45px;
  font-size: 1.4em;
  position: relative;
}

#maintenance-service-plans .service-plan .plan-benefit::before {
  content: '';
  position: absolute;
  left: 25px;
  top: 13px;
  background-image: url("/assets/templates/main/images/icons/icon-checkmark.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 14px;
  height: 11px;
}

#maintenance-service-plans .service-plan .plan-benefit:nth-child(odd) {
  background-color: #fff;
}

#maintenance-steps {
  padding: 70px 0;
  background-color: #F5F5F5;
}

#maintenance-steps .h1 {
  text-align: center;
  margin-top: 0;
}

#maintenance-steps .maintenance-step {
  text-align: center;
  max-width: 330px;
  margin: 0 auto 30px auto;
}

#maintenance-steps .maintenance-step img {
  max-width: 100%;
  height: 72px;
}

#maintenance-steps .maintenance-step h3 {
  margin-top: 0;
  margin-bottom: 9px;
}

#maintenance-cta {
  background-color: #EB2228;
  padding: 55px 0;
  text-align: center;
}

#maintenance-cta h2 {
  margin-top: 0;
  color: #fff;
  font-size: 36px;
  line-height: 42px;
}

#maintenance-cta span.h4 {
  margin-bottom: 25px;
  color: #fff;
}

#maintenance-cta .cta-button a {
  box-shadow: none;
  background-color: #fff;
  color: #EB2228;
}

#maintenance-cta .phone-button.cta-button a:before {
  background-image: url(/assets/templates/main/images/icons/icon-call.svg);
}

#maintenance-main-content {
  padding: 50px 0;
  background-image: linear-gradient(to bottom, #048ce1, #0554bd);
}

#maintenance-main-content .content-left {
  background-color: #fff;
  padding: 31px 15px;
  width: 100%
}

#maintenance-main-content .content-left h2.h1 {
  margin-top: 0;
  margin-bottom: 5px
}

#maintenance-main-content .content-left h2,
#maintenance-main-content .content-left h3 {
  text-align: center
}

#maintenance-main-content .content-left h3 {
  margin-top: 0;
  color: #eb2228;
}

#maintenance-main-content .content-left p {
  margin-bottom: 11px;
}

#maintenance-main-content .content-left p:last-of-type {
  margin-bottom: 0;
}

#maintenance-main-content .content-left ul {
  list-style-type: inherit;
  padding: 0
}

#maintenance-main-content .content-left ul li {
  margin-left: 30px;
  position: relative
}

#maintenance-main-content .content-left ul li::before {
  position: absolute;
  left: 0;
  top: 0;
  font-size: 18px;
  font-weight: 700
}

#maintenance-main-content .content-left ul li {
  margin-bottom: 15px
}

#maintenance-main-content .content-left ul li:last-child {
  margin-bottom: 0
}

#maintenance-main-content .cta-button {
  display: block;
  margin: 25px auto 0 auto
}

#maintenance-main-content .cta-button a {
  margin: 0 auto;
  display: inline-block;
  font-size: 17px;
  min-width: 218px
}

#maintenance-form button {
  font-size: .8em;
  min-width: 240px
}

#maintenance #affiliations-block {
  background-color: #ffffff;
}


@media all and (min-width: 390px) {
  #maintenance-main-content .cta-button a {
    font-size: 2em;
  }

  #maintenance-form button {
    font-size: 1em;
  }
}

@media all and (max-width: 800px) {
  #maintenance-main-content #maintenance-form {
    display: none;
  }
}

#maintenance-plan #maintenance-form form {
  max-width: 615px;
  margin: 0 auto;
}

#maintenance-form form fieldset:last-of-type,
#maintenance-form form li,
#maintenance-form form li>input,
#maintenance-form form li select,
#maintenance-form form li textarea {
  width: 100%;
  min-width: 240px;
}

#maintenance-form form li label {
  display: block;
  text-align: left;
  color: #000;
}

#maintenance-form form ul.submit {
  text-align: center;
}

/* Advanced Careers Page Styles */

.careers-top-content {
  background-color: #0554bd;
  text-align: center;
  padding: 30px 0;
}

.careers-top-content h1,
.careers-top-content #breadcrumbs-container span,
.careers-top-content #breadcrumbs-container span a {
  color: #fff;
}
.careers-ctas {
  display: flex;
  justify-content: center;
  gap: 20px 30px;
  flex-wrap: wrap;
}

#careers-featured-content {
  text-align: center;
  padding: 40px 0;
}

#careers-featured-content .width-limiter>div img {
  max-width: 100%;
  height: auto;
  border-radius: 15px;
}

#careers-video {
  background-color: #9F9F9F;
  text-align: center;
  padding: 40px 0;
}

#careers-video h2,
#careers-video h4 {
  color: #fff;
  margin: 0;
}

#careers-video .video-outer img {
  max-width: 100%;
  height: auto;
}

#careers-benefits {
  background-color: #f5f5f5;
  padding: 60px 0 80px;
}

#careers-benefits .h1 {
  text-align: center;
  margin-top: 0;
  margin-bottom: 10px;
}
#careers-benefits .h3 {
  text-align: center;
  margin-top: 10px;
  margin-bottom: 35px;
}
#careers-benefits .careers-benefits-inner {
  display: flex;
  gap: 30px 0;
  flex-wrap: wrap;
}
#careers-benefits .careers-benefits-inner > div {
  font-size: 1.8em;
  font-weight: 700;
  width: 50%;
  display: flex;
  align-items: center;
  gap: 10px;
}

#careers-benefits .careers-benefit-icon img {
  max-width: 100%;
  height: auto;
}

#careers-benefits .careers-benefit-content {
  padding-left: 10px;
  width: 67%;
}

#careers-share {
  background-color: #9F9F9F;
  text-align: center;
  padding: 40px 0;
}

#careers-share .h2 {
  margin: 0;
}

#careers-share .width-limiter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

#current-openings {
  text-align: center;
  padding: 40px 0 40px 0;
}



#current-openings .learn-more.cta-button a {
  background-color: #0554bd;
  border-color: #0554bd;
}
#current-openings .learn-more.cta-button a:hover,
#current-openings .learn-more.cta-button a:active {
  background-color: #fff;
  border-color: #000;
  color: #0554bd;
}

#current-openings .h1 {
  margin-top: 0;
}

#current-openings .opening-outer {
  padding-bottom: 30px;
  border-bottom: 1px solid #707070;
}

#careers-contact {
  background-color: #eb2228;
  text-align: center;
  padding: 40px 0;
}

#careers-contact h2 {
  color: #fff;
  margin-top: 0;
}
#careers-contact .cta-button a {
  border-color: #fff;
  background-color: #fff;
  color: #EB2228;
}

.careers-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px 20px;
}

#careers-contact .cta-button a:hover,
#careers-contact .cta-button a:active {
  color: #fff;
  border-color: #000;
  color: #EB2228;
}

#form-content {
  width: 100%;
}

#form-content form ul {
  list-style-type: none;
  padding: 0;
}

#form-content form ul li {
  display: inline-block;
  padding: 0 5px;
  margin: 5px 0;
}

#form-content form fieldset:not(.twocol) ul li {
  width: 100%;
}

#form-content form ul li input,
#form-content form ul li textarea,
#form-content form ul li select {
  width: 100%;
}

#form-content label {
  display: block;
}

#form-content label,
#form-content .label-heading,
#form-content form h2,
#form-content form .note,
#form-content form input[type="file"] {
  color: #222;
}

#form-content .submit {
  text-align: center;
}

body.careers-position .top-content-upper,
body.careers-position #top-content {
  text-align: center;
}

#careers-cta-box {
  background-color: #B9B9B9;
  text-align: center;
  padding: 40px 0;
}

#careers-company-overview {
  text-align: center;
  background-color: #E8E7E7;
  padding: 40px 0;
}

#careers-company-overview ul {
  padding-left: 0;
  list-style-type: none;
}

/* Website Modal Alert Message Styling */
#welcome-content {
  text-align: center;
}

#alert-modal {
  height: auto;
  max-height: calc(95% - 12.5%);
  overflow: scroll;
}

#alert-modal.ims-lightbox .close-popup {
  top: 15px;
}

#maintenance-benefits-outer {
  padding: 70px 0px;
}

#maintenance-benefits-outer .width-limiter {
  display: flex;
  flex-direction: column;
  gap: 30px;
  align-items: center;
}

#maintenance-benefits-outer .benefits-left {
  width: 425px;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 100%;
}

#maintenance-benefits-outer .benefits-left img {
  width: 100%;
  height: auto;
  aspect-ratio: 425/300;
  object-fit: cover;
  object-position: center;
  border-radius: 10px;
  vertical-align: text-bottom;
}

#maintenance-benefits-outer .benefits-right {
  flex: 1 1 auto;
}

#maintenance-benefits-outer .benefits-right h2 {
  margin-top: 0;
  margin-bottom: 10px;
}

#maintenance-benefits-outer .benefits-right h3 {
  margin-bottom: 29px;
}

#maintenance-benefits-outer ul {
  list-style: none;
  padding: 0;
}

#maintenance-benefits-outer ul li {
  padding-left: 28px;
  background-image: url("/assets/templates/main/images/maintenance/icon-checkmark.svg");
  background-repeat: no-repeat;
  background-position: left 0px top 7px;
  margin-bottom: 24px;
}

#maintenance-benefits-outer ul li:last-child {
  margin-bottom: 0;
}

#maintenance-benefits-outer ul li h4 {
  font-size: 20px;
  margin-bottom: 6px;
}

#maintenance-benefits-outer ul li br {
  display: none;
}

#maintenance-benefits-outer .mb-buttons {
  display: flex;
  gap: 12px 20px;
  flex-wrap: wrap;
  margin-top: 30px;
}
#maintenance-benefits-outer .signup-button a {
  background-color: #0554bd;
  border-color: #0554bd;
}
#maintenance-benefits-outer .signup-button a:hover,
#maintenance-benefits-outer .signup-button a:active {
  background-color: #048CE1;
  border-color: #048CE1;
  color: #fff;
}