/* =====================================================================
   republic-match.css — makes the NRCC/Porto store content area use the
   same type, colour, spacing and controls as the Republic Services
   header/footer (republicservices.com design tokens, measured live).
   Loaded LAST. Layout/markup unchanged.
   Tokens: Open Sans 300-800 (local, assets/fonts/open-sans/)
     text #252525 · brand blue #004a7c · blue shade #003763 · hover #003f69
     grey-400 #b0b1b4 · grey-300 #d9d9d6 · light neutral #f6f6f6
     body 16/24 · small 14/21 · h1 48/60 700 -1% · h2 40/52 700 -.4px
     h3 32/42 600 · h4 24/32 600 · h5 20/32 600   (mobile <768: 33/43,
     28.75/38.875, 24.5/32.625, 20.25/32, 18.125/28.25)
     buttons: pill 40px radius, 10px 24px, 16/24 600
     gutters: container padding 20px / 80px @1440 (header/footer align)
   ===================================================================== */
@import url("../fonts/open-sans/open-sans.css");
:root{--rs-text:#252525;--rs-blue:#004a7c;--rs-blue-shade:#003763;--rs-blue-hover:#003f69;--rs-g400:#b0b1b4;--rs-g300:#d9d9d6;--rs-g100:#f6f6f6;--rs-font:"Open Sans",sans-serif}

/* ---- base text ---------------------------------------------------- */
body,.main-container,.main-container .std,.main-container p,.main-container li,.main-container td,.main-container th,.main-container dd,.main-container dt,.main-container label,.main-container input,.main-container select,.main-container textarea,.main-container button{font-family:var(--rs-font)!important}
.main-container{color:var(--rs-text);font-size:16px;line-height:24px;padding-top:24px;padding-bottom:64px}
.main-container .std,.main-container p,.main-container .std p,.main-container .std li{font-size:16px;line-height:24px;color:var(--rs-text);letter-spacing:normal}
.main-container p{margin:0 0 16px}
.main-container a{color:var(--rs-blue)}
.main-container a:hover,.main-container a:focus{color:var(--rs-blue-shade)}

/* ---- heading scale ------------------------------------------------ */
.main-container h1,.main-container .page-title h1{font-size:48px;line-height:60px;font-weight:700;letter-spacing:-.01em;color:var(--rs-blue);text-transform:none;margin:0 0 16px}
.main-container h2,.main-container .tab-content h2,.main-container .short-description h2{font-size:40px;line-height:52px;font-weight:700;letter-spacing:-.4px;color:var(--rs-blue);text-transform:none}
.main-container h3,.main-container .account-login h2,.main-container .account-create .legend,.main-container .fieldset .legend,.main-container .box-title h3,.main-container .page-title h2{font-size:32px;line-height:42px;font-weight:600;letter-spacing:normal;color:var(--rs-blue);text-transform:none;margin:0 0 8px}
.main-container h4,.main-container .box-head h2,.main-container .dashboard .box-title h3{font-size:24px;line-height:32px;font-weight:600;color:var(--rs-blue);text-transform:none;letter-spacing:normal}
.main-container h5{font-size:20px;line-height:32px;font-weight:600;color:var(--rs-blue)}
.main-container .page-title{border:0;margin:0 0 24px;padding:0}

/* ---- breadcrumbs (RS .breadcrumb 14/21) --------------------------- */
.breadcrumbs,.breadcrumbs li,.breadcrumbs strong,.breadcrumbs span{font-family:var(--rs-font)!important;font-size:14px!important;line-height:21px!important;color:var(--rs-text)!important;font-weight:400!important}
.breadcrumbs a{color:var(--rs-blue)!important;text-decoration:underline}
.breadcrumbs a:hover{color:var(--rs-blue-shade)!important}
.breadcrumbs .home a i,.breadcrumbs .icon-right-open{color:var(--rs-blue)!important;font-size:12px}
.breadcrumbs{padding-top:12px!important;padding-bottom:12px!important}

/* ---- sidebar (layered nav + support well) ------------------------- */
.main-container .block-layered-nav .block-title strong,.main-container .block .block-title strong{font-size:20px;line-height:32px;font-weight:600;color:var(--rs-blue);text-transform:none;letter-spacing:normal}
.main-container .block-layered-nav .block-title{border-bottom:1px solid var(--rs-g300);padding-bottom:8px;margin-bottom:8px}
.main-container .block-layered-nav dt{font-size:16px;line-height:24px;font-weight:600;color:var(--rs-text);text-transform:none;padding:8px 0}
.main-container .block-layered-nav li{font-size:16px;line-height:24px;color:#717172;padding:4px 0}
.main-container .block-layered-nav li a{font-size:16px;line-height:24px;color:var(--rs-blue);text-decoration:underline}
.main-container .well{background:var(--rs-g100);border:0;border-radius:0;box-shadow:none;padding:24px;font-size:14px;line-height:21px;color:var(--rs-text)}
.main-container .well p,.main-container .well strong,.main-container .well b{font-size:14px;line-height:21px}

/* ---- toolbar / pager ---------------------------------------------- */
.main-container .toolbar,.main-container .toolbar label,.main-container .toolbar .sort-by label,.main-container .toolbar .limiter label{font-size:14px;line-height:21px;color:var(--rs-text)}
.main-container .toolbar label{line-height:40px;margin:0 8px 0 0}
.main-container .toolbar select,.main-container .product-options select,.main-container select{font-size:16px;line-height:24px;color:var(--rs-text);border:1px solid var(--rs-g400);border-radius:0;height:40px;padding:6px 32px 6px 12px;background-color:#fff}
.main-container .pager .pages li a,.main-container .pager .pages li.current{font-size:14px;line-height:30px;min-width:32px;height:32px;border-radius:0}
.main-container .pager .pages li a{color:var(--rs-blue);border:1px solid var(--rs-g300)}
.main-container .pager .pages li.current{background:var(--rs-blue)!important;color:#fff!important;border:1px solid var(--rs-blue)!important}

/* ---- product grid -------------------------------------------------- */
.main-container .products-grid .product-name,.main-container .products-grid h2.product-name{font-size:16px;line-height:24px;margin:12px 0 0;font-weight:600}
.main-container .products-grid .product-name a{font-size:16px!important;line-height:24px!important;font-weight:600!important;color:var(--rs-blue)!important;letter-spacing:normal!important;text-decoration:none!important}
.main-container .products-grid .product-name a:hover{text-decoration:underline!important;color:var(--rs-blue-shade)!important}
.main-container .products-grid .item-area{padding-bottom:24px}

/* ---- product page -------------------------------------------------- */
.main-container .product-shop .std,.main-container .product-shop .short-description .std{font-size:16px;line-height:24px;color:var(--rs-text);letter-spacing:normal}
.main-container .product-shop .availability,.main-container .product-shop .availability span,.main-container p.availability{font-size:16px;line-height:24px;color:var(--rs-text)}
.main-container .product-options dt label,.main-container .product-options label{font-size:16px;line-height:24px;font-weight:600;color:var(--rs-text);text-transform:none;letter-spacing:normal}
.main-container .product-options select{min-width:220px}
.main-container .qty-holder input,.main-container .qty-holder input.qty{font-size:16px;line-height:24px;color:var(--rs-text);border-color:var(--rs-g400);height:44px}
.main-container .qty-changer a,.main-container .qty-holder .table_qty_dec,.main-container .qty-holder .table_qty_inc{color:var(--rs-blue);border-color:var(--rs-g400)}
.main-container .product-tabs ul li a{font-size:16px;line-height:24px;font-weight:600;color:var(--rs-text);text-transform:none;letter-spacing:normal;padding:12px 0}
.main-container .product-tabs li.active a,.main-container .product-tabs li a:hover{color:var(--rs-blue);border-bottom:3px solid var(--rs-blue)}
.main-container .tab-content .std{font-size:16px;line-height:24px}

/* ---- buttons: RS pill ---------------------------------------------- */
.main-container button.button,.main-container .buttons-set button.button,.main-container button.btn-cart{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
.main-container button.button>span,.main-container button.button span span{font-family:var(--rs-font)!important;font-size:16px!important;line-height:24px!important;font-weight:600!important;letter-spacing:normal!important;text-transform:none!important;border-radius:40px!important;height:auto!important}
.main-container button.button>span{display:inline-block;background:var(--rs-blue)!important;color:#fff!important;border:1px solid var(--rs-blue)!important;padding:10px 24px!important;transition:background-color .15s}
.main-container button.button>span>span{padding:0!important;background:transparent!important;border:0!important;color:inherit!important}
.main-container button.button:hover>span,.main-container button.button:focus>span{background:var(--rs-blue-hover)!important;border-color:var(--rs-blue-shade)!important}
.main-container button.button:focus-visible{outline:2px solid var(--rs-blue);outline-offset:3px}
.main-container button.button>span i{color:#fff}
/* secondary (outline) — cart row actions */
.main-container button.button.btn-continue>span,.main-container button.button.btn-update>span,.main-container button.button.btn-empty>span{background:#fff!important;color:var(--rs-blue)!important;border:1px solid var(--rs-blue)!important}
.main-container button.button.btn-continue:hover>span,.main-container button.button.btn-update:hover>span,.main-container button.button.btn-empty:hover>span{background:var(--rs-blue)!important;color:#fff!important}

/* ---- forms ---------------------------------------------------------- */
.main-container .form-list label,.main-container .fieldset label,.main-container label{font-size:16px;line-height:24px;font-weight:400;color:var(--rs-text)}
.main-container label.required em,.main-container label em,.main-container p.required,.main-container .required{color:#d80025}
.main-container input.input-text,.main-container .input-text,.main-container textarea{font-size:16px!important;line-height:24px;color:var(--rs-text)!important;border:1px solid var(--rs-g400)!important;border-radius:0!important;padding:10px 12px!important;height:auto;min-height:46px;background:#fff;box-shadow:none}
.main-container input.input-text:focus,.main-container textarea:focus,.main-container select:focus{border-color:var(--rs-blue)!important;outline:2px solid rgba(0,74,124,.25);outline-offset:0}
.main-container .qty-holder input.input-text.qty{min-height:0!important;height:43px!important;padding:0 4px!important;text-align:center;vertical-align:middle}
.main-container .data-table .qty-holder input.input-text.qty{height:32px!important;width:56px}
.main-container .data-table .table_qty_inc,.main-container .data-table .table_qty_dec{width:32px;height:32px;line-height:30px;vertical-align:middle;background:#fff;border:1px solid var(--rs-g400);color:var(--rs-blue);font-size:16px;text-decoration:none}
.main-container .qty-changer>a{color:var(--rs-blue)!important;border-color:var(--rs-g400)!important}
.main-container .form-wrap,.main-container .account-login .content,.main-container .fieldset{font-size:16px;line-height:24px}
.main-container .account-login .content p,.main-container .account-create p{font-size:16px;line-height:24px}
.main-container .buttons-set{border-top:1px solid var(--rs-g300);padding-top:16px;margin-top:16px}
.main-container .buttons-set a,.main-container .buttons-set .back-link a{font-size:16px;line-height:24px}
.main-container .messages li,.main-container ul.messages li span{font-size:16px;line-height:24px}

/* ---- quote list (cart) + tables ------------------------------------ */
.main-container .data-table th,.main-container .cart-table th{font-size:14px;line-height:21px;font-weight:600;color:var(--rs-text);text-transform:none}
.main-container .data-table td{font-size:16px;line-height:24px;color:var(--rs-text)}
.main-container .cart-table .product-name,.main-container .cart-table .product-name a,.main-container .data-table .product-name{font-size:16px!important;line-height:24px!important;font-weight:600!important;color:var(--rs-blue)!important}
.main-container .cart .item-options dt{font-size:14px;line-height:21px;font-weight:600;color:var(--rs-text)}
.main-container .cart .item-options dd{font-size:14px;line-height:21px;color:#4d4d4f}
.main-container .btn-remove2 i,.main-container .btn-remove i{color:var(--rs-blue)}

/* ---- account pages -------------------------------------------------- */
.main-container .block-account .block-title strong{font-size:20px;line-height:32px}
.main-container .block-account li a,.main-container .block-account li strong{font-size:16px;line-height:24px}
.main-container .block-account li.current strong{color:var(--rs-blue);font-weight:600}
.main-container .welcome-msg,.main-container .welcome-msg .hello,.main-container .box-content{font-size:16px;line-height:24px}

.main-container #login-form,.main-container #form-validate,.main-container .account-login form,.main-container .account-create form{border-top-color:var(--rs-blue)!important}
.main-container .fieldset h2.legend,.main-container h2.legend{color:var(--rs-blue)!important;text-transform:none!important;letter-spacing:normal!important}
.product-img-box .pimg-thumbs li.active{border-color:var(--rs-blue)!important}

/* ---- 404 ------------------------------------------------------------ */
.page-not-found h2{font-size:48px;line-height:60px;color:var(--rs-blue)}
.page-not-found p{font-size:16px;line-height:24px}

/* ---- mobile (RS <768 heading scale + 20px gutter) ------------------ */
@media (max-width:767.98px){
 .main-container{padding-top:16px;padding-bottom:48px}
 .main-container h1,.main-container .page-title h1{font-size:33px;line-height:43.125px}
 .main-container h2,.main-container .tab-content h2,.main-container .short-description h2{font-size:28.75px;line-height:38.875px;letter-spacing:-.2875px}
 .main-container h3,.main-container .account-login h2,.main-container .fieldset .legend,.main-container .box-title h3{font-size:24.5px;line-height:32.625px}
 .main-container h4,.main-container .box-head h2{font-size:20.25px;line-height:32px}
 .main-container h5,.main-container .block-layered-nav .block-title strong{font-size:18.125px;line-height:28.25px}
 .main-container .products-grid .product-name a{font-size:14px!important;line-height:20px!important}
 .main-container button.button>span{padding:10px 20px!important}
 .page-not-found h2{font-size:33px;line-height:43px}
}

/* ---- mobile header: visible hamburger, account + quote links ------- */
.rs-m-quote{position:relative;display:inline-flex;align-items:center;color:#fff!important;text-decoration:none!important;margin-right:18px}
.rs-m-quote svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.6}
.rs-m-quote .rs-m-count{position:absolute;top:-6px;right:-8px;min-width:18px;height:18px;border-radius:9px;background:#d80025;color:#fff;font-size:11px;line-height:18px;font-weight:700;text-align:center;padding:0 4px;font-family:var(--rs-font)}
@media (min-width:1200px){.rs-m-quote{display:none!important}}
.navbar-nav__hamburger-menu:before{background-image:url(../rs/hamburger-menu.svg)!important}
.navbar-nav__hamburger-menu--active:before{background-image:url(../rs/close.svg)!important}

body.rs-menu-open{overflow:hidden}
section.mobile-menu .rs-m-extra{list-style:none;margin:0 0 8px;padding:0 0 8px;border-bottom:1px solid #b0b1b4}
section.mobile-menu .rs-m-extra a{display:block;padding:12px;font-size:14px;line-height:21px;color:var(--rs-blue);font-weight:700;text-decoration:none;font-family:var(--rs-font)}
