/*
Theme Name:      BlankSlate Child Theme
Theme URI:       http://www.websitebundles.com/
Description:     Theme by Site <a href=\"http://childthemegenerator.com/\">http://childthemegenerator.com/</a>
Author:          WebsiteBundles
Author URI:      http://childthemegenerator.com/
Template:        blankslate
Version:         1.0.67
Text Domain:     BlankSlate-child
-------------------------------------------------------------- */


/* =Theme customization starts here
------------------------------------------------------- */

/* Roboto face set — production loads MDB 4.3.0, which declares Roboto at
   200/300/400/500/700 from its own vendored files, so prod paints bold text
   with a real Roboto Bold. The Google css2 request this theme replaced MDB
   with tops out at 600, leaving every bold glyph rendered from SemiBold.
   Weights and file order mirror MDB's own declarations. */
@font-face {
    font-family: Roboto;
    src: local("Roboto Thin"),
        url("assets/vendor/MDB/font/roboto/Roboto-Thin.woff2") format("woff2"),
        url("assets/vendor/MDB/font/roboto/Roboto-Thin.woff") format("woff");
    font-weight: 200;
}

@font-face {
    font-family: Roboto;
    src: local("Roboto Light"),
        url("assets/vendor/MDB/font/roboto/Roboto-Light.woff2") format("woff2"),
        url("assets/vendor/MDB/font/roboto/Roboto-Light.woff") format("woff");
    font-weight: 300;
}

@font-face {
    font-family: Roboto;
    src: local("Roboto Regular"),
        url("assets/vendor/MDB/font/roboto/Roboto-Regular.woff2") format("woff2"),
        url("assets/vendor/MDB/font/roboto/Roboto-Regular.woff") format("woff");
    font-weight: 400;
}

@font-face {
    font-family: Roboto;
    src: url("assets/vendor/MDB/font/roboto/Roboto-Medium.woff2") format("woff2"),
        url("assets/vendor/MDB/font/roboto/Roboto-Medium.woff") format("woff");
    font-weight: 500;
}

@font-face {
    font-family: Roboto;
    src: url("assets/vendor/MDB/font/roboto/Roboto-Bold.woff2") format("woff2"),
        url("assets/vendor/MDB/font/roboto/Roboto-Bold.woff") format("woff");
    font-weight: 700;
}

/* fix header hide bullets */
li.widget-container {
    list-style: none !important;
}

/* gravity forms
------------------------------------------------------- */

.gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]) {
	font-size: inherit;
	font-family: inherit;
	padding: 5px 4px;
	letter-spacing: normal;
	border: 1px solid #ccc;
	height: 32px;
	box-sizing: border-box;
}

.gform_wrapper textarea.medium {
	height: 160px;
	width: 100%;
	border: 1px solid #ccc;
}

/* global styles
------------------------------------------------------- */

body {
    background-color: #fff;
    font-weight: 300;
}

body.bath-gallery {
    background-color: #f7f7f7;
}

a {
    color: #13683A;
    text-decoration: none;
}
a:hover,
a:focus {
    color: #13683A;
    text-decoration: none;
}


/* make all img responsive */

img {
    display: inline-block;
    height: auto;
    max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: 0.75rem;
    margin-top: 1.5rem;
    font-weight: 400;
}

.h1,
h1 {
    font-size: 3rem;
}

.h2,
h2 {
    font-size: 2rem;
}

.h3,
h3 {
    font-size: 1.5rem;
}

.h4,
h4 {
    font-size: 1rem;
}

body.home h3 {
    margin: 0;
}

/* colors styles
------------------------------------------------------- */

.green {
    background-color: #13683A !important;
}
.btn.green,
.form-header.green{
    background-color: #13683A !important;
    color: #fff;
}

/* MDB .btn base — production used MDB sizing (removed when BS5 CDN replaced MDB stack). */
.btn {
    font-size: 0.8rem;
    line-height: 1.25;
    padding: 0.85rem 2.13rem;
    border-radius: 2px;
    border: 0;
    text-transform: uppercase;
    color: #fff;
    margin: 6px;
    white-space: normal;
    word-wrap: break-word;
}

.green-text {
    color: #13683A !important;
}
.yellow {
    background-color: #fef426 !important;
}


/* remove shadow .flat */

.card-panel.flat,
.card.flat,
nav.flat,
.flat {
    box-shadow: none;
}

/* location page styles
------------------------------------------------------- */
.locations .facetwp-template .col-sm-4 {
	margin-bottom: 30px;
}

/* FacetWP template headings — prod BS4/MDB h3.sproducts scale (gallery + locations grids). */
.facetwp-template h3.sproducts,
.facetwp-template h3.fproducts {
    color: #292b2c;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.1;
    margin-top: 22.5px;
    margin-bottom: 11.25px;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .facetwp-template h3.sproducts,
    .facetwp-template h3.fproducts {
        margin-top: 23.25px;
        margin-bottom: 11.625px;
    }
}

@media (min-width: 1200px) {
    .facetwp-template h3.sproducts,
    .facetwp-template h3.fproducts {
        margin-top: 24px;
        margin-bottom: 12px;
    }
}

/* Collapse stacked FacetWP/owl cards when init fails or runs before AJAX load. */
.owl-carousel.owl-loading:not(.owl-loaded) > .card-image,
.owl-carousel.owl-loading:not(.owl-loaded) > .item {
    display: none !important;
}

.owl-carousel.owl-loading:not(.owl-loaded):not(#owl-carousel-slideshow) {
    min-height: 0;
    height: auto !important;
    overflow: hidden;
}

/* Homepage Owl hero — prod min-heights while lazyLoad/Owl init (prevents 0px collapse). */
#owl-carousel-slideshow.owl-carousel:not(.owl-loaded),
#owl-carousel-slideshow.owl-carousel.owl-loading:not(.owl-loaded) {
    min-height: 366px;
    height: auto !important;
    overflow: hidden;
}

@media (min-width: 768px) and (max-width: 991.98px) {
    #owl-carousel-slideshow.owl-carousel:not(.owl-loaded),
    #owl-carousel-slideshow.owl-carousel.owl-loading:not(.owl-loaded) {
        min-height: 396px;
    }
}

@media (min-width: 992px) {
    #owl-carousel-slideshow.owl-carousel:not(.owl-loaded),
    #owl-carousel-slideshow.owl-carousel.owl-loading:not(.owl-loaded) {
        min-height: 310px;
        aspect-ratio: 1920 / 600;
    }
}

/* BS5 reboot ul padding — prod sidenav lists had pl:0; 2rem indent shrinks links and reflows interior pages. */
#sidenav ul,
#sidenav li {
    list-style: none;
    margin: 0;
    padding: 0;
}

@media (min-width: 992px) {
    #sidenav ul {
        margin-bottom: 15.5px;
    }
}

@media (min-width: 1200px) {
    #sidenav ul {
        margin-bottom: 16px;
    }
}

/* Interior/blog sidebar widgets — prod computed pl:0 at sm/md. */
.col-sm-3 ul,
.col-sm-4 ul,
.textwidget ul,
.custom-html-widget ul {
    padding-left: 0;
}

/* Interior sidenav column label — prod computed h3 above wp_nav_menu. */
#sidenav h3 {
    color: rgb(41, 43, 44);
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.1;
    margin-top: 0;
    margin-bottom: 10px;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    #sidenav h3 {
        margin-top: 23.25px;
        margin-bottom: 11.625px;
    }
}

@media (min-width: 1200px) {
    #sidenav h3 {
        margin-top: 24px;
        margin-bottom: 12px;
    }
}

/* google map styles
------------------------------------------------------- */

.map-responsive {
    overflow: hidden;
    padding-bottom: 50%;
    position: relative;
    height: 0;
}

.map-responsive iframe {
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    position: absolute;
}


/* breadcrumbs styles
------------------------------------------------------- */

#breadcrumbs {
    font-size: 12px;
}

#breadcrumbs a {
    color: #13683A;
}


/* banner styles
------------------------------------------------------- */

.banner {
    margin: 0 0 30px;
}

/* Interior banner — prod full-bleed inside container-fluid row (no BS5 column gutter). */
.container-fluid > .row > .banner {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
}

.container-fluid > .row > .banner img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

/* Insulation — prod collapses empty banner; index pages keep 30px margin (1.0.41). */
body.insulation .container-fluid > .row > .banner:not(:has(img)) {
    display: none;
    margin: 0;
}

/* Masonry products — same empty-banner collapse as insulation (mobile page-length). */
body.masonry-products .container-fluid > .row > .banner:not(:has(img)) {
    display: none;
    margin: 0;
}

/* card overlay styles
------------------------------------------------------- */

.card-body {
    -moz-box-flex: 1;
    flex: 1 1 auto;
    padding: 1.25rem;
}

.card {
    -moz-box-direction: normal;
    -moz-box-orient: vertical;
    background-clip: border-box;
    background-color: #fff;
    /*border: 1px solid rgba(0, 0, 0, 0.125);*/
    border: none;
    border-radius: 2px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 2px 5px 0px, rgba(0, 0, 0, 0.12) 0px 2px 10px 0px;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow-wrap: break-word;
    position: relative;
}

.card-body h4 {
    font-weight: 500;
}

.card img {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    border-radius: 2px 2px 0 0;
}


/*.card-image {
margin: 0 10px;
background: #fff;
color: #333;
}*/


/*.card-image img {
width: 100%;
}*/

.hoverfx {
    position: relative;
    display: block;
    overflow: hidden;
    text-align: center;
}

.hoverfx img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
}

.hoverfx:before {
    display: inline-block;
    padding-top: 60%;
    content: '';
    vertical-align: middle;
}

.hoverfx .figure a {
    position: relative;
    z-index: 2;
    display: inline-block;
    padding: 10px 15px;
    max-width: 100%;
    border: 3px solid #e9e9e9;
    color: #ecf0f1;
    vertical-align: middle;
    text-transform: uppercase;
    font-size: 1.2rem;
    /* Production takes 1.5 off its own 1.2rem here (28.8px). Without it the
       label inherits the body's absolute 24px and the button loses 4.8px. */
    line-height: 1.5;
    opacity: 0;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition-property: all .3s ease;
}

.hoverfx .figure a:hover {
    background: #e9e9e9;
    color: #333;
}

.hoverfx .overlay {
    position: absolute;
    top: 0;
    z-index: 1;
    padding: 50%;
    background: rgba(0, 0, 0, .7);
    opacity: 0;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition-property: all .3s ease;
}

.card-image:hover .figure a,
.card-image:hover .overlay {
    opacity: 1;
}



/* masonry styles — BS4 card-columns + MDB shim (windows-gallery)
------------------------------------------------------- */

.card-columns {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
    -webkit-column-gap: 1.25rem;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    orphans: 1;
    widows: 1;
}

.card-columns .card {
    display: inline-block;
    width: 100%;
    margin: 2px;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background-color: #fff;
}

.card-columns .card > a {
    display: block;
    line-height: 0;
}

.card-columns .card .card-img,
.card-columns .card img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    border-radius: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

@media (min-width: 768px) {
    .card-columns {
        -webkit-column-count: 4;
        -moz-column-count: 4;
        column-count: 4;
    }
}

@media (min-width: 992px) {
    .card-columns {
        -webkit-column-count: 4;
        -moz-column-count: 4;
        column-count: 4;
        -webkit-column-gap: 19.375px;
        -moz-column-gap: 19.375px;
        column-gap: 19.375px;
    }
}

@media (min-width: 1200px) {
    .card-columns {
        -webkit-column-count: 5;
        -moz-column-count: 5;
        column-count: 5;
        -webkit-column-gap: 20px;
        -moz-column-gap: 20px;
        column-gap: 20px;
    }
}

@media (min-width: 1400px) {
    .card-columns {
        -webkit-column-gap: 20px;
        -moz-column-gap: 20px;
        column-gap: 20px;
    }

    .card-columns .card {
        margin-top: 2px;
        margin-bottom: 2px;
    }
}


/* recaptcha styles
------------------------------------------------------- */


/* already defined in bootstrap4 */

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

.wpcf7-form-control-wrap {
    position: relative;
    text-align: center;
}

div.wpcf7-spam-blocked {
	border: 2px solid #ff4444;
	background: #ff4444;
	color: #fff;
}
.g-recaptcha {
    display: inline-block;
}


/* form styles
------------------------------------------------------- */
/*search form*/
.has-success .form-control {
    border-color: #13683A;
}

input.wpcf7-not-valid {
    border-color: #ff4444;
}

/*input.wpcf7-not-valid.form-control::placeholder {
color: red;
opacity: 1;
}*/

div.wpcf7-response-output.wpcf7-validation-errors {
    background: #ff4444;
    border: none;
}

div.wpcf7-response-output.wpcf7-mail-sent-ok {
    background: #00C851;
    border: none;
}

div.wpcf7-response-output {
    margin: 0.5em;
    padding: 0.5em;
}

form.wpcf7-form .card .form-header h3 {
    margin: 0;
    padding: 1rem;
}


/* Custom CF7 Loader */

div.wpcf7 .ajax-loader {
    background-image: url('/wp-content/uploads/ajax-loader.gif');
    width: 24px;
    height: 24px;
    margin-left: 10px;
    position: relative;
    right: -14px;
}

.wpcf7-submit {
    position: relative;
    right: -14px;
}


/* nav styles
------------------------------------------------------- */

#topnav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

#topnav li.menu-item {
    list-style: none;
    margin-left: 15px;
    display: inline-block;
    vertical-align: middle;
}
#topnav .menu-item a {
    text-align: left; /* prod computed; BS5 flex reset inherits right from the container */
}

#topnav.navbar.navbar-success {
    background-color: #13683A;
    color: #ffffff;
}

/* Utility top bar — not a BS5 flex navbar; prod was block layout with inline menu items. */
#topnav.navbar {
    display: block;
    flex-wrap: nowrap;
    align-items: stretch;
    border: 0 none;
    border-radius: 0;
    box-shadow: none;
    padding: 10px 0;
    margin-bottom: 0;
}

/* BS5 .navbar > .container { display:flex } shrinks the grid row — restore prod block layout. */
#topnav.navbar > .container {
    display: block;
    flex-wrap: unset;
    align-items: unset;
    justify-content: unset;
}

#topnav .row {
    width: 100%;
}

/* That pin was added while the header container ran full-bleed; with the
   container restored it costs the row its -15px gutters. Prod's row is 960px
   at lg and 1200px at xl off container content boxes of 930px and 1170px. */
@media (min-width: 992px) {
    #topnav .row {
        width: auto;
    }
}

#topnav .col-sm-8 {
    text-align: start;
}

/* Prod stacks widgets as block-level list items; inline-block shrinks the menu. */
#topnav .col-sm-8 > li.widget-container {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
}

#topnav .col-sm-8 > li.widget-container.widget_custom_html {
    height: 0;
    overflow: hidden;
}

#topnav #menu-top-nav {
    display: block;
    width: 100%;
    vertical-align: middle;
    margin: 0;
    padding: 0;
}

#topnav ul.social-icons {
    display: block;
    vertical-align: middle;
    margin: 0;
    padding: 0;
}

#topnav #menu-top-nav a {
    color: #fff;
    text-decoration: none;
    font-family: Roboto, sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    text-shadow: 2px 2px 6px #888;
}

#topnav a,
#topnav a:hover,
#topnav a:focus {
    text-decoration: none;
}

#topnav ul.social-icons a {
    color: #fff;
}

#topnav .topnavright {
    margin-left: 20px;
}


/* button styles
------------------------------------------------------- */

.btn.btn-primary,
.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-primary:active,
.btn.btn-primary.active,
.btn.btn-primary:active:focus,
.btn.btn-primary:active:hover,
.btn.btn-primary.active:focus,
.btn.btn-primary.active:hover,
.open>.btn.btn-primary.dropdown-toggle,
.open>.btn.btn-primary.dropdown-toggle:focus,
.open>.btn.btn-primary.dropdown-toggle:hover,
.navbar .navbar-nav>li>a.btn.btn-primary,
.navbar .navbar-nav>li>a.btn.btn-primary:hover,
.navbar .navbar-nav>li>a.btn.btn-primary:focus,
.navbar .navbar-nav>li>a.btn.btn-primary:active,
.navbar .navbar-nav>li>a.btn.btn-primary.active,
.navbar .navbar-nav>li>a.btn.btn-primary:active:focus,
.navbar .navbar-nav>li>a.btn.btn-primary:active:hover,
.navbar .navbar-nav>li>a.btn.btn-primary.active:focus,
.navbar .navbar-nav>li>a.btn.btn-primary.active:hover,
.open>.navbar .navbar-nav>li>a.btn.btn-primary.dropdown-toggle,
.open>.navbar .navbar-nav>li>a.btn.btn-primary.dropdown-toggle:focus,
.open>.navbar .navbar-nav>li>a.btn.btn-primary.dropdown-toggle:hover {
    background-color: #13683A;
    color: #ffffff;
}


/* owl-carousel styles
------------------------------------------------------- */

/*#owl-carousel-slideshow .owl-text {
background: rgba(0, 0, 0, 0.5);
bottom: 40px;
color: #fff;
padding: 20px;
position: absolute;
right: 80px;
width: 30%;
z-index: 1;
}*/

#owl-carousel-slideshow .owl-text {
    background: rgb(0, 0, 0) none repeat scroll 0 0;
    bottom: 0;
    color: #fff;
    padding: 15px;
    position: relative;
    right: 0;
    width: 100%;
    z-index: 1;
}

#owl-carousel-slideshow .owl-prev {
    left: 0px;
    position: absolute;
    top: 50%;
    z-index: 1;
}

#owl-carousel-slideshow .owl-next {
    right: 0px;
    position: absolute;
    top: 50%;
    z-index: 1;
}


/*#owl-carousel-slideshow .owl-dots {
bottom: 30px;
position: absolute;
width: 100%;
z-index: 1;
}*/

#owl-carousel-slideshow .owl-carousel {
    margin-top: 0;
}

#owl-carousel-slideshow .owl-stage-outer {
    overflow: hidden;
}

#owl-carousel-slideshow .owl-item {
    position: relative;
}

#owl-carousel-slideshow .owl-item img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: fill;
    object-position: 50% 50%;
}

/* Owl's autoHeight measures the slide image on the upgraded build and the whole
   slide on production, so a pinned height cropped the hero caption away. The
   slide box already matches production, so let it govern. */
@media (max-width: 991.98px) {
    #owl-carousel-slideshow .owl-stage-outer {
        height: auto !important;
    }
}

/* Homepage Owl hero — prod scales slide art to the full carousel width at lg+.
   padding-right on the root shrank aspect-ratio height ~5px per breakpoint. */
@media (min-width: 992px) {
    #owl-carousel-slideshow .owl-stage-outer {
        height: auto;
    }

    #owl-carousel-slideshow .owl-item img {
        height: auto;
        width: 100%;
        max-width: 100%;
    }
}

#owl-carousel-slideshow.owl-theme .owl-nav [class*="owl-"] {
    background: rgba(0, 0, 0, 0.3) !important;
    border-radius: 3px;
    color: #fff !important;
    cursor: pointer;
    display: inline-block;
    font-size: 14px;
    margin: 5px;
    padding: 5px 5px 0;
}

#owl-carousel-slideshow.owl-theme .owl-nav [class*="owl-"]:hover {
    background: rgba(0, 0, 0, 0.8) !important;
    border-radius: 3px;
    color: #fff !important;
    cursor: pointer;
    display: inline-block;
    font-size: 14px;
    margin: 5px;
    padding: 5px 5px 0;
}

#owl-carousel-slideshow .material-icons {
    font-size: 40px;
}


/*home carousels*/

#owl-carousel-sproducts .card-block p,
#owl-carousel-soffers .card-block p,
#owl-carousel-bboffers .card-block p,
#owl-carousel-fproject .card-block p,
#owl-carousel-video .card-block p,
#owl-carousel-soffers-page .card-block p {
    margin: 0;
}

#owl-carousel-sproducts h3,
#owl-carousel-soffers h3,
#owl-carousel-bboffers h3,
#owl-carousel-fproject h3,
#owl-carousel-video h3,
#owl-carousel-soffers-page h3 {
    margin: 0;
}

#owl-carousel-sproducts .owl-carousel,
#owl-carousel-soffers .owl-carousel,
#owl-carousel-bboffers .owl-carousel,
#owl-carousel-fproject .owl-carousel,
#owl-carousel-video .owl-carousel,
#owl-carousel-soffers-page .owl-carousel {
    margin-top: 10px;
}

#owl-carousel-sproducts,
#owl-carousel-soffers,
#owl-carousel-bboffers,
#owl-carousel-fproject,
#owl-carousel-video,
#owl-carousel-soffers-page {
    margin-bottom: 50px;
}

#owl-carousel-sproducts h3.sproducts,
#owl-carousel-soffers h3.sproducts,
#owl-carousel-bboffers h3.sproducts,
#owl-carousel-fproject h3.sproducts,
#owl-carousel-video h3.sproducts,
#owl-carousel-soffers-page h3.sproducts {
    margin: 0;
    padding: 0;
}

#owl-carousel-sproducts .owl-item.card,
/*#owl-carousel-soffers .owl-item.card,*/
#owl-carousel-bboffers .owl-item.card,
#owl-carousel-fproject .owl-item.card,
#owl-carousel-video .owl-item.card,
#owl-carousel-soffers-page .owl-item.card {
    background: #f1f1f1;
}

#owl-carousel-sproducts .btn-success,
#owl-carousel-soffers .btn-success,
#owl-carousel-bboffers .btn-success,
#owl-carousel-fproject .btn-success,
#owl-carousel-video .btn-success,
#owl-carousel-soffers-page .btn-success {
    background: #00c851 !important;
}

#customNavSP.owl-nav [class*="owl-"],
#customNavSO.owl-nav [class*="owl-"],
#customNavBB.owl-nav [class*="owl-"],
#customNavFP.owl-nav [class*="owl-"],
#customNavVideo.owl-nav [class*="owl-"],
#owl-carousel-soffers-page.owl-nav [class*="owl-"] {
    /*background: #d6d6d6;*/
    background: none;
    border-radius: 3px;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 14px;
    margin: 0;
    padding: 5px 5px 0;
}

#customNavSP.owl-nav,
#customNavSO.owl-nav,
#customNavBB.owl-nav,
#customNavFP.owl-nav,
#customNavVideo.owl-nav,
#owl-carousel-soffers-page.owl-nav {
    margin-top: 0;
}


/*add spacer between title and card image*/

.owl-theme {
    margin-bottom: 5px;
}

#owl-carousel-video .item-video {
    height: 300px;
}

.owl-theme .owl-nav .disabled {
    cursor: default;
    opacity: 0.2;
}


/*#owl-carousel-video.owl-carousel  {width:90%; margin: 0 auto;}
#owl-carousel-video.owl-carousel img{width:100%;height:auto;}
*/


/* blog styles
------------------------------------------------------- */

#blog.post-summary .card {
    background: #f1f1f1;
    margin-bottom: 20px;
    border: none;
}

#blog .card .card-title a {
    color: #13683A;
    transition: .4s;
}

#blog.post-summary .col-sm-3 {
    padding-right: 0;
}

#blog.post-summary h5.date {
    background: #006148 none repeat scroll 0 0;
    color: #fff;
    margin: 0;
    padding: 3px;
    text-align: center;
}

#blog.post-summary h3.date {
    background: #fff none repeat scroll 0 0;
    margin: 0;
    padding: 5px;
    text-align: center;
    color: #006148;
}


/*featured project on homepage */

#blog.post-featured .card {
    background: #f1f1f1;
    margin-bottom: 20px;
}

section.entry-content img {
    margin-bottom: 30px;
}


/* MDB grey darken-1 shim — footer#footer uses class="grey darken-1"; BS5 CDN lacks MDB color utilities. */
.grey.darken-1,
footer.grey.darken-1 {
    background-color: #757575 !important;
}

/* footer styles
------------------------------------------------------- */

footer {
    color: #ffffff;
    padding: 50px 0;
    margin-top: 50px;
}

footer h3 {
    margin: 0 0 10px 0;
}

footer .copyright,
footer .websiteby,
footer .websiteby a,
footer .websiteby a:hover,
footer .websiteby a:focus {
    text-align: center;
    font-size: 12px;
    color: #FFF;
    text-decoration: none;
}

/* Footer legal links — prod green at all breakpoints (not swept to white by footer a). */
footer .copyright a,
footer .copyright a:hover,
footer .copyright a:focus,
footer .copyright a:active {
    color: #13683A;
    text-decoration: none;
}

/* Production footer legal copy — BS5 body line-height was 23.25px at lg. */
footer .copyright p {
    line-height: 18px;
}

/* Prod computes 18px on the copyright box itself; BS5 reboot leaves it on the
   body scale, which is 22.5/23.25/24px by breakpoint. The credit line beside it
   is the same box on production. */
.copyright,
.websiteby {
    line-height: 18px;
}

footer .show>.dropdown-menu {
    display: block;
    position: relative;
    width: 100%;
}

footer #signupform {
    margin: 30px 0 0;
}

/* Footer signup form — production runs white label and field text over the dark
   footer with the inputs left unfilled. The upgraded build inherits the body
   text colour and the BS5 form-control white fill, which puts dark text on a
   dark panel and paints white boxes where production shows none. */
footer .gform_wrapper,
footer .gform_wrapper .gform_body,
footer .gform_wrapper .gfield_label,
footer .gform_wrapper label {
    color: #fff;
}

footer .gform_wrapper .ginput_container input,
footer .gform_wrapper .ginput_container textarea {
    background-color: transparent;
}

footer .dropdown a {
    margin: 0 0 10px;
    text-align: left;
}

footer .show>.dropdown-menu {
    margin: 0 0 10px;
}

.footer-bottom {
    margin: 20px 0 0 0;
}





/* footer signup form styles
------------------------------------------------------- */

footer #signupform span {
    color: #292b2c;
}

footer #signupform span.wpcf7-list-item.last {
    display: inline-block;
    margin: 0 0 0 1em;
}

footer #signupform span.wpcf7-list-item.first {
    display: inline-block;
    margin: 0;
}

footer .form-header i.fa {
    top: -20px;
    position: absolute;
    background: #13683A !important;
    border-radius: 100px;
    padding: 5px;
    margin: 0 auto;
    left: 0;
    right: 0;
    width: 40px;
    color: #fff;
}

/* Caldera styles */
.btn-upload button {
    color: #000 !important;
}
.parsley-required {
    color: red !important;
}
footer label.checkbox-inline {
    color: #000 !important;
}
footer label {
    color: #000 !important;
}

input[type="date"]:focus:not([readonly]),
    input[type="datetime-local"]:focus:not([readonly]),
    input[type="email"]:focus:not([readonly]),
    input[type="number"]:focus:not([readonly]),
    input[type="password"]:focus:not([readonly]),
    input[type="search-md"]:focus:not([readonly]),
    input[type="search"]:focus:not([readonly]),
    input[type="tel"]:focus:not([readonly]),
    input[type="text"]:focus:not([readonly]),
    input[type="time"]:focus:not([readonly]),
    input[type="url"]:focus:not([readonly]),
    textarea.md-textarea:focus:not([readonly]) {
        border-bottom: 1px solid #4285f4;
        box-shadow: 0 1px 0 0 #4285f4;
    }

.caldera-grid .form-control {
    padding: 0 !important;
}


/*// Small devices (landscape phones, 576px and up)*/

@media (min-width: 576px) {
    nav.navbar {
        background: #fff;
    }
    /* hamburger icon*/
    nav.navbar.navbar-light .navbar-toggler-icon {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox=\'0 0 32 32\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cpath stroke=\'rgba(0, 0, 0, 0.9)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 8h24M4 16h24M4 24h24\'/%3E%3C/svg%3E");
    }
}


/*// Medium devices (tablets, 768px and up)*/

@media (min-width: 768px) {}


/* mobile nav */


/*navigation styles*/

@media (max-width: 991px) {
	#dropdownMenuLink.green{
		background-color:#6b8391 !important;
	}

	
	
	
/* mobile adjustments
------------------------------------------------------- */

.owl-item {
    background: #f6f6f6;
}

/* Home three-column Owl carousels — prod item width at sm (BS5 owl init drift). */
@media (max-width: 767.98px) {
    #owl-carousel-slideshow .owl-text {
        padding: 15px;
        margin: 0;
    }

    #owl-carousel-fproject .owl-item,
    #owl-carousel-soffers .owl-item,
    #owl-carousel-bboffers .owl-item {
        width: 158.406px !important;
    }
}

nav.navbar .navbar-brand img {
    width: 50%;
}

/* //end mobile adjustments */


    #owl-carousel-slideshow h2 {
        font-size: 1.5rem;
        margin: 0 0 5px;
    }
    .container {
        max-width: 100%;
        width: 100%;
    }
    nav.navbar {
        /*background: #006148;*/
        background: #fff;
        padding: 1rem;
    }
    /*nav .navbar-brand {
width: 150px;
}*/
	
	nav .custom-toggler.navbar-toggler {
		border-color: rgb(212,96,47);
	}
	nav .custom-toggler .navbar-toggler-icon {
	  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(128,182,63, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
	}
	
	
    nav.navbar .dropdown-menu {
        padding: 0;
        position: relative;
        width: 100%;
    }
    nav .navbar-nav .nav-link {
        padding-left: 10px;
        padding-right: 10px;
    }
    nav .dropdown-item.active,
    nav .dropdown-item:active {
        /*background-color: #13683A;*/
        color: #13683A !important;
        text-decoration: none;
        background: none;
    }
    nav .show>.dropdown-menu {
        display: block;
        position: relative !important;
        width: 100%;
        top: inherit;
        margin: 0 0 10px 0;
    }

    /* Mobile expanded submenu — prod MDB elevation, no BS5 border. */
    #header nav .dropdown-menu,
    #header nav .dropdown-menu.show {
        background-color: #fff;
        border: 0 none transparent;
        border-radius: 2px;
        box-shadow: rgba(0, 0, 0, 0.16) 0px 2px 5px 0px, rgba(0, 0, 0, 0.12) 0px 2px 10px 0px;
        margin: 0 0 10px 0;
        padding: 0;
    }
    nav.navbar .nav-item a {
        /*border-top: 1px solid #eee;*/
    }
    .navbar.navbar-light .nav-item.active {
        background-color: #f7f7f9;
    }
    nav.navbar .navbar-nav {
        /*border-bottom: 1px solid #eee;*/
        margin: 10px 0 0;
        /*background: #f7f7f7;*/
        background: none;
    }
    nav.navbar .nav-link {
        /*background: #13683A;*/
        background: #13683A;
        color: #fff !important;
        margin: 0 0 1px;
    }
    nav.navbar .menu-item a,
    nav.navbar .menu-item.show a {
        /*background: #13683A;*/
        /*color: #fff !important;*/
        outline: 0 none;
    }
    /* mobile nav parity — prod computed values at sm */
    #header .navbar-nav .nav-link {
        font-size: 15px;
        font-weight: 300;
        line-height: 22.5px;
        padding-top: 7.5px;
        padding-bottom: 7.5px;
        padding-left: 10px;
        padding-right: 10px;
    }

    #header nav .dropdown-menu .dropdown-item,
    nav .dropdown-menu .dropdown-item {
        font-size: 14.0625px;
        font-weight: 300;
        line-height: 21.0938px;
        padding: 15px;
    }

    nav.navbar form .mb-0,
    nav.navbar form .form-group {
        width: 100%;
    }
    nav.navbar .search-form.d-flex .mb-0,
    nav.navbar .form-inline .form-group {
        margin-right: 0;
    }
    nav.navbar .search-form.d-flex .form-control,
    nav.navbar .form-inline .form-control {
        display: inline-block;
        vertical-align: middle;
        width: 100%;
    }

    /* Header search — prod underline style on mobile, not BS5 boxed input */
    #header nav form.search-form .search-field,
    #header nav form.search-form .form-control,
    nav.navbar form.search-form .search-field,
    nav.navbar form.search-form .form-control {
        background-color: transparent;
        border: 0 none;
        border-bottom: 1px solid #13683A;
        border-top-color: #13683A;
        border-radius: 0;
        box-shadow: none;
        box-sizing: content-box;
        color: rgb(70, 74, 76);
        font-size: 15px;
        font-weight: 400;
        line-height: 22.5px;
        padding: 7.5px 0 9px;
        height: 15px;
        min-height: 0;
        margin: 0;
        width: 100%;
    }

    #header nav form.search-form .search-field:focus,
    #header nav form.search-form .form-control:focus,
    nav.navbar form.search-form .search-field:focus,
    nav.navbar form.search-form .form-control:focus {
        background-color: transparent;
        border-color: transparent;
        border-bottom: 1px solid #13683A;
        box-shadow: none;
        outline: none;
    }

    #header nav form.search-form .search-field::placeholder,
    #header nav form.search-form .form-control::placeholder,
    nav.navbar form.search-form .search-field::placeholder,
    nav.navbar form.search-form .form-control::placeholder {
        color: rgb(70, 74, 76);
        opacity: 1;
    }

    nav.navbar form.search-form {
        margin: 10px 0;
    }
    input[type="date"]:focus:not([readonly]),
    input[type="datetime-local"]:focus:not([readonly]),
    input[type="email"]:focus:not([readonly]),
    input[type="number"]:focus:not([readonly]),
    input[type="password"]:focus:not([readonly]),
    input[type="search-md"]:focus:not([readonly]),
    input[type="search"]:focus:not([readonly]),
    input[type="tel"]:focus:not([readonly]),
    input[type="text"]:focus:not([readonly]),
    input[type="time"]:focus:not([readonly]),
    input[type="url"]:focus:not([readonly]),
    textarea.md-textarea:focus:not([readonly]) {
        border-bottom: 1px solid #4285f4;
        box-shadow: 0 1px 0 0 #4285f4;
    }
    /* hamburger icon*/
    nav.navbar.navbar-light .navbar-toggler-icon {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox=\'0 0 32 32\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cpath stroke=\'rgba(255, 255, 255, 0.9)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 8h24M4 16h24M4 24h24\'/%3E%3C/svg%3E");
    }
    /* end mobile nav*/
}


/*// Large devices (desktops, 992px and up)*/

@media (min-width: 992px) {
    /*footer*/
    footer .copyright {
        text-align: left;
    }
    footer .websiteby {
        text-align: right;
    }
    footer .dropdown-menu {
        display: block;
        margin: 0 0 10px;
        padding: 0;
        position: relative;
        width: 100%;
        -webkit-box-shadow: none;
        box-shadow: none;
        background: none;
        /* Transparent fill and zero border stated directly, in place of the
           BS5 dropdown background and border-width custom properties. */
        background-color: transparent;
        border: 0 none;
        border-radius: 0;
    }
    footer .dropdown-item {
        background: none;
        border: 0 none;
        clear: both;
        color: #ccc;
        display: block;
        font-size: 13px;
        font-weight: 400;
        margin: 0 0 5px;
        padding: 0;
        text-align: inherit;
        white-space: normal;
        width: 100%;
    }
    footer .dropdown-item:focus,
    footer .dropdown-item:hover {
        background: none;
        color: #fff;
    }
    /* Footer dropdown buttons — flat white text links on prod, with the hover
       state identical to the resting state. States the properties the BS5
       button and button-hover custom properties would have driven. */
    footer .dropdown > a.btn,
    footer .dropdown a.btn,
    footer .dropdown a.btn.btn-block,
    footer .dropdown a.btn.green {
        background-color: transparent !important;
        border: 0 none transparent;
        box-shadow: none;
        color: #fff;
        font-size: 14px;
        line-height: 17.5px;
        margin: 0 0 5px;
        padding: 0;
        text-align: left;
    }
    footer .dropdown a.btn:focus,
    footer .dropdown a.btn:hover {
        background-color: transparent;
        border-color: transparent;
        color: #fff;
    }
    footer .dropdown {
        margin: 0 0 10px;
    }
    /*footer .show > .dropdown-menu{
margin: 0;
}*/
    footer .dropdown-toggle::after {
        border-left: none;
        border-right: none;
        border-top: none;
    }
    footer #signupform {
        margin: 0;
    }
    footer .dropdown a {
        margin: 0;
        text-align: left;
    }
    .h3,
    h3 {
        font-size: 1.5rem;
    }
    .h4,
    h4 {
        font-size: 1.125rem;
    }
    /* remove shadow .flat */
    .card-panel.flat,
    .card.flat,
    nav.flat,
    .flat {
        box-shadow: none;
    }
    footer a,
    footer a:hover,
    footer a:focus {
        color: #fff;
        text-decoration: none;
    }
    /* nav styles
------------------------------------------------------- */
    #topnav .navbar-toggler-right {
        line-height: 64px;
        position: absolute;
        right: 1rem;
    }
    #topnav.navbar.navbar-success {
        /*background-color: #006148;*/
        background-color: #13683A;
        color: #ffffff;
    }
    #topnav.navbar {
        display: block;
        flex-wrap: nowrap;
        border: 0 none;
        border-radius: 0;
        box-shadow: none;
        padding: 10px 0;
        margin-bottom: 0;
    }

    #topnav .col-sm-8 {
        text-align: start;
    }

    #topnav .col-sm-8 > li.widget-container {
        display: block;
        list-style: none;
    }

    #topnav #menu-top-nav {
        display: block;
        width: 100%;
        white-space: normal;
    }
    #topnav #menu-top-nav a {
        color: white;
        font-size: 12px;
        font-weight: 600;
        text-transform: uppercase;
        text-shadow: 2px 2px 6px #888;
        font-family: Roboto, sans-serif;
        text-decoration: none;
    }
    /* topnav icons */
    #topnav li.fa::before {
        margin-right: 5px;
        font-size: 11px;
    }
    #topnav ul {
        margin: 0;
        padding: 0;
    }
    nav .navbar-brand {
        width: auto;
    }
    nav.navbar .nav-item a {
        border-top: none;
    }
    nav.navbar .navbar-nav {
        border-bottom: none;
        background: none;
    }
    nav .show>.dropdown-menu {
        width: auto;
    }
    nav form.search-form {
        margin: 0;
    }
    nav .dropdown-item.active,
    nav .dropdown-item:active,
    nav .dropdown-item.active:hover,
    nav .dropdown-item.active:focus {
        background-color: #f7f7f9;
        color: #13683A !important;
        text-decoration: none;
    }
    nav .nav-link {
        font-size: 20px;
    }
    .navbar-expand-md .navbar-nav .nav-link,
    .navbar-toggleable-md .navbar-nav .nav-link {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
    nav.bg-light,
    nav.bg-faded {
        background-color: #fff;
    }
    nav .navbar-brand {
        display: inline-block;
        font-size: 1.25rem;
        line-height: inherit;
        margin-right: 1rem;
        padding-bottom: 1rem;
        padding-top: 1rem;
        white-space: nowrap;
    }
    nav .navbar-brand {
        display: inline-block;
        font-size: 1.25rem;
        line-height: inherit;
        margin-right: 1rem;
        margin-left: 0;
        padding-bottom: 1rem;
        padding-top: 1rem;
        white-space: nowrap;
        width: auto;
    }
    nav .form-inline .form-group {
        margin-right: 0;
    }
    header {
        position: relative;
        z-index: 2;
    }
    .navbar {
        border: 0 none;
        border-radius: 0;
        box-shadow: none;
        padding: 0;
    }
    /* for wp navwalker */
    .dropdown-submenu {
        position: relative;
    }
    .dropdown-submenu>.dropdown-menu {
        top: 0;
        left: 100%;
        margin-top: 0px;
        margin-left: -1px;
        -webkit-border-radius: 0 6px 6px 6px;
        -moz-border-radius: 0 6px 6px;
        border-radius: 0 6px 6px 6px;
    }
    .dropdown-submenu:hover>.dropdown-menu {
        display: block;
    }
    .menu-item-has-children.dropdown-submenu>a:after {
        display: block;
        content: " ";
        float: right;
        width: 0;
        height: 0;
        border-color: transparent;
        border-style: solid;
        border-width: 5px 0 5px 5px;
        border-left-color: #ccc;
        margin-top: 5px;
        margin-right: -10px;
    }
    .menu-item-has-children.dropdown-submenu:hover>a:after {
        border-left-color: #bbb;
    }
    .dropdown-submenu.pull-left {
        float: none;
    }
    .dropdown-submenu.pull-left>.dropdown-menu {
        left: -100%;
        margin-left: 10px;
        -webkit-border-radius: 0;
        -moz-border-radius: 0;
        border-radius: 0;
    }
    .navbar.navbar-light .breadcrumb .dropdown-menu a,
    .navbar.navbar-light .nav-item .dropdown-menu a {
        color: #000;
        padding: 5px 10px 5px 10px;
    }
    /* on show */
    .navbar.navbar-light .breadcrumb.show,
    .navbar.navbar-light .nav-item.show,
    .navbar.navbar-light .nav-item:has(> .dropdown-menu.show) {
        background-color: #13683A;
    }
    nav li.nav-item.show a.nav-link,
    nav li.nav-item.show a.nav-link:hover,
    nav li.nav-item.show a.nav-link:focus,
    nav li.nav-item:has(> .dropdown-menu.show) > a.nav-link,
    nav li.nav-item:has(> .dropdown-menu.show) > a.nav-link:hover,
    nav li.nav-item:has(> .dropdown-menu.show) > a.nav-link:focus {
        color: #fff;
    }

    #header nav li.nav-item.show > a.nav-link,
    #header nav li.nav-item.show > a.nav-link:hover,
    #header nav li.nav-item.show > a.nav-link:focus,
    #header nav li.nav-item:has(> .dropdown-menu.show) > a.nav-link,
    #header nav li.nav-item:has(> .dropdown-menu.show) > a.nav-link:hover,
    #header nav li.nav-item:has(> .dropdown-menu.show) > a.nav-link:focus {
        color: #fff;
    }
    /*side navigation*/
    #sidenav .current-menu-item a,
    #sidenav .current-menu-item a:hover,
    #sidenav .current-menu-item a:focus {
        color: #13683A !important;
    }
    #sidenav .menu-item a {
        color: #292b2c;
        display: block;
        padding: 6px 0;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
        text-decoration: none;
    }
    #sidenav .menu-item a:hover,
    #sidenav .menu-item a:focus {
        color: #13683A;
        text-decoration: none;
    }
    /* button styles
------------------------------------------------------- */
    .btn.btn-primary,
    .btn.btn-primary:hover,
    .btn.btn-primary:focus,
    .btn.btn-primary:active,
    .btn.btn-primary.active,
    .btn.btn-primary:active:focus,
    .btn.btn-primary:active:hover,
    .btn.btn-primary.active:focus,
    .btn.btn-primary.active:hover,
    .open>.btn.btn-primary.dropdown-toggle,
    .open>.btn.btn-primary.dropdown-toggle:focus,
    .open>.btn.btn-primary.dropdown-toggle:hover,
    .navbar .navbar-nav>li>a.btn.btn-primary,
    .navbar .navbar-nav>li>a.btn.btn-primary:hover,
    .navbar .navbar-nav>li>a.btn.btn-primary:focus,
    .navbar .navbar-nav>li>a.btn.btn-primary:active,
    .navbar .navbar-nav>li>a.btn.btn-primary.active,
    .navbar .navbar-nav>li>a.btn.btn-primary:active:focus,
    .navbar .navbar-nav>li>a.btn.btn-primary:active:hover,
    .navbar .navbar-nav>li>a.btn.btn-primary.active:focus,
    .navbar .navbar-nav>li>a.btn.btn-primary.active:hover,
    .open>.navbar .navbar-nav>li>a.btn.btn-primary.dropdown-toggle,
    .open>.navbar .navbar-nav>li>a.btn.btn-primary.dropdown-toggle:focus,
    .open>.navbar .navbar-nav>li>a.btn.btn-primary.dropdown-toggle:hover {
        background-color: #13683A;
        color: #ffffff;
    }
    .btn {
        margin: 0;
    }
    /* owl-carousel styles
------------------------------------------------------- */
    .facetwp-template {
        margin: 0 0 30px 0;
    }
    #owl-carousel-slideshow h2 {
        margin: 0 0 10px 0;
        font-size: 2rem;
    }
    #owl-carousel-slideshow .owl-text {
        background: rgba(75, 75, 75, 0.5);
        bottom: 40px;
        color: #fff;
        padding: 20px;
        position: absolute;
        right: 80px;
        width: 30%;
        z-index: 1;
        height: auto;
        border-radius: 3px;
    }
    #owl-carousel-slideshow .owl-prev {
        left: 0px;
        position: absolute;
        top: 50%;
        z-index: 1;
    }
    #owl-carousel-slideshow .owl-next {
        right: 0px;
        position: absolute;
        top: 50%;
        z-index: 1;
    }
    #owl-carousel-slideshow .owl-dots {
        bottom: 30px;
        position: absolute;
        width: 100%;
        z-index: 1;
    }
    #owl-carousel-slideshow .owl-carousel {
        margin-top: 0;
    }
    #owl-carousel-slideshow.owl-theme .owl-nav [class*="owl-"] {
        background: rgba(75, 75, 75, 0.3) !important;
        border-radius: 3px;
        color: #fff !important;
        cursor: pointer;
        display: inline-block;
        font-size: 14px;
        margin: 5px;
        padding: 5px 5px 0;
    }
    #owl-carousel-slideshow.owl-theme .owl-nav [class*="owl-"]:hover {
        background: rgba(75, 75, 75, 0.8) !important;
        border-radius: 3px;
        color: #fff !important;
        cursor: pointer;
        display: inline-block;
        font-size: 14px;
        margin: 5px;
        padding: 5px 5px 0;
    }
    #owl-carousel-slideshow .material-icons {
        font-size: 40px;
    }
    /*home carousels*/
    #owl-carousel-sproducts .card-block p,
    #owl-carousel-soffers .card-block p,
    #owl-carousel-fproject .card-block p,
    #owl-carousel-video .card-block p,
    #owl-carousel-soffers-page .card-block p {
        margin: 0;
    }
    #owl-carousel-sproducts .card-block h4,
    #owl-carousel-soffers .card-block h4,
    #owl-carousel-fproject .card-block h4,
    #owl-carousel-video .card-block h4,
    #owl-carousel-soffers-page .card-block h4 {
        margin: 0 0 .75rem 0;
    }
    #owl-carousel-sproducts h3,
    #owl-carousel-soffers h3,
    #owl-carousel-fproject h3,
    #owl-carousel-video h3,
    #owl-carousel-soffers-page h3 {
        margin: 0 0 .75rem 0;
    }
    #owl-carousel-sproducts .owl-carousel,
    #owl-carousel-soffers .owl-carousel,
    #owl-carousel-fproject .owl-carousel,
    #owl-carousel-video .owl-carousel,
    #owl-carousel-soffers-page .owl-carousel {
        margin-top: 10px;
    }
    #owl-carousel-sproducts,
    #owl-carousel-soffers,
    #owl-carousel-fproject,
    #owl-carousel-video,
    #owl-carousel-soffers-page {
        margin-bottom: 50px;
    }
    #owl-carousel-sproducts h3.sproducts,
    #owl-carousel-soffers h3.sproducts,
    #owl-carousel-fproject h3.sproducts,
    #owl-carousel-video h3.sproducts,
    #owl-carousel-soffers-page h3.sproducts {
        margin: 0;
        padding: 0;
    }
    #owl-carousel-sproducts .owl-item.card,
    /*#owl-carousel-soffers .owl-item.card,*/
    #owl-carousel-fproject .owl-item.card,
    #owl-carousel-video .owl-item.card,
    #owl-carousel-soffers-page .owl-item.card {
        background: #f1f1f1;
    }
    #owl-carousel-sproducts .btn-success,
    #owl-carousel-soffers .btn-success,
    #owl-carousel-fproject .btn-success,
    #owl-carousel-video .btn-success,
    #owl-carousel-soffers-page .btn-success {
        background: #00c851 !important;
    }
    #customNavSP.owl-nav [class*="owl-"],
    #customNavSO.owl-nav [class*="owl-"],
    #customNavFP.owl-nav [class*="owl-"],
    #customNavVideo.owl-nav [class*="owl-"],
    #owl-carousel-soffers-page.owl-nav [class*="owl-"] {
        /*background: #d6d6d6;*/
        background: none;
        border-radius: 3px;
        color: #000;
        cursor: pointer;
        display: inline-block;
        font-size: 14px;
        margin: 0;
        padding: 5px 5px 0;
    }
    #customNavSP.owl-nav,
    #customNavSO.owl-nav,
    #customNavFP.owl-nav,
    #customNavVideo.owl-nav,
    #owl-carousel-soffers-page.owl-nav {
        margin-top: 0;
    }
    /*add spacer between title and card image*/
    .owl-theme {
        margin-bottom: 5px;
    }
    #owl-carousel-video .item-video {
        height: 300px;
    }
    .owl-theme .owl-nav .disabled {
        cursor: default;
        opacity: 0.2;
    }
    /*#owl-carousel-video.owl-carousel  {width:90%; margin: 0 auto;}
#owl-carousel-video.owl-carousel img{width:100%;height:auto;}
*/
    /* blog styles
------------------------------------------------------- */
    #blog.post-summary .card {
        background: #f1f1f1;
        margin-bottom: 20px;
        border: none;
    }
    #blog.post-summary .col-sm-3 {
        padding-right: 0;
    }
    #blog.post-summary h5.date {
        background: #006148 none repeat scroll 0 0;
        color: #fff;
        margin: 0;
        padding: 3px;
        text-align: center;
    }
    #blog.post-summary h3.date {
        background: #fff none repeat scroll 0 0;
        margin: 0;
        padding: 5px;
        text-align: center;
        color: #13683A;
    }
    #blog.post-summary h3.title {
        border-top: 1px solid #13683A;
        margin: 0 0 20px;
        padding-top: 5px;
    }
    #blog.post-summary h4.card-title {
        margin: 0 0 10px;
    }
    /*featured project on homepage */
    #blog.post-featured .card {
        background: #f1f1f1;
        margin-bottom: 20px;
    }
    .blog-archive-list li a {
        color: #13683A;
        display: block;
        padding: 6px 0;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
    }
    /* footer styles — prod desktop spacing; background stays MDB grey.darken-1. */
    footer,
    footer.grey.darken-1 {
        color: #ffffff;
        padding: 60px 0;
        margin-top: 100px;
    }

    /* Header main-nav dropdown — prod Material shadow, no BS5 border.
       Zero width and transparent colour are stated on the border shorthand
       rather than through the BS5 dropdown border custom properties, which
       prod's BS4 + MDB child theme never declares. */
    #header nav .dropdown-menu.show {
        background-color: #fff;
        border: 0 none transparent;
        border-radius: 2px;
        box-shadow: rgba(0, 0, 0, 0.16) 0px 2px 5px 0px, rgba(0, 0, 0, 0.12) 0px 2px 10px 0px;
        padding: 8px;
        min-width: 160px;
    }

    #header nav .dropdown-menu .dropdown-item {
        font-size: 15px;
        line-height: 22.5px;
        padding: 5px 10px;
        color: #000;
    }

    /* Header search — prod underline style, not BS5 boxed input */
    #header nav form.search-form {
        margin: 0;
    }

    #header nav form.search-form .search-field,
    #header nav form.search-form .form-control {
        background-color: transparent;
        border: 0 none;
        border-bottom: 1px solid #13683A;
        /* border: 0 none resets the top colour to currentColor (rgb(28, 35, 49));
           production keeps the green here. */
        border-top-color: #13683A;
        border-radius: 0;
        box-shadow: none;
        box-sizing: content-box;
        color: rgb(28, 35, 49);
        font-size: 16px;
        line-height: normal;
        padding: 8px 0 9.6px;
        height: 16px;
        min-height: 0;
        width: 195px;
    }

    #header nav form.search-form .search-field:focus,
    #header nav form.search-form .form-control:focus {
        background-color: transparent;
        border-color: transparent;
        border-bottom: 1px solid #13683A;
        box-shadow: none;
        outline: none;
    }

    /* //END Large devices
------------------------------------------------------- */
}

/* Production navbar logo — pinned outside max-width:991px block (nested
   min-width:992px was dead code). Heights are prod's computed values, not the
   rounded ones: prod sizes the logo off the flex line rather than a pin, and
   the 0.4px it lands away from 151px at xl puts every row below the header a
   whole pixel out. Prod's search input flexes with the same line (175/207/208
   by breakpoint) where the theme pinned it to a flat 195px, which at lg stole
   20px from the menu and squeezed the logo narrower still. */
@media (min-width: 992px) and (max-width: 1199.98px) {
    nav.navbar .navbar-brand img {
        width: auto;
        height: 94.844px;
        max-height: 94.844px;
    }

    #header nav form.search-form .search-field,
    #header nav form.search-form .form-control {
        width: 174.969px;
    }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    /* Home alone resolves the logo to 150.875px at xl; interior pages stay at 151.406px. */
    body.home nav.navbar .navbar-brand img {
        width: auto;
        height: 150.875px;
        max-height: 150.875px;
    }

    body:not(.home) nav.navbar .navbar-brand img {
        width: auto;
        height: 151.406px;
        max-height: 151.406px;
    }

    #header nav form.search-form .search-field,
    #header nav form.search-form .form-control {
        width: 206.656px;
    }
}

@media (min-width: 1400px) {
    nav.navbar .navbar-brand img {
        width: auto;
        height: 154.063px;
        max-height: 154.063px;
    }

    #header nav form.search-form .search-field,
    #header nav form.search-form .form-control {
        width: 208px;
    }
}

/* Header search input line box — prod computed values (style-parity report).
   Pinned on the theme's own selector pair; a blanket `form .form-control` pin
   also hits Gravity Forms on /contact/ and /careers/. */
@media (min-width: 992px) {
    #header nav form.search-form .search-field,
    #header nav form.search-form .form-control {
        /* Production runs this line box off the font size, so it lands at
           23.25px against the 15.5px lg font and 24px against 16px above.
           A flat pixel pin is 0.75px out from xl up. */
        line-height: 1.5;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    #header nav form.search-form .search-field,
    #header nav form.search-form .form-control {
        font-size: 15.5px;
        padding-top: 7.75px;
        padding-bottom: 9.3px;
    }
}

/*// Extra large devices (large desktops, 1200px and up)*/

@media (min-width: 1200px) {
    .container {
        max-width: 100%;
        width: 1280px;
    }

    #topnav.navbar > .container {
        width: 1280px;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
}

/* mobile app
------------------------------------------------------- */
#mobile-app-content .mobile-content-wrap {
	padding: 100px 150px;
	min-height: 300px;
}
#mobileapp .table th,
#mobileapp .table td {
	border-top: 1px solid #fff;
	line-height: 20px;
	padding: 8px;
	text-align: left;
	vertical-align: top;
	font-family: "Roboto",sans-serif;
}

#mobileapp .label, #mobileapp .badge {
	background-color: #fff;
	color: #000;
	display: inline-block;
	font-size: 20px;
	font-weight: normal;
	line-height: 20px;
	padding: 2px 4px;
	text-shadow: none;
	vertical-align: baseline;
	white-space: nowrap;
	font-family: "Roboto",sans-serif;
}

#mobileapp .badge {
	border-radius: 20px;
	padding-left: 6px;
	padding-right: 6px;
	border: 1px solid #000;
}
#mobile-app-content h1 {
		font-weight: 300;
		font-family: 'Roboto', sans-serif;
		/*color: #E8083E;*/
	/*line-height:75px;
	font-size:80px;*/
	line-height:60px;
	font-size:50px;
	margin:0px;
}
#mobile-app-content h2 {
	font-weight: 300;
	font-family: 'Roboto', sans-serif;
	color: #000;
	/*line-height:50px;
	font-size:50px;*/
	line-height:45px;
	font-size:35px;
	margin:0px 0px 20px 0px;
}

/* responsive video */
.flex-video {
	position: relative;
	padding-top: 25px;
	padding-bottom: 67.5%;
	height: 0;
	margin-bottom: 16px;
	overflow: hidden;
}

.flex-video.widescreen { padding-bottom: 57.25%; }
.flex-video.vimeo { padding-top: 0; }

.flex-video iframe,
.flex-video object,
.flex-video embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media only screen and (max-device-width: 800px), only screen and (device-width: 1024px) and (device-height: 600px), only screen and (width: 1280px) and (orientation: landscape), only screen and (device-width: 800px), only screen and (max-width: 767px) {
	.flex-video { padding-top: 0; }
}

/* Bootstrap 5.3 compatibility — BS4 utility aliases in WP page content
------------------------------------------------------- */
.mr-0 { margin-right: 0 !important; }
.mr-1 { margin-right: 0.25rem !important; }
.mr-2 { margin-right: 0.5rem !important; }
.mr-3 { margin-right: 1rem !important; }
.mr-auto { margin-right: auto !important; }
.ml-0 { margin-left: 0 !important; }
.ml-1 { margin-left: 0.25rem !important; }
.ml-2 { margin-left: 0.5rem !important; }
.ml-3 { margin-left: 1rem !important; }
.ml-auto { margin-left: auto !important; }
.pr-0 { padding-right: 0 !important; }
.pr-1 { padding-right: 0.25rem !important; }
.pr-2 { padding-right: 0.5rem !important; }
.pr-3 { padding-right: 1rem !important; }
.pl-0 { padding-left: 0 !important; }
.pl-1 { padding-left: 0.25rem !important; }
.pl-2 { padding-left: 0.5rem !important; }
.pl-3 { padding-left: 1rem !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.float-left { float: left !important; }
.float-right { float: right !important; }
.btn-block {
    display: block;
    width: 100%;
}
@media (max-width: 575.98px) {
    .hidden-xs-down { display: none !important; }
}
@media (max-width: 767.98px) {
    .hidden-sm-down { display: none !important; }
}
@media (max-width: 991.98px) {
    .hidden-md-down { display: none !important; }
}
@media (max-width: 1199.98px) {
    .hidden-lg-down { display: none !important; }
}
.hidden-xl-down { display: none !important; }

.card-block {
    flex: 1 1 auto;
    padding: 1.25rem;
}
/* Production's card-deck is MDB/BS4-alpha6: no negative gutter on the deck, and
   the 15px card margins skip the first and last card. Every Owl slider on the
   site carries `owl-stage card-deck` (assets/js/scripts.js), so the BS4-stable
   shape used here previously pulled each stage 15px left and took 15px off every
   card — 9.4px of lost height in the home three-column row alone. */
.card-deck {
    display: flex;
    flex-flow: row wrap;
    margin-right: 0;
    margin-left: 0;
}
.card-deck .card {
    flex: 1 0 0%;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
}
@media (min-width: 576px) {
    .card-deck .card:not(:first-child) {
        margin-left: 15px;
    }
    .card-deck .card:not(:last-child) {
        margin-right: 15px;
    }
}

/* BS4 grid gutter + BS5 reboot typography parity
------------------------------------------------------- */
:root {
    --bs-gutter-x: 30px;
    --bs-gutter-y: 0;
    --bs-font-sans-serif: Roboto, sans-serif;
    --bs-body-font-family: Roboto, sans-serif;
    --bs-body-font-size: 1rem;
    --bs-body-line-height: 1.5;
    --bs-body-color: rgb(41, 43, 44);
    --bs-body-text-align: start;
    --bs-link-color: #13683A;
    --bs-link-hover-color: #0a582a;
    --bs-link-decoration: none;
    --bs-link-hover-decoration: none;
    --bs-nav-link-color: rgb(33, 33, 33);
    --bs-nav-link-hover-color: rgb(33, 33, 33);
    --bs-nav-link-font-weight: 300;
    --bs-navbar-color: rgb(33, 33, 33);
    --bs-navbar-hover-color: rgb(33, 33, 33);
    --bs-navbar-active-color: rgba(0, 0, 0, 0.9);
    --bs-card-spacer-x: 1.25rem;
    --bs-card-spacer-y: 1.25rem;
    --bs-border-radius: 0.3rem;
}

/* Production root — computed body is 15px on live prod (style-parity report). */
html {
    font-size: 15px;
}

.row {
    margin-right: -15px;
    margin-left: -15px;
}

/* BS4-alpha6 put the 15px gutter on the column class itself; BS5 moved it to
   `.row > *`, so a column dropped straight into a container — the shape
   page-careers.php and several interior templates use — renders flush to the
   container edge and every paragraph in it wraps 30px wider than production. */
.container > [class^="col-"],
.container > [class*=" col-"],
.container-fluid > [class^="col-"],
.container-fluid > [class*=" col-"] {
    padding-right: 15px;
    padding-left: 15px;
}

.row > * {
    padding-right: 15px;
    padding-left: 15px;
}

.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
    padding-right: 15px;
    padding-left: 15px;
}

/* header container padding */
#header .container {
    max-width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

/* BS4-alpha6 sized .container with `width`, BS5.3 uses `max-width`, so the
   max-width:100% above is what neuters the 960px lg constraint and runs the
   header full-bleed — every header element then sits 16px left of prod. */
@media (min-width: 992px) and (max-width: 1199.98px) {
    #header .container {
        width: 960px;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
}

/* body reboot — production computed values (style-parity report) */
body {
    font-family: var(--bs-body-font-family);
    color: rgb(41, 43, 44);
    font-size: 15px;
    line-height: 22.5px;
}

/* heading scale — override BS5 %heading defaults */
h1,
.h1 {
    color: rgb(41, 43, 44);
    font-size: 45px;
    line-height: 49.5px;
    margin-top: 22.5px;
    margin-bottom: 11.25px;
}

h2,
.h2 {
    color: rgb(41, 43, 44);
    font-size: 22.5px;
    line-height: 24.75px;
    margin-top: 22.5px;
    margin-bottom: 11.25px;
}

h3,
.h3 {
    color: rgb(41, 43, 44);
    border-top-color: rgb(41, 43, 44);
    border-bottom-color: rgb(41, 43, 44);
    font-size: 22.5px;
    line-height: 24.75px;
    margin-top: 22.5px;
    margin-bottom: 11.25px;
}

/* Main-content h3 — prod dark grey; GF/UserWay load after style.css and inherit link green. */
#content h3:not(.green-text):not(.white-text),
article h3:not(.green-text):not(.white-text) {
    color: rgb(41, 43, 44) !important;
    border-top-color: rgb(41, 43, 44) !important;
    border-bottom-color: rgb(41, 43, 44) !important;
}

h4,
.h4 {
    color: rgb(41, 43, 44);
    font-size: 15px;
    line-height: 16.5px;
    margin-top: 22.5px;
    margin-bottom: 11.25px;
}

h5,
.h5 {
    color: rgb(41, 43, 44);
    font-size: 15px;
    line-height: 16.5px;
}

h6,
.h6 {
    color: rgb(41, 43, 44);
}

#content h1 {
    color: rgb(41, 43, 44);
    font-size: 45px;
    line-height: 49.5px;
    margin-top: 22.5px;
    margin-bottom: 11.25px;
}

#content h2 {
    color: rgb(41, 43, 44);
    font-size: 30px;
    line-height: 33px;
    margin-top: 22.5px;
    margin-bottom: 11.25px;
}

article h1 {
    color: rgb(41, 43, 44);
    font-size: 45px;
    line-height: 49.5px;
    margin-top: 22.5px;
    margin-bottom: 11.25px;
}

article h2 {
    color: rgb(41, 43, 44);
    font-size: 30px;
    line-height: 33px;
    margin-top: 22.5px;
    margin-bottom: 11.25px;
}

.card-block .card-text,
.card-body .card-text,
.card-text {
    color: rgb(41, 43, 44);
    font-size: 15px;
    line-height: 22.5px;
}

.card-title {
    color: rgb(41, 43, 44);
    font-size: 15px;
    line-height: 16.5px;
    margin-top: 22.5px;
    margin-bottom: 11.25px;
}

.card-block h5,
.card-body h5 {
    font-size: 15px;
}

/* Production steps root em at lg (992–1199): 15.5px body; sm/md stay 15px. */
@media (min-width: 992px) and (max-width: 1199.98px) {
    html {
        font-size: 15.5px;
    }

    body {
        font-size: 15.5px;
        line-height: 23.25px;
    }

    h1,
    .h1 {
        font-size: 46.5px;
        line-height: 51.15px;
        margin-top: 23.25px;
        margin-bottom: 11.625px;
    }

    h2,
    .h2 {
        font-size: 23.25px;
        line-height: 25.575px;
        margin-top: 23.25px;
        margin-bottom: 11.625px;
    }

    h3,
    .h3 {
        font-size: 23.25px;
        line-height: 25.575px;
        margin-top: 23.25px;
        margin-bottom: 11.625px;
    }

    h4,
    .h4 {
        font-size: 17.4375px;
        line-height: 19.1812px;
        margin-top: 23.25px;
        margin-bottom: 11.625px;
    }

    h5,
    .h5 {
        font-size: 15.5px;
        line-height: 17.05px;
    }

    #content h1,
    article h1 {
        font-size: 46.5px;
        line-height: 51.15px;
        margin-top: 23.25px;
        margin-bottom: 11.625px;
    }

    #content h2,
    article h2 {
        font-size: 31px;
        line-height: 34.1px;
        margin-top: 23.25px;
        margin-bottom: 11.625px;
    }

    .card-block .card-text,
    .card-body .card-text,
    .card-text {
        font-size: 15.5px;
        line-height: 23.25px;
    }

    .card-title {
        font-size: 17.4375px;
        line-height: 19.1812px;
        margin-top: 23.25px;
        margin-bottom: 11.625px;
    }

    .card-block h5,
    .card-body h5 {
        font-size: 15.5px;
    }
}

/* Production root at xl+ (1200+): 16px body computed. */
@media (min-width: 1200px) {
    html {
        font-size: 16px;
    }

    body {
        font-size: 16px;
        line-height: 24px;
    }

    h1,
    .h1 {
        font-size: 48px;
        line-height: 52.8px;
        margin-top: 24px;
        margin-bottom: 12px;
    }

    h2,
    .h2 {
        font-size: 24px;
        line-height: 26.4px;
        margin-top: 24px;
        margin-bottom: 12px;
    }

    h3,
    .h3 {
        font-size: 24px;
        line-height: 26.4px;
        margin-top: 24px;
        margin-bottom: 12px;
    }

    h4,
    .h4 {
        font-size: 18px;
        line-height: 19.8px;
        margin-top: 24px;
        margin-bottom: 12px;
    }

    h5,
    .h5 {
        font-size: 16px;
        line-height: 17.6px;
    }

    #content h1,
    article h1 {
        font-size: 48px;
        line-height: 52.8px;
        margin-top: 24px;
        margin-bottom: 12px;
    }

    #content h2,
    article h2 {
        font-size: 32px;
        line-height: 35.2px;
        margin-top: 24px;
        margin-bottom: 12px;
    }

    .card-block .card-text,
    .card-body .card-text,
    .card-text {
        font-size: 16px;
        line-height: 24px;
    }

    .card-title {
        font-size: 18px;
        line-height: 19.8px;
        margin-top: 24px;
        margin-bottom: 12px;
    }

    .card-block h5,
    .card-body h5 {
        font-size: 16px;
    }
}

/* header main nav links */
#header .navbar-nav .nav-link {
    color: rgb(33, 33, 33);
    font-family: Roboto, sans-serif;
    font-size: 20px;
    font-weight: 300;
    line-height: 30px;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 12px;
    padding-right: 12px;
    position: relative;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    text-decoration: none;
    white-space: normal;
    overflow: hidden;
}

/* Mobile collapsed menu — must follow the global 20px desktop pin above. */
@media (max-width: 991.98px) {
    #header .navbar-nav .nav-link {
        font-size: 15px;
        line-height: 22.5px;
        padding-top: 7.5px;
        padding-bottom: 7.5px;
        padding-left: 10px;
        padding-right: 10px;
    }
}

#header .navbar-nav .nav-link.dropdown-toggle::after {
    margin-left: 6px;
    vertical-align: middle;
}

#header .navbar-nav .nav-link:hover,
#header .navbar-nav .nav-link:focus {
    text-decoration: none;
}

#header .navbar-nav .nav-link.active,
#header .navbar-nav .active > .nav-link {
    color: rgba(0, 0, 0, 0.9);
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    #header .navbar-nav .nav-link {
        width: 107.453px;
        height: 80px;
        padding-left: 11.625px;
        padding-right: 11.625px;
    }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    #header .navbar-nav .nav-link {
        height: 80px;
    }
}

@media (min-width: 1400px) {
    #header .navbar-nav .nav-link {
        height: 50px;
    }
}

/* dark banner / form-header headings — MDB .card .form-header parity */
.card .form-header,
.form-header.green {
    color: rgb(255, 255, 255);
}

/* Footer sidebar widget h3 green accent — prod sm/md only.
   No page-child on this site; style-parity visible-first h3 is .textwidget on index
   pages and .col-sm-8 content h3 on interior product/service pages. */
@media (max-width: 991.98px) {
    .textwidget.custom-html-widget h3 {
        color: rgb(19, 104, 58);
        border-top-color: rgb(19, 104, 58);
        border-bottom-color: rgb(19, 104, 58);
    }
}

.form-header.green h3,
footer #signupform .form-header h3,
footer #signupform h3.gform_title {
    color: rgb(255, 255, 255);
    border-top-color: rgb(255, 255, 255);
    border-bottom-color: rgb(255, 255, 255);
}

/* Footer Gravity Form #4 — prod 15px body scale (19.5px label / 7.5px gap / 31.5px input).
   The 33px input pin and em label on the 15.5px GF stack added 3px per footer. */
footer #signupform .gfield_label {
    font-size: 15px;
    line-height: 19.5px;
    margin-bottom: 7.5px;
}

footer #signupform input[type="text"],
footer #signupform input[type="email"] {
    height: 31.5px;
    box-sizing: border-box;
}

@media (min-width: 992px) {
    footer #signupform .gfield_label {
        font-size: 15.5px;
        line-height: 20.15px;
        margin-bottom: 7.75px;
    }

    footer #signupform input[type="text"],
    footer #signupform input[type="email"] {
        height: 32.55px;
    }
}

@media (min-width: 1200px) {
    footer #signupform .gfield_label {
        font-size: 16px;
        line-height: 20.8px;
        margin-bottom: 8px;
    }

    footer #signupform input[type="text"],
    footer #signupform input[type="email"] {
        height: 33.6px;
    }
}

footer #signupform .gform_footer {
    padding-top: 16px;
    padding-bottom: 10px;
}

/* Footer mobile accordion + signup — prod MDB btn + GF #4 footer tiers (batch 4). */
@media (max-width: 991.98px) {
    footer .dropdown > a.btn,
    footer .dropdown a.btn.btn-block {
        padding: 12.75px 31.95px;
        font-size: 12px;
        line-height: 15px;
        box-sizing: border-box;
    }
}

/* Contact + interior Gravity Forms — prod label spacing and half-field layout (batch 4).
   Production keeps the label box and the text control on the font size, so both
   step with the 15/15.5/16px body scale; the theme's flat pixel pins only ever
   matched one breakpoint. Selects are left alone — prod sizes those from the UA. */
.gform_wrapper .top_label .gfield_label,
.gform_wrapper .top_label legend.gfield_label,
.gform_wrapper .gfield_label,
.gform_wrapper .gform-field-label {
    line-height: 1.3;
    margin-bottom: 0.5em;
}

/* Production sizes these fields at 2.1em. The Gravity Forms stylesheet shipped
   on the upgraded install adds a flat height: 32px on a six-:not() selector
   that outranks a plain [type=] pin, so the :not() chain is mirrored here to
   win on specificity rather than with !important. */
.gform_wrapper .ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]) {
    height: 2.1em;
}

@media (min-width: 641px) {
    .gform_wrapper .top_label li.gfield.gf_left_half,
    .gform_wrapper .top_label li.gfield.gf_right_half {
        display: inline-block;
        vertical-align: top;
        width: 50%;
        padding-right: 16px;
        float: none;
    }

    .gform_wrapper .top_label li.gfield.gf_right_half {
        padding-right: 0;
    }
}

/* Careers ClearCompany iframe — iFrameResizer writes an inline pixel width from
   whatever the embed measured on first paint, and on the upgraded grid that came
   out 30px wide (the column gutter above). Production's embed is always the
   column content box — 486/678/900/1110/1220 by breakpoint — and the inner
   document's reflow at the wrong width is what shifted the whole page below it,
   so the inline width has to be overridden rather than re-pinned per breakpoint. */
body.careers #inlineframe,
body.careers iframe[id^="iFrameResizer"] {
    box-sizing: border-box;
    /* Production leaves the embed inline, so the line box it sits in contributes
       a 7px descender below it. Switching to block drops that gap and pulls the
       footer up by 7px at every breakpoint. */
    display: inline;
    width: 100% !important;
}

body.careers .col-sm-12.col-md-12.col-lg-10,
body.careers .container > .row > .col-sm-12 {
    position: relative;
}

@media (max-width: 767.98px) {
    body.careers .col-sm-12.col-md-12.col-lg-10,
    body.careers .container .row > .col-sm-12 {
        padding-left: 15px;
        padding-right: 15px;
    }

    body.careers .container-fluid > .row > .banner {
        max-width: none;
    }

    body.careers #inlineframe,
    body.careers iframe[id^="iFrameResizer"] {
        max-width: none;
        min-height: 0;
    }
}

/* Home three-column carousel card-blocks — prod heights at lg (pass-17 batch 2). */
@media (min-width: 992px) and (max-width: 1199.98px) {
    #owl-carousel-fproject .card-block {
        min-height: 197px;
        max-height: 197px;
        overflow: hidden;
    }

    #owl-carousel-soffers .card-block {
        min-height: 58px;
        max-height: 58px;
        overflow: hidden;
    }

    #owl-carousel-bboffers .card-block {
        min-height: 81px;
        max-height: 81px;
        overflow: hidden;
    }
}

/* Home carousel card-blocks — prod heights at xl (batch 4). */
@media (min-width: 1200px) and (max-width: 1399.98px) {
    #owl-carousel-fproject .card-block {
        min-height: 180px;
        max-height: 180px;
        overflow: hidden;
    }

    #owl-carousel-soffers .card-block {
        min-height: 60px;
        max-height: 60px;
        overflow: hidden;
    }

    #owl-carousel-bboffers .card-block {
        min-height: 84px;
        max-height: 84px;
        overflow: hidden;
    }
}

/* Home carousel card-blocks — prod heights at xxl (batch 4). */
@media (min-width: 1400px) {
    #owl-carousel-fproject .card-block {
        min-height: 156px;
        max-height: 156px;
        overflow: hidden;
    }

    #owl-carousel-soffers .card-block {
        min-height: 60px;
        max-height: 60px;
        overflow: hidden;
    }

    #owl-carousel-bboffers .card-block {
        min-height: 84px;
        max-height: 84px;
        overflow: hidden;
    }
}

/* homepage carousel h2 — prod breakpoint tiers */
#owl-carousel-slideshow h2,
#owl-carousel-slideshow .owl-text h2 {
    color: rgb(255, 255, 255);
    font-size: 22.5px;
    line-height: 24.75px;
    border-top-color: rgb(255, 255, 255);
    border-bottom-color: rgb(255, 255, 255);
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    #owl-carousel-slideshow h2,
    #owl-carousel-slideshow .owl-text h2 {
        font-size: 31px;
        line-height: 34.1px;
    }
}

@media (min-width: 1200px) {
    #owl-carousel-slideshow h2,
    #owl-carousel-slideshow .owl-text h2 {
        font-size: 32px;
        line-height: 35.2px;
    }
}

/* findapro content h2 — prod breakpoint tiers (sampled h2 outside carousel) */
body.findapro h2 {
    font-size: 30px;
    line-height: 33px;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    body.findapro h2 {
        font-size: 31px;
        line-height: 34.1px;
    }
}

@media (min-width: 1200px) {
    body.findapro h2 {
        font-size: 32px;
        line-height: 35.2px;
    }
}

/* homepage hero + green content sections — color on non-carousel green blocks */
.green h2 {
    color: rgb(255, 255, 255);
    border-top-color: rgb(255, 255, 255);
    border-bottom-color: rgb(255, 255, 255);
}

/* Homepage intro h2 — prod uses the #content/article scale at every breakpoint,
   not the default h2 tier; below lg the difference is a whole extra line. */
body.home .col-lg-8 h2 {
    font-size: 30px;
    line-height: 33px;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    body.home .col-lg-8 h2 {
        font-size: 31px;
        line-height: 34.1px;
    }
}

@media (min-width: 1200px) {
    body.home .col-lg-8 h2 {
        font-size: 32px;
        line-height: 35.2px;
    }
}

.card .form-header h2,
.form-header.green h2 {
    color: rgb(255, 255, 255);
    border-top-color: rgb(255, 255, 255);
    border-bottom-color: rgb(255, 255, 255);
}

/* locations page heading spacing — prod tiers. Production runs two scales on
   this page: 15px under the main content headings, but the sidebar widget
   headings stay on the global 11.25px, which is what shifted the page by
   3.75px at sm and md. */
body.locations h3 {
    margin-bottom: 15px;
}

@media (max-width: 991.98px) {
    body.locations .custom-html-widget h3 {
        margin-bottom: 11.25px;
    }
}

/* Interior content — prod p margin-bottom tiers (BS5 reboot 1rem drift). */
body.products .col-lg-10 p,
body.services .col-lg-10 p,
body.professionals .col-lg-10 p {
    margin-bottom: 15px;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    body.products .col-lg-10 h2,
    body.services .col-lg-10 h2,
    body.professionals .col-lg-10 h2,
    body.products .col-lg-10 h3,
    body.services .col-lg-10 h3,
    body.professionals .col-lg-10 h3 {
        margin-bottom: 11.625px;
    }

    body.contact .col-lg-10 p,
    body.locations .col-lg-10 p,
    body.page .col-lg-10 p,
    body.products .col-lg-10 p,
    body.services .col-lg-10 p,
    body.professionals .col-lg-10 p {
        margin-bottom: 15.5px;
    }
}

@media (min-width: 1200px) {
    body.products .col-lg-10 h2,
    body.services .col-lg-10 h2,
    body.professionals .col-lg-10 h2,
    body.products .col-lg-10 h3,
    body.services .col-lg-10 h3,
    body.professionals .col-lg-10 h3 {
        margin-bottom: 12px;
    }

    body.contact .col-lg-10 p,
    body.locations .col-lg-10 p,
    body.page .col-lg-10 p,
    body.products .col-lg-10 p,
    body.services .col-lg-10 p,
    body.professionals .col-lg-10 p {
        margin-bottom: 16px;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    body.locations h3 {
        margin-bottom: 11.625px;
    }
}

@media (min-width: 1200px) {
    body.locations h3 {
        margin-bottom: 12px;
    }
}

/* Prod keeps the location cards on the default heading margin — 15.5px at lg,
   16px above — so the page-level tier above must not reach inside them or
   every card row runs 3.9px short and drags the footer up with it. */
@media (min-width: 992px) and (max-width: 1199.98px) {
    body.locations .card h3 {
        margin-bottom: 15.5px;
    }
}

@media (min-width: 1200px) {
    body.locations .card h3 {
        margin-bottom: 16px;
    }
}

/* primary button — prod MDB green (style-parity contractor-listing / NinjaTables) */
.btn-primary {
    font-family: sans-serif;
    background-color: rgb(0, 97, 72);
    border-color: rgb(0, 97, 72);
}

.navbar-success {
    background-color: #13683A;
}

.bg-faded {
    background-color: #fff;
}

/* UserWay accessibility widget — match production injected styles */
.uwy .uai.userway_dark {
    background: rgb(0, 61, 104) !important;
    background-color: rgb(0, 61, 104) !important;
}

body .uwy[class*="userway_p"] .userway_buttons_wrapper,
body .uwy .userway_buttons_wrapper {
    position: fixed !important;
    top: 450px !important;
    bottom: 406px !important;
    transform: matrix(1, 0, 0, 1, -44, -22) !important;
    left: calc(100vw - 21px) !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    right: auto !important;
}

/* NinjaTables / Footable — prod BS4 tel links wrap tighter in narrow phone column. */
.ninja_table_wrapper table tbody td a {
    word-break: break-all;
    overflow-wrap: anywhere;
}

/* The contractor table is auto-layout and the two engines split the same 706px
   of track differently at md — company gains 8px, phone loses it — which is
   enough to unwrap two company names and take 42px off the table. Production's
   own track widths, md only; every other breakpoint already agrees. */
@media (min-width: 768px) and (max-width: 991.98px) {
    body.contractor-listing table.ninja_footable .ninja_column_0 {
        width: 133.11px;
    }

    body.contractor-listing table.ninja_footable .ninja_column_2 {
        width: 87.03px;
    }
}

.ninja_table_wrapper .btn-primary,
.ninja_table_wrapper .btn.btn-primary {
    background-color: rgb(0, 97, 72);
    border-color: rgb(0, 97, 72);
    border-top-color: rgb(46, 109, 164);
    border-bottom-color: rgb(46, 109, 164);
    color: #ffffff;
}

/* Mobile header — production takes the toggler out of flow at the container's
   top-right, leaving the brand alone as a flex item at the container's left
   edge. BS5 keeps the toggler in flow, which centres the brand, drops the
   toggler to mid-height on the left, and paints the child theme's orange border
   that production never shows. The BS5 .navbar-brand padding (0.3125rem vs the
   0.25rem production resolves to) also makes the header 1.88px taller, which
   shifts every page below it. */
@media (max-width: 991.98px) {
    /* MDB Material elevation — prod paints this on the whole mobile nav panel. */
    #header nav.navbar {
        border-radius: 2px;
        box-shadow: rgba(0, 0, 0, 0.16) 0px 2px 5px 0px, rgba(0, 0, 0, 0.12) 0px 2px 10px 0px;
    }

    #header nav.navbar > .container {
        position: relative;
        display: block;
        padding-left: 0;
        padding-right: 0;
    }

    #header nav.navbar .navbar-toggler {
        position: absolute;
        top: 0;
        right: 0;
        border-width: 0;
        border-radius: 2px;
    }

    #header nav.navbar .navbar-brand {
        display: inline-block;
        padding-top: 3.75px;
        padding-bottom: 3.75px;
    }
}

/* Gravity Forms submit (footer signup + Popup Maker newsletter) — production
   loads MDB, whose Waves script wraps the submit in an
   <i class="btn green waves-input-wrapper"> and blanks the input itself, so the
   green box on production is the wrapper, not the input. MDB is gone after the
   upgrade, so pin the bare input to that wrapper's measured box. The extra 16px
   is the inner input's Gravity Forms margin, which production paints inside the
   green box; folding it into the padding keeps the label over the same spot. */
.pum-content .gform_wrapper .gform_footer input[type="submit"],
footer #signupform .gform_footer input[type="submit"],
footer #signupform .gform_button {
    box-sizing: border-box;
    display: inline-block;
    width: 143.63px;
    height: 85.88px;
    margin: 6px;
    padding: 0.85rem 2.13rem calc(0.85rem + 16px);
    font-size: 0.8rem;
    line-height: 1.25;
    text-transform: none;
}

@media (min-width: 641px) {
    .pum-content .gform_wrapper .gform_footer input[type="submit"],
    footer #signupform .gform_footer input[type="submit"],
    footer #signupform .gform_button {
        width: 159.63px;
        height: 57.88px;
        padding: 0.85rem calc(2.13rem + 16px) 0.85rem 2.13rem;
    }
}

@media (min-width: 992px) {
    .pum-content .gform_wrapper .gform_footer input[type="submit"],
    footer #signupform .gform_footer input[type="submit"],
    footer #signupform .gform_button {
        width: 164.39px;
        height: 59.81px;
        margin: 0;
    }
}

@media (min-width: 1200px) {
    .pum-content .gform_wrapper .gform_footer input[type="submit"],
    footer #signupform .gform_footer input[type="submit"],
    footer #signupform .gform_button {
        width: 169.23px;
        height: 61.73px;
    }
}

/* Contact page form — same Waves wrapper story as the footer signup, measured
   on this button's shorter label. */
#gform_wrapper_7 .gform_footer input[type="submit"],
#gform_wrapper_7 .gform_footer .gform_button {
    box-sizing: border-box;
    display: inline-block;
    width: 127.61px;
    height: 85.88px;
    margin: 6px;
    padding: 0.85rem 2.13rem calc(0.85rem + 16px);
    font-size: 0.8rem;
    line-height: 1.25;
    text-transform: none;
}

@media (min-width: 641px) {
    #gform_wrapper_7 .gform_footer input[type="submit"],
    #gform_wrapper_7 .gform_footer .gform_button {
        width: 143.61px;
        height: 57.88px;
        padding: 0.85rem calc(2.13rem + 16px) 0.85rem 2.13rem;
    }
}

@media (min-width: 992px) {
    #gform_wrapper_7 .gform_footer input[type="submit"],
    #gform_wrapper_7 .gform_footer .gform_button {
        width: 147.84px;
        height: 59.81px;
        margin: 0;
    }
}

@media (min-width: 1200px) {
    #gform_wrapper_7 .gform_footer input[type="submit"],
    #gform_wrapper_7 .gform_footer .gform_button {
        width: 152.16px;
        height: 61.73px;
    }
}

/* Active menu item — MDB painted this tint on production; it went with MDB. */
#bs4navbar .nav-item.active {
    background-color: rgba(158, 158, 158, 0.2);
}

/* Dropdown item line box — prod computed value (style-parity report). */
.dropdown-menu .dropdown-item {
    line-height: 19.5px;
}

/* Navbar brand line box — prod computes 29.0625px, the upgraded build 23.25px,
   which shrinks the brand box and shifts the collapsed nav beside it. */
a.navbar-brand {
    line-height: 29.0625px;
}

