:root {
    --primary-color: #ED1C25;
    --secondary-color: #000;
    --body-background: #FFF;
    --font-body: "franklin-gothic-urw", sans-serif;
    --font-heading: "Rubik", sans-serif;
    --font-color: #000;
    --font-heading-small: "sweet-square-pro", sans-serif;

    --black: #000;
    --white: #fff;
    --grey: #7E7E7E;
    --greydark: #363636;
    --greymid: #EFEFEF;
    --greylight: #FAFAFA;
    --reddark: #cc0000;
    --max-width: 1366px;
    --padding: 2em;
    --gutter: 1.5rem;

    /*footer*/
    --footer-font-size: 15px;

    /*login page*/
    --button: #0056b3;
    /*error page*/
    --a-color: #e67600;
}

.component-page .grecaptcha-badge {
    visibility: hidden !important;
}

/* Normalize CSS to ensure consistency across browsers */
html {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    max-width: 100%;
    overflow-x: hidden;
}

*,
*:before,
*:after {
    box-sizing: inherit;
    margin: 0;
    padding: 0;
}

body {
    margin: 0;
    padding: 0;
    font-size: 18px;
    color: var(--font-color);
    line-height: 1.5;
    background-color: var(--body-background);
    font-family: var(--font-body);
    font-weight: 400;
    font-style: normal;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

p {
    margin-bottom: 1em;
}

p:last-child {
    margin-bottom: 0
}

strong,
b {
    font-weight: 600
}

a,
a.list-group-item {
    text-decoration: none;
    color: var(--primary-color);
    transition: all 0.3s ease;
    background: transparent
}

a:hover,
a.list-group-item:hover {
    color: var(--secondary-color);
}

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

a:has(> span.button) {
    display: inline-block;
}
.icons>.float-end {
    display: none;
}

.is-hidden {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    pointer-events: none;
    transition: all 0.3s ease;
}

td {
    vertical-align: top;
}
.responsive-table-container {
    overflow-x: auto;
}

.responsive-table {
    width: 100%;
    min-width: 800px;
    border-collapse: collapse;
}

.responsive-table-container-alt {
    overflow-x: none;
}

.responsive-table-container-alt .responsive-table {
    width: 100%;
    min-width: 0;
    border-collapse: collapse;
}

.icon-eye:before {
    font-family: 'Font Awesome 5 Free';
    content: '\f06e';
    font-weight: 900;
}

.icon-fw {
    display: inline-block;
    width: 1.25em;
    text-align: center;
}

table.table-bordered,
.product table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--grey);
    margin: 0.5em 0 1.5em;
    min-width: 800px;
}

table.table-bordered th,
.product table th {
    background-color: var(--greylight);
    color: var(--black);
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid var(--greymid);
    border-color: var(--greymid);
    font-size: 14px;
    text-transform: uppercase;
}

table.table-bordered td,
.product table td {
    padding: 12px 15px;
    border-bottom: 1px solid var(--grey);
    border-color: var(--greymid);
    font-size: 14px;
    color: var(--greydark);
    background-color: var(--white);
}

table.table-bordered tbody tr:nth-child(even),
.product table tbody tr:nth-child(even) {
    background-color: var(--greylight);
}

table.table-bordered tbody tr:hover,
.product table tbody tr:hover {
    background-color: var(--greylight);
}

table.table-bordered td:first-child,
.product table td:first-child {
    font-weight: 500;
}
.product #list_product_demofiles table {
    padding:0;
    border:0;
}
.product #list_product_demofiles table td {
    border:0;
    padding:0;
    font-size: 18px;
}
.button a,
a.button,
.dwp-cta-module .cta-module-content .right-column a.button,
.control-group.box_button .button {
    background-color: var(--primary-color);
    color: var(--white);
    text-decoration: none;
    border-radius: 0;
    display: inline-block;
    transition: all 0.3s ease;
    padding: 0.85em 1.5em;
    line-height: 1;
    position: relative;
}

.button a:hover,
a.button:hover,
.dwp-cta-module .cta-module-content .right-column a.button:hover,
.site .btn:hover {
    background: var(--primary-color);
    color: var(--white);
    border-radius: 30px;
}

#main-content a.button:after,
#main-content .button a:after,
.dwp-hero a.button:after,
.dwp-hero .button a:after,
.dwp-cta-module .cta-module-content .right-column a.button:after {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f105";
    padding-left: 10px;
    position: relative;
    top: 1px;
}

ul {
    list-style-type: none;
}

.item-page ul,
.knowledgebase-item ul,
#info-panel ul,
.jshop.productfull .jshop_prod_description ul {
    list-style-type: square;
    padding-left: 20px;
}

.item-page ol,
.knowledgebase-item ol,
#info-panel ol,
.jshop.productfull .jshop_prod_description ol {
    list-style-type: decimal;
    padding-left: 20px;
}

.item-page ul li::marker,
.item-page ol li::marker,
#info-panel ul li::marker,
#info-panel ol li::marker,
.jshop.productfull .jshop_prod_description ul li::marker,
.jshop.productfull .jshop_prod_description ol li::marker {
    color: var(--primary-color);
}

.list-marker-black .item-page ul li::marker,
.list-marker-black .item-page ol li::marker {
    color: var(--black);
}

ul.spaced-2col-layout,
ul.spaced-2col-layout li {
    margin: 0;
    padding: 0;
    list-style: none;
}

ul.spaced-2col-layout {
    display: flex;
    flex-wrap: wrap;
    gap: 2em 6em;
}

ul.spaced-2col-layout li:nth-child(odd) {
    flex-basis: calc(70% - 6em);
    flex-grow: 0;
}

ul.spaced-2col-layout li:nth-child(even) {
    flex-basis: 30%;
    flex-grow: 0;
    text-align: right;
}

ul.spaced-2col-layout li {
    flex-shrink: 0;
}

.two-column-list,
#info-panel ul {
    columns: 2;
    column-gap: 3em;
}

.two-column-list li,
#info-panel ul li {
    break-inside: avoid;
    padding: 10px 0;
}

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

img[style*="float: right"] {
    margin: 0 0 2em 2em;
}

img[style*="float: left"] {
    margin: 0 2em 2em 0;
}

button {
    cursor: pointer;
}

/* Typography */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    font-weight: 400;
    margin-bottom: 0.5em;
}
.layout-nohero h1 {
    margin-bottom:0.25em;
}
h1,
.h1 {
    font-size: 64px;
}

.item-pageresources h1 {
    font-size: 50px
}

h2,
.h2,
.page-header h1{
    font-size: 54px;
}

.item-pageresources h2,
.item-page .com-content-article__body h2,
.category-desc h1 {
    font-size: 44px
}

h3,
.h3,
.events-announcements #main-content h2 {
    font-size: 28px;
}

.item-page .com-content-article__body h3 {
    font-size: 30px
}

.item-pageresources h3 {
    font-size: 34px
}

h4,
h5,
h6 {
    font-size: 26px;
}

.category-desc h1 {
    margin-bottom:1em;
}
.skip-link {
  position: absolute;
  left: -999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  z-index: 100;
}

.skip-link:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 10px;
  padding: 8px 16px;
  background: #000;
  color: #fff;
  text-decoration: none;
}
.menu-heading {
    font-size: 38px;
    line-height: 1.2;
}

p:last-child {
    margin: 0;
    padding: 0;
}

[id] {
    scroll-margin-top: 150px;
}

hr {
    margin: 2em 0;
    color: inherit;
    border: 0;
    border-top: 1px solid var(--black);
    opacity: .25;
    width: 100%;
}

/* Global Form styles */
input,
select,
textarea,
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
.formControls select,
.formControls textarea,
.formContainer .formControls input:not(.form-check-input),
.formContainer .formControls textarea,
.formContainer .formControls select,
.jshop_register .controls select {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border-radius: 0;
    background-color: var(--white);
    transition: border-color 0.3s;
    background-color: var(--greymid);
    border: 1px solid var(--grey)
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"] {
    line-height: 24px;
}

input:active,
select:active,
textarea:active,
input:focus,
select:focus,
textarea:focus,
input[type="text"]:active,
input[type="text"]:focus,
input[type="password"]:active,
input[type="password"]:focus,
input[type="email"]:active,
input[type="email"]:focus,
input[type="tel"]:active,
input[type="tel"]:focus,
.formControls select:active,
.formControls select:focus,
.formControls textarea:active,
.formControls textarea:focus,
.formContainer .formControls input:not(.form-check-input):active,
.formContainer .formControls input:not(.form-check-input):focus,
.formContainer .formControls textarea:active,
.formContainer .formControls textarea:focus,
.formContainer .formControls select:active,
.formContainer .formControls select:focus,
.jshop_register .controls select:active,
.jshop_register .controls select:focus {
    background-color: var(--white);
    border-color: var(--secondary-color)
}

input:focus,
select:focus,
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
.formControls select:focus,
.formControls textarea:focus,
.formContainer .formControls input:not(.form-check-input):focus,
.formContainer .formControls textarea:focus,
.formContainer .formControls select:focus,
.jshop_register .controls select:focus {
    outline: 2px solid var(--grey);;
    outline-offset: 2px;
}

input[type="password"] {
    margin-bottom: 0
}

input:focus-visible {
    outline: none;
}

.acym_module_form label,
.acym_module_form label span,
.acym_module_form input {
    display: block;
    max-width: 100%;
    width: 100%;
}
.acym_module_form input[type=button] {
    max-width: 100%;
}
.form-check .form-check-input {
    margin-top: 0;
    border-color: var(--grey);
    border-radius: 2px;
}

.formContainer .form-check .form-check-input {
    position: relative;
    top: 2px
}

.control-group .controls .form-control.invalid,
.control-group .controls .form-control:focus,
.form-control:focus {
    border-color: var(--primary-color)
}

.control-group .controls .form-control:focus,
.form-check-input:focus,
.form-control:focus,
.form-select:focus {
    box-shadow: none;
}

#main-content .btn-primary {
    padding: 8px 20px;
    font-size: 18px;
    background-color: var(--primary-color);
    color: var(--white);
    transition: border-radius 0.3s ease;
    position: relative;
    margin-left: 0;
    border-radius: 0;
    border: none;
    font-weight: 600;
}

#main-content .btn-primary:after {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f105";
    padding-left: 10px;
    position: relative;
    top: 1px;
}

#main-content .btn-primary:hover {
    border-radius: 60px;
    background-color: var(--primary-color);
}

.acysubbuttons {
    display: inline-block;
    position: relative;
}

.acysubbuttons input.btn-primary {
    padding-right: 40px !important;
}

.acysubbuttons:after {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f105";
    padding-left: 10px;
    position: absolute;
    top: 41px;
    left: 110px;
    color: var(--white);
    transform: translateY(-50%);
}

form input[type="submit"],
form button {
    background-color: var(--primary-color);
    color: var(--white);
    padding: 12px 20px;
    border: none;
    cursor: pointer;
}

form input[type="submit"]:hover,
form button:hover {
    background-color: var(--primary-color);
}

/*form check button*/
.form-check-input:checked {
    background-color: var(--primary-color);
    border: none;
}

.formControls button {
    font-size: 1em;
    font-weight: 600;
    padding: 10px 30px;
    background: var(--primary-color);
    color: var(--white);
    border-radius: 0;
    border: none;
}

.formControls button:after {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f105";
    padding-left: 10px;
}

strong.formRequired {
    font-weight: 400
}

.formContainer .row {
    align-items: flex-end;
}

.formContainer .form-label.formControlLabel,
.formContainer .form-check .form-check-label {
    color: var(--secondary-color);
}

.control-group .control-label,
.acym_module_form label span {
    margin-bottom: 16px;
}

.form-control-feedback {
    font-size: 0.8rem;
    color: var(--primary-color);
    font-style: italic;
    font-size: 14px;
}
#main-content .formError,
#main-content .formRed {
    color: #cf4d4d !important;
}

/*style for calendar icon*/
.article-info .article-info-term {
    display: none;
}

.article-info .published::before {
    /*content: "\f133";
    font-family: "Font Awesome 6 Free";
    font-size: 20px;
    margin-right: 5px;*/
}

/* page previous / next */
.pagenavigation {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    font-family: inherit;
    margin: 20px 0;
}

.pagenavigation .pagination a {
    text-decoration: none;
    color: var(--black);
    background:transparent;
    border:0;
    font-weight: 400;
    transition: color 0.3s ease;
    font-size:18px;
}
.item-page .pagenavigation .pagination a {
    color:var(--primary-color)
}

.pagenavigation .pagination a:hover {
    color: var(--primary-color);
    border:0;
    background:transparent;
    font-weight:600;
}

.item-page .pagenavigation .pagination a:hover {
    color:var(--black);
    font-weight:400;
}
.pagenavigation .pagination .previous:before {
    content: "\f104";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 8px;
    font-size:14px;
}

.pagenavigation .pagination .next:after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-left: 8px;
    font-size:14px;
}

.pagenavigation .pagination .previous,
.pagenavigation .pagination .next {
    display: inline-flex;
    align-items: center;
}

.pagenavigation .pagination .previous .icon-chevron-left,
.pagenavigation .pagination .next .icon-chevron-right,
.pagenavigation .pagination .previous .visually-hidden,
.pagenavigation .pagination .next .visually-hidden {
    display: none;
}

/*style for pagination at the bottom*/
.pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
    gap: 10px;
    margin-top: 15px;
}

.pagination__wrapper {
    background-color: transparent;
}

.pagination ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 8px;
}

.page-item {
    margin: 0;
}

.page-link {
    display: inline-block;
    padding: 10px 16px;
    font-size: 1em;
    font-weight: 500;
    color: var(--greydark);
    background: var(--greymid);
    border: none;
    text-decoration: none;
    transition: all 0.3s ease;
}

.page-link:hover {
    background-color: var(--primary-color);
    color: var(--white);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
    transform: translateY(-2px);
}

.page-item.disabled .page-link {
    color: var(--greydark);
    background: var(--greymid);
    cursor: not-allowed;
}

.page-item.active .page-link {
    font-weight: 700;
    background: var(--greymid);
    color: var(--primary-color);
    border: none;
    pointer-events: none;
}

.com-finder__counter,
.pagination_result_counter {
    text-align: center;
    color: var(--secondary-color);
    letter-spacing: 0.5px;
}

.icon-angle-double-left::before {
    content: "\00AB";
}

.icon-angle-left::before {
    content: "\2039";
}

.icon-angle-right::before {
    content: "\203A";
}

.icon-angle-double-right::before {
    content: "\00BB";
}

/* Common styles for all icons */
.icon-angle-double-left,
.icon-angle-left,
.icon-angle-right,
.icon-angle-double-right {
    font-size: 1em;
}

/* Base Structure */
.container,
#main-content.product-page-inner-class .container .jshop.productfull .product-content-container,
#testimonial-section .moduletable>h3,
#testimonial-section .n2-ss-slider .n2-ss-slider-wrapper-inside .n2-ss-slider-controls-advanced--ready {
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
}
#footer-cta .container .row > *,
#info-panel .container .row > *,
#main-content .container .row > * {
    padding-left:0;
    padding-right:0;
}
#content-top,
#content-fullwidth,
#featured-products,
#content-bottom,
#info-panel,
#testimonial-section,
#footer-cta {
    margin: 0 0 3em
}

#header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
    background-color: var(--white);
}

@media(min-width:991px) {
    img.float-end {
        margin:0 0 1em 1em
    }
    #main-content.main-content-with-margin.has-sidebar-right,
    #main-content.has-sidebar-right {
        display: flex
    }

    #main-content.main-content-with-margin.has-sidebar-right .content,
    #main-content.has-sidebar-right .content {
        width: calc(75% - 4em);
        padding-right: 4em;
    }

    #main-content.main-content-with-margin.has-sidebar-right .sidebar-right,
    #main-content.has-sidebar-right .sidebar-right {
        width: 25%
    }
}

/* Topbar */
#topbar {
    background-color: var(--primary-color);
    color: var(--white);
    padding: 0.25em 1em;
    position: sticky;
    top: 0;
    z-index: 1000;
}

#topbar ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

#topbar .mod-menu {
    gap: 20px;
    padding-right: 0;
}

#topbar a {
    color: var(--white);
    font-weight: 500;
    font-size: 14px
}

#topbar a:hover {
    opacity: 0.9;
}

/* Header (Logo, Menu, and Search) */
.site-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1em;
    background-color: var(--white);
    z-index: 99999999;
    position: relative;
}

.site-header:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.21);
    z-index: 99999999;
    pointer-events: none;
}

.site-header:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 1px;
    box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.55);
    z-index: 99999999;
    pointer-events: none;
}

.site-header .row {
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.site-header .logo {
    max-width: 240px;
    padding: 0;
}

.site-header #main-menu {
    width: calc(100% - 240px);
    display: flex;
    justify-content: flex-end;
    padding-right: 0
}

.site-header #main-menu ul.mod-menu {
    align-items: center;
}

.site-header #main-menu ul>li {
    text-transform: uppercase;
    color: var(--black);
    font-weight: 500;
    font-size: 16px;
    line-height: 1.3;
}

#main-menu .nav-item {
    padding: 0 15px
}

#main-menu>ul>li.nav-item:last-child {
    padding: 0
}

#main-menu .nav-item .mod-menu__separator,
#main-menu .nav-item a:not(.button) {
    color: var(--black);
    padding: 32px 5px 24px;
    display: block;
    text-decoration: none;
    cursor: pointer;
    position: relative;
    box-shadow: inset 0 -7px 0 0 var(--white);
    transition: box-shadow 0.3s ease;
}
@media (min-width:1025px) {
    .mod-menu__sub[aria-hidden="true"] a,
    .mod-menu__sub[aria-hidden="true"] button,
    .mod-menu__sub[aria-hidden="true"] [tabindex] {
    visibility: hidden;
    pointer-events: none;
    }
}
#main-menu .mod-menu__sub {
    opacity: 0;
    max-height: 0;
    width: 360px;
    overflow: hidden;
    transition: opacity 0.3s ease, max-height 0.3s ease, transform 0.3s ease;
    transform: translateY(-10px);
    position: absolute;
    z-index: 10;
    background-color: var(--white);
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    top: calc(100% + 10px);
    border-radius: 0;
}
#main-menu .nav-item.deeper.parent > .mod-menu__sub {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity 0.3s ease, max-height 0.3s ease;
}
#main-menu .nav-item.deeper.parent.active > .mod-menu__sub {
    opacity: 1;
    max-height: 400px;
}

#main-menu .nav-item.active>.mod-menu__sub li {
    padding: 0 20px
}

#main-menu .nav-item.active>.mod-menu__sub li:first-child {
    padding-top: 20px;
}

#main-menu .nav-item.active>.mod-menu__sub li:last-child {
    padding-bottom: 20px;
}

#main-menu>ul.mod-menu>li.nav-item>.mod-menu__separator:hover,
#main-menu>ul.mod-menu>li.nav-item>a:hover,
#main-menu>ul.mod-menu>li.nav-item.active-link>.mod-menu__separator,
#main-menu>ul.mod-menu>li.nav-item.active-link>a:not(.button),
#main-menu>ul.mod-menu>li.nav-item>a:not(.button):hover,
#main-menu>ul.mod-menu>li.nav-item.parent.active>.mod-menu__separator,
#main-menu>ul.mod-menu>li.nav-item.parent.active>a:not(.button),
.site-header #main-menu ul li.active a,
.site-header #main-menu ul li.active .separator,
.site-header #main-menu ul li.child-active a,
.site-header #main-menu ul li.child-active .separator {
    box-shadow: inset 0 -7px 0 0 var(--primary-color);
}
.site-header #main-menu ul li.active .mod-menu__sub li a,
.site-header #main-menu ul li.active .mod-menu__sub li .separator {
    box-shadow:none;
}
#main-menu .mod-menu__sub .mod-menu__separator,
#main-menu .mod-menu__sub .nav-item a {
    color: var(--black);
    padding: 10px;
    text-transform: none;
    position: relative;
    display: inline-block;
    transition: all 0.3s ease;
}

#main-menu .mod-menu__sub .nav-item.item-1295 a {
    max-width: 222px;
}

#main-menu .mod-menu__sub .mod-menu__separator::after,
#main-menu .mod-menu__sub .nav-item a::after {
    content: "\f105";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-left: 5px;
    font-size: 14px;
    transition: text-indent 0.3s ease;
    display: inline-block;
    text-indent: 0;

}

#main-menu .mod-menu__sub .mod-menu__separator:hover::after,
#main-menu .mod-menu__sub .nav-item a:hover::after {
    text-indent: 10px;

}

#main-menu .mod-menu__sub .mod-menu__separator:hover,
#main-menu .mod-menu__sub .nav-item a:hover {
    text-shadow: 0 0 1px currentColor;
}

#main-menu .mod-menu__sub .nav-item a.button {
    color: var(--white);
    text-transform: uppercase;
    padding: 10px 24px;
    margin-top: 10px;
}

#main-menu .mod-menu__sub .nav-item a.button:hover {
    font-weight: 500;
}

#main-menu .mod-menu__sub .nav-item a.button:after {
    display: none
}

/* Mega Menu Structure */
#mega-menu-products {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: var(--white);
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transform-origin: top;
    transform: scaleY(0);
    transition: max-height 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
}

#mega-menu-products.visible {
    max-height: 800px;
    opacity: 1;
    transform: scaleY(1);
}

#mega-menu-products .container {
    padding: 3em 0;
}

#mega-menu-products.mega-menu {
    display: flex;
    width: 100%;
}

#mega-menu-products.mega-menu .row {
    align-items: stretch;
    align-content: flex-start;
    justify-content: flex-start;
}

#mega-menu-products.mega-menu .mega-menu-left,
#mega-menu-products.mega-menu .mega-menu-right {
    display: inline-block;
    vertical-align: top;
}

#mega-menu-products.mega-menu .mega-menu-left {
    flex: 1;
    padding: 0 5em 0 0;
    border-right: 1px solid var(--grey);
    padding-right: 2em;
}

#mega-menu-products.mega-menu .mega-menu-left p {
    max-width: 256px;
    margin-bottom: 20px
}

#mega-menu-products.mega-menu .mega-menu-left .menu-heading {
    line-height: 1.1;
    margin-bottom: 16px;
}

#mega-menu-products.mega-menu .mega-menu-left .button {
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 600;
}

#mega-menu-products.mega-menu .mega-menu-right {
    flex: 3;
    padding: 0 0 0 5em;
    position: relative;
}

#mega-menu-products.mega-menu .mega-menu-right ul.nav {
    flex-direction: column;
    gap: 15px;
}

#mega-menu-products.mega-menu .mega-menu-right .mod-menu__sub {
    position: absolute;
    left: 55%;
    top: 0;
    z-index: 1000;
    padding-left: 5em;
    border-left: 1px solid var(--grey);
    height: 100%;
    max-height: 100% !important;
}

#mega-menu-products.mega-menu .mega-menu-right .mod-menu__sub li {
    margin-bottom: 15px;
}

#mega-menu-products.mega-menu .mega-menu-right .mod-menu__sub li a {
    display: block;
    text-decoration: none;
    font-weight: 500;
}

#mega-menu-products .mega-menu-right .mod-menu__sub.active {
    display: block;
    opacity: 1;
}

#mega-menu-products .mega-menu-right .mod-menu__separator,
#mega-menu-products .mega-menu-right a {
    color: var(--black);
    display: block;
    text-decoration: none;
    cursor: pointer;
    position: relative;
    font-weight: 500;
    font-size: 18px;
}

#mega-menu-products .mega-menu-right .mod-menu__separator:hover,
#mega-menu-products .mega-menu-right a:hover {
    font-weight: 800;
}

#mega-menu-products .mega-menu-right .mod-menu__separator::after,
#mega-menu-products .mega-menu-right a::after {
    content: "\f105";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-left: 5px;
    font-size: 14px;
    transition: text-indent 0.3s ease;
    display: inline-block;
    text-indent: 0;
}

#mega-menu-products .mega-menu-right .mod-menu__sub li a::after {
    display: none;
}

#mega-menu-products .mega-menu-right .mod-menu__sub .arrow-link::after {
    display: inline-block;
}


#mega-menu-products .mega-menu-right .mod-menu__separator:hover::after,
#mega-menu-products .mega-menu-right a:hover::after {
    text-indent: 10px;
}

.menu-toggle-button {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.5rem;
    display: none;
}

#mobile-menu {
    display: none
}


/* Header Search */
.site-header .search-container {
    right: -40px;
    top: calc(50% - 20px);
    position: absolute;
    width: 30px;
    padding: 0;
}

.site-header .search-toggle {
    font-size: 24px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
}
.site-header .search-toggle,
.menu-toggle-button {
    color:var(--black)
}

.search-block {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100vw;
    background-color: var(--white);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 2em 0;
}

.search-block .form-search {
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    gap: 2em;
    padding: 0;
}

.search-block .search-input-container {
    position: relative;
    width: 100%;
}

.search-block .search-input-container .awesomplete {
    width: 100%;
}

.search-block .search-input-container input[type="text"] {
    width: 100%;
    padding: 10px;
    padding-left: 60px;
    font-size: 24px;
    border: none;
    border-bottom: 2px solid var(--black);
    outline: none;
    color: var(--greydark);
    background-color: transparent;
    font-family: inherit;
    border-radius: 0;
    margin: 0;
}

.search-block .mod-finder.js-finder-searchform.form-search input[type="text"]::placeholder {
    color: var(--grey);
}

.search-block .mod-finder.js-finder-searchform.form-search .btn-search {
    background-color: var(--primary-color);
    color: var(--white);
    padding: 10px 20px;
    border: none;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    font-weight: 600;
    text-transform: none;
    font-size: 20px;
}

.search-block .mod-finder.js-finder-searchform.form-search .btn-search i {
    padding-left: 10px;
}

.search-input-container .search-icon {
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    color: var(--black);
    font-size: 18px;
    pointer-events: none;
}

.mod-finder.js-finder-searchform.form-search .btn-search {
    background-color: var(--primary-color);
    color: var(--white);
    padding: 10px 20px;
    border: none;
    font-size: 26px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Banner */
#banner {
    color: var(--white);
    text-align: center;
}

#banner,
.dwp-hero,
#main-content.main-content-with-margin,
#main-content .jshop.productfull,
body.layout-nohero #main-content{
    margin-top: 116px;
}

#main-content.main-content-with-margin.product-page-inner-class {
    margin-top: 0;
    padding-top: 2em;
}

#main-content.main-content-with-margin {
    padding: 3em 1em;
}

#below-banner {
    margin-top: -130px;
    margin-bottom: 3em;
}

/* Drinkwater Custom Hero */
.dwp-hero {
    padding: 80px 0 0;
    background-size: cover;
    background-position: center;
    min-height: 340px;
}

div[class="dwp-hero"] {
    padding: 80px 0;
    min-height: 100px;
    height: auto;
}

#resources-and-pipeline-calculators div[class="dwp-hero"] {
    min-height: 340px;
}

.dwp-hero.no-two-column {
    padding-bottom: 160px;
}

.dwp-hero.basic-hero {
    padding-bottom: 80px
}

.dwp-hero.column-bg-color {
    margin-bottom: 80px;
    min-height: 200px;
}

.dwp-hero.column-bg-color.bg-transparent {
    margin-bottom: 1em;
}

.dwp-hero.column-bg-color.bg-grey .hero-cta-section,
.dwp-hero.column-bg-color.bg-grey .hero-single-column,
.dwp-hero.column-bg-color.bg-grey .hero-two-column-section {
    background-color: var(--greydark);
}

.dwp-hero.column-bg-color.bg-light-grey .hero-cta-section,
.dwp-hero.column-bg-color.bg-light-grey .hero-single-column,
.dwp-hero.column-bg-color.bg-light-grey .hero-two-column-section {
    background-color: var(--greymid);
}

.dwp-hero.column-bg-color.bg-red .hero-cta-section,
.dwp-hero.column-bg-color.bg-red .hero-single-column,
.dwp-hero.column-bg-color.bg-red .hero-two-column-section {
    background-color: var(--primary-color);
}

.dwp-hero * {
    color: var(--white);
}

.dwp-hero.column-bg-color.bg-light-grey .hero-cta-section *,
.dwp-hero.column-bg-color.bg-light-grey .hero-single-column *,
.dwp-hero.column-bg-color.bg-light-grey .hero-two-column-section * {
    color: var(--black);
}

.dwp-hero h1,
.dwp-hero .h1 {
    font-size: 50px;
    font-weight: 400;
    margin-bottom: -50px;
}

div[class="dwp-hero"] h1,
div[class="dwp-hero"] .h1 {
    margin-bottom: 0
}

.dwp-hero.column-bg-color.bg-transparent h1,
.dwp-hero.column-bg-color.bg-transparent .h1 {
    margin-bottom: 0
}

.dwp-hero.basic-hero h1,
.dwp-hero.basic-hero .h1 {
    margin: 0 0 30px;
}

.dwp-hero .hero-two-column-section a {
    font-weight: 600;
}

.dwp-hero .hero-content .container,
.dwp-hero.basic-hero .hero-single-column {
   padding: 0;
}

.dwp-hero.column-bg-color.bg-transparent .hero-single-column,
.dwp-hero .hero-two-column-section,
.dwp-hero.cta-hero .hero-cta-section {
    display: flex;
    gap: 2em;
    align-items: center;
    border-top: 4px solid var(--greydark);
    padding: 3em 0;
    margin-top: 2em;
}

.dwp-hero.column-bg-color.bg-transparent .hero-single-column,
.dwp-hero .hero-two-column-section,
.dwp-hero.cta-hero .hero-cta-section,
.dwp-hero .hero-content,
.dwp-hero.basic-hero .hero-single-column,
.dwp-hero.one-column-hero.column-bg-color .hero-single-column {
    width: 1366px;
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;

}

.dwp-hero.column-bg-color .hero-two-column-section,
.dwp-hero.column-bg-color .hero-single-column,
.dwp-hero.cta-hero .hero-cta-section {
    padding: 2em;
    position: relative;
    top: 60px;
}

.dwp-hero.one-column-hero.column-bg-color .hero-single-column {
    top: 80px
}

.dwp-hero.cta-hero .hero-cta-section {
    justify-content: space-between;
}

.dwp-hero.column-bg-color.bg-transparent .hero-single-column,
.dwp-hero.column-bg-color.bg-transparent .hero-two-column-section {
    padding: 2em 0 3em;
    top: 0;
}

.dwp-hero .hero-two-column-section .hero-left-column {
    flex: 0 0 30%;
}

.dwp-hero .hero-two-column-section .hero-right-column {
    flex: 0 0 calc(70% - 2em);
}

.dwp-hero .hero-two-column-section .large-text,
.dwp-hero.column-bg-color.bg-transparent .hero-single-column .single-column-text {
    font-size: 1.2em;
}

.dwp-hero .hero-two-column-section .small-text {
    font-size: 1em;
}

.dwp-hero.column-bg-color.bg-red .small-text {
    font-weight: 500;
}

.dwp-hero.column-bg-color.bg-red .small-text b,
.dwp-hero.column-bg-color.bg-red .small-text strong {
    font-weight: 700;
}

.dwp-hero .hero-two-column-section .small-text a:not(.button) {
    color: var(--white);
    text-decoration: underline;
}

.dwp-hero.column-bg-color.bg-light-grey .hero-cta-section a:not(.button),
.dwp-hero.column-bg-color.bg-light-grey .hero-single-column a:not(.button),
.dwp-hero.column-bg-color.bg-light-grey .hero-two-column-section a:not(.button),
.dwp-hero.column-bg-color.bg-red .hero-cta-section a:not(.button):hover,
.dwp-hero.column-bg-color.bg-red .hero-single-column a:not(.button):hover,
.dwp-hero.column-bg-color.bg-red .hero-two-column-section a:not(.button):hover,
.dwp-hero.column-bg-color.bg-red .hero-two-column-section .small-text a:not(.button):hover {
    color: var(--black);
}

.dwp-hero.basic-hero p {
    font-size: 26px;
    font-weight: 500;
    margin: 0 0 30px;
    max-width: 630px;
}

.dwp-hero.basic-hero p:last-child {
    margin: 0
}

.dwp-hero.basic-hero a.button,
.dwp-hero.basic-hero .button a {
    font-size: 18px;
    font-weight: 500;
    max-width: 100%;
}

.dwp-hero .hero-two-column-section .small-text a:not(.button):hover {
    color: var(--primary-color);
}

.dwp-hero.column-bg-color .hero-two-column-section.divider .hero-right-column {
    padding-left: 2em;
    border-left: 1px solid var(--white)
}

.dwp-hero.column-bg-color.bg-light-grey .hero-two-column-section.divider .hero-right-column {
    border-color: var(--grey)
}

.dwp-hero.cta-hero .hero-cta-section .cta-text {
    font-weight: 500
}

.dwp-hero.cta-hero .hero-cta-section .cta-button a:after {
    display: none;
}

.dwp-hero.cta-hero .hero-cta-section .cta-button a.button {
    color: var(--white);
    text-transform: uppercase;
    font-weight: 600;
    font-size: 16px;
    white-space: nowrap;
}

.dwp-hero.one-column-hero.column-bg-color .hero-single-column ul {
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
    padding: 0;
    margin: 0 2em;
    gap: 0.5em 2em
}

.dwp-hero.one-column-hero.column-bg-color .hero-single-column ul li {
    flex: 1 1 calc(50% - 2em);
    box-sizing: border-box;
    font-weight: 600;
    font-size: 22px
}

.dwp-hero.one-column-hero.column-bg-color .hero-single-column ul li a {
    text-decoration: underline;
}

.dwp-hero.one-column-hero.column-bg-color .hero-single-column ul li a:hover {
    text-decoration: none;
}

.dwp-hero.one-column-hero.column-bg-color.bg-grey .hero-single-column ul li a:hover {
    color: var(--white)
}
body.layout-nohero .dwp-hero {
    display: none !important;
}


.dwp-hero-heading {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2em;
}
.dwp-hero-heading h1 {
    flex: 1 1 auto;
    margin: 0;
    min-width: 0; /* Prevents heading from forcing the container to grow */
    overflow-wrap: break-word;
}
.dwp-hero-heading .hero-pdf-button-container {
    flex: 0 0 auto;
    max-width: 390px;
    text-align: right;
}
.dwp-hero-heading .hero-pdf-button {
    display: inline-block;
    padding: 0.75em 1.25em 0.75em 3em;
    background-color: transparent;
    color: var(--white);
    border:1px solid var(--primary-color);
    text-decoration: none;
    font-weight: bold;
    position:relative;
    margin-top:10px;
}
.dwp-hero-heading .hero-pdf-button:before {
    content:"";
    background:url('../images/icons/arrow_direction_down_download_pdf_icon.svg');
    background-repeat: no-repeat;
    background-size: 26px 26px;
    width: 26px;
    height: 26px;
    display: block;
    position: absolute;
    left:0.75em;
    top:calc(50% - 13px);
}
.dwp-hero-heading .hero-pdf-button:after {
    display:none !important
}
.dwp-hero-heading .hero-pdf-button:hover {
    background-color: transparent;
    color: var(--white);
    border-color:var(--primary-color)
}

/* Breadcrumbs */
#breadcrumbs {
    position: relative;
    padding: 0 0 2em;
    transition: top 0.3s ease-in-out, opacity 0.3s ease-in-out;
    opacity: 1;
    top: 0;
}

#breadcrumbs ol,
.breadcrumbs-alt ol,
.breadcrumbs-alt .breadcrumb {
    margin: 0;
    padding: 0;
}
.breadcrumbs-alt .breadcrumb {
    padding: 0 !important;
    margin-bottom:1em;
}
.dwp-hero #breadcrumbs,
.dwp-hero #breadcrumbs ol {
    padding: 0 0 0.5em !important;
}
.dwp-hero #breadcrumbs.fixed ol {
    padding:0.75em 0 0.25em !important;
    margin:auto;
    width:1366px;
}

@media (max-width:1480px) {
    .dwp-hero #breadcrumbs.fixed ol {
        max-width:100%;
    }
}
#breadcrumbs li,
#breadcrumbs a {
    color: var(--white);
    font-size: 14px
}

#breadcrumbs a,
#breadcrumbs span {
    font-weight: 600;
}

#breadcrumbs .pathway span {
    text-decoration: underline;
    font-weight: 400
}

#breadcrumbs .breadcrumb-item+.breadcrumb-item:before {
    color: var(--primary-color);
}

#breadcrumbs .breadcrumb .icon-location {
    position:relative;
    width:26px;
    text-align:left;
}
#breadcrumbs .breadcrumb .icon-location:before {
    content:"";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: "\f015";
    display: inline-block;
    font-style: normal;
    font-size:14px;
    line-height: 1;
    color: var(--white)
}
.com_jshopping.category #main-content .content > #breadcrumbs {
    display:none;
}
.jshop_prod_description iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
    /* Optional */
}
.layout-nohero #breadcrumbs {
    top:0 !important;
}
.layout-nohero #breadcrumbs ol,
.layout-nohero #breadcrumbs.fixed {
    padding-left:0 !important;

}
.layout-nohero #breadcrumbs li, .layout-nohero #breadcrumbs a,
.layout-nohero #breadcrumbs li:not(.active) span {
    color: var(--black);
    font-weight: 400;
}
.layout-nohero #breadcrumbs .breadcrumb .icon-location:before {
    color: var(--black);
}
.layout-nohero #breadcrumbs a {
    text-decoration: underline;
}


.breadcrumbs-alt li, .breadcrumbs-alt a {
    color: var(--black);
}
.breadcrumbs-alt a {
    text-decoration: underline;
}
.breadcrumbs-alt li, .breadcrumbs-alt a,
.breadcrumbs-alt .breadcrumb-item.active {
    color: var(--black);
    font-weight: 400;
}
.breadcrumbs-alt li, .breadcrumbs-alt a {
    font-size: 14px;
}


@media (min-width:992px) {
    #breadcrumbs.fixed {
        position: fixed;
        top: 115px;
        left: 0;
        width: 100%;
        z-index: 999;
        padding: 1em 2em;
        background-color: white;
        box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
        transition: top 0.3s ease-in-out, opacity 0.3s ease-in-out;
    }

    .dwp-hero #breadcrumbs.fixed a,
    .dwp-hero #breadcrumbs.fixed span,
    #breadcrumbs.fixed li,
    #breadcrumbs.fixed a,
    #breadcrumbs.fixed .breadcrumb .icon-location:before {
        color: var(--black);
    }
}
@media (min-width:1380) {
    .dwp-hero #breadcrumbs.fixed,
    .dwp-hero #breadcrumbs.fixed ol {
        padding: 0.5em 0 !important
    }
}
@media (max-width:1438px) {
    #breadcrumbs.fixed {
        padding-left:2em !important;
    }
    #breadcrumbs.fixed .container {
        margin:0
    }
}
@media (max-width:1024px) {
    #mobile-menu [hidden] {
        display:block !important
    }
    #breadcrumbs.fixed {
        top:100px;
    }
}
/* Main Content */
#main-content {
    display: flex;
    flex-wrap: wrap;
    padding: 2em 2em 4em;
}

.sidebar-left {
    flex: 1;
}

.sidebar-right {
    flex: 1;
}

/* Custom Product Page Structure */
#main-content.product-page-inner-class {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0
}

#main-content.product-page-inner-class>.container,
#main-content.product-page-inner-class>.container .row>* {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0
}

#main-content.product-page-inner-class>.container .jshop.productfull {
    width: 100%;
    max-width: var(--max-width);
    padding-left: 1em;
    padding-right: 1em;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width:768px) and (max-width:1370px) {
    #main-content.product-page-inner-class>.container .jshop.productfull {
        padding-left: 2em;
        padding-right: 2em;
    }
}

/* Featured Products */
#featured-products {
    background-color: #171616;
    color: var(--white);
    padding: 6em 0;
}

body#featured-products {
    background: var(--white)
}

#featured-products .moduletable h3 {
    text-transform: uppercase;
    margin-bottom: 2.5em;
    font-size: 22px;
    text-align: center;
    color: var(--white);
    font-family: var(--font-heading-small);
    font-weight: 600;
    font-style: normal;
}

/* Bestseller Products Grid */
.bestseller_products {
    display: flex;
    gap: 3em;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
}

.bestseller_products .block_item {
    position: relative;
    border: 0.5em solid var(--white);
    text-align: center;
    width: calc(25% - 3em);
    margin-bottom: 1.5em;
    overflow: hidden;
    transition: transform 0.3s ease;
}

.bestseller_products .image .image_block {
    position: relative;
}

.bestseller_products .image .image_block::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, black, transparent 100%);
    z-index: 2;
    pointer-events: none;
}

.bestseller_products .image .image_block::after {
    content: "\f105";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 24px;
    height: 24px;
    line-height: 24px;
    background-color: var(--primary-color);
    color: var(--white);
    z-index: 999;
    font-size: 14px;
}

.bestseller_products .image img,
#related-products .image_block img {
    width: 100%;
    height: 264px;
    display: block;
    object-fit: cover;
    position: relative;
    z-index: 1;
    transition: transform 0.3s ease;
}

.bestseller_products .name {
    position: absolute;
    bottom: 20px;
    left: 12px;
    font-weight: 600;
    width: calc(100% - 20px);
    text-align: left;
    z-index: 2;
    transition: transform 0.3s ease;
}

.bestseller_products .name a {
    color: var(--white);
}

.bestseller_products .slick-prev,
.bestseller_products .slick-next,
#related-products .jshop.list_related .slick-prev,
#related-products .jshop.list_related .slick-next {
    position: absolute;
    top: 360px;
    border: none;
    color: var(--grey);
    width: 40px;
    height: 40px;
    font-size: 20px;
    z-index: 1;
}

#related-products .jshop.list_related .slick-prev,
#related-products .jshop.list_related .slick-next {
    top: auto;
    bottom: -60px;
}

.bestseller_products .slick-prev {
    left: calc(50% - 40px);
}

.bestseller_products .slick-next {
    right: calc(50% - 40px);
}

#related-products .jshop.list_related .slick-prev {
    left: 0
}

#related-products .jshop.list_related .slick-next {
    left: 40px;
}

.bestseller_products .slick-prev:before,
.bestseller_products .slick-next:before,
#related-products .jshop.list_related .slick-prev:before,
#related-products .jshop.list_related .slick-next:before {
    display: none;
}

.bestseller_products .slick-prev:hover,
.bestseller_products .slick-next:hover {
    color: var(--white)
}

#related-products .jshop.list_related .slick-prev:hover,
#related-products .jshop.list_related .slick-next:hover {
    color: var(--primary-color)
}

.bestseller_products .block_item:hover {
    transform: translateY(-20px);
}

.bestseller_products .block_item:hover .image img {
    transform: scale(1.1);
}

.bestseller_products .block_item:hover .name {
    transform: translateX(20px);
}

.bestseller_products .jshop_list_product .image_block {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.bestseller_products .jshop_list_product .image_block img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* All Products Button */
#featured-products p {
    text-align: center;
}

#featured-products .button {
    background-color: var(--primary-color);
    display: inline-block;
    text-transform: uppercase;
    font-weight: 600;
    text-align: center;
    margin-top: 2.5em;
    color: var(--white);
    transition: border-radius 0.5s;
}

#featured-products .button:hover {
    border-radius: 60px;
}

#featured-products .button a {
    color: var(--white);
    font-weight: 500;
    font-size: 18px;
    padding: 0.65em 1.25em 0.65em;
}

/* Info Panel */
#info-panel {
    background: var(--greylight);
    padding: 3em 0;
}

#info-panel h3 {
    border-bottom: 1px solid rgba(0, 0, 0, 0.25);
    padding-bottom: 1em;
    margin: 1em 0;
    font-weight: 500;
}

/*Testimonial Carousel*/
#testimonial-section div#n2-ss-14 .n2-ss-slider-3 {
    justify-items: start;
    justify-content: start;
}

#testimonial-section .moduletable>h3 {
    font-family: var(--font-heading-small);
    text-transform: uppercase;
    margin-bottom: 1em;
    font-size: 24px;
    font-weight: 600;
    font-style: normal;
}

#testimonial-section .n2-ss-slider .n2-ss-slider-wrapper-inside .n2-ss-slider-controls-advanced--ready {
    position: relative;
    top: -560px;
}



/* Footer CTA */
#footer-cta .footer-cta-button a {
    background-color: var(--primary-color);
    color: var(--white);
    width: 100%;
    padding: 30px 60px;
    transition: border-radius 0.25s;
}

#footer-cta .footer-cta-button p {
    font-size: 24px;
    font-weight: 500;
    color: var(--white);
    margin: 0;
    padding: 0;
}

#footer-cta .footer-cta-button a:hover {
    border-radius: 60px;
}

#footer-cta .footer-cta-button a {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 24px;
    color: var(--white);
    font-weight: 500;
}

#footer-cta .footer-cta-button a .cta-action {
    font-weight: 600;
    font-size: 16px;
}

#footer-cta .footer-cta-button .cta-action:after {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f105";
    margin-left: 10px;
    position: relative;
    top: 2px
}


/* Footer */
.site-footer {
    background-color: var(--black);
    color: var(--white);
    padding: 5em 1em;
    position:relative;
    z-index:1;
}

.site-footer h3 {
    font-weight: 700;
    font-size: 18px;
}

.site-footer .footer-left h2 {
    margin: 20px 0 0;
    font-weight: 700;
    font-size: 18px;
}

.site-footer a {
    color: var(--white);
    text-decoration: none;
    font-weight: 600;
}

.site-footer a:hover {
    color: var(--white);
    font-weight: 600;
    text-decoration: underline;
}
.site-footer .container {
    flex-wrap: wrap;
    display: flex;
    padding:0;
}
.site-footer .footer-left {
    flex: 1;
    padding-right: 10vw;
}

.site-footer .footer-left img {
    width: 250px;
}

.site-footer .footer-left ul {
    list-style: none;
    padding: 0;
    gap: 14px;
    margin-top: 1.75em;
}

.site-footer .footer-left ul li {
    display: inline-block;
}

.site-footer .footer-left ul li a {
    padding: 5px;
}

.site-footer .footer-left ul li a i {
    font-size: 18px;
    color: var(--white);
}

.site-footer .footer-left ul li a:hover i {
    color: var(--primary-color);
}

.site-footer .footer-right {
    flex: 3;
    display: flex;
    justify-content: space-between;
    gap: 2em;
}

.site-footer .footer-right .max178 {
    max-width: 178px;
}

.site-footer .footer-right ul {
    list-style: none;
    padding: 0;
}

.site-footer .footer-right ul li,
.site-footer .copyright {
    font-size: 14px;
}

.site-footer .footer-right ul li span {
    color: var(--primary-color)
}

.site-footer .footer-right ul.nav {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.site-footer .footer-right .sitemap-menu .nav-item span {
    color: var(--primary-color);
    margin-right: 5px;
    padding: 0 !important;
}

.site-footer .footer-right .button a {
    text-transform: uppercase;
    text-decoration: none;
    padding: 10px 15px;
    color: var(--white);
    border: 2px solid var(--primary-color);
    background: transparent;
}

.site-footer .footer-right ul.mobile-social-links {
    display: none;
}

.site-footer .footer-right .social-links.mobile {
    display: none;
}

.site-footer .copyright {
    width: calc(100% - 70px);
    text-align: right;
    display:inline-block;
}

.site-footer .copyright-mobile {
    display: none;
}

.mobile-fixed-button {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    display: none;
}

@media (min-width:1025px) {
    .mobile-fixed-button {
        display: none !important
    }
}

.mobile-fixed-button .button a {
    display: block;
    padding: 15px 30px;
    color: var(--white);
    text-decoration: none;
    font-size: 16px;
    text-align: center;
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 2px;
    box-shadow: 0 0px 2px var(--black);
}

.mobile-fixed-button .button a:hover {
    background-color: var(--reddark);
    border-radius: 0
}


/* Custom Modules */

.custom-red-module {
    position: relative;
    background-size: cover;
    background-position: center;
    text-align: left;
    padding: 5vw;
}

.custom-dark-module .dark-module-content,
.custom-red-module .custom-red-content {
    position: relative;
    z-index: 1;
}

.custom-dark-module .dark-module-content>*,
.custom-red-module .custom-red-content>*,
.custom-dark-module .dark-module-content .module-title,
.custom-red-module .custom-red-content .module-title {
    color: var(--white);
}

.custom-dark-module .dark-module-content a .button,
.custom-red-module .red-module-content a .button {
    border-radius: 0px;
    transition: border-radius 0.3s ease;
}

.custom-dark-module .dark-module-content a .button:hover,
.custom-red-module .red-module-content a .button:hover {
    border-radius: 30px;
}

.custom-red-module .red-module-content a .button:hover {
    color: var(--primary-color)
}

.custom-red-module .custom-red-content .module-title {
    font-size: 60px;
}

.custom-red-module .custom-red-content {
    display: flex;
    align-items: center;
    gap: 9em;
    justify-content: space-between;
    flex: 0 0 75%;
}

.custom-red-module .module-title {
    flex: 0 0 25%;
}

.custom-red-module .custom-red-content p {
    font-weight: 500;
}

.custom-red-module .custom-red-content p b,
.custom-red-module .custom-red-content p strong {
    font-weight: 800
}

.custom-red-module .red-module-content a .button {
    background: var(--white);
    color: var(--red);
    text-transform: uppercase;
    padding: 0.58em 1em 0.5em;
    font-size: 18px;
    margin-top: 1em;
    font-weight: 600;
    line-height: 1;
}

.custom-dark-module {
    background-size: cover;
    margin: 0;
    padding: 0;
    background-size: cover;
    margin: 0;
    padding: 0;
}

.custom-dark-content.container {
    padding-top: 0;
}

.custom-dark-module .custom-dark-content {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: flex-end
}

.custom-dark-module .dark-module-content {
    max-width: 812px;
    padding: 300px 0 150px;
}

.custom-dark-module .custom-dark-content h2 {
    font-size: 58px;
    margin-bottom: 30px;
}

.custom-dark-module .custom-dark-content p {
    font-size: 23px;
    line-height: 1.3;
    margin-bottom: 30px;
}

.custom-dark-module .custom-dark-content b,
.custom-dark-module .custom-dark-content strong {
    font-size: 30px;
    font-weight: 600
}

.custom-dark-content a {
    font-weight: 600;
    color: var(--primary-color);
    background: none;
    padding-left: 0;
    position: relative;
    transform: translateX(0);
    transition: transform 0.3s ease-in-out;
    will-change: transform;
}

.custom-dark-content a:hover {
    transform: translateX(30px);
    background: none;
    color: var(--primary-color);
}

.custom-dark-content a:after {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f105";
    position: relative;
    left: 10px;
    top: 2px;
}

/*Custom Document Library*/
.document-library.item-page ul b,
.document-library.item-page ul strong {
    display:block;
    margin-bottom:5px;
    line-height:1.2;
}

.document-library.item-page ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2em;
  margin:0;
  padding:0;
}

.document-library.item-page ul > li {
  list-style-type: none;
}

.document-library.item-page ul ul {
  margin: 0;
  padding: 0;
  list-style: disc inside;
  display:block
}

/*Custom About Block */
.about-us .dwp-hero {
    padding-bottom: 240px
}

.about-custom-layout {
    background-color: var(--primary-color);
    padding: 5em 3.5em;
}

.about-custom-layout h2 {
    font-size: 42px;
    font-weight: 500;
    margin-bottom: .5em
}

.about-custom-layout h3 {
    margin-top: 1.5em;
    margin-bottom: 0.3em;
    font-size: 20px;
    font-weight: 500;
    letter-spacing:0.15em
}

.about-custom-layout p {
    margin-bottom: 0;
    line-height: 1.6;
}

.about-custom-layout * {
    color: var(--white)
}

.about-custom-layout hr {
    border-top: 2px solid var(--white)
}

.about-custom-layout ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2em;
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.about-custom-layout ul li {
    flex: 1 1 calc(50% - 5em);
    box-sizing: border-box;
}

/* Hide float-end element? */
.about-us .content {
    padding: 0;
}

.about-us .dwp-stepped-content .step-image {
    width: 40%;
    max-width: 100%;
}

.about-us .dwp-stepped-content .step-content {
    width: 60%;
    line-height: 1.6;
}
.about-us #main-content {
    padding-bottom:0
}
.about-us #content-fullwidth {
    margin-top:-2em;
}
#simulation-support-for-pipeline-pigging .step-content.bg-black {
    background-color: var(--primary-color) !important;
    padding-left:4em;
}
@media (max-width: 991px) {
    #simulation-support-for-pipeline-pigging .step-content.bg-black {
        padding: 2em !important;
    }
}
#simulation-support-for-pipeline-pigging .step-content.bg-black ol li::marker {
    color:var(--FFF) !important;
    font-weight:600
}
#content-fullwidth .dwp-blocks-container {
    padding: 0;
    gap: 15px;
}

#below-banner .dwp-blocks-container {
    gap: 30px;
    overflow: visible;
}

#below-banner .dwp-blocks-container .dwp-block {
    height: 200px;
}

#below-banner .dwp-blocks-container .dwp-block-content {
    bottom: 30px;
}

#below-banner .dwp-block-wrapper .dwp-block h3.dwp-block-title,
#below-banner .dwp-block-wrapper h3.dwp-block-title {
    font-size: 28px;
    font-weight: 600;
    max-width:100%;
    padding:0;
}
#below-banner .dwp-block-wrapper .dwp-block .dwp-block-link.left,
#below-banner .dwp-block-wrapper .dwp-block-link{
    font-weight:600;
}
#below-banner .dwp-blocks-container .dwp-block.block-zoom {padding:0}
#below-banner .dwp-blocks-container .dwp-block.block-zoom,
#below-banner .dwp-blocks-container .dwp-block .background-image {
    padding:2em;
}

#below-banner .dwp-blocks-container .dwp-block.block-zoom h3.dwp-block-title,
#below-banner .dwp-blocks-container .dwp-block.block-zoom .dwp-block-link.left,
#below-banner .dwp-blocks-container .dwp-block .dwp-block-link.left{
    padding:0;
}

#below-banner .dwp-block.block-zoom:hover .background-image {
    transform: unset;
}



body#subscribe-to-our-emails,
body#thank-you-for-subscribing,
body#login.login {
    background-image: url('/images/backgrounds/page-background.svg');
    background-size: cover;
    background-position: center;
}

/*Login Page*/
body#login.login .content,
body#subscribe-to-our-emails .content,
body#thank-you-for-subscribing .content {
    max-width: 800px;
    height: 80vh;
    min-height: 600px;
    padding: 2em;
    margin: auto;
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

body#login.login .login-description,
body#login.login fieldset legend {
    margin-bottom: 2em;
    font-size: 18px;
}

body#login.login .com-users-login__footer-left {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2em;
}

body#login.login .com-users-login__submit {
    order: 1;
}

body#login.login .com-users-login__remember {
    order: 2;
}

body#login.login #user-registration .btn-primary,
.acysubbuttons input.btn-primary {
    margin-top: 20px;
}

body#login.login .form-check {
    display: flex;
    align-items: center;
}

body#login.login .form-check-input {
    margin-right: 8px;
    margin-bottom: 0
}

body#login.login .com-users-login__options a,
body#login.login .com-users-login__remember .form-check-label {
    font-size: 16px;
}

body#login.login .com-users-login__remember .form-check-label {
    color: var(--secondary-color);
}

body#login.login .com-users-login__options {
    display: flex;
    flex-direction: row;
    text-align: center;
    justify-content: flex-end;
    margin-top: 0;
}

body#login.login .com-users-login__options a {
    display: inline-block;
    margin-left: 15px;
    text-decoration: underline;
    border: none;
}

body#login.login .com-users-login__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
    flex-wrap: wrap;
}

/*Contact / Request Quote */
#contact #main-content>.container>.row,
#request-for-quote #main-content>.container>.row {
    gap: 5em;
}

#contact .moduletable h1,
#request-for-quote .moduletable h1 {
    margin-bottom: 0.25em
}

#contact .sidebar-left,
#request-for-quote .sidebar-left {
    flex: 1.5;
    padding: 0;
}

#contact .content,
#request-for-quote .content {
    flex: 2;
}

#contact .sidebar-left ul {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
    display: flex;
    gap: 40px;
}

#contact .sidebar-left ul li {
    width: 48%;
    margin-bottom: 20px;
    font-size: 0.9rem;
}
#contact .moduletable .mod-custom h2 {
    margin-bottom: 20px;
    font-weight: 500;
    font-size: 20px;
    color: var(--secondary-color);
}

#contact .moduletable .mod-custom h3 {
    margin-top: 20px;
    font-weight: 500;
    font-size: 18px;
    color: var(--primary-color);
}

#contact .sidebar-left li em {
    display: block;
    font-style: normal;
}

#contact .formContainer .formControlLabel,
#request-for-quote .formContainer .formControlLabel,
#pig-quotation-request .formContainer .formControlLabel {
    font-size: 16px
}

#request-for-quote .sidebar-left a.button {
    font-weight: 600;
    margin-top: 1em;
}

#request-for-quote .sidebar-left a.button:before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f095";
    padding-right: 10px;
    font-size: 14px;
}

#request-for-quote .rsform-block-footer {
    font-size: 14px;
    margin-top: 2em;
}

.rsformProgress .progress {
    --bs-progress-height: 2rem;
    --bs-progress-font-size: 0.8rem;
    --bs-progress-bg: var(--greymid);
    --bs-progress-border-radius: 0;
    --bs-progress-bar-color: var(--white);
    --bs-progress-bar-bg: var(--greydark);
}

#registerForm .formContainer {
    padding: 0 2em;
}

#registerForm .rsform-block-logo,
#registerForm .rsform-block-logo2,
#registerForm .rsform-block-logo3 {
    margin-top: 2em;
    margin-bottom: 0.5em
}

#registerForm .rsform-block-logo3 {
    margin-top: 3em
}

#registerForm .rsform-block-login,
#registerForm .rsform-block-logo2,
#registerForm .rsform-block-logo3 {
    margin-bottom: 2em
}

#registerForm .formControls button.btn-warning:after {
    display: none;
}

#registerForm .formControls button.btn-warning:before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f104";
    padding-right: 10px;
}

#registerForm .formError {
    font-size: 14px;
    padding: 0;
    line-height: 1.2;
    display: block;
}
#create-account .col-md-6 {
    display: flex;
    width: 100%;
    flex-direction: column;
}

.register-thankyou {
    padding: 3px 2em
}

.register-thankyou img {
    margin-top: 3em
}
@media (min-width:768px) {
    #contact .formContainer .row .col-md-6:first-child,
    #request-for-quote .formContainer .row .col-md-6:first-child  {
        padding-right:1em;
    }
}


/*Newsletter page*/
.acym_form {
    width: 100%;
}

body#thank-you-for-subscribing .content h1 {
    font-size: 50px;
    margin: 0;
    padding: 0;
    text-align: center;
}
body#thank-you-for-subscribing .content h3 {
    font-size: 30px;
    margin: 0;
    padding: 0;
    text-align: center;
}

/* Search Form USE SPECIFIED ID FOR THIS PAGE*/
#search-form {
    margin: 2em auto;
}

#search-form .form-inline label.me-2 {
    font-size: 26px;
    font-weight: 600;
    margin-bottom: 0.8em;
}

#search-form .form-inline .input-group {
    gap: 1em;
}


/* Newsletters Feed */
#archived-newsletters.category .sidebar-right,
.newsletters.category .sidebar-right {
    display:none;
}
#archived-newsletters.article .sidebar-right,
.newsletters.article .sidebar-right {
    padding-top:90px
}
#archived-newsletters.category #main-content.has-sidebar-right .content,
.newsletters.category #main-content.has-sidebar-right .content {
    width:100%;
    padding-right:0;
}
#archived-newsletters.article .sidebar-right .moduletable,
.newsletters.article .sidebar-right .moduletable  {
    margin-bottom:1.5em;
    padding:1.5em;
    background:var(--greylight)
}
.sidebar-right ul.mod-articles,
.sidebar-right ul.mod-articles-items,
.sidebar-right .mod-articles-item dl.list-unstyled,
.sidebar-right .mod-articles-item .mod-articles-item-content{
    padding-left:0;
    margin-bottom:0
}
.sidebar-right ul.mod-articles li,
.sidebar-right ul.mod-articles-items li {
    padding-bottom:0.5rem;
}
.sidebar-right ul.mod-articles li:last-child,
.sidebar-right ul.mod-articles-items li:last-child {
    padding-bottom:0;
}
.sidebar-right ul.mod-articles-items .mod-articles-title,
.sidebar-right ul.mod-articles-items .mod-articles-date,
.sidebar-right ul.mod-articles-items .article-info-term {
    font-size: 16px;
    font-weight: 400;
    text-transform: none;
    margin-bottom: 3px;
    letter-spacing: 0;
}
.sidebar-right ul.mod-articles-items .icon-fw {
    display:none;
}
/* Input Field */
#search-form .form-inline .input-group::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f002";
    position: absolute;
    top: 16%;
    font-size: 20px;
    pointer-events: none;
    color: var(--secondary-color)
}

#search-form .form-inline .input-group input[type="text"] {
    width: auto;
    padding: 10px;
    padding-left: 40px;
    font-size: 24px;
    border: none;
    border-bottom: 2px solid var(--black);
    outline: none;
    color: var(--greydark);
    background-color: transparent;
    font-family: inherit;
    border-radius: 0;
    margin-bottom: 0;
}

#search-form .form-inline .input-group .btn {
    border-radius: 0;
    border: none;
    transition: all 0.3s ease;
}

#search-form .form-inline .input-group .btn.btn-primary {
    background-color: var(--primary-color);
}

#search-form .form-inline .input-group .btn.btn-secondary {
    background-color: var(--greydark);
    font-weight: 600;
    padding: 8px 20px;
    font-size: 18px;
}

#search-form .form-inline .input-group .btn.btn-primary:hover,
#search-form .form-inline .input-group .btn.btn-secondary:hover {
    background-color: var(--grey);
}

#search-form .form-inline .input-group .btn.btn-primary:after,
#search-form .form-inline .input-group .btn.btn-secondary:after {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f105";
    padding-left: 10px;
}

#search-form .com-finder__filter .filter-branch {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2em;
}

#search-form .com-finder__filter .filter-branch .control-group label {
    font-size: 16px;
}

#search-form .com-finder__filter .filter-branch .control-group select {
    background-color: var(--greymid);
    border-color: var(--greymid);
}

/* Search Results */
#search-results {
    margin: 2em 0;
}

#search-results .com-finder__explained .term {
    text-transform: uppercase;
    color: var(--primary-color);
}

#search-results .com-finder__explained a {
    font-weight: 600;
}

#search-results .result__item+.result__item {
    border-top: 1px dashed var(--secondary-color);
}

#search-results .result__title {
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 8px;
}

#search-results .result__title a {
    text-decoration: none;
    color: var(--primary-color);
}

#search-results .result__title a:hover {
    text-decoration: underline;
}

#search-results .result__description {
    font-size: 16px;
    color: var(--greydark);
}

/*Articles Page*/
.category-blog .blog-items {
    display: flex;
    flex-wrap: wrap;
    gap: 3em;
    margin-bottom: 3em;
    align-items: flex-start;
    justify-content: center;
}

.category-blog .blog-item {
    background-color: var(--white);
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    padding: 1em;
    gap:2em;
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 10px 4px rgba(0, 0, 0, 0.1);
    flex: 1 1 100%;
    max-width: 100%;
}
.category-blog .blog-item .item-image {
    flex: 0 0 20%;
    margin-bottom: 0;
    height: auto;
    overflow: hidden;
    position: relative;
    aspect-ratio:3 / 1;
}
.category-blog .blog-items .blog-item .item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: all 0.3s ease-in-out;
}

.category-blog .blog-items .blog-item .item-image:hover img {
    transform: scale(1.1);
}
.category-blog .blog-item .item-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2em 0;
    font-size: 14px;
}

.category-blog .blog-item .item-content .page-header h2 {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 0;
}

.category-blog .blog-item .item-content .page-header h2 a {
    color: var(--secondary-color);
    display:block;
}

.category-blog .blog-item .item-content .read-more .button {
    background-color: var(--primary-color);
    color: var(--white);
    border: none;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    transition: border-radius 0.3s;
    font-size: 16px;
    padding: 10px 10px 10px 20px;
}

.category-blog .blog-item .item-content .read-more .button::after {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f105";
    padding-left: 10px;
}
.category-blog .blog-item .item-content .article-info,
.category-blog .blog-item .item-content .article-info.text-muted,
.item-page .article-info.text-muted {
    padding: 0;
    margin: 0;
    color:var(--black) !important
}
.category-blog .blog-item .item-content .article-info .icon-fw,
.item-page .article-info .icon-fw {
    display:none
}
.com-content-category-blog__navigation {
    display: flex;
    flex-direction: column;
    text-align: center;
}

.com-content-category-blog__pagination {
    order: 0;
}

.com-content-category-blog__counter {
    order: 1;
}
@media (min-width:1025px) {

    .category-blog .blog-items.masonry-2 .blog-item .item-image {
        aspect-ratio:1 / 1;
        flex: 0 0 40%;
    }
    .category-blog .blog-items.masonry-3 .blog-item .item-image,
    .category-blog .blog-items.masonry-4 .blog-item .item-image,
    .category-blog .blog-items.masonry-5 .blog-item .item-image,
    .category-blog .blog-items.masonry-6 .blog-item .item-image {
        aspect-ratio:2 / 1;
        flex: unset;
    }

    .category-blog .blog-items.masonry-2 .blog-item,
    .category-blog .blog-items.masonry-3 .blog-item,
    .category-blog .blog-items.masonry-4 .blog-item,
    .category-blog .blog-items.masonry-5 .blog-item,
    .category-blog .blog-items.masonry-6 .blog-item {
        align-self: stretch;
    }

    .category-blog .blog-items.masonry-3 .blog-item,
    .category-blog .blog-items.masonry-4 .blog-item,
    .category-blog .blog-items.masonry-5 .blog-item,
    .category-blog .blog-items.masonry-6 .blog-item {
        flex-direction: column;
        align-items: center;
        text-align:center;
        overflow:visible;
    }

    .category-blog .blog-items.masonry-2 .blog-item .item-content,
    .category-blog .blog-items.masonry-3 .blog-item .item-content,
    .category-blog .blog-items.masonry-4 .blog-item .item-content,
    .category-blog .blog-items.masonry-5 .blog-item .item-content,
    .category-blog .blog-items.masonry-6 .blog-item .item-content {
        justify-content: space-between;
        position:relative;
        gap:0.5em;
        padding:2em 2em 2em 0;
    }
    .category-blog .blog-items.masonry-3 .blog-item .item-content,
    .category-blog .blog-items.masonry-4 .blog-item .item-content,
    .category-blog .blog-items.masonry-5 .blog-item .item-content,
    .category-blog .blog-items.masonry-6 .blog-item .item-content  {
        padding:0 0 2em 0
    }
    .category-blog .blog-items.masonry-3 .blog-item .item-content .read-more,
    .category-blog .blog-items.masonry-4 .blog-item .item-content .read-more,
    .category-blog .blog-items.masonry-5 .blog-item .item-content .read-more,
    .category-blog .blog-items.masonry-6 .blog-item .item-content .read-more {
        /*display:none;*/
    }
    .category-blog .blog-items.masonry-2 .blog-item {
        flex: 1 1 calc(50% - 3em);
        max-width: calc(50% - 3em);
    }
    .category-blog .blog-items.masonry-3  .blog-item {
        flex: 1 1 calc(33.33% - 2em);
        max-width: calc(33.33% - 2em);
    }
    .category-blog .blog-items.masonry-4 .blog-item {
        flex: 1 1 calc(25% - 2.3em);
        max-width: calc(25% - 2.3em);
    }
    .category-blog .blog-items.masonry-5,
    .category-blog .blog-items.masonry-6 {
        gap:3em 2em
    }
    .category-blog .blog-items.masonry-5 .blog-item {
        flex: 1 1 calc(20% - 1.6em);
        max-width: calc(20% - 1.6em);
    }
    .category-blog .blog-items.masonry-6 .blog-item {
        flex: 1 1 calc(16.66% - 1.7em);
        max-width: calc(16.66% - 1.7em);
    }
}
/*Services Feed   */
.category-services .services-items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2em;
    margin-bottom:0;
}

.category-services .services-item {
    display: flex;
    flex-direction: column;
    border-radius: 0;
    padding:0;
    border: none;
    box-shadow: none;
    overflow: hidden;
    position: relative;
}

.category-services.category-blog .blog-items .blog-item .item-image {

    border-bottom: 3px solid var(--primary-color);
    aspect-ratio: 3 / 2;
}

.category-services .services-item .item-image:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.35) 80%, rgba(0, 0, 0, 0.6) 100%);
    z-index: 2;
    pointer-events: none;
}

.category-services .services-item .item-image:after {
    content: "\f105";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 30px;
    height: 30px;
    line-height: 30px;
    background-color: var(--primary-color);
    color: var(--white);
    z-index: 999;
    font-size: 14px;
    text-align: center;
    transition: all 0.3s ease-in-out;
}

.category-services .services-item:hover .item-image:after {
    transform: scale(1.3);
}

.category-services .services-item .item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: all 0.3s ease-in-out;
}

.category-services .services-item:hover .item-image img {
    transform: scale(1.1);
}

.category-services .services-item .item-content {
    padding: 1em 0em;
    font-size: 16px;
}
.category-services .services-item .service-item-image {
    position:relative;
    width:100%
}
.category-services .services-item .page-header {
    display: block;
    position: absolute;
    bottom: 20px;
    z-index: 100;
    padding: 0 1.5em;
    margin: 0;
    overflow: hidden;
}

.category-services .services-item .page-header h2 {
    max-width: 90%;
    font-weight: 600;
    font-size: 25px;
    font-weight: 500;
    margin:0;
}

.category-services .services-item .page-header h2 a {
    color: var(--white);
}

/*Knowledgebase Feed*/
.category-knowledgebase .knowledgebase-items {
    column-count: 2;
    column-gap: 5em;
}

.category-knowledgebase .knowledgebase-item {
    break-inside: avoid;
    margin-bottom: 5em;

}

.category-knowledgebase .knowledgebase-item h2 {
    font-size: 22px;
    border-bottom: 1px solid var(--grey);
    font-weight: 500;
    padding-bottom: 1em;
    margin-bottom: 1em;
}


/*Drinkwater Cares page*/
.drinkwater-cares .category-blog .blog-item .item-content .published {
    font-size: 20px;
    opacity: 0.8;
}

/* Resources Feed */
.category-blog.category-resources .resources-items {
    gap: 2em;
    margin-top: -160px;
    margin-bottom: 3em;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
}

.category-blog.category-resources .resources-item {
    background-color: var(--primary-color);
    border-radius: 0;
    padding: 0;
    transition: transform 0.3s;
    overflow: visible;
    width: calc(33.33% - 2em);
    box-shadow: 0 0px 10px 1px rgba(0, 0, 0, 0.35);
}

.category-blog.category-resources .resources-item * {
    margin: 0
}

.category-blog.category-resources .resources-item h2 {
    font-size: 36px;
    display: flex;
}

.category-blog.category-resources .resources-item h2 a {
    background-color: var(--primary-color);
    padding: 3em 1em 36px;
    font-weight: 500;
    height: 234px;
    display: inline-block;
    max-width: 100%;
    margin: 0;
    color: var(--white);
    position: relative;
    transition: all 0.3s ease-in-out;
}

.category-blog.category-resources .resources-item h2 a:after {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f105";
    padding-left: 10px;
    font-size: 26px;
    position: absolute;
    bottom: 42px;
    display: inline;
    transition: all 0.3s ease-in-out;
}

.category-blog.category-resources .resources-item:hover a:after {
    transform: translateX(20px);
    color: var(--white);
}

.resource-library .item-page hr {
    margin: 1em 0 0.5em;
}

.resource-library table {
    width: 100%;
    border: 0;
}

.resource-library td strong {
    padding: 1em 0 0.25em;
    display: block;
}

.resource-library td {
    width: 33%;
    padding: 0 1em 0.5em 0;
    border: 0;
}

.resource-library td li {
    padding: 0.15em 0;
    border: 0;
}

.resource-library td a {
    color: var(--grey);
}

.resource-library td a:hover {
    color: var(--black);
}

/*Calculator Sidebar Menu*/
.sidebar-right .moduletable div {
    color: var(--grey);
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 10px;
    letter-spacing: .5px;
}

.sidebar-right .mod-menu {
    margin-top: 1em;
    display: block;
}

.sidebar-right .mod-menu .nav-item a {
    display: block;
    color: var(--white);
    display: block;
    width: 100%;
    font-weight: 600;
    margin-bottom: 1em;
    font-size: 16px;
    text-transform: capitalize;
    transition: all 0.8s ease-in-out;
    background-color: var(--primary-color);
    padding: 0.8em 2em 0.8em 1.5em;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
}


.sidebar-right .mod-menu .nav-item a:after {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f105";
    padding-left: 10px;
    position: relative;
    top: 2px;
    transition: margin-left 0.3s ease-in-out;
}

.sidebar-right .mod-menu .nav-item a:hover:after {
    margin-left: 10px;
}

/* Our Customers */
.item-page.our-customers .com-content-article__body {
    display: flex;
    padding: 20px;
}

.item-page.our-customers .com-content-article__body ul {
    list-style: none;
    padding: 0;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 2em;
    justify-content: center;
}

.item-page.our-customers .com-content-article__body ul li {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1 1 calc(20% - 2em);
}

/*Login Modal*/
[data-modals-element=modal] {
    max-width: 600px;
    left: calc(50% - 300px)
}

[data-modals-element=modal][data-modals-theme=dark] [data-modals-element=close] {
    filter: invert(1);
    background-size: 20px 20px;
    top: 20px;
}

#quoteForm {
    max-width: 100%;
    margin: 0;
    padding: 1em 0 1e, 2em, ;
}

#quoteForm .rsform-block-logo img,
#quoteForm .rsform-block-logo2 img,
#quoteForm .rsform-block-logo3 img {
    margin-top: 20px;
    margin-bottom: 20px;
}

#quoteForm .rsform-type-freetext {
    margin-bottom: 20px;
}

#quoteForm .progress-bar {
    background-color: #ef4035
}

#quoteForm .btn:hover {
    background: var(--black);
    border-radius: 0;
}

#quoteForm .formControls button:after {
    display: none;
}

#quoteForm .btn-warning {
    margin-right: 10px
}


@media (min-width:992px) {
    .site-footer .footer-right {
        gap:0;
        justify-content: flex-end;
        position:relative;
        z-index:10;
        padding-right:0
    }
    .site-footer .footer-right > div,
    .site-footer .footer-right .max178 {
        padding:0 1em;
        width:25%;
        max-width:25%;
    }
    .site-footer .footer-right div.btn-request {
        padding-right:0;
    }
    .site-footer .footer-right .button a {
        width:100%;
        text-align:center;
    }
    .site-footer .copyright {
        position:relative;
        z-index:1;
        width:100%;
        text-align:right;
        padding-right:0;
    }
}
/* === Custom CSS for text under hero === */
#pipeline-pigs .dwp-hero .hero-left-column .large-text {
    font-size: 23px;
}

#foam-pigs .dwp-hero .hero-left-column .large-text {
    font-size: 22px;
}

#pig-launching-and-receiving-procedures .dwp-hero .hero-left-column .large-text,
#pig-launching-and-receiving-procedures .dwp-hero .hero-right-column .small-text,
#foam-pigs .dwp-hero .hero-right-column .small-text,
#products .dwp-hero .hero-right-column .small-text {
    font-size: 16px;
}

#our-customers .dwp-hero .single-column-text {
    font-size: 19px;
}

#services .dwp-hero .hero-right-column .small-text {
    font-size: 17px;
}

#pig-tracking-services .dwp-hero .single-column-text {
    font-size: 20px;
}

.nav-item.deeper.parent>a {
    width: 100%;
}

#mobile-menu .nav-item.deeper.parent>a {
    pointer-events: none;
}

#main-menu .deeper.parent:not(.active)>.mod-menu__sub.list-unstyled.small {
    opacity: 0;
}

#main-menu .deeper.parent.active>.mod-menu__sub.list-unstyled.small {
    opacity: 1;
}
#back-to-top {
    position: fixed;
    bottom: 10px;
    left: 20px;
    display: none;
    background-color: var(--secondary-color);
    color: var(--white);
    font-size: 36px;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    z-index: 1000;
    transition: background-color 0.3s, opacity 0.3s;
    text-decoration: none;
    width: 60px;
    height: 60px;
    line-height: 65px;
    text-align: center;
}

#back-to-top:hover {
    background-color: var(--primary-color);
}

#info-panel.acf-bottom {
    position: relative;
    width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-top:3em;
    padding:5em 2em
}
#info-panel.acf-bottom .container {
    padding:0;
}
#info-panel.acf-bottom ul,
#info-panel.acf-bottom ol,
#info-panel.acf-bottom li {
    list-style:none;
    padding:0;
    margin:0;
    columns: 1;
}
#info-panel.acf-bottom li {
    margin-bottom:2em;
}
#info-panel.acf-bottom li:last-child {
    margin-bottom:0;
}
#info-panel.acf-bottom .blurb-icon {
    width: 80px;
    margin-right: 26px
}
#info-panel.acf-bottom .blurb-icon img {
    width:36px;
    height:auto;
}
#info-panel.acf-bottom .blurb-heading {
    margin-bottom: 0.5em;
    font-size: 20px;
    font-weight: 600;
    color: var(--primary-color);
    letter-spacing: 0.15em;
}
#info-panel.acf-bottom .blurb-text {
    padding-left:68px;
    display:block;
}
#info-panel.acf-bottom .field-entry .field-label {
    display: none;
}

#info-panel.acf-bottom .fields-container {
    padding: 0;
    list-style: none;
}

#info-panel.acf-bottom .image-gallery .fields-container {
    margin: 0;
    padding: 0;
    column-gap: 16px;
    column-count: 3;
}

#info-panel.acf-bottom .image-gallery .fields-container li {
    margin-bottom: 1em;
}
.drinkwater-cares #info-panel.acf-bottom {
    padding:0 2em;
    background:transparent
}
.drinkwater-cares #info-panel.acf-bottom .fields-container {
    padding:0;
}

.main-content.has-sidebar-right #info-panel.acf-bottom {
    position: static;
    width: 100%;
    left: 0;
    right: 0;
    margin-left: 0;
    margin-right: 0;
    margin-top: 2em;
    padding: 3em 2em;
}


/* MOBILE BREAKPOINTS */
.desktop-only {
    display: block !important;
}

.tablet-only, #contact #info-panel {
    display: none !important;
}

.mobile-only {
    display: none !important;
}

@media (max-width:1500px) {
    #testimonial-section .moduletable>h3 {
        width: 100%;
        padding-left: 0.75em;
    }
}

@media (max-width:1480px) {
    .site-header {
        padding-right: 3em
    }

    .category-blog.category-resources .resources-item h2 {
        font-size: 32px
    }

    .category-blog.category-resources .resources-item h2 a {
        height: 210px;
    }

    .category-blog.category-resources .resources-item h2 a:after {
        bottom: 38px;
    }
}

@media (max-width:1400px) {
    #mega-menu-products.mega-menu {
        padding-left: 20px;
        padding-right: 20px;
    }

    #search-block .container {
        padding-left: 30px !important;
        padding-right: 20px;
    }
}

@media (max-width:1300px) {
    .category-blog.category-resources .resources-items {
        gap: 1.5em
    }

    .category-blog.category-resources .resources-item {
        width: calc(33.33% - 1.5em);
    }

    .category-blog.category-resources .resources-item h2 {
        font-size: 28px
    }

    .category-blog.category-resources .resources-item h2 a {
        height: 180px
    }

    .category-blog.category-resources .resources-item h2 a:after {
        bottom: 30px;
        font-size: 22px
    }
    .document-library.item-page ul {
        grid-template-columns: repeat(3, 1fr);
    }

}

@media (max-width:1200px) {
    .site-header .logo {
        max-width: 200px;
    }

    .site-header #main-menu {
        width: calc(100% - 200px);
    }

    #main-menu .nav-item {
        padding: 0 10px
    }


    #main-menu .nav-item .button {
        padding: 0.85em 1em 0.75em;
    }

    .bestseller_products {
        gap: 2em;
    }

    .bestseller_products .block_item {
        width: calc(25% - 2em);
    }

    #testimonial-section .moduletable>h3 {
        padding-left: 1em;
    }
    .category-blog .blog-items.masonry-2 .blog-item,
    .category-blog .blog-items.masonry-3 .blog-item,
    .category-blog .blog-items.masonry-4 .blog-item,
    .category-blog .blog-items.masonry-5 .blog-item,
    .category-blog .blog-items.masonry-6 .blog-item {
        flex: 0 1 calc(50% - 1.5em);
    }

    .category-blog.category-resources .resources-item h2 {
        font-size: 26px
    }

    .category-blog.category-resources .resources-item h2 a:after {
        bottom: 40px;
        font-size: 22px
    }

    .category-services .services-item {
        padding: 0;
    }
    .category-services .services-item .page-header {width:100%;}

    .category-blog .blog-items .blog-item .item-image,
    .category-blog .blog-item .item-content {
        flex:1;
    }

    .site-footer .footer-left {
        padding-right: 30px;
    }

    .site-footer .footer-right {
        flex: 4;
    }

    .site-footer .footer-right .button a,
    .site-footer .copyright {
        font-size: 14px;
    }

}

@media (max-width:1100px) {

    #main-menu .nav-item {
        padding: 0 5px
    }

    #mega-menu-products .mega-menu-right .mod-menu__separator,
    #mega-menu-products .mega-menu-right a {
        max-width: 286px;
    }

    #below-banner {
        margin-top: -100px
    }

    .category-blog.category-resources .resources-item h2 {
        font-size: 22px
    }

    .category-blog.category-resources .resources-item h2 a {
        height: 160px;
    }

    .category-blog.category-resources .resources-item h2 a:after {
        bottom: 42px;
        font-size: 20px
    }
}

@media (max-width:1024px) {
    .desktop-only {
        display: none !important;
    }

    .tablet-only {
        display: block !important;
    }

    .site-header {
        padding: 0.5em 0 0.5em 1em
    }

    .site-header .container {
        padding: 0
    }

    .site-header .row {
        width: 100%;
        padding-left: 20px;
    }

    .site-header .logo {
        width: calc(100% - 100px);
        max-width: 100%;
        order: 1;
    }

    .site-header .logo img {
        width: 280px;
        max-width: calc(100% - 10px)
    }

    .site-header nav {
        width: 50px;
        order: 3;
        display: block
    }

    .site-header .search-container {
        position: relative;
        right: 0;
        width: 50px;
        order: 2
    }

    #main-menu {
        display: none !important
    }

    #mobile-menu,
    .menu-toggle-button {
        display: block;
    }

    .menu-toggle-button {
        width: auto;
        width: auto;
        order: 3;
    }

    #menu-close {
        position: absolute;
        top: 10px;
        right: 10px;
        background: none;
        border: none;
        font-size: 24px;
        color: #333;
        cursor: pointer;
        z-index: 1001;
        display: none;
    }

    #mobile-menu .mobile-menu-logo {
        padding: 0.5em 1em;
        max-width: 180px;
    }

    #mobile-menu hr {
        border: none;
        height: 1px;
        background-color: var(--greydark);
        box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.8);
        margin: 4px 0;
        position: relative;
        z-index: 9999;
    }

    .mm-spn.mm-spn--navbar:not(.mm-spn--main):before {
        opacity: 0.85;
        top: 72px;
        z-index: 9999;
    }

    .mm-spn.mm-spn--navbar:not(.mm-spn--main):after {
        background: #ECECEC;
        height: 40px;
        z-index: 999;
        opacity: 1;
        top: 51px;
        line-height: 1.5;
        padding: 8px 0 8px 32px;
        text-align: left;
        font-size: 16px;
        content: "Back";
        box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.5);
    }

    #mobile-menu button {
        display: block;
        background-color: var(--primary-color);
        color: var(--white);
        font-size: 20px;
        right: 5%;
        padding: 0 10px;
        margin-top: 0;
    }

    #mobile-menu {
        background-color: var(--white);
    }

    #mobile-menu a {
        position: static;
        padding: 1em;
    }

    #mobile-menu.mm-spn.mm-spn--navbar:not(.mm-spn--main) ul li:first-child {
        margin-top: 54px;
    }

    #mobile-menu ul li a {
        font-weight: 600;
        text-transform: uppercase;
        color: var(--black);
        font-size: 20px;
        padding-left: 20px;
    }

    #mobile-menu ul li::before {
        opacity: 1;
        position: absolute;
        top: calc(50% - 24px);
        padding: 10px;
        right: 16px;
        height: 48px;
        content: "\f105";
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        margin-left: 5px;
        font-size: 16px;
        border: 0;
        transform: none;
        text-align: right;
        z-index: 1;
    }

    #mobile-menu ul li:not(.parent)::before {
        display: none;
    }

    #mobile-menu ul li::after {
        border-bottom: 1px solid var(--grey);
        opacity: 0.5;
        margin: 0 20px;
    }
    #mobile-menu ul li.nav-item.item-2248::after {
        border:0
    }
    #mobile-menu ul li.item-2194::after {
        border: 0;
    }

    #mobile-menu ul li:last-child::before,
    #mobile-menu ul li:last-child::after {
        content: none;
    }

    #mobile-menu ul li a.button {
        padding: 1em;
        margin: 0px 20px;
        font-weight: 600;
        color: var(--white);
        font-size: 16px;
        display: block;
        text-align: center;
    }

    #mobile-menu.mm-spn.mm-spn--navbar.mm-spn--main:after {
        display: none;
    }

    #mobile-menu.mm-spn.mm-spn--navbar:not(.mm-spn--main) ul li a {
        padding: 0.5em 0.5em 0.5em 20px;
        font-size: 16px;
        padding-left: 20px;
        text-transform: none;
        line-height: 1.3;
    }

    #mobile-menu.mm-spn.mm-spn--navbar:not(.mm-spn--main) ul li.parent a {
        padding-right: 30px
    }

    #mobile-menu.mm-spn.mm-spn--navbar:not(.mm-spn--main) ul li::after {
        border: 0;
    }

    #mobile-menu.mm-spn.mm-spn--navbar:not(.mm-spn--main) ul li.parent a.button {
        margin-top: 20px;
    }

    #banner,
    .dwp-hero,
    #main-content.main-content-with-margin,
    #main-content .jshop.productfull,
    body.layout-nohero #main-content {
        margin-top: 100px;
    }

    #info-panel {
        padding-left: 2em;
        padding-right: 2em;
    }

    .dwp-hero.no-two-column {
        padding-bottom: 100px;
    }

    .bestseller_products .block_item {
        width: calc(50% - 2em);
    }

    .category-blog .blog-item,
    .category-blog .blog-items.masonry-2 .blog-item,
    .category-blog .blog-items.masonry-3 .blog-item,
    .category-blog .blog-items.masonry-4 .blog-item,
    .category-blog .blog-items.masonry-5 .blog-item,
    .category-blog .blog-items.masonry-6 .blog-item {
        flex-direction: column;
        flex: 0 0 calc(50% - 2em);
        justify-content: flex-start;
        align-self: stretch;

    }
    .category-blog .blog-items .blog-item .item-image {
        aspect-ratio:2 / 1
    }
    .category-blog .blog-item .item-content {
        flex-direction: column;
        padding:0 0 2em 0;
        text-align:center;
        justify-content: space-between;
    }
    .category-blog .blog-items .blog-item .item-image,
    .category-blog .blog-items .blog-item .item-image img {
        display:block;
        width:100%;
    }
    .category-blog.category-resources .resources-items {
        margin-top: -100px;
    }

    .category-blog.category-resources .resources-item {
        width: calc(50% - 1.5em);
    }

    .category-blog.category-resources .resources-item h2 a {
        height: 130px;
    }

    .category-blog.category-resources .resources-item h2 a:after {
        bottom: 36px;
    }
    .category-services .services-item .item-image {
        padding:0
    }

    .site-footer .footer-left {
        flex: 1;
    }

    .site-footer .footer-right {
        gap: 1em 2em;
        flex: 4;
    }
    .dwp-hero-heading {
        flex-direction: column;
        align-items: flex-start;
        flex-wrap: wrap;
        gap:1em;
    }

    .dwp-hero-heading .hero-pdf-button-container {
        text-align: left;
        width: 100%;
        max-width: 100%;
        margin-top: 0;

    }
}

@media (max-width:991px) {
    .tablet-only {
        display: block !important;
    }
    img.float-end {
        margin:0 0 1em 0;
        float:none !important;
        display:block;
    }
    ul.spaced-2col-layout {
        flex-direction: column;
    }

    ul.spaced-2col-layout li:nth-child(even) {
        text-align: left
    }

    .dwp-hero {
        min-height: 280px;
    }

    .dwp-hero.column-bg-color {
        padding-top: 80px;
    }

    .dwp-hero #breadcrumbs {
        background: var(--greymid);
        position: absolute;
        top: 100px;
        left: 0;
        width: 100%;
        padding: 0.75em 1.5em 0.25em !important
    }
    #breadcrumbs .breadcrumb .icon-location:before {
        color:var(--black)
    }

    .dwp-hero #breadcrumbs a,
    .dwp-hero #breadcrumbs span {
        color: var(--secondary-color);
        font-weight: 400;
    }

    .dwp-hero .hero-two-column-section {
        display: flex;
        flex-direction: column;
    }

    .dwp-hero.column-bg-color.bg-light-grey .hero-two-column-section.divider .hero-right-column {
        padding-left: 0;
        border: 0;
    }

    .dwp-hero.one-column-hero.column-bg-color .hero-single-column ul li {
        flex: 1 1 100%;
    }

    #breadcrumbs.slide-down {
        top: 85px
    }

    #main-content.main-content-with-margin.has-sidebar-right .sidebar-right,
    #main-content.has-sidebar-right .sidebar-right {
        padding-top: 3em;
    }

    #quoteForm {
        padding: 0;
    }

    #quoteForm {
        padding: 2em 0;
    }

    #quoteForm .formContainer {
        margin-left: -12px;
    }

    #contact .content,
    #request-for-quote .content {
        flex: none;
    }

    #contact #main-content>.container>.row,
    #request-for-quote #main-content>.container>.row {
        gap: 1em
    }

     #contact #info-panel {
         display:block !important
    }
    #contact #main-content .row,
    #request-for-quote #main-content .row,
    #pig-quotation-request #main-content .row  {
        margin-left:0;
        margin-right:0;
    }
    #contact .sidebar-left  {
        padding-right: calc(var(--bs-gutter-x)* .5);
        padding-left: calc(var(--bs-gutter-x)* .5);
    }
    #contact .sidebar-left .mod-custom ul,
    #contact .sidebar-left .mod-custom hr {
        display:none;
    }
    #contact #info-panel {
        padding:2.5em 1.5em;
        margin:0;
    }
    #contact #info-panel ul,
    #contact #info-panel li {
        margin:0;
        padding:0;
        list-style:none;
    }
    #contact .moduletable .mod-custom h3 {
        margin-top:0
    }

    .custom-dark-module .custom-dark-content .dark-module-content {
        padding: 10vh 40px 5vh;
        max-width: 100%;
    }

    .custom-dark-module .custom-dark-content .dark-module-content h2 {
        font-size: 34px;
    }

    .custom-dark-module .custom-dark-content .dark-module-content p,
    .custom-dark-module .custom-dark-content .dark-module-content b,
    .custom-dark-module .custom-dark-content .dark-module-content strong {
        font-size: 18px;
    }

    .custom-red-module .custom-red-content {
        flex-direction: column;
        align-items: flex-start;
        padding: 1.5em;
        gap: 1.5em;
    }

    .custom-red-module .custom-red-content .module-title {
        display: block;
        font-size: 40px;
        font-weight: 600;
        text-align: left;
        margin: 0;
        max-width: 300px;
    }

    .custom-red-module .red-module-content p {
        font-size: 16px;
        padding: 0;
    }

    .category-knowledgebase .knowledgebase-items {
        column-count: 1;
    }

    #footer-cta .footer-cta-button a {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        gap: 1em;
    }

    #footer-cta .footer-cta-button a:hover {
        border-radius: 0
    }

    .category-blog .blog-items.services-items {
        grid-template-columns: repeat(2, 1fr);
    }

    #info-panel.acf-bottom .image-gallery .fields-container {
        column-count: 2;
    }

    .item-page.our-customers .com-content-article__body ul {
        gap: 5em;
    }

    .about-custom-layout {
        padding: 3em 2em;
    }

    .about-us .dwp-stepped-content .step-image,
    .about-us .dwp-stepped-content .step-content {
        width: 100%;
    }

    .site-footer .container {
        flex-direction: column;
        text-align: center;
    }

    .site-footer .footer-left {
        padding-right: 0
    }

    .site-footer .footer-right {
        flex-direction: column;
        text-align: center;
    }

    .site-footer .footer-right ul.nav {
        gap: 5px;
    }

    .site-footer .footer-right a {
        font-weight: 600;
    }

    .site-footer .footer-right,
    .site-footer .footer-right>div {
        width: 100%;
    }

    .site-footer .footer-right>div {
        padding: 1em 0 0
    }

    .site-footer .footer-right .max178 {
        max-width: 100%;
    }

    .site-footer .footer-right ul.social-links li {
        display: inline-block;
        font-size: 18px;
        padding: 5px
    }

    .site-footer .footer-left .social-links,
    .site-footer .footer-right .footer-hide-mobile {
        display: none;
    }

    .site-footer .footer-right .social-links.mobile {
        display: block;
    }

    .site-footer .copyright-mobile {
        padding: 1em 0;
        margin: 0;
        text-align: center;
        font-size: 16px;
        display: block;
    }

    .site-footer .copyright {
        display: none;
    }
    .document-library.item-page ul {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 800px) {
    #search-form .form-inline .input-group .awesomplete {
        width: 310px
    }
    #search-form .form-inline .input-group input[type="text"] {
        width: 100%
    }
}

@media (max-width: 767px) {
    .tablet-only {
        display: none !important;
    }

    .mobile-only {
        display: block !important;
    }

    img[style*="float: right"],
    img[style*="float: left"] {
        float: none !important;
        margin: 0 auto 2em auto;
        display: block;
        width: 100%;
        max-width: 100%;
    }

    [data-modals-element=modal] {
        max-width: 90%;
        left: 5%;
    }
    .responsive-table-container {
        position:relative;
        padding-top:20px;
    }
    .responsive-table-container:before {
        content:"Swipe right to see more >";
        color:var(--black);
        text-transform:uppercase;
        background: var(--greylight);
        padding: 8px 16px;
        margin-bottom: 20px;
        position: relative;
        top: -16px;
        font-size: 14px;
    }

    .responsive-table-container-alt .responsive-table td {
        display: block;
        text-align: left;
        padding: 5px 20px !important;
    }

    .responsive-table-container-alt .responsive-table tr:first-child td:first-child {
        padding-top: 20px !important;
    }

    .responsive-table-container-alt .responsive-table tr:last-child td:last-child {
        padding-bottom: 20px !important;
    }

    .responsive-table-container-alt .responsive-table td:empty {
        display: none;
    }

    .two-column-list,
    #info-panel ul {
        columns: 1;
    }

    #main-content,
    #info-panel {
        padding: 2em 1em
    }

    #testimonial-section {
        padding: 2em 0
    }

    #topbar .mod-menu {
        justify-content: center;
        align-items: center;
    }

    #homepage #below-banner {
        margin-top: -370px
    }

    #below-banner .dwp-blocks-container {
        gap: 14px;
    }

    #below-banner .dwp-block.block-grow .background-image {
        padding: 1em 1em 1em
    }

    #below-banner .dwp-blocks-container .dwp-block {
        height: 130px;
        aspect-ratio: unset;
    }

    #below-banner .dwp-blocks-container .dwp-block-content {
        left: 20px;
        bottom: 20px;
        top: auto;
    }
    #below-banner .dwp-blocks-container .dwp-block.block-zoom,
    #below-banner .dwp-blocks-container .dwp-block .background-image {
        padding: 2em 2em 1em;
    }

    .bestseller_products,
    #related-products .jshop.list_related {
        margin-bottom: 40px;
    }

    .bestseller_products,
    #related-products .jshop.list_related {
        padding-left: 10px;
        padding-right: 10px;
    }

    .bestseller_products .block_item,
    #related-products .jshop.list_related .block_item {
        width: calc(100% - 30px);
        height: 300px;
        margin: 10px;
    }

    #related-products .jshop.list_related .block_item {
        height: auto;
    }

    .bestseller_products .block_item:hover {
        transform: none
    }

    .bestseller_products .image img {
        height: 283px;
    }

    body#login.login .content,
    body#subscribe-to-our-emails .content,
    body#thank-you-for-subscribing .content {
        height: auto;
        min-height: 400px;
        padding: 2em 2em 4em;
    }

    h1,
    .h1,
    body#thank-you-for-subscribing .content h1 {
        font-size: 44px;
    }

    h2,
    .h2,
    .page-header h1 {
        font-size: 34px;
    }

    h3,
    .h3,
    body#thank-you-for-subscribing .content h3,
    .item-pageresources h2,
    .item-page .com-content-article__body h2 {
        font-size: 26px;
    }

    h4,
    h5,
    h6,
    .item-pageresources h3 {
        font-size: 22px;
    }

    body#login.login .com-users-login__footer {
        justify-content: flex-start;
        align-items: flex-start;
    }

    body#login.login .com-users-login__footer-left,
    body#login.login .com-users-login__footer-right .com-users-login__options {
        width: 100%;
        padding-top: 1.5em;
        justify-content: flex-start;
    }

    body#login.login .com-users-login__options a {
        margin-left: 0;
        padding-left: 0;
    }

    #main-content .jshop.productfull,
    body.layout-nohero #main-content {
        margin-top: 73px;
    }

    #main-content.main-content-with-margin.product-page-inner-class {
        padding-top: 0;
        margin-top: 31px;
    }

    #main-content.product-page-inner-class .container .jshop.productfull .product-content-container {
        padding: 0;
    }

    #main-content.product-page-inner-class>.container .jshop.productfull {
        padding-left: 0;
        padding-right: 0
    }

    #main-content.product-page-inner-class>.container .jshop.productfull .product-info {
        padding-left: 2.5em;
        padding-right: 2.5em
    }

    .category-blog.category-resources .resources-item {
        width: 100%
    }

    .category-blog.category-resources .resources-item h2 a {
        height: auto;
        padding: 36px
    }
    .category-services .services-items {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }

    .footer-cta-button .cta-message {
        text-align: left;
        font-weight: 600;
    }

    table.acym_form {
        display: flex;
        flex-direction: column;
    }


    .com-content-category-blog__item {
        width: 100%;
    }

    .dwp-hero.column-bg-color .hero-two-column-section,
    .dwp-hero.column-bg-color .hero-single-column,
    .dwp-hero.cta-hero .hero-cta-section {
        padding: 1.5em 1.5em 2em
    }

    .dwp-hero.column-bg-color.bg-light-grey .hero-cta-section {
        flex-direction: column;
        text-align: center;
        gap: 1em;
    }

    .resource-library table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
        margin-bottom: 3em;
    }

    .resource-library table th {
        display: none;
    }
    .drinkwater-cares #info-panel.acf-bottom {
        padding:0 1em;
    }
    #search-form .form-inline .input-group .awesomplete {
        width: 100%
    }

    #search-form .form-inline .input-group::before {
        top: 8%;
    }

    #registerForm .formContainer {
        padding: 0 1em;
    }

    #registerForm .formControls .btn-group {
        display: flex;
        position: relative;
        justify-content: space-between;
    }

    #registerForm .formControls button {
        padding: 5px 10px;
        border: 3px solid var(--white);
    }

    .category-blog .blog-item,
    .category-blog .blog-items.masonry-2 .blog-item,
    .category-blog .blog-items.masonry-3 .blog-item,
    .category-blog .blog-items.masonry-4 .blog-item,
    .category-blog .blog-items.masonry-5 .blog-item,
    .category-blog .blog-items.masonry-6 .blog-item {
        flex:1 1 100%;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        align-self:unset;
    }
    .category-blog .blog-item .item-content {
        flex:1;
        width: 100%;
    }
    .category-blog .blog-item .item-image {
        display:block;
        flex:unset;
        height:auto;
    }
    .category-blog .blog-items .blog-item .item-image {
        aspect-ratio: unset;
    }
    #info-panel.acf-bottom .image-gallery .fields-container {
        column-count: 1;
    }

    .about-custom-layout ul {
        flex-direction: column;
    }
    .document-library.item-page {
        max-width:90%;
        margin:auto;
    }
    .document-library.item-page ul {
        grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
    #search-block {
        padding: 1em 0;
    }

    .search-block .form-search {
        gap: 1em;
    }

    .search-block .mod-finder.js-finder-searchform.form-search .btn-search {
        padding: 5px 10px;
        font-size: 14px;
    }

    .search-block .search-input-container input[type="text"] {
        padding: 10px 5px 5px 20px;
        font-size: 16px;
    }

    .search-input-container .search-icon {
        font-size: 14px;
        left: 0
    }

    .dwp-hero.column-bg-color {
        padding-top: 80px;
    }
    .dwp-hero.column-bg-color.bg-transparent .hero-single-column, .dwp-hero.column-bg-color.bg-transparent .hero-two-column-section {
        padding:1.5em 0 3em;
    }
    .dwp-hero.column-bg-color.bg-transparent .hero-single-column, .dwp-hero .hero-two-column-section, .dwp-hero.cta-hero .hero-cta-section {
        margin-top:1.5em
    }

    .category-blog .blog-items.services-items {
        grid-template-columns: 1fr;
    }

    .dwp-hero h1,
    .dwp-hero .h1 {
        font-size: 40px;
    }

    .dwp-hero.basic-hero p {
        font-size: 22px;
    }

    .com-content-article .com-content-article__body p iframe {
        width: 100%;
    }
    .pagination ul {
        gap:5px
    }
    .page-link {
        padding: 5px 10px;
    }
    #below-banner .dwp-block-wrapper .dwp-block h3.dwp-block-title,
    #below-banner .dwp-block-wrapper h3.dwp-block-title {
        font-size:22px;
        margin:0
    }
    #testimonial-section .moduletable>h3 {
        max-width: 70%;
        margin-left: 0;
    }
    #back-to-top {display:none !important}
    #info-panel.acf-bottom .blurb-icon {
        display:block;
    }
    #info-panel.acf-bottom .blurb-heading {
        padding:0.75em 0 0.5em;
        display:block
    }
    #info-panel.acf-bottom .blurb-text {
        padding-left:0;
    }
}

@media (max-width:520px) {
    #testimonial-section .n2-ss-slider .n2-ss-slider-wrapper-inside .n2-ss-slider-controls-advanced--ready {
        top: -528px;
    }
}

@media (max-width:485px) {
    #testimonial-section .n2-ss-slider .n2-ss-slider-wrapper-inside .n2-ss-slider-controls-advanced--ready {
        top: -494px;
    }
}

@media (max-width: 480px) {
    .dwp-hero {
        min-height: 320px;
    }

    .dwp-hero #breadcrumbs {
        padding: 1em 1em 0.25em !important;
        font-size: 12px;
    }

    #topbar .mod-menu {
        gap: 0;
        justify-content: space-between;
        align-items: center;
    }

    #topbar a {
        font-size: 12px;
    }

    .site-header .search-container {
        right: -6px;
        width: 30px;
    }

    .site-header .search-toggle {
        font-size: 20px;
    }

    body#login.login .content,
    body#subscribe-to-our-emails .content,
    body#thank-you-for-subscribing .content {
        height: auto;
        min-height: 400px;
        padding: 1em 1em 4em;
    }

    body#login.login .com-users-login__footer-left {
        align-items: flex-start;
        gap: 1em;
        flex-direction: column;
        padding-top: 0
    }

    body#login.login .com-users-login__footer-left,
    body#login.login .com-users-login__footer-right .com-users-login__options {
        text-align: left;
    }

    body#login.login .com-users-login__options a {
        font-size: 12px;
    }

    #contact .sidebar-left ul {
        display: block;
    }

    #contact .sidebar-left ul li {
        width: 100%
    }

    #related-products .image_block img {
        height: 200px;
    }

    #search-form .form-inline .input-group {
        flex-direction: column;
    }

}

@media (max-width:450px) {
    #testimonial-section .n2-ss-slider .n2-ss-slider-wrapper-inside .n2-ss-slider-controls-advanced--ready {
        top: -460px;
    }
}

@media (max-width:400px) {
    #testimonial-section .n2-ss-slider .n2-ss-slider-wrapper-inside .n2-ss-slider-controls-advanced--ready {
        top: -422px;
    }
}

@media (max-width:338px) {
    #testimonial-section .n2-ss-slider .n2-ss-slider-wrapper-inside .n2-ss-slider-controls-advanced--ready {
        top: -445px;
    }
}

@media (max-width: 320px) {
    .custom-red-module .custom-red-content .module-title {
        font-size: 30px;
    }
}

#main-menu .nav-item.active:not([aria-hidden]) > ul {
    display: none;
}
.testimonial-carousel .n2-ss-slide .n2-ss-slide-inner {
    position:relative
}
.testimonial-carousel .n2-ss-slide .n2-ss-slide-inner::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("/images/icons/quote.svg");
  background-size: 84px 84px;
  background-repeat: no-repeat;
  background-position: 30px 30px;
  opacity: 0.05;
  pointer-events: none;
  z-index: 0;
}

/*Floating Cart*/
.floating-cart {
    position: fixed;
    top: 39.5%;
    right: 0;
    width: 220px;
    z-index: 999;
    background: white;
    border-radius: 8px 0 0 8px;
    border: 1px solid var(--greymid);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 10px 5px;
    transition: all 0.3s ease-in-out;
}

.floating-cart:hover {
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.moduletable.floating-cart h3 {
    position: relative;
    text-indent: -9999px;
    display: inline-block;
    width: 35px;
    height: 35px;
    margin-bottom: 8px;
}

.moduletable.floating-cart h3::before {
    content: "\f07a";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 22px;
    text-indent: 0;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: var(--primary-color);
}

.floating-cart .cartajax-module #cartajax-module-products-block539 {
    max-height: 190px;
    height: 100%;
    overflow-y: auto;
}

.floating-cart .cartajax-module .block {
    background: var(--white);
    color: #333;
    box-shadow: none;
}

.floating-cart .cartajax-module-count,
.floating-cart .cartajax-module-total {
    font-weight: 600;
    color: var(--black);
    padding: 5px 0;
}

.floating-cart .cartajax-module-checkout a,
.floating-cart .cartajax-module-show-products a,
.floating-cart .cartajax-link {
    color: var(--primary-color) !important;
    text-decoration: none !important;
    border-bottom: 0 !important;
    transition: color 0.1s ease-in-out;
}

.floating-cart .cartajax-module-checkout a::before {
    content: "\f290";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 5px;
    color: var(--red);
}

.floating-cart .cartajax-module-show-products div::before {
    content: "\f06e";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 5px;
}

.cartajax_adv_module .cartajax-module-checkout div,
.cartajax_adv_module .cartajax-module-count div,
.cartajax_adv_module .cartajax-module-total div,
.cartajax_adv_module .cartajax-module-show-products div{
    padding: 0 !important;
}

.floating-cart .cartajax-module-checkout a:hover,
.floating-cart .cartajax-module-show-products a:hover,
.floating-cart .cartajax-link:hover {
    color: var(--secondary-color) !important;
}


.floating-cart .cartajax-module-product-info {
    color: var(--black) !important;
}

.floating-cart .cartajax-module-product-info .cartajax-module-item-label a {
    color: var(--black) !important;
}

.floating-cart .cartajax-module-close a {
    display: block;
    text-align: right;
    color: var(--primary-color);
    text-decoration: none;
    transition: color 0.3s ease-in-out;
}

.floating-cart .cartajax-module-close a:hover {
    color: var(--secondary-color);
}

@media (max-width: 1390px) {
    .floating-cart {
        top: 41.5%;
    }
}

@media (max-width: 1075px) {
    .floating-cart {
        top: 43.5%;
    }
}
@media (max-width: 610px) {
    .floating-cart {
        top: 47%;
    }
}

@media (max-width: 567px) {
    .floating-cart {
        display: none;
    }
}
.rsform #honeypot,
.rsform [data-rsfp-hashcash],
.formControls #honeypot,
.formControls [data-rsfp-hashcash]  {
    display: flex !important;
    align-items: center !important;
    gap: 0.5em !important;
    background: none !important;
    border: 0 !important;
    box-shadow:none !important;
    color:var(--black) !important;
    font-weight:400 !important;
    padding: 10px 30px 10px 0 !important;
}
.rsform #honeypot .hashcash,
.rsform [data-rsfp-hashcash] .hashcash,
.formControls #honeypot .hashcash,
.formControls [data-rsfp-hashcash] .hashcash {
    width: 36px !important;
    height: 36px !important;
}
.rsform #honeypot:after,
.rsform [data-rsfp-hashcash]:after {
    display:none;
}
.rsform #honeypot:hover,
.rsform [data-rsfp-hashcash]:hover,
.formControls #honeypot:hover,
.formControls [data-rsfp-hashcash]:hover {
    padding: 10px 30px 10px 0;
}

