/**
 * Magento
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Academic Free License (AFL 3.0)
 * that is bundled with this package in the file LICENSE_AFL.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/afl-3.0.php
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@magentocommerce.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Magento to newer
 * versions in the future. If you wish to customize Magento for your
 * needs please refer to http://www.magentocommerce.com for more information.
 *
 * @category    design
 * @package     default_default
 * @copyright   Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
 * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
 */

/* Reset ================================================================================= */
* { margin:0; padding:0; }

body          { background:#496778 url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_body.gif) 50% 0 repeat-y; font:12px/1.55 Arial, Helvetica, sans-serif; color:#2f2f2f; text-align:center; }

img           { border:0; vertical-align:top; }

a             { color:#1e7ec8; text-decoration:underline; }
a:hover       { text-decoration:none; }
:focus        { outline:0; }

/* Headings */
h1,h2,h3,
h4,h5,h6      { margin:0 0 5px; line-height:1.35; color:#0a263c; }
h1            { font-size:20px; font-weight:normal; }
h2            { font-size:18px; font-weight:normal; }
h3            { font-size:16px; font-weight:bold; }
h4            { font-size:14px; font-weight:bold; }
h5            { font-size:12px; font-weight:bold; }
h6            { font-size:11px; font-weight:bold; }

/* Forms */
form          { display:inline; }
fieldset      { border:0; }
legend        { display:none; }

/* Table */
table         { border:0; /*border-collapse:collapse;*/ border-spacing:0; empty-cells:show; font-size:100%; }
caption,th,td { vertical-align:top; text-align:left; font-weight:normal; }

/* Content */
p             { margin:0 0 10px; }
strong        { font-weight:bold; }
address       { font-style:normal; line-height:1.35; }
cite          { font-style:normal; }
q,
blockquote    { quotes:none; }
q:before,
q:after       { content:''; }
small,big     { font-size:1em; }
/*sup           { font-size:1em; vertical-align:top; }*/

/* Lists */
ul,ol         { list-style:none; }

/* Tools */
.hidden       { display:block !important; border:0 !important; margin:0 !important; padding:0 !important; font-size:0 !important; line-height:0 !important; width:0 !important; height:0 !important; overflow:hidden !important; }
.nobr         { white-space:nowrap !important; }
.wrap         { white-space:normal !important; }
.a-left       { text-align:left !important; }
.a-center     { text-align:center !important; }
.a-right      { text-align:right !important; }
.v-top        { vertical-align:top; }
.v-middle     { vertical-align:middle; }
.f-left,
.left         { float:left !important; }
.f-right,
.right        { float:right !important; }
.f-none       { float:none !important; }
.f-fix        { float:left; width:100%; }
.no-display   { display:none; }
.no-margin    { margin:0 !important; }
.no-padding   { padding:0 !important; }
.no-bg        { background:none !important; }
/* ======================================================================================= */


/* Layout ================================================================================ */
.wrapper { min-width:954px; }
.page {}
.page-print { background:#fff; padding:25px 30px; text-align:left; }
.page-empty { background:#fff; padding:20px; text-align:left; }
.page-popup { background:#fff; padding:25px 30px; text-align:left; }
.main-container { background:#fbfaf6 url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_main1.gif) 50% 0 no-repeat; }
.main { width:900px; margin:0 auto; min-height:400px; padding:25px 25px 80px; background:#fffffe url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_main2.gif) 0 0 no-repeat; text-align:left; }

/* Base Columns */
.col-left { float:left; width:195px; padding:0 0 1px; }
.col-main { float:left; width:685px; padding:0 0 1px; }
.col-right { float:right; width:195px; padding:0 0 1px; }

/* 1 Column Layout */
.col1-layout .col-main { float:none; width:auto; }

/* 2 Columns Layout */
.col2-left-layout .col-main { float:right; }
.col2-right-layout .col-main {}

/* 3 Columns Layout */
.col3-layout .col-main { width:475px; margin-left:17px; }
.col3-layout .col-wrapper { float:left; width:687px; }
.col3-layout .col-wrapper .col-main { float:right; }

/* Content Columns */
.col2-set .col-1 { float:left; width:48.5%; }
.col2-set .col-2 { float:right; width:48.5%; }
.col2-set .col-narrow { width:32%; }
.col2-set .col-wide { width:65%; }

.col3-set .col-1 { float:left; width:32%; }
.col3-set .col-2 { float:left; width:32%; margin-left:2%; }
.col3-set .col-3 { float:right; width:32%; }

.col4-set .col-1 { float:left; width:23.5%; }
.col4-set .col-2 { float:left; width:23.5%; margin:0 2%; }
.col4-set .col-3 { float:left; width:23.5%; }
.col4-set .col-4 { float:right; width:23.5%; }
/* ======================================================================================= */


/* Global Styles ========================================================================= */
/* Form Elements */
input,select,textarea,button { font:12px/15px Arial, Helvetica, sans-serif; vertical-align:middle; color:#2f2f2f; }
input.input-text,select,textarea { background:#fff; border:1px solid #b6b6b6; }
input.input-text,textarea { padding:2px; }
select { padding:1px; }
select option { padding-right:10px; }
select.multiselect option { border-bottom:1px solid #b6b6b6; padding:2px 5px; }
select.multiselect option:last-child { border-bottom:0; }
textarea { overflow:auto; }
input.radio { margin-right:3px; }
input.checkbox { margin-right:3px; }
input.qty { width:2.5em !important; }
button.button::-moz-focus-inner { padding:0; border:0; } /* FF Fix */
button.button { -webkit-border-fit:lines; } /* <- Safari & Google Chrome Fix */
button.button { overflow:visible; width:auto; border:0; padding:0; margin:0; background:transparent; cursor:pointer; }
button.button span { display:block; height:19px; border:1px solid #de5400; background:#f18200; padding:0 8px; font:bold 12px/19px Arial, Helvetica, sans-serif; text-align:center; white-space:nowrap; color:#fff; }
button.button span span { border:0; padding:0; }
button.disabled span { border-color:#bbb !important; background:#bbb !important; }

button.btn-checkout span { height:40px; border:0; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/btn_checkout.gif) 0 0 no-repeat; padding:0 0 0 9px; font:bold 15px/40px Arial, Helvetica, sans-serif; color:#fff; }
button.btn-checkout span span { background-position:100% 0; padding:0 25px 0 16px; }
button.btn-checkout.no-checkout span { background-position:0 100%; color:#b8baba; }
button.btn-checkout.no-checkout span span { background-position:100% 100%; }

p.control input.checkbox,
p.control input.radio { margin-right:6px; }
/* Form Highlight */
input.input-text:focus,select:focus,textarea:focus { background-color:#edf7fd; }
/*.highlight { background:#efefef; }*/

/* Form lists */
/* Grouped fields */
/*.form-list { width:535px; margin:0 auto; overflow:hidden; }*/
.form-list li { margin:0 0 8px; }
.form-list label { float:left; color:#666; font-weight:bold; position:relative; z-index:0; }
.form-list label.required {}
.form-list label.required em { float:right; font-style:normal; color:#eb340a; position:absolute; top:0; right:-8px; }
.form-list li.control label { float:none; }
.form-list li.control input.radio,
.form-list li.control input.checkbox { margin-right:6px; }
.form-list li.control .input-box { clear:none; display:inline; width:auto; }
/*.form-list li.fields { margin-right:-15px; }*/
.form-list .input-box { display:block; clear:both; width:260px; }
.form-list .field { float:left; width:275px; }
.form-list input.input-text { width:254px; }
.form-list textarea { width:254px; height:10em; }
.form-list select { width:260px; }
.form-list li.wide .input-box { width:535px; }
.form-list li.wide input.input-text { width:529px; }
.form-list li.wide textarea { width:529px; }
.form-list li.wide select { width:535px; }
.form-list li.additional-row { border-top:1px solid #ccc; margin-top:10px; padding-top:7px; }
.form-list li.additional-row .btn-remove { float:right; margin:5px 0 0; }
.form-list .input-range input.input-text { width:74px; }

.form-list-narrow li  { margin-bottom:0; } 
.form-list-narrow li .input-box { margin-bottom:6px; }
.form-list-narrow li.wide .input-box { width:260px; } 
.form-list-narrow li.wide input.input-text, 
.form-list-narrow li.wide textarea { width:254px } 
.form-list-narrow li.wide select { width:260px; }

/* Customer */
.form-list .customer-name-prefix .input-box,
.form-list .customer-name-suffix .input-box,
.form-list .customer-name-prefix-suffix .input-box,
.form-list .customer-name-prefix-middlename .input-box,
.form-list .customer-name-middlename-suffix .input-box,
.form-list .customer-name-prefix-middlename-suffix .input-box { width:auto; }

.form-list .name-prefix { width:65px; }
.form-list .name-prefix select { width:55px; }
.form-list .name-prefix input.input-text { width:49px; }

.form-list .name-suffix { width:65px; }
.form-list .name-suffix select { width:55px; }
.form-list .name-suffix input.input-text { width:49px; }

.form-list .name-middlename { width:70px; }
.form-list .name-middlename input.input-text { width:49px; }

.form-list .customer-name-prefix-middlename-suffix .name-firstname,
.form-list .customer-name-prefix-middlename .name-firstname { width:140px; }
.form-list .customer-name-prefix-middlename-suffix .name-firstname input.input-text,
.form-list .customer-name-prefix-middlename .name-firstname input.input-text { width:124px; }
.form-list .customer-name-prefix-middlename-suffix .name-lastname { width:205px; }
.form-list .customer-name-prefix-middlename-suffix .name-lastname input.input-text { width:189px; }

.form-list .customer-name-prefix-suffix .name-firstname { width:210px; }
.form-list .customer-name-prefix-suffix .name-lastname { width:205px; }
.form-list .customer-name-prefix-suffix .name-firstname input.input-text,
.form-list .customer-name-prefix-suffix .name-lastname input.input-text { width:189px; }

.form-list .customer-name-prefix-suffix .name-firstname { width:210px; }
.form-list .customer-name-prefix-suffix .name-lastname { width:205px; }
.form-list .customer-name-prefix-suffix .name-firstname input.input-text,
.form-list .customer-name-prefix-suffix .name-lastname input.input-text { width:189px; }

.form-list .customer-name-prefix .name-firstname,
.form-list .customer-name-middlename .name-firstname { width:210px; }

.form-list .customer-name-suffix .name-lastname,
.form-list .customer-name-middlename .name-firstname,
.form-list .customer-name-middlename-suffix .name-firstname,
.form-list .customer-name-middlename-suffix .name-lastname { width:205px; }

.form-list .customer-name-prefix .name-firstname input.input-text,
.form-list .customer-name-suffix .name-lastname input.input-text,
.form-list .customer-name-middlename .name-firstname input.input-text,
.form-list .customer-name-middlename-suffix .name-firstname input.input-text,
.form-list .customer-name-middlename-suffix .name-lastname input.input-text { width:189px; }

.form-list .customer-dob .dob-month,
.form-list .customer-dob .dob-day,
.form-list .customer-dob .dob-year { float:left; width:85px; }
.form-list .customer-dob input.input-text { display:block; width:74px; }
.form-list .customer-dob label { font-size:10px; font-weight:normal; color:#888; }
.form-list .customer-dob .dob-day,
.form-list .customer-dob .dob-month { width:60px; }
.form-list .customer-dob .dob-day input.input-text,
.form-list .customer-dob .dob-month input.input-text { width:46px; }
.form-list .customer-dob .dob-year { width:140px; }
.form-list .customer-dob .dob-year input.input-text { width:134px; }

/* Independent fields */
/*.form-list li { margin:0 0 8px; }
.form-list li.fields { margin:0; }
.form-list .field { display:block; margin:0 0 8px; }
.form-list li.control {}
.form-list label { float:left; width:150px; padding:2px 10px 0 0; text-align:right; }
.form-list label.required { font-weight:bold; }
.form-list label.required em { font-variant:normal; color:#eb340a; margin-right:3px; }
.form-list .input-box { float:left; width:260px; }
.form-list input.input-text,
.form-list textarea { width:254px; }
.form-list select { width:260px; }
.form-list li.additional-row { border-top:1px solid #ddd; margin-top:10px; }
.form-list li.additional-row .btn-remove { float:right; margin:5px 5px 0 0; }
.form-list .input-range input.input-text { width:96px; }*/
/* Customer */
/*.form-list .customer-dob .dob-month,
.form-list .customer-dob .dob-day,
.form-list .customer-dob .dob-year { float:left; width:85px; }
.form-list .customer-dob input.input-text { display:block; width:74px; }
.form-list .customer-dob label { font-size:11px; font-weight:normal; color:#777; text-align:left; }
.form-list .customer-dob .dob-day,
.form-list .customer-dob .dob-month { width:60px; }
.form-list .customer-dob .dob-day input.input-text,
.form-list .customer-dob .dob-month input.input-text { width:46px; }
.form-list .customer-dob .dob-year { width:140px; }
.form-list .customer-dob .dob-year input.input-text { width:134px; }*/

.buttons-set { clear:both; margin:4em 0 0; padding:8px 0 0; border-top:1px solid #e4e4e4; text-align:right; }
.buttons-set p.required { margin:0 0 10px; }
.buttons-set .back-link { float:left; margin:0; }
.buttons-set button.button { float:right; margin-left:5px; }

.buttons-set-order { margin:10px 0 0; }
.buttons-set-order .please-wait { padding:12px 7px 0 0; }

.fieldset { border:1px solid #bbafa0; background:#fbfaf6; padding:22px 25px 12px 33px; margin:28px 0; }
.fieldset .legend { float:left; font-weight:bold; font-size:13px; border:1px solid #f19900; background:#f9f3e3; color:#e76200; margin:-33px 0 0 -10px; padding:0 8px; position:relative; }

/* Form Validation */
.validation-advice { clear:both; min-height:13px; margin:3px 0 0; padding-left:17px; font-size:11px; font-weight:bold; line-height:13px; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/validation_advice_bg.gif) 2px 0 no-repeat; color:#eb340a; }
.validation-failed { border:1px dashed #eb340a !important; background:#faebe7 !important; }
.validation-passed {}
p.required { font-size:11px; text-align:right; color:#EB340A; }
/* Expiration date and CVV number validation fix */
.v-fix { float:left; }
.v-fix .validation-advice { display:block; width:12em; margin-right:-12em; position:relative; }

/* Global Messages  */
.success { color:#3d6611; font-weight:bold; }
.error { color:#df280a; font-weight:bold; }
.notice { color:#e26703; }

.messages,
.messages ul { list-style:none !important; margin:0 !important; padding:0 !important; }
.messages { width:100%; overflow:hidden; }
.messages li { margin:0 0 10px !important; }
.messages li li { margin:0 0 3px !important; }
.error-msg,
.success-msg,
.note-msg,
.notice-msg { border-style:solid !important; border-width:1px !important; background-position:10px 9px !important; background-repeat:no-repeat !important; min-height:24px !important; padding:8px 8px 8px 32px !important; font-size:11px !important; font-weight:bold !important; }
.error-msg { border-color:#f16048; background-color:#faebe7; background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_msg-error.gif); color:#df280a; }
.success-msg { border-color:#446423; background-color:#eff5ea; background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_msg-success.gif); color:#3d6611; }
.note-msg,
.notice-msg { border-color:#fcd344; background-color:#fafaec; background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_msg-note.gif); color:#3d6611; }

/* BreadCrumbs */
.breadcrumbs { font-size:11px; line-height:1.25; margin:0 0 13px; }
.breadcrumbs li { display:inline; }
.breadcrumbs li strong { font-weight:bold; }

/* Page Heading */
.page-title { width:100%; overflow:hidden; border-bottom:1px solid #ccc; margin:0 0 25px; }
.page-title h1,
.page-title h2 { margin:0; font-size:20px; color:#0a263c; }
.page-title .separator { margin:0 3px; }
.page-title .link-rss { float:right; margin:7px 0 0; }
.title-buttons { text-align:right; }
.title-buttons h1,
.title-buttons h2,
.title-buttons h3,
.title-buttons h4,
.title-buttons h5,
.title-buttons h6 { float:left; }

.subtitle,
.sub-title { clear:both; padding:15px 0 0; font-size:15px; font-weight:bold; margin:0 0 6px; color:#e25203; }

/* Pager */
.pager { font-size:11px; background:#fff url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_toolbar.gif) 0 100% repeat-x; padding:4px 8px; border-top:1px solid #e2e2e2; text-align:center; }
.pager .amount { float:left; margin:0; }
.pager .limiter { float:right; }
.pager .limiter label { vertical-align:middle; }
.pager .limiter select { padding:0; margin:0 0 1px; vertical-align:middle; }
.pager .pages { margin:0 140px; }
.pager .pages ol { display:inline; }
.pager .pages li { display:inline; margin:0 2px; }
.pager .pages .current {}

/* Sorter */
.sorter { font-size:11px; background:#fff url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_toolbar.gif) 0 100% repeat-x; padding:3px 8px; border-top:1px solid #e2e2e2; }
.sorter .view-mode { float:left; margin:0; }
.sorter .sort-by { float:right; padding-right:36px; }
.sorter .sort-by label { vertical-align:middle; }
.sorter .sort-by select { padding:0; margin:0 0 1px; vertical-align:middle; }
.sorter .link-feed {}

/* Toolbar */
.toolbar {}
.toolbar .pager { padding:3px 8px; border-bottom:1px solid #fff; }
.toolbar .sorter { border-bottom:1px solid #fff; }
.toolbar-bottom {}

/* Data Table */
.data-table { width:100%; border:1px solid #bebcb7; }
.data-table .odd  { background:#f8f7f5 }
.data-table .even { background:#eeeded; }
/*.data-table tr.odd:hover,
.data-table tr.even:hover { background:#ebf1f6; }*/
.data-table td.last,
.data-table th.last { border-right:0; }
.data-table tr.last th,
.data-table tr.last td { border-bottom:0 !important; }
.data-table th { padding:3px 8px; font-weight:bold; }
.data-table td { padding:3px 8px; }

.data-table thead th { font-weight:bold; border-right:1px solid #c2d3e0; padding:2px 8px; color:#0a263c; white-space:nowrap; vertical-align:middle; }
.data-table thead th.wrap { white-space:normal; }
.data-table thead th a,
.data-table thead th a:hover { color:#fff; }
.data-table thead th { background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_th.gif) repeat-x 0 100% #d9e5ee; }
.data-table thead th .tax-flag { font-size:11px; white-space:nowrap; }

.data-table tfoot { border-bottom:1px solid #d9dde3; }
.data-table tfoot tr.first td { background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_tfoot.gif) 0 0 repeat-x; }
.data-table tfoot tr { background-color:#dee5e8 !important; }
.data-table tfoot td { padding-top:1px; padding-bottom:1px; border-bottom:0; border-right:1px solid #d9dde3; }
.data-table tfoot strong { font-size:16px; }

.data-table tbody th,
.data-table tbody td { border-bottom:1px solid #d9dde3; border-right:1px solid #d9dde3; }
/* Bundle products tables */
.data-table tbody.odd tr { background:#f8f7f5 !important; }
.data-table tbody.even tr { background:#f6f6f6 !important; }
.data-table tbody.odd tr td,
.data-table tbody.even tr td { border-bottom:0; }
.data-table tbody.odd tr.border td,
.data-table tbody.even tr.border td { border-bottom:1px solid #d9dde3; }

.data-table tbody td .option-label { font-weight:bold; font-style:italic; }
.data-table tbody td .option-value { padding-left:10px; }

/* Generic Info Box */
.info-box { background:#fff url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_block-title.gif) 0 0 repeat-x; border:1px solid #d0cbc1; padding:12px 15px; margin:0 0 15px; }
.info-box h2 { font-weight:bold; font-size:13px; }

.info-table th { font-weight:bold; padding:2px 15px 2px 0; }
.info-table td { padding:2px 0; }

/* Shopping cart total summary row expandable to details */
tr.summary-total { cursor:pointer; }
tr.summary-total td {}
tr.summary-total .summary-collapse { float:right; text-align:right; padding-left:20px; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_collapse.gif) 0 5px no-repeat; cursor:pointer; }
tr.show-details .summary-collapse { background-position:0 -52px; }
tr.show-details td {}
tr.summary-details td { font-size:11px; background-color:#dae1e4; color:#626465; }
tr.summary-details-first td { border-top:1px solid #d2d8db; }
tr.summary-details-excluded { font-style:italic; }

/* Shopping cart tax info */
.cart-tax-info { display:block; }
.cart-tax-info,
.cart-tax-info .cart-price { padding-right:20px; }
.cart-tax-total { display:block; padding-right:20px; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_collapse.gif) 100% 5px no-repeat; cursor:pointer; }
.cart-tax-info .price,
.cart-tax-total .price { display:inline !important; font-weight:normal !important; }
.cart-tax-total-expanded { background-position:100% -52px; }

/* Class: std - styles for admin-controlled content */
.std .subtitle { padding:0; }
.std ol.ol { list-style:decimal outside; padding-left:1.5em; }
.std ul.disc { list-style:disc outside; padding-left:18px; margin:0 0 10px; }
.std dl dt { font-weight:bold; }
.std dl dd { margin:0 0 10px; }
.std ul,
.std ol,
.std dl,
.std p,
.std address,
.std blockquote { margin:0 0 1em; padding:0; }
.std ul { list-style:disc outside; padding-left:1.5em; }
.std ol { list-style:decimal outside; padding-left:1.5em; }
.std ul ul { list-style-type:circle; }
.std ul ul,
.std ol ol,
.std ul ol,
.std ol ul { margin:.5em 0; }
.std dt { font-weight:bold; }
.std dd { padding:0 0 0 1.5em; }
.std blockquote { font-style:italic; padding:0 0 0 1.5em; }
.std address { font-style:normal; }
.std b,
.std strong { font-weight:bold; }
.std i,
.std em { font-style:italic; }

/* Misc */
.links li { display:inline; }
.links li.first { padding-left:0 !important; }
.links li.last { background:none !important; padding-right:0 !important; }

.link-cart { color:#dc6809 !important; font-weight:bold; }
.link-wishlist { color:#dc6809 !important; font-weight:bold; }
.link-reorder { font-weight:bold; color:#dc6809 !important; }
.link-compare { font-weight:bold; }
.link-print { /*background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_print.gif) 0 2px no-repeat; padding:2px 0 2px 25px;*/ font-weight:bold; color:#dc6809; }
.link-rss { background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_rss.gif) 0 2px no-repeat; padding-left:18px; line-height:14px; white-space:nowrap; }
.btn-remove  { display:block; width:11px; height:11px; font-size:0; line-height:0; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/btn_remove.gif) 0 0 no-repeat; text-indent:-999em; overflow:hidden; }
.btn-previous  { display:block; width:11px; height:11px; font-size:0; line-height:0; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/btn_previous.gif) 0 0 no-repeat; text-indent:-999em; overflow:hidden; }
.btn-remove2 { display:block; width:16px; height:16px; font-size:0; line-height:0; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/btn_trash.gif) 0 0 no-repeat; text-indent:-999em; overflow:hidden; }
.btn-edit    { display:block; width:11px; height:11px; font-size:0; line-height:0; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/btn_edit.gif) 0 0 no-repeat; text-indent:-999em; overflow:hidden; }

.cards-list dt { margin:5px 0 0; }
.cards-list .offset { padding:2px 0 2px 20px; }

.separator { margin:0 3px; }

.divider { clear:both; display:block; font-size:0; line-height:0; height:1px; margin:10px 0; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_divider1.gif) 0 50% repeat-x; text-indent:-999em; overflow:hidden; }

/* Global site notices */
.global-site-notice { border:1px solid #cfcfcf; border-width:0 0 1px; background:#ffff90; font-size:12px; line-height:1.25; text-align:center; color:#2f2f2f; }
.global-site-notice .notice-inner { width:860px; margin:0 auto; padding:12px 0 12px 80px; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_notice.gif) 20px 25px no-repeat; text-align:left; }
.global-site-notice .notice-inner p { margin:0; border:1px dotted #cccc73; padding:10px; }
.global-site-notice .notice-inner .actions { padding-top:10px; }

/* Cookie Notice */
.notice-cookie { }

/* Noscript Notice */
.noscript {}

/* Demo Notice */
.demo-notice { margin:0; padding:6px 10px; background:#d75f07; font-size:12px; line-height:1.15; border:0; text-align:center; color:#fff; }
.demo-notice .notice-inner { width:auto; padding:0; background:none; text-align:center; }
.demo-notice .notice-inner p { padding:0; border:0; }

/* ======================================================================================= */


/* Header ================================================================================ */
.logo { float:left; }
.header-container { border-top:5px solid #0d2131; border-bottom:1px solid #415966; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_header.jpg) 50% 0 repeat; }
.header { width:930px; margin:0 auto; padding:10px; text-align:right; position:relative; z-index:10; }
.header .logo { float:left; margin:3px 0 10px 12px; text-decoration:none !important; }
.header .logo strong { position:absolute; top:-999em; left:-999em; width:0; height:0; font-size:0; line-height:0; text-indent:-999em; overflow:hidden; }
.header h1.logo { margin:0; }
.header .quick-access { float:right; width:600px; padding:28px 10px 0 0; }
.header .welcome-msg { margin:0; color:#fff; text-align:right; }
.header .welcome-msg a { color:#ebbc58; }
.header .form-search { position:absolute; top:0; right:29px; width:315px; height:30px; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_form-search.gif) 0 0 no-repeat; padding:1px 0 0 16px; }
.header .form-search label { float:left; width:24px; height:21px; text-align:left; text-indent:-999em; overflow:hidden; }
.header .form-search input.input-text { float:left; border-color:#5c7989; width:209px; margin-right:4px; }
.header .form-search button.button { float:left; }
.header .form-search button.button span { border:0; height:21px; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/btn_search.gif) 0 0 no-repeat; padding:0 0 0 3px; font:bold 11px/21px Tahoma, Verdana, Arial, sans-serif; }
.header .form-search button.button span span { background-position:100% 0; padding:0 6px 0 3px; }
.header .form-search .search-autocomplete { z-index:999; left:40px !important; top:22px !important; }
.header .form-search .search-autocomplete ul { border:1px solid #5c7989; background-color:#f9f5f0; }
.header .form-search .search-autocomplete li { text-align:left; border-bottom:1px solid #f4eee7; padding:2px 8px 1px 8px; cursor:pointer; }
.header .form-search .search-autocomplete li .amount { float:right; font-weight:bold; }
.header .form-search .search-autocomplete li.odd { background-color:#fffefb; }
.header .form-search .search-autocomplete li.selected { background-color:#f7e8dd; }
.header .form-language { clear:both; padding:5px 0 0; text-align:right; }
.header .form-language label { font-weight:bold; padding-right:5px; color:#a7c6dd; vertical-align:middle; }
.header .form-language select { padding:0; }
.header .form-language select.flags option { background-position:4px 50%; background-repeat:no-repeat; padding-left:25px; }
.header .links { float:right; margin:0 0 6px; }
.header .links li { float:left; font-size:11px; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_pipe1.gif) 100% 60% no-repeat; padding:0 8px 0 7px; }
.header .links a { color:#ebbc58; }
.header-container .top-container { clear:both; padding:5px 10px 0 12px; text-align:right; }
.header-container .top-container a { font-size:11px; color:#ebbc58; }

/********** < Navigation */
.nav-container { background:#0a263d url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_nav0.jpg) 50% 0 repeat-y; }
#nav { width:918px; margin:0 auto; padding:0 16px; font-size:13px; }

/* All Levels */ /* Style consistent throughout all nav levels */
#nav li { position:relative; text-align:left; }
#nav li.over { z-index:998; }
#nav a,
#nav a:hover { display:block; line-height:1.3em; text-decoration:none; }
#nav span { display:block; cursor:pointer; white-space:nowrap; }
#nav li ul span {white-space:normal; }
#nav ul li.parent a { background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_nav2.gif) 100% 100% no-repeat; }
#nav ul li.parent li a { background-image:none; }

/* 0 Level */
#nav li { float:left; }
#nav li.active a { color:#d96708; }
#nav a { float:left; padding:5px 12px 6px 8px; color:#a7c6dd; font-weight:bold; }
#nav li.over a,
#nav a:hover { color:#d96708; }

/* 1st Level */
#nav ul li,
#nav ul li.active { float:none; margin:0; padding-bottom:1px; background:#ecf3f6 url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_nav1.gif) 0 100% repeat-x; }
#nav ul li.last { background:#ecf3f6; padding-bottom:0; }

#nav ul a,
#nav ul a:hover { float:none; padding:0; background:none; }
#nav ul li a { font-weight:normal !important; }

/* 2nd Level */
#nav ul,
#nav div { position:absolute; width:15em; top:27px; left:-10000px; border:1px solid #899ba5; }
#nav div ul { position:static; width:auto; border:none; }

/* 3rd+ Level */
#nav ul ul,
#nav ul div { top:5px; }

#nav ul li a { background:#ecf3f6; }
#nav ul li a:hover { background:#d5e4eb; }
#nav ul li a,
#nav ul li a:hover { color:#2f2f2f !important; }
#nav ul span,
#nav ul li.last li span { padding:3px 15px 4px 15px; }

/* Show menu */
#nav li ul.shown-sub,
#nav li div.shown-sub { left:0; z-index:999; }
#nav li .shown-sub ul.shown-sub,
#nav li .shown-sub li div.shown-sub { left:100px; }
/********** Navigation > */
/* ======================================================================================= */


/* Sidebar =============================================================================== */
.block { border:1px solid #c4c1bc; margin:0 0 15px; }
.block .block-title { background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_block-title.gif) 0 0 repeat-x; border-bottom:1px solid #ddd; padding:2px 9px; }
.block .block-title strong { display:block; font:bold 12px/16px Arial, Helvetica, sans-serif; min-height:16px; padding:1px 0 1px; text-transform:uppercase; color:#e26703; }
.block .block-title strong span {}
.block .block-title a { text-decoration:none !important; }
.block .block-subtitle { margin:0; padding:5px 9px; font-size:1em; font-weight:bold; color:#0a263c; }
.block .block-content { background:#f8f7f5; }
.block .block-content li.item { padding:7px 9px; }
.block .block-content .product-name { color:#1e7ec8; }
.block .btn-remove,
.block .btn-edit { float:right; margin:1px 0 2px 5px; }
.block .actions { background:#dee5e8 url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_block-actions.gif) 0 0 repeat-x; padding:6px 9px; text-align:right; }
.block .actions a { float:left; }
.block .actions button.button { float:right; }
.block .empty { margin:0; padding:5px 9px; }

.block li.odd { background-color:#f4f3f3; }
.block li.even { background-color:#fafafa; }

/* Mini Blocks */
.block-cart,
.block-wishlist,
.block-subscribe,
.block-compare,
.block-reorder,
.block-poll,
.block-viewed,
.block-compared,
.block-related,
.block-tags,
.block-login { font-size:11px; line-height:1.25; }
.block-cart .block-title strong,
.block-wishlist .block-title strong,
.block-subscribe .block-title strong,
.block-compare .block-title strong,
.block-reorder .block-title strong,
.block-poll .block-title strong,
.block-viewed .block-title strong,
.block-compared .block-title strong,
.block-related .block-title strong,
.block-tags .block-title strong,
.block-login .block-title strong {  background-position:0 0; background-repeat:no-repeat; padding-left:21px; }

/* Mini Products List */
.mini-products-list .product-image { float:left; width:50px; border:1px solid #a9a9a9; }
.mini-products-list .product-details { margin-left:60px; }
.block-cart .mini-products-list .product-details .product-name,
.block-cart .mini-products-list .product-details .nobr small { word-wrap:break-word; }
.block-cart .mini-products-list .product-details .nobr { white-space:normal !important; }

/* Block: Account */
.block-account { border-color:#bbb; }
.block-account .block-title { background:#fc9d36 url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_block-title-account.gif) 0 100% repeat-x; border:0; padding:3px 10px; }
.block-account .block-title strong { font-size:13px; color:#fff; }
.block-account .block-content { background:#fbfaf6; padding:7px 10px 7px; }
.block-account .block-content li a { display:block; border-bottom:1px solid #ddd; padding:3px 0; color:#5f5d5c; text-decoration:none !important; }
.block-account .block-content li a:hover { color:#ea7900; }
.block-account .block-content li.last a { border-bottom:0; }
.block-account .block-content li.current { border-bottom:1px solid #ddd; padding:3px 0; color:#ea7900; }
.block-account .block-content li.current.last { border-bottom:0; }

/* Block: Currency Switcher */
.block-currency { border:0; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_block-currency.gif) 0 0 no-repeat; padding:7px 12px 10px; height:51px; }
.block-currency .block-title { background:none; border:0; padding:0; margin:0 0 5px; }
.block-currency .block-title strong { font:bold 13px/21px Arial, Helvetica, sans-serif; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_block-currency.gif) 0 50% no-repeat; padding:0 0 0 21px; text-transform:none; color:#fff; }
.block-currency .block-content { background:none; padding:0; }
.block-currency .block-content select { width:100%; padding:0; }

/* Block: Layered Navigation */
.block-layered-nav { border:0; }
.block-layered-nav .block-title { border:0; padding:0; height:24px; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_block-layered-title.gif) 0 0 no-repeat; text-indent:-999em; overflow:hidden; }
.block-layered-nav .block-subtitle { line-height:1.35; background:#d5e8ff url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_block-layered1.gif) 0 50% repeat; padding:3px 9px; border:1px solid #b9ccdd; border-width:1px 0; text-transform:uppercase; color:#1f5070; }
.block-layered-nav .block-content { border:1px solid #a0b3c3; background:#e7f1f4; }
.block-layered-nav dt { background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_block-layered-dt.gif) 9px 11px no-repeat; padding:7px 10px 0 25px; font-weight:bold; text-transform:uppercase; }
.block-layered-nav dd { padding:0 12px 12px; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_block-layered-dd.gif) 0 100% repeat-x; }
.block-layered-nav dd.last { background:none; }
.block-layered-nav .currently li { background:#fff url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_block-layered-li.gif) 0 100% repeat-x; padding:6px 24px 6px 10px; position:relative; z-index:1; line-height:1.5; }
.block-layered-nav .currently .label { font-weight:bold; padding-left:15px; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_block-layered-label.gif) 0 4px no-repeat; text-transform:uppercase; display:inline-block; vertical-align:top; }
.block-layered-nav .currently .value { display:inline-block; vertical-align:top; }
.block-layered-nav .currently .btn-previous,
.block-layered-nav .currently .btn-remove { position:absolute; right:4px; top:9px; margin:0; }
.block-layered-nav .currently .btn-previous { right:17px; }
.block-layered-nav .actions { font-size:11px; padding:4px 5px 4px 9px; background:#cad6e4; border:1px solid #dee5e8; border-width:1px 0; text-align:right; }
.block-layered-nav .actions a { float:none; }

/* Block: Cart */
.block-cart .block-title { /*border-bottom:0;*/ }
.block-cart .block-title strong { background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_block-cart.gif); }
.block-cart .summary { background:#fff; padding:2px 8px 8px; margin:-1px 0 0; position:relative; z-index:1; }
.block-cart .amount { margin:0; }
.block-cart .amount a { font-weight:bold; }
.block-cart .subtotal { margin:5px 0 0; padding:2px 0; background:#fbebd9; text-align:center; }
.block-cart .subtotal .price { font-weight:bold; }
.block-cart .actions { border-bottom:1px solid #c2c2c2; }
.block-cart .actions .paypal-logo { float:left; width:100%; margin:3px 0 0; text-align:right; }
.block-cart .actions .paypal-logo .paypal-or { clear:both; display:block; padding:0 55px 8px 0; }

/* Block: Wishlist */
.block-wishlist .block-title strong { background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_block-wishlist.gif); }
.block-wishlist .actions { text-align:right; }
.block-wishlist .actions a { float:none; }

/* Block: Related */
.block-related .block-title strong { background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_block-related.gif); background-position:0 1px; }
.block-related input.checkbox { float:left; }
.block-related .product { margin-left:20px; }

/* Block: Compare Products */
.block-compare .block-title strong { background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_block-list.gif); background-position:0 1px; }
.block-compare button.button span { border-color:#406a83; background:#618499; }
.page-popup .link-print { background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_print.gif) 0 2px no-repeat; padding:2px 0 2px 25px; font-weight:bold; color:#1e7ec8; }
.compare-table { border:0; }
.compare-table thead tr.first th,
.compare-table thead tr.first td { border:0; background:none; padding:0; font-size:0; line-height:0; }
.compare-table .btn-remove { float:right; background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/btn_remove2.gif); width:72px; height:15px; }
.compare-table tbody th { background:#d9e5ee url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_th-v.gif) 100% 0 repeat-y; }
.compare-table tbody th,
.compare-table tbody td { padding:10px; border:0; border-top:1px solid #ccc; border-left:1px solid #ccc; }
.compare-table tbody td.last { border-right:1px solid #ccc; }
.compare-table tbody tr.last th,
.compare-table tbody tr.last td { border-bottom:1px solid #ccc !important; }
.compare-table tr.add-to-row td { background:#fffada; text-align:center; }
.compare-table tr.first td { text-align:center; }
.compare-table tr.first td .product-name { font-size:13px; font-weight:bold; margin:0 0 5px; color:#203548; }
.compare-table tr.first td .product-name a { color:#203548; }
.compare-table tr.first td .ratings { width:69px; margin:0 auto; }
.compare-table tr.first td p,
.compare-table tr.add-to-row td p { margin:0; }

/* Block: Recently Viewed */
.block-viewed .block-title strong { background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_block-viewed.gif); }

/* Block: Recently Compared */
.block-compared .block-title strong { background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_block-list.gif); background-position:0 1px; }

/* Block: Poll */
.block-poll .block-title strong { background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_block-poll.gif); }
.block-poll .block-subtitle { font-size:12px; }
.block-poll label { color:#777; font-weight:bold; }
.block-poll input.radio { float:left; margin:1px -18px 0 0; }
.block-poll .label { display:block; margin-left:18px; }
.block-poll li { padding:3px 9px; }
.block-poll .actions { margin:5px 0 0; }
.block-poll button.button span { border-color:#406a83; background:#618499; }
.block-poll .answer { font-weight:bold; }
.block-poll .votes { float:right; margin-left:10px; }

/* Block: Tags */
.block-tags .block-title strong { background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_block-tags.gif); }
.block-tags .block-content .tags-list { background:none; border:0; font-size:12px; }
.block-tags .block-content a { color:#1b2d3b; }
.block-tags .actions { text-align:right; }
.block-tags .actions a { float:none; }

/* Block: Subscribe */
.block-subscribe .block-content { padding:5px 10px; }
.block-subscribe .block-title strong { background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_block-subscribe.gif); }
.block-subscribe label { font-weight:bold; color:#666; }
.block-subscribe input.input-text { display:block; width:167px; margin:3px 0; }
.block-subscribe .actions { background:none; padding:0; margin:3px 0 0; text-align:left; }
.block-subscribe .actions button.button { float:none; }
.block-subscribe .actions button.button span { border-color:#406a83; background:#618499; }

/* Block: Reorder */
.block-reorder .block-title strong { background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_block-list.gif); }
.block-reorder input.checkbox { float:left; margin:2px -20px 0 0; }
.block-reorder .product-name { margin-left:20px; }
.block-reorder .validation-advice { margin:3px 9px 7px; }

/* Block: Banner */
.block-banner { border:0; }
.block-banner .block-content { padding:0; text-align:center; }

/* Block: Login */
.block-login .block-title strong { background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_ma-info.gif); }
.block-login .block-content { padding:5px 10px; }
.block-login label { font-weight:bold; color:#666; }
.block-login input.input-text { display:block; width:167px; margin:3px 0; }
.block-login .actions { background:none; padding:0; margin:3px 0 0; }
.block-login .actions button.button span { border-color:#406a83; background:#618499; }

/* Paypal */
.sidebar .paypal-logo { display:block; margin:10px 0; text-align:center; }
.sidebar .paypal-logo a { float:none; }
/* ======================================================================================= */


/* Category Page ========================================================================= */
.category-title { border:0; margin:0 0 7px; }
.category-image { width:100%; overflow:hidden; margin:0 0 10px; text-align:center; }
.category-image img {}
.category-description { margin:0 0 10px; }
.category-products {}

/* View Type: Grid */
.products-grid { border-bottom:1px solid #d9ddd3; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_grid.gif) 0 0 repeat; position:relative; }
.products-grid.last { border-bottom:0; }
.products-grid li.item { float:left; width:138px; padding:12px 10px 80px; }
.products-grid .product-image { display:block; width:135px; height:135px; margin:0 0 10px; }
.products-grid .product-name { /*min-height:2.7em;*/ margin:0 0 5px; font-weight:bold; font-size:13px; color:#203548; }
.products-grid .product-name a { color:#203548; }
.products-grid .price-box { margin:5px 0; }
.products-grid .availability { line-height:21px; }
.products-grid .actions { position:absolute; bottom:12px; }
.col2-left-layout .products-grid,
.col2-right-layout .products-grid { width:632px; margin:0 auto; }
.col1-layout .products-grid { width:790px; margin:0 auto; }

/* View Type: List */
.products-list li.item { border-bottom:1px solid #d9ddd3; padding:12px 10px; }
.products-list li.item.last { border-bottom:0; }
.products-list .product-image { float:left; width:135px; height:135px; margin:0 0 10px; }
.products-list .product-shop { margin-left:150px; }
.products-list .product-name { margin:0 0 5px; font-weight:bold; font-size:13px; color:#203548; }
.products-list .product-name a { color:#203548; }
.products-list .price-box { float:left; margin:3px 13px 5px 0; }
.products-list .availability { float:left; margin:3px 0 0; }
.products-list .desc { clear:both; padding:6px 0 0; margin:0 0 15px; line-height:1.35; }
.products-list .desc .link-learn { font-size:11px; }
.products-list .add-to-links { clear:both; }
.products-list .add-to-links li { display:inline; }
.products-list .add-to-links .separator { display:inline; margin:0 2px; }
/* ======================================================================================= */


/* Product View ========================================================================== */
/* Rating */
.no-rating { margin:0; }

.ratings { font-size:11px; line-height:1.25; margin:7px 0; }
.ratings strong { float:left; margin:1px 3px 0 0; }
.ratings .rating-links { margin:0; }
.ratings .rating-links .separator { margin:0 2px; }
.ratings dt {}
.ratings dd {}
.rating-box { width:69px; height:13px; font-size:0; line-height:0; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_rating.gif) 0 0 repeat-x; text-indent:-999em; overflow:hidden; }
.rating-box .rating { float:left; height:13px; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_rating.gif) 0 100% repeat-x; }
.ratings .rating-box { float:left; margin-right:3px; }
.ratings .amount {}

.ratings-table th,
.ratings-table td { font-size:11px; line-height:1.15; padding:3px 0; }
.ratings-table th { font-weight:bold; padding-right:8px; }

/* Availability */
.availability { margin:0; }
.availability span { font-weight:bold; }
.availability.in-stock span {}
.availability.out-of-stock span { color:#d83820; }

.availability-only { margin:10px 0 7px; line-height:16px; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_availability_only.gif) 0 50% no-repeat; padding-left:15px; }
.availability-only span,
.availability-only a { border-bottom:1px dashed #751d02; color:#000; }
.availability-only a { background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_availability_only_arrow.gif) 100% 0 no-repeat; cursor:pointer; padding-right:15px; text-decoration:none; }
.availability-only .expanded { background-position:100% -15px; }
.availability-only strong { color:#be2c00; }

.availability-only-details { margin:0 0 7px; }
.availability-only-details th { background:#d2d6d9; font-size:10px; padding:0 8px; }
.availability-only-details td { background:#ebf0f3; border-bottom:1px solid #fff; font-size:11px; padding:2px 8px 1px; }
.availability-only-details tr.odd td.last { color:#d95e00; font-weight:bold; }

.product-view .product-shop .availability { font-size:11px; }
.product-view .product-shop .availability span { font-weight:normal; }

/* Email to a Friend */
.email-friend { margin:0; }

/* Alerts */
.alert-price { margin:0; font-size:11px; }
.alert-stock { margin:0; font-size:11px; }

/********** < Product Prices */
.price { white-space:nowrap !important; }

.price-box { margin:5px 0; }
.price-box .price { font-weight:bold; color:#c76200; }

/* Regular price */
.regular-price { color:#c76200; }
.regular-price .price { font-weight:bold; font-size:13px; color:#c76200; }
.block .regular-price,
.block .regular-price .price { color:#2f2f2f; }

/* Old price */
.old-price { margin:0; }
.old-price .price-label { white-space:nowrap; color:#999; }
.old-price .price { font-weight:bold; color:#c76200; text-decoration:line-through; }

/* Special price */
.special-price { margin:0; padding:3px 0; }
.special-price .price-label { font-size:13px; font-weight:bold; white-space:nowrap; color:#cd5033; }
.special-price .price { font-size:13px; font-weight:bold; color:#c76200; }

/* Minimal price (as low as) */
.minimal-price { margin:0; }
.minimal-price .price-label { font-weight:bold; white-space:nowrap; }

.minimal-price-link { display:block; }
.minimal-price-link .label {color:#1e7ec8;}
.minimal-price-link .price { font-weight:normal; color:#1e7ec8; }

/* Excluding tax */
.price-excluding-tax { display:block; color:#999; }
.price-excluding-tax .label { white-space:nowrap; color:#999; }
.price-excluding-tax .price { font-size:13px; font-weight:normal; color:#c76200; }

/* Including tax */
.price-including-tax { display:block; color:#999; }
.price-including-tax .label { white-space:nowrap; color:#999; }
.price-including-tax .price { font-size:13px; font-weight:bold; color:#c76200; }

/* Configured price */
.configured-price { margin:0; }
.configured-price .price-label { font-weight:bold; white-space:nowrap; }
.configured-price .price { font-weight:bold; }

/* FPT */
.weee { display:block; font-size:11px; color:#444; }
.weee .price { font-size:11px; font-weight:normal; }

/* Excl tax (for order tables) */
.price-excl-tax  { display:block; }
.price-excl-tax .label { display:block; white-space:nowrap; }
.price-excl-tax .price { display:block; }

/* Incl tax (for order tables) */
.price-incl-tax { display:block; }
.price-incl-tax .label { display:block; white-space:nowrap; }
.price-incl-tax .price { display:block; font-weight:bold; }

/* Price range */
.price-from { margin:0; }
.price-from .price-label { font-weight:bold; white-space:nowrap; }

.price-to { margin:0; }
.price-to .price-label { font-weight:bold; white-space:nowrap; }

/* Price notice next to the options */
.price-notice { padding-left:10px; color:#999; }
.price-notice .price { font-weight:bold; color:#2f2f2f; }

/* Price as configured */
.price-as-configured { margin:0; }
.price-as-configured .price-label { font-weight:bold; white-space:nowrap; }

.price-box-bundle { padding:0 0 10px 0; }
.price-box-bundle .price-box { margin:0 !important; padding:0 !important; }
.price-box-bundle .price { color:#555; }
/********** Product Prices > */

/* Tier Prices */
.product-pricing,
.tier-prices { margin:10px 0; padding:10px; background-color:#f4f7f7; border:1px solid #dadddd; color:#424242; }
.tier-prices li { line-height:1.4; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_tier.gif) no-repeat 0 3px; padding:2px 0 2px 10px; }
.tier-prices .benefit { font-style:italic; font-weight:bold; color:#2f2f2f; }
.tier-prices .price { font-weight:bold; color:#2f2f2f; }

.tier-prices-grouped li { padding:2px 0; color:#e26703; }
.tier-prices-grouped li .price { font-weight:bold; }

/* Add to Links */
.add-to-links { font-size:11px; margin:5px 0 0; }
.add-to-links .separator { display:none; }

/* Add to Cart */
.add-to-cart label { float:left; margin-right:5px; font-weight:bold; color:#666; }
.add-to-cart .qty { float:left; margin-right:5px; }
.add-to-cart button.button { float:left; }
.add-to-cart .paypal-logo { clear:left; margin:0; text-align:right; }
.add-to-cart .paypal-logo .paypal-or { clear:both; display:block; margin:5px 60px 5px 0; }
.product-view .add-to-cart .paypal-logo { margin:0; }

/* Add to Links + Add to Cart */
.add-to-box { margin:10px 0; }
.add-to-box .add-to-cart { float:left; }
.add-to-box .or { float:left; font-weight:bold; margin:0 7px; color:#666; }
.add-to-box .add-to-links { float:left; margin:0; font-size:12px !important; line-height:1.25 !important; text-align:left !important; }
.add-to-box .add-to-links li { display:block !important; }
.add-to-box .add-to-links li .separator { display:none !important; }


.product-view { border:1px solid #c4c6c8; }

.product-essential { padding:25px; background:#fff url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_product-view.gif) 100% 0 no-repeat; }
.product-essential h2 { font:bold 13px/1.35 Arial, Helvetica, sans-serif; }

.product-collateral { background:#faf7ee url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_product_collateral.gif) 0 0 repeat-x; padding:25px; }
.product-collateral h2 { font-weight:bold; font-size:15px; color:#e26703; border-bottom:1px solid #e5dcc3; padding:0 0 1px; margin:0 0 15px; }
.product-collateral .box-collateral { margin:0 0 25px; }

/* Product Images */
.product-view .product-img-box { float:left; width:267px; }
.col3-layout .product-view .product-img-box { float:none; margin:0 auto; }
.product-view .product-img-box .product-image { margin:0 0 13px; }
.product-view .product-img-box .product-image-zoom { position:relative; width:265px; height:265px; overflow:hidden; z-index:9; }
.product-view .product-img-box .product-image-zoom img { position:absolute; left:0; top:0; cursor:move; }
.product-view .product-img-box .zoom-notice { font-size:11px; margin:0 0 5px; text-align:center; }
.product-view .product-img-box .zoom { position:relative; z-index:9; height:18px; margin:0 auto 13px; padding:0 28px; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/slider_bg.gif) 50% 50% no-repeat; cursor:pointer; }
.product-view .product-img-box .zoom.disabled { -moz-opacity:.3; -webkit-opacity:.3; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";/*IE8*/ opacity:.3; }
.product-view .product-img-box .zoom #track { position:relative; height:18px; }
.product-view .product-img-box .zoom #handle { position:absolute; left:0; top:-1px; width:9px; height:22px; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/magnifier_handle.gif) 0 0 no-repeat;  }
.product-view .product-img-box .zoom .btn-zoom-out { position:absolute; left:2px; top:0; }
.product-view .product-img-box .zoom .btn-zoom-in { position:absolute; right:2px; top:0; }
.product-view .product-img-box .more-views h2 { font-size:11px; border-bottom:1px solid #ccc; margin:0 0 8px; text-transform:uppercase; }
.product-view .product-img-box .more-views ul { margin-left:-9px }
.product-view .product-img-box .more-views li { float:left; margin:0 0 8px 9px; }
.product-view .product-img-box .more-views li a { float:left; width:56px; height:56px; border:2px solid #ddd; overflow:hidden; }

.product-image-popup { margin:0 auto; }
.product-image-popup .buttons-set { float:right; clear:none; border:0; margin:0; padding:0; }
.product-image-popup .nav { font-weight:bold; margin:0 100px; text-align:center; }
.product-image-popup .image { display:block; margin:10px 0;  }
.product-image-popup .image-label { font-size:13px; font-weight:bold; margin:0 0 10px; color:#2f2f2f; }

/* Product Shop */
.product-view .product-shop { float:right; width:330px; }
.col1-layout .product-view .product-shop { float:right; width:545px; }
.col3-layout .product-view .product-shop { float:none; width:auto; }
.product-view .product-shop .product-name { margin:0 0 5px; }
.product-view .product-shop .product-name h1 { margin:0; font:bold 15px/1.35 Arial, Helvetica, sans-serif; }
.product-view .product-shop .availability { margin:10px 0; }
.product-view .product-shop .short-description { margin:10px 0; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_divider1.gif) 0 0 repeat-x; padding:10px 0 0; }
.product-view .product-shop .price-box { margin:10px 0; }
.product-view .product-shop .add-to-links { margin:0; }
.product-view .product-shop .add-to-links { font-size:12px; text-align:right; }
.product-view .product-shop .add-to-links li,
.product-view .product-shop .add-to-links li .separator { display:inline; }
.product-view .product-shop .add-to-links a { color:#1E7EC8 !important; font-weight:normal !important; }

/* Product Options */
.product-options { margin:20px 0 0; padding:10px 15px 20px; position:relative; background-color:#f6f6f6; border:1px solid #e4e4e4; }
.product-options dt { padding:10px 0 0; font-weight:normal; }
.product-options dt label { font-weight:bold; color:#2f2f2f; }
.product-options dt label.required em { color:#eb340a; margin-left:5px; }
.product-options dd .qty-holder { display:block; padding:10px 0 0; }
.product-options dd .qty-holder label { vertical-align:middle; }
.product-options dt .qty-disabled { background:none; border:0; padding:3px; color:#2f2f2f; }
.product-options dd { padding:5px 10px 15px; margin:0 0 5px; border-bottom:1px solid #e4e4e4; }
.product-options dl.last dd.last { border-bottom:0; padding-bottom:5px; margin-bottom:0; }
.product-options dd input.input-text { width:98%; }
.product-options dd input.datetime-picker { width:150px; }
.product-options dd .time-picker { display:-moz-inline-box; display:inline-block; padding:2px 0; vertical-align:middle; }
.product-options dd textarea { width:98%; height:8em; }
.product-options dd select { width:99%; }
.product-options dd .multiselect option { border-bottom:1px dotted #d9e5ee; padding:2px 4px; }
.product-options ul.options-list { margin-right:5px; }
.product-options ul.options-list li { line-height:1.5; padding:2px 0; }
.product-options ul.options-list input.radio { float:left; margin-top:3px; }
.product-options ul.options-list input.checkbox { float:left; margin-top:3px; }
.product-options ul.options-list .label { display:block; margin-left:18px; }
.product-options ul.options-list label { font-weight:normal; }
.product-options ul.validation-failed { padding:0 7px; }
.product-options p.note { margin:0; font-size:11px; }
.product-options p.required { position:absolute; right:20px; top:20px; }

.product-options-bottom { background-color:#fffada; padding:15px 20px; border:1px solid #e4e4e4; border-top:0; }
.product-options-bottom .product-pricing,
.product-options-bottom .tier-prices { margin:0; padding:0 0 10px; border:0; background:0; color:#e26703; }
.product-options-bottom .tier-prices li { background:0; padding:2px 0; }
.product-options-bottom .tier-prices .price,
.product-options-bottom .tier-prices .benefit { color:#e26703; }
.product-options-bottom .price-box { float:left; margin:0; padding:0; }
.product-options-bottom .add-to-links { clear:both; padding:5px 0 0; text-align:right; }
.col3-layout .product-options-bottom .price-box { float:none; padding:0 0 5px; }
.product-options-bottom .price-label { float:left; padding-right:5px; }
.product-options-bottom .price-tax { float:left; }
.product-options-bottom .add-to-cart { float:right; }
.product-shop .product-options-bottom { margin:0 0 10px; }
.product-shop .product-options-bottom .price-box { float:none; margin:0 0 5px; }
.product-shop .product-options-bottom .price-label { float:none; padding-right:0; }
.product-shop .product-options-bottom .price-tax { float:none; }
.product-shop .product-options-bottom .add-to-cart-box { clear:both; float:left; padding-top:12px; }
.product-shop .product-options-bottom .add-to-links { clear:both; padding:5px 0 0; text-align:right; }

/* Grouped Product */
.product-view .grouped-items-table .price-box { margin:0; padding:0; }

/* Block: Description */
.product-view .box-description {}

/* Block: Additional */
.product-view .box-additional .data-table th,
.product-view .box-additional .data-table td { line-height:1.25; }

/* Block: Upsell */
.product-view .box-up-sell h2 { border-bottom:0; padding:0; margin:0 0 8px; }
.product-view .box-up-sell .products-grid { width:100%; border:1px solid #e5dcc3; }
.product-view .box-up-sell .products-grid td { width:25%; background:#f6f2e7; border-right:1px solid #e5dcc3; border-bottom:1px solid #e5dcc3; padding:15px 10px 12px; line-height:1.6em; }
.product-view .box-up-sell .products-grid tr.last td { border-bottom:0; }
.product-view .box-up-sell .products-grid td.last { border-right:0; }
.product-view .box-up-sell .products-grid td img { border:1px solid #e5dcc3; }
.product-view .box-up-sell .products-grid .product-image { text-align:center; }
.product-view .box-up-sell .products-grid td.empty { border-right:0; background:#f1ecdb; }
.product-view .box-up-sell .products-grid .ratings .rating-box { float:none; display:block; margin:0 0 3px; }

/* Block: Tags */
.product-view .box-tags { margin:0; }
.product-view .box-tags h3 { font-size:13px; }
.product-view .box-tags .product-tags { display:block; margin:0 0 15px; }
.product-view .box-tags .product-tags li { display:inline; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_pipe3.gif) 100% 4px no-repeat; padding:0 7px 0 4px; }
.product-view .box-tags .product-tags li.first { padding-left:0; }
.product-view .box-tags .product-tags li.last { background:none; padding-right:0; }
.product-view .box-tags .form-add label { display:block; font-size:13px; font-weight:bold; margin:0 0 5px; color:#0a263c;}
.product-view .box-tags .form-add .input-box { float:left; width:305px; margin:0 5px 0 0; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_tag_add.gif) 0 2px no-repeat; padding:0 0 0 23px; }
.product-view .box-tags .form-add input.input-text { width:299px; }
.product-view .box-tags .form-add button.button span { border-color:#406a83; background:#618499; }
.product-view .box-tags .note { margin:3px 0 0; padding:0 0 0 23px; font-size:11px; }

/* Block: Reviews */
.product-view .box-reviews dl { margin:15px 0; }
.product-view .box-reviews dt a,
.product-view .box-reviews dt span { font-weight:bold; }
.product-view .box-reviews dd { margin:0 0 15px; }
.product-view .box-reviews dd small { font-style:italic; }
.product-view .box-reviews .form-add { margin:15px 0 0; }
.product-view .box-reviews .form-add h3 { font-size:13px; font-weight:normal; }
.product-view .box-reviews .form-add h3 span { font-weight:bold; }
.product-view .box-reviews .form-add h4 { font-size:12px; }
.product-view .box-reviews .form-add .data-table td { text-align:center; }
.product-view .box-reviews .form-add .form-list { margin:15px 0 0; }
.product-view .box-reviews .form-add .form-list .input-box { width:360px; }
.product-view .box-reviews .form-add .form-list input.input-text,
.product-view .box-reviews .form-add .form-list textarea { width:354px; }

/* Send a Friend */
.send-friend .form-list { width:615px; overflow:hidden; }
.send-friend .form-list li { margin-right:-15px; }
.send-friend .form-list li p { margin:0 15px 0 0; }
.send-friend .form-list .field { width:315px; }
.send-friend .form-list .input-box { width:300px; }
.send-friend .form-list input.input-text,
.send-friend .form-list textarea { width:294px; }
.send-friend .form-list li.wide .input-box { width:612px; }
.send-friend .form-list li.wide textarea { width:609px; }
.send-friend .buttons-set .limit { float:right; margin:0 7px 0 0; font-size:11px; line-height:21px; }
/* ======================================================================================= */


/* Content Styles ================================================================= */
.product-name { margin:0; font-size:1em; font-weight:normal; }
.product-name a { color:#1e7ec8; }

/* Product Tags */
.tags-list { display:block; font-size:13px; border:1px solid #c1c4bc; background:#f8f7f5; padding:10px; }
.tags-list li { display:inline !important; margin:0 4px 0 0; }
.tags-list li a { color:#1b2d3b; }

/* Advanced Search */
.advanced-search .form-list label { width:160px; padding-right:10px; }
.advanced-search .form-list .input-box,
.advanced-search .form-list .input-range { float:left; clear:none; }
.advanced-search-amount { margin:0 0 10px; }
.advanced-search-summary { margin:10px 0; border:1px solid #e9d7c9; background:#fff6f1; padding:10px; }
.advanced-search-summary ul { float:left; width:49%; }
.advanced-search-summary strong { color:#E17C24; padding-left:15px; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_search_criteria.gif) 0 3px no-repeat; }
.advanced-search-summary p { clear:both; font-weight:bold; margin:0; }

/* CMS Home Page */
.cms-home .subtitle {}
.cms-index-index .subtitle {}

/* Sitemap */
.page-sitemap .links { text-align:right; margin:0 8px -22px 0; }
.page-sitemap .links a { text-decoration:none; position:relative; }
.page-sitemap .links a:hover { text-decoration:underline; }
.page-sitemap .sitemap { margin:12px; }
.page-sitemap .sitemap a { color:#1b2d3b; }
.page-sitemap .sitemap li { margin:3px 0; }
.page-sitemap .sitemap li.level-0 { margin:10px 0 0; font-weight:bold; }
.page-sitemap .sitemap li.level-0 a { color:#1e7ec8; }

/* RSS */
.rss-title h1 { background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_rss-big.png) 0 4px no-repeat; padding-left:27px; }
.rss-table .link-rss { display:block; line-height:1.55; background-position:0 4px; }
/* ======================================================================================= */


/* Shopping Cart ========================================================================= */
.cart .page-title { border-bottom:0; margin:0 0 12px; }
.cart .page-title h1 { margin:10px 0 0; }

/* Checkout Types */
.cart .page-title .checkout-types li { margin:0 0 5px; }
.cart .title-buttons .checkout-types { float:right; }
.cart .title-buttons .checkout-types li { float:left; margin:0 0 5px 5px; }
.cart .checkout-types .paypal-or { margin:0 8px; line-height:2.3; }
.cart .totals .checkout-types .paypal-or { clear:both; display:block; padding:8px 55px 0 0; line-height:1.0; font-size:11px; }

/* Shopping Cart Table */
.cart-table th { padding:2px 10px; }
.cart-table td { padding:10px; }
.cart-table .product-name { font-weight:bold; margin:0 0 5px; color:#2f2f2f; }
.cart-table .item-msg { margin:5px 0; font-size:11px; font-weight:bold; color:#df280a; }
.cart-table tfoot td { padding:5px 10px; }
.cart-table .btn-continue { float:left; }
.cart-table .btn-empty span,
.cart-table .btn-continue span,
.cart-table .btn-update span { border-color:#406a83; background:#618499; }
.cart-table .btn-update,
.cart-table .btn-empty { float:right; }
.cart-table .btn-update { margin-left:10px; }

/* Shopping Cart Collateral boxes */
.cart .cart-collaterals { padding:25px 0 0; }
.cart .cart-collaterals .col2-set { float:left; width:605px; }
.cart .cart-collaterals .col2-set .col-2 { width:294px; }

.cart .crosssell { border:1px solid #cec3b6; background:#fafaec; padding:12px 15px; }
.cart .crosssell h2 { font-size:13px; font-weight:bold; }
.cart .crosssell .product-image { float:left; width:75px; height:75px; border:1px solid #d0cdc9; }
.cart .crosssell .product-details { margin-left:90px; }
.cart .crosssell .product-name { font-weight:bold; }
.cart .crosssell li.item { margin:12px 0; }
.cart .crosssell .link-compare { font-weight:normal; }

/* Discount Codes & Estimate Shipping and Tax Boxes */
.cart .discount,
.cart .shipping { border:1px solid #d0cbc1; background:#fff url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_block-title.gif) 0 0 repeat-x; padding:12px 15px; margin:0 0 18px; }
.cart .discount h2,
.cart .shipping h2 { background-position:0 0; background-repeat:no-repeat; font:bold 13px/16px Arial, Helvetica, sans-serif; padding:0 0 0 21px; color:#e26703; text-transform:uppercase; }
.cart .discount button span,
.cart .shipping button span { border-color:#406a83; background:#618499; }
.cart .discount .buttons-set,
.cart .shipping .buttons-set { margin:10px 0 0; border:0; padding:0; text-align:left; }
.cart .discount .buttons-set button.button,
.cart .shipping .buttons-set button.button { float:none; margin-left:0; }

.cart .discount h2 { background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_discount.gif); }
.cart .discount .input-box { margin:8px 0 0; width:260px; }
.cart .discount input.input-text { width:254px; }

.cart .shipping h2 { background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_shipping.gif); }
.cart .shipping .sp-methods { margin:10px 0 0; padding:5px 0 0; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_divider1.gif) 0 0 repeat-x; }

/* Shopping Cart Totals */
.cart .totals { float:right; width:268px; background:#dee5e8; border:1px solid #bebcb7; }
.cart .totals table { width:100%; margin:7px 0; }
.cart .totals td { padding:1px 15px 1px 7px; }
.cart .totals tr.last td {}
.cart .totals tfoot th { padding:5px 15px 5px 7px; }
.cart .totals tfoot td { padding-top:5px; padding-bottom:5px; }
.cart .totals tfoot th strong,
.cart .totals tfoot td strong { font-size:15px; }
.cart .totals .checkout-types { font-size:13px; padding:8px 15px 15px; text-align:right; }
.cart .totals .checkout-types li { clear:both; margin:10px 0; }

/* Options Tool Tip */
.item-options dt { font-weight:bold; font-style:italic; }
.item-options dd { padding-left:10px; margin:0 0 6px; }
.truncated { cursor:help; }
.truncated a.dots { cursor:help; }
.truncated a.details { cursor:help; }
.truncated .truncated_full_value { position:relative; z-index:999; }
.truncated .truncated_full_value .item-options { position:absolute; top:-99999em; left:-99999em; z-index:999; width:250px; padding:8px; border:1px solid #ddd; background-color:#f6f6f6; }
.truncated .truncated_full_value .item-options > p { font-weight:bold; text-transform:uppercase; }
.truncated .show .item-options { top:-20px; left:50%; }
.col-left .truncated .show .item-options { left:15px; top:7px; }
.col-right .truncated .show .item-options { left:-240px; top:7px; }
/* ======================================================================================= */


/* Checkout ============================================================================== */
/********** < Common Checkout Styles */
/* Shipping and Payment methods */
.sp-methods { margin:0 0 8px; }
.sp-methods dt { margin:13px 0 5px; font-weight:bold; }
.sp-methods dd {}
.sp-methods dd li { margin:5px 0; }
.sp-methods label { font-weight:bold; color:#666; }
.sp-methods .price { font-weight:bold; }
.sp-methods .form-list { padding-left:20px; }
.sp-methods .form-list li { margin:0 0 8px; }
.sp-methods select.month { width:154px; margin-right:10px; }
.sp-methods select.year { width:96px; }
.sp-methods input.cvv { width:3em !important; }

.sp-methods .checkmo-list li { margin:0 0 5px; }
.sp-methods .checkmo-list label { width:135px; padding-right:10px; text-align:right; }
.sp-methods .checkmo-list address { float:left; }

.sp-methods .centinel-logos a { margin-right:3px; }
.sp-methods .centinel-logos img { vertical-align:middle; }

.sp-methods .release-amounts { margin:0.5em 0; }
.sp-methods .release-amounts button { float:left; margin:5px 10px 0 0; }

.please-wait { float:right; }
.please-wait img { vertical-align:middle; }
.cvv-what-is-this { font-size:11px; cursor:help; margin-left:10px; }

/* Tooltip */
.tool-tip { border:1px solid #7BA7C9; background:#EAF6FF; padding:15px 20px; position:absolute; z-index:9999; }
.tool-tip .btn-close { margin:-9px -14px 0; text-align:right; }
.tool-tip .btn-close a { display:block; margin:0 0 0 auto; width:15px; height:15px; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/btn_window_close.gif) 100% 0 no-repeat; text-align:left; text-indent:-999em; overflow:hidden; }
.tool-tip .tool-tip-content { padding:5px; }

/* Gift Messages */
.gift-messages h3 { font-size:12px; font-weight:bold; color:#e87403; }
.gift-messages p.control { color:#8e8d8b; }
.gift-messages-form { position:relative; }
.gift-messages-form label { float:none !important; position:static !important; }
.gift-messages-form h4 { font-size:12px; font-weight:bold; color:#e87403; }
.gift-messages-form .whole-order { margin:0 0 25px; }
.gift-messages-form .item { margin:0 0 10px; }
.gift-messages-form .item .product-img-box { float:left; width:75px; }
.gift-messages-form .item .product-image { margin:0 0 7px; }
.gift-messages-form .item .number { margin:0; font-weight:bold; text-align:center; color:#8a8987; }
.gift-messages-form .item .details { margin-left:90px; }
.gift-messages-form .item .details .product-name { font-size:13px; font-weight:bold; margin:0 0 10px; }
.gift-messages-form .item .details .form-list .field { width:255px; }
.gift-messages-form .item .details .form-list .input-box { width:240px; }
.gift-messages-form .item .details .form-list input.input-text { width:234px; }
.gift-messages-form .item .details .form-list li.wide .input-box { width:500px; }
.gift-messages-form .item .details .form-list li.wide textarea { width:494px; }

.gift-message-link { font-size:11px; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_collapse-gm.gif) 100% 6px no-repeat; padding-right:7px; }
.gift-message-link.expanded { background-position:100% -40px; }
.gift-message-row { background:#f2efe9; }
.gift-message-row .btn-close { float:right; width:16px; height:16px; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/btn_gm-close.gif) 0 0 no-repeat; font-size:0; line-height:0; text-indent:-999em; overflow:hidden; }

/* Checkout Agreements */
.checkout-agreements li { margin:30px 0; }
.checkout-agreements .agreement-content { overflow:auto; height:12em; padding:10px; background-color:#fbfaf6; border:1px solid #bbb6a5; }
.checkout-agreements .agree { margin:0; padding:10px 0 10px 11px; }
.checkout-agreements .agree input.checkbox { margin-right:6px; }
.checkout-agreements .agree label { font-weight:bold; color:#666; }

.opc .checkout-agreements { border:1px solid #d9dde3; border-width:0 1px; padding:5px 30px; }
.opc .checkout-agreements li { margin:20px 0 0; }
.opc .checkout-agreements .agreement-content { background-color:#fff; border-color:#e4e4e4; padding:5px; }
.opc .checkout-agreements .agree { padding-left:6px; }

/* Centinel */
.centinel {}
.centinel .authentication { border:1px solid #ddd; background:#fff; }
.centinel .authentication iframe { width:99%; height:400px; background:transparent !important; margin:0 !important; padding:0 !important; border:0 !important; }

.opc .centinel { border:1px solid #bbb6a5; border-width:0 1px 1px; padding:10px 30px; }

/* Generic Info Set */
.info-set { background:#fbfaf6 url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_checkout.gif) 0 0 repeat-x; border:1px solid #bbb6a5; margin:0 0 25px; padding:20px; }
.info-set h2 { font-size:13px; font-weight:bold; margin:0 0 10px; }
.info-set h3,
.info-set h4 { font-size:13px; font-weight:bold; color:#E26703; }
.info-set h2 a,
.info-set h3 a,
.info-set h4 a { font-weight:normal; }
.info-set h2.legend { margin:-20px -20px 15px; padding:5px 10px; background:#f9f3e3; border-bottom:1px solid #bbafa0; position:relative; }
.info-set h3.legend { margin:0 0 10px; color:#0a263c; }
.info-set .divider { margin:0 -20px; padding:25px 0; position:relative; }
.info-set .box { margin:0 0 15px; }
.info-set .box h2 { color:#e26703; }
.info-set .data-table .product-name { font-size:1em !important; font-weight:bold !important; color:#1e7ec8 !important; }
.info-set .data-table .product-name a { font-weight:bold !important; }
.info-set .data-table .item-options { margin:5px 0 0; }
/********** Common Checkout Styles > */

/* One Page Checkout */
.block-progress { border:0; margin:0; }
.block-progress .block-title { background:none; border:0; padding:0; margin:0 0 5px; }
.block-progress .block-title strong { font-size:13px; color:#0a263c; }
.block-progress .block-content { background:none; }
.block-progress dt { font-size:13px; font-weight:bold; line-height:1.35; background:#eee; border:1px solid #a3aeb3; margin:0 0 6px; padding:2px 8px; color:#999; }
.block-progress dd { background:#eee; border:1px solid #a3aeb3; border-top:0; padding:8px 13px; margin:0 0 6px; }
.block-progress dt.complete { margin:0; background:#d0dce1; color:#5e8ab4; }
.block-progress dd.complete {}
.block-progress p { margin:0; }
.block-progress .cards-list dt { background:none; border:0 none; color:inherit; font-size:12px; margin:5px 0; padding:0; }
.block-progress .cards-list dd { border:0 none; margin:0; padding:0; }
.block-progress .cards-list .info-table th { font-weight:normal; }

.opc .buttons-set { margin-top:0; padding-top:2em; }
.opc .buttons-set p.required { margin:0; padding:0 0 10px; }
.opc .buttons-set .back-link small { display:none; }
.opc .buttons-set .back-link a { background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_arrow-top.gif) 0 50% no-repeat; padding-left:16px; }
.opc .buttons-set.disabled button.button { display:none; }
.opc .buttons-set .please-wait { height:21px; line-height:21px; }
.opc .ul { list-style:disc outside; padding-left:18px; }

.opc { position:relative; }
.opc li.section {}

.opc .step-title { border-width:0 1px; border-style:solid; border-color:#fff #d9dde3 #d9dde3; background:#eee url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_opc-title-off.gif) 0 100% repeat-x; padding:4px 8px 6px; text-align:right; }
.opc .step-title .number { float:left; background:#fff; border:1px solid #fff; padding:0 4px; margin:0 5px 0 0; font:bold 11px/14px arial, helvetica, sans-serif; color:#999; }
.opc .step-title h2 { float:left; margin:0; font:bold 13px/16px Arial, Helvetica, sans-serif; color:#999; }
.opc .step-title a { display:none; float:right; font-size:11px; line-height:16px; }

.opc .allow .step-title { background:#d0dce1; border:1px solid #a3aeb3; border-bottom:0; color:#a4b3b9; cursor:pointer; }
.opc .allow .step-title .number { background:#dbe6eb; border-color:#dbe6eb; color:#a4b3b9; }
.opc .allow .step-title h2 { color:#a4b3b9; }
/*.opc .allow .step-title a { display:block; }*/

.opc .active .step-title { background:#f9f3e3; border:1px solid #bbafa0; padding-bottom:5px; color:#f18200; cursor:default; }
.opc .active .step-title .number { background:#f18200; border-color:#f19900; color:#fff; }
.opc .active .step-title h2 { color:#f18200; }
/*.opc .active .step-title a { display:none; }*/

.opc .step { border:1px solid #bbafa0; border-top:0; background:#fbfaf6 url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_checkout.gif) 0 0 repeat-x; padding:15px 30px; position:relative; }
.opc .step .tool-tip { right:30px; }

#opc-login .buttons-set { border-top:0; }
#opc-login h3 { font-size:13px; border-bottom:1px solid #e4e4e4; padding-bottom:2px; text-transform:uppercase; }
#opc-login h4 { font-size:1em; font-weight:bold; margin:0; color:#2f2f2f; }

#opc-shipping_method .buttons-set { border-top:0; }
.opc .gift-messages-form { margin:0 -30px; background:#f6f1eb; border:1px solid #e9e4de; border-width:1px 0; padding:22px 24px 22px 30px; }
.opc .gift-messages-form .inner-box { padding:5px; height:260px; overflow:auto; }

#opc-review .step { border:0; padding:0; }
#opc-review .product-name { font-weight:bold; color:#0a263c; }
#opc-review .item-options { margin:5px 0 0; }
#opc-review .buttons-set { padding:20px 30px; border:1px solid #d9dde3; border-width:0 1px 1px; }
#opc-review .buttons-set p { margin:0; line-height:40px; }
#opc-review .buttons-set .please-wait { height:40px; line-height:40px; }
#opc-review .authentication { margin:0 auto; width:570px; }
#opc-review .warning-message { color:#222; font-weight:bold; text-align:center; padding:10px 10px 0; }

/* Multiple Addresses Checkout */
.checkout-progress { padding:0 90px; margin:0 0 20px; }
.checkout-progress li { float:left; width:19%; margin:0 3px 0 0; border-top:10px solid #999; padding:2px 0 0; font-weight:bold; text-align:center; color:#abb5ba; }
.checkout-progress li.active { border-top-color:#e96200; color:#e96200; }

.multiple-checkout h2 { font-size:13px; font-weight:bold; margin:0 0 10px; }
.multiple-checkout h3,
.multiple-checkout h4 { font-size:13px; font-weight:bold; color:#E26703; }
.multiple-checkout h2 a,
.multiple-checkout h3 a,
.multiple-checkout h4 a { font-weight:normal; }
.multiple-checkout .data-table .product-name { font-size:1em !important; font-weight:bold !important; color:#1e7ec8 !important; }
.multiple-checkout .data-table .product-name a { font-weight:bold !important; }
.multiple-checkout .data-table .item-options { margin:5px 0 0; }

.multiple-checkout .gift-messages { margin:15px 0 0; }

.multiple-checkout .tool-tip { top:50%; margin-top:-120px; right:20px; }

.multiple-checkout .col2-set,
.multiple-checkout .col3-set { background:#fbfaf6 url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_checkout.gif) 0 0 repeat-x; border:1px solid #bbb6a5; margin:0 0 25px; padding:20px; }
.multiple-checkout .col2-set h2.legend { margin:-20px -20px 15px; padding:5px 10px; background:#f9f3e3; border-bottom:1px solid #bbafa0; position:relative; }
.multiple-checkout .col2-set h3.legend { margin:0 0 10px; color:#0a263c; }
.multiple-checkout .col2-set .divider { margin:0 -20px; padding:25px 0; position:relative; }
.multiple-checkout .box { margin:0 0 15px; }
.multiple-checkout .box h2 { color:#e26703; }

.multiple-checkout .place-order .please-wait { float:right; padding:27px 7px 0 0; }
.multiple-checkout .place-order .grand-total { float:right; height:71px; font-size:1.5em; padding:0 0 0 21px; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_grand-total.gif) 0 0 no-repeat; overflow:hidden; }
.multiple-checkout .place-order .grand-total .inner { float:left; height:57px; padding:14px 21px 0 0; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_grand-total.gif) 100% 0 no-repeat; }
.multiple-checkout .place-order .grand-total .inner div { display:inline; }
.multiple-checkout .place-order .grand-total big { display:inline; margin-right:12px; }
.multiple-checkout .place-order .grand-total .price { color:#E26703; }
.multiple-checkout .place-order .grand-total button.button span { font-size:16px; }
.multiple-checkout .place-order .grand-total button.button span span { padding:0 45px 0 36px; }

/* Step 1 */
.multiple-checkout .title-buttons button.button span { border-color:#406a83; background:#618499; }
#multiship-addresses-table td { padding:10px; }
#multiship-addresses-table tfoot td { padding:5px 10px; }
#multiship-addresses-table tfoot button.button span { border-color:#406a83; background:#618499; }

/* Step 2 */
.multiple-checkout .gift-messages-form .item .details .form-list { width:100%; overflow:hidden; }
.multiple-checkout .gift-messages-form .item .details .form-list li { margin-right:-15px; }
.multiple-checkout .gift-messages-form .item .details .form-list .field { width:230px; }
.multiple-checkout .gift-messages-form .item .details .form-list .input-box { width:215px; }
.multiple-checkout .gift-messages-form .item .details .form-list input.input-text { width:209px; }
.multiple-checkout .gift-messages-form .item .details .form-list li.wide .input-box { width:445px; }
.multiple-checkout .gift-messages-form .item .details .form-list li.wide textarea { width:439px; }
.checkout-multishipping-shipping .box-sp-methods { border:1px solid #d9d2be; background:#f9f3e3; padding:13px; position:relative; }
.checkout-multishipping-shipping .box-sp-methods .pointer { position:absolute; top:-20px; right:-40px; width:178px; height:41px; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_sp-methods.gif) 0 0 no-repeat; overflow:hidden; }

/* Step 3 */
.checkout-multishipping-billing .multiple-checkout { position:relative; }
/* ======================================================================================= */


/* Account Login/Create Pages ============================================================ */
.account-login .content { min-height:345px; padding:14px 21px; background:#faf7ee url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_login-box.gif) 0 0 repeat-x; border:1px solid #bbb6a5; border-bottom:0; }
.account-login .content h2 { font-weight:bold; font-size:13px; margin:0 0 14px; padding:0 0 5px 23px; border-bottom:1px solid #ddd; background-position:0 1px; background-repeat:no-repeat; text-transform:uppercase; color:#e76200; }
.account-login .new-users h2 { background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_page1.gif)}
.account-login .registered-users h2 { background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_page2.gif); }
.account-login .buttons-set { border:1px solid #bbb6a5; border-top:0; margin:0; padding:8px 13px; background:#dee5e8 url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_buttons-set1.gif) 0 0 repeat-x; }

.account-create {}

/* Captcha ================================================================================ */
.captcha-note      { clear:left; padding-top:5px; }
.captcha-image     { float:left; display:inline;  margin:0; position:relative; width:258px; }
.captcha-image .captcha-img { border:1px solid #b6b6b6; vertical-align:bottom; width:100%; }
.registered-users .captcha-image { margin:0;}
.captcha-reload { cursor:pointer; position:absolute; top:2px; right:2px;}
.captcha-reload.refreshing  { animation:rotate 1.5s infinite linear; -webkit-animation:rotate 1.5s infinite linear; -moz-animation:rotate 1.5s infinite linear; }

@-webkit-keyframes rotate {
    0% { -webkit-transform:rotate(0); }
    0% { -webkit-transform:rotate(-360deg); }
}
@-moz-keyframes rotate {
    0% { -moz-transform:rotate(0); }
    0% { -moz-transform:rotate(-360deg); }
}
@keyframes rotate {
    0% { transform:rotate(0); }
    0% { transform:rotate(-360deg); }
}

/* Remember Me Popup ===================================================================== */
.window-overlay { background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/window_overlay.png) repeat; background:rgba(0, 0, 0, 0.35); position:absolute; top:0; left:0; height:100%; width:100%; z-index:990; }

.remember-me label { float:none; margin:0 6px; }
.remember-me-popup { background:#fff; border:1px solid #ccc; left:50%; top:50%; position:absolute; margin:-85px 0 0 -200px; width:400px; text-align:left; -moz-box-shadow:0 0 6px #ccc; -webkit-box-shadow:0 0 6px #ccc; -box-shadow:0 0 6px #ccc; z-index:1000; }
.remember-me-popup h3 { background:#d9e5ee; border-bottom:1px solid #ccc; font-size:14px; padding:5px 10px; }
.remember-me-popup .remember-me-popup-head { position:relative; }
.remember-me-popup .remember-me-popup-head .remember-me-popup-close { background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/btn_window_close.gif) no-repeat; display:block; position:absolute; top:7px; right:7px; height:15px; width:15px; text-indent:-9999em; }
.remember-me-popup .remember-me-popup-body { padding:10px; }
.remember-me-popup .remember-me-popup-body a { display:inline-block; height:19px; border:1px solid #de5400; background:#f18200; padding:0 8px; font:bold 12px/19px Arial, Helvetica, sans-serif; text-align:center; text-decoration:none; white-space:nowrap; color:#fff; }
/* Remember Me Popup ===================================================================== */


/* My Account ============================================================================= */
.my-account .title-buttons .link-rss { float:none; margin:0; }

/********** < Dashboard */
.dashboard .welcome-msg { margin:0 8em 1.5em 0; }
.dashboard .welcome-msg p { margin:0; }
.dashboard .col2-set { margin:0 0 15px; }

/* General Box */
.box-account { background:#fff url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_account_box.gif) 0 0 repeat-x; border:1px solid #ccc; border-color:#ccc #999 #999 #ccc; padding:15px; margin: 0 0 20px; }
.box-account .box-head { border-bottom:1px solid #d9dde3; margin:0 0 10px; text-align:right; }
.box-account .box-head h2 { float:left; margin:0; font-size:13px; font-weight:bold; text-transform:uppercase; background-position:0 0; background-repeat:no-repeat; padding-left:21px; color:#e65505; }

.dashboard .box .box-title { background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_divider1.gif) 0 100% repeat-x; padding:0 0 2px; margin:0 0 8px; text-align:right; }
.dashboard .box .box-title h3,
.dashboard .box .box-title h4 { float:left; font-size:13px; font-weight:bold; margin:0; }

/* Block: Recent Orders */
.dashboard .box-recent .box-head h2 { background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_folder-table.gif); }

/* Block: Account Information */
.dashboard .box-info .box-head h2 { background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_ma-info.gif); }
.dashboard .box-info h4 { font-size:11px; font-weight:bold; text-transform:uppercase; }

/* Block: Reviews */
.dashboard .box-reviews .box-head h2 { background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_ma-reviews.gif); }
.dashboard .box-reviews .number { float:left; font-size:10px; font-weight:bold; line-height:1; color:#fff; margin:3px -20px 0 0; padding:2px 3px; background:#0a263c; }
.dashboard .box-reviews .details { margin-left:20px; }
.dashboard .box-reviews li.item { margin:0 0 7px; }
.dashboard .box-reviews li.item.last { margin:0; }
.dashboard .box-reviews .ratings { margin:7px 0 0; }

/* Block: Tags */
.dashboard .box-tags .box-head h2 { background-image:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/i_ma-tags.gif); }
.dashboard .box-tags .number { float:left; font-size:10px; font-weight:bold; line-height:1; color:#fff; margin:3px -20px 0 0; padding:2px 3px; background:#0a263c; }
.dashboard .box-tags .details { margin-left:20px; }
.dashboard .box-tags li.item { margin:0 0 7px; }
.dashboard .box-tags li.item.last { margin:0; }
.dashboard .box-tags .tags strong,
.dashboard .box-tags .tags ul,
.dashboard .box-tags .tags ul li { display:inline; }
/********** Dashboard > */

/* Address Book */
.addresses-list h2 { font-weight:bold; font-size:13px; color:#e26703; text-transform:uppercase; }
.addresses-list h3 { font-weight:bold; font-size:13px; }
.addresses-list address { margin:0 0 3px; }
.addresses-list p { margin:0; }
.addresses-list a { font-weight:bold; }
.addresses-list .link-remove { color:#646464; }
.addresses-list .separator { margin:0 3px; }
.addresses-list li.item { background:#fff url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_account_box.gif) 0 0 repeat-x; border:1px solid #ccc; padding:10px 13px; margin:0 0 10px; }
.addresses-list li.empty { background:none; border:0; padding:0; }
.addresses-list li.empty p { font-weight:bold; }
.addresses-list .addresses-additional li.item { background:none; border:0; padding:0; }

/* Order View */
.order-info { background:#dee5e8; border:1px solid #d0cbc1; padding:4px 8px; margin:0 0 8px; }
.order-info dt,
.order-info dd,
.order-info ul,
.order-info li { display:inline; }
.order-info .current { font-weight:bold; }
.order-info li { margin:0 3px; }

.order-date { margin:10px 0; }

.order-info-box { background:#fff url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_block-title.gif) 0 0 repeat-x; border:1px solid #d0cbc1; padding:12px 15px; margin:0 0 15px; }
.order-info-box h2 { font-weight:bold; font-size:13px; }
.order-info-box .box-payment p { margin:0 0 3px; }
.order-info-box .box-payment th { font-weight:bold; padding-right:7px; }

.order-items { width:100%; overflow-x:auto; }
.order-items h2,
.order-items h3 { clear:none; font-weight:bold; font-size:13px; padding:0; margin:0 0 5px; color:#0a263c; }
.order-items .product-name { font-size:1em !important; font-weight:bold !important; }
.order-items .link-print { color:#1e7ec8; font-weight:normal; }
.order-items .order-links { text-align:right; }

.order-additional { margin:15px 0; }
/* Order Gift Message */
.gift-message dt strong { color:#666; }
.gift-message dd { font-size:13px; margin:5px 0 0; }
/* Order Comments */
.order-about dt { font-weight:bold; }
.order-about dd { font-size:13px; margin:0 0 7px; }

.tracking-table { margin:0 0 15px; }
.tracking-table th { font-weight:bold; white-space:nowrap; }

.tracking-table-popup { width:100%; }
.tracking-table-popup th { font-weight:bold; white-space:nowrap; }
.tracking-table-popup th,
.tracking-table-popup td { padding:1px 8px; }

/* Order Print Pages */
.page-print .print-head { margin:0 0 15px; }
.page-print .print-head .logo { float:left; }
.page-print .print-head address { float:left; margin-left:15px; }
.page-print h1 { font-size:16px; font-weight:bold; }
.page-print h2,
.page-print h3 { font-size:13px; font-weight:bold; }
.page-print h2.h2 { font-size:16px; font-weight:bold; }
.page-print .order-date { background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_divider1.gif) 0 100% repeat-x; padding:0 0 10px; margin:0 0 10px; }
.page-print .col2-set { margin:0 0 10px; }
/* Price Rewrites */
.page-print .gift-message-link { display:none; }
.page-print .price-excl-tax,
.page-print .price-incl-tax { display:block; white-space:nowrap; }
.page-print .cart-price,
.page-print .price-excl-tax .label,
.page-print .price-incl-tax .label,
.page-print .price-excl-tax .price,
.page-print .price-incl-tax .price { display:inline; }

/* My Wishlist */
.my-wishlist .data-table td { padding:10px; }
.my-wishlist .product-image { display:block; width:113px; height:113px; margin:0 0 5px; }
.my-wishlist textarea { display:block; width:97%; height:109px; }
.my-wishlist .buttons-set { margin-top:2em; }
.my-wishlist .buttons-set button.button { float:none; }
.my-wishlist .buttons-set .btn-add span,
.my-wishlist .buttons-set .btn-share span { border-color:#406a83; background:#618499; }
#wishlist-table .add-to-links { white-space:nowrap; }

/* My Tags */
.my-tag-edit { float:left; margin:0 0 10px; }
.my-tag-edit .btn-remove { float:right; margin:4px 0 0 5px; }
#my-tags-table { clear:both; }
#my-tags-table td { padding:10px; }
#my-tags-table .add-to-links { white-space:nowrap; }

/* My Reviews */
#my-reviews-table td { padding:10px; }

.product-review .product-img-box { float:left; width:140px;  }
.product-review .product-img-box .product-image { display:block; width:125px; height:125px; }
.product-review .product-img-box .label { font-size:11px; margin:0 0 3px; }
.product-review .product-img-box .ratings .rating-box { float:none; display:block; margin:0 0 3px; }
.product-review .product-details { margin-left:150px; }
.product-review .product-name { font-size:16px; font-weight:bold; margin:0 0 10px; }
.product-review h3 { font-size:12px; margin:0 0 3px; color:#2f2f2f; }
.product-review .ratings-table { margin:0 0 10px; }
.product-review dt { font-weight:bold; }
.product-review dd { font-size:13px; margin:5px 0 0; }

/* Billing Agreements */
.billing-agreements .info-box{ margin:15px 0; }
.billing-agreements .form-list li select { float:left; }
.billing-agreements .form-list li button.button { float:left; margin-left:10px; }
.billing-agreements .table-caption { font-weight:bold; font-size:13px; }
/* ======================================================================================= */


/* MAP Popup============================================================================== */
.cart-msrp-totals { color:red; font-size:12px !important; font-weight:bold; margin:10px 10px 0; padding:10px; text-align:right; text-transform:uppercase;}
.map-cart-sidebar-total { color:red; display:block; font-size:10px; font-weight:bold; text-align:left; padding:2px 5px; text-shadow:0 1px 0 #fff; }

.map-popup { background:#fff; border:1px solid #aaa; margin:12px 0 0; position:absolute; -moz-box-shadow:0 0 6px #ccc; -webkit-box-shadow:0 0 6px #ccc; box-shadow:0 0 6px #ccc; text-align:left; width:300px; z-index:100; }
.map-popup-heading { background:#d9e5ee; border-bottom:1px solid #ccc; padding:5px 30px 5px 10px; width:260px; }
.map-popup-heading h2 { font-size:16px; margin:0; text-shadow:0 1px 0 #f6f6f6; overflow:hidden; white-space:nowrap; word-wrap:break-word; text-align:left; text-overflow:ellipsis; }
.map-popup-arrow { background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/map_popup_arrow.gif) no-repeat; position:absolute; left:50%; top:-10px; height:10px; width:19px; }
.map-popup-close { background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/btn_window_close.gif) no-repeat; display:block; position:absolute; top:8px; right:10px; height:15px; width:15px; text-indent:-9999em; -moz-box-shadow:0 0 3px #999; -webkit-box-shadow:0 0 3px #999; box-shadow:0 0 3px #999; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; }
.map-popup-content { border-top:1px solid #eee; padding:10px; overflow:hidden; text-align:left; width:280px; }
.map-popup-checkout { display:inline; float:right; text-align:right; }
.map-popup-checkout span { display:block; padding-right:30px; }
.map-popup-checkout .paypal-logo { margin:0 0 5px; }
.map-popup-price .price-box,
.map-popup-price .price-box .special-price { margin:0; padding:0; }
.map-popup-price { margin:5px 0 0; }
.map-popup-text { clear:right; margin:0 10px; padding:10px 0; text-align:left; word-wrap:break-word; }
.map-popup-only-text { border-top:1px solid #ddd; }
/* ======================================================================================= */


/* Footer ================================================================================ */
.footer-container { border-top:15px solid #b6d1e2; }
.footer { width:930px; margin:0 auto; padding:10px 10px 50px; }
.footer .store-switcher { display:inline; margin:0 5px 0 0; color:#fff; }
.footer .store-switcher label { font-weight:bold; vertical-align:middle; }
.footer .store-switcher select { padding:0; vertical-align:middle; }
.footer a { color:#fff; text-decoration:none; }
.footer a:hover { text-decoration:underline; }
.footer .bugs { margin:13px 0 0; color:#ecf3f6; }
.footer .bugs a { color:#ecf3f6; text-decoration:underline; }
.footer .bugs a:hover { text-decoration:none; }
.footer address { margin:0 0 20px; color:#ecf3f6; }
.footer address a { color:#ecf3f6; text-decoration:underline; }
.footer address a:hover { text-decoration:none; }
.footer ul { display:inline; }
.footer ul.links { display:block; }
.footer li { display:inline; background:url(https://www.cranepartssupply.com/skin/frontend/default/default/images/bkg_pipe2.gif) 100% 60% no-repeat; padding:0 7px 0 4px; }
.footer li.last { background:none !important; padding-right:0 !important; }
.footer-container .bottom-container { margin:0 0 5px; }
/* ======================================================================================= */

/* Sample Data============================================================================ */
.home-callout { margin-bottom:12px; }
.home-callout img { display:block }
.home-spot { float:left; width:470px; margin-left:20px; }
.best-selling h3 { margin:12px 0 6px 0; color:#e25203; font-size:1.2em; }
.best-selling table { border-top:1px solid #ccc; }
.best-selling tr.odd { background:#eee url(https://www.cranepartssupply.com/skin/frontend/default/default/images/best_selling_tr_odd_bg.gif) 0 100% repeat-x; }
.best-selling tr.even { background:#fff url(https://www.cranepartssupply.com/skin/frontend/default/default/images/best_selling_tr_even_bg.gif) 0 100% repeat-x; }
.best-selling td { width:50%; border-bottom:1px solid #ccc; padding:8px 10px 8px 8px; font-size:11px; }
.best-selling .product-img { float:left; border:2px solid #dcdcdc; }
.best-selling .product-description { margin-left:107px; line-height:1.3em; }
.best-selling a.product-name,
.home-spot .best-selling a.product-name:hover { color:#203548; }
/* ======================================================================================= */


/* Clears ================================================================================ */
.clearer:after,
.header-container:after,
.header-container .top-container:after,
.header:after,
.header .quick-access:after,
#nav:after,
.main:after,
.footer:after,
.footer-container .bottom-container:after,
.col-main:after,
.col2-set:after,
.col3-set:after,
.col3-layout .product-options-bottom .price-box:after,
.col4-set:after,
.search-autocomplete li:after,
.block .block-content:after,
.block .actions:after,
.block li.item:after,
.block-poll li:after,
.block-layered-nav .currently li:after,
.page-title:after,
.products-grid:after,
.products-list li.item:after,
.box-account .box-head:after,
.dashboard .box .box-title:after,
.box-reviews li.item:after,
.box-tags li.item:after,
.pager:after,
.sorter:after,
.ratings:after,
.add-to-box:after,
.add-to-cart:after,
.product-essential:after,
.product-collateral:after,
.product-view .product-img-box .more-views ul:after,
.product-view .box-tags .form-add:after,
.product-view .product-shop .short-description:after,
.product-view .box-description:after,
.product-options .options-list li:after,
.product-options-bottom:after,
.product-review:after,
.cart:after,
.cart-collaterals:after,
.cart .crosssell li.item:after,
.opc .step-title:after,
.checkout-progress:after,
.multiple-checkout .place-order:after,
.group-select li:after,
.form-list li:after,
.form-list .field:after,
.buttons-set:after,
.page-print .print-head:after,
.advanced-search-summary:after,
.gift-messages-form .item:after,
.send-friend .form-list li p:after { display:block; content:"."; clear:both; font-size:0; line-height:0; height:0; overflow:hidden; }
/* ======================================================================================= */

.guest-select {width:305px !important;}

/**
 * Magento
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Academic Free License (AFL 3.0)
 * that is bundled with this package in the file LICENSE_AFL.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/afl-3.0.php
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@magentocommerce.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Magento to newer
 * versions in the future. If you wish to customize Magento for your
 * needs please refer to http://www.magentocommerce.com for more information.
 *
 * @category    design
 * @package     base_default
 * @copyright   Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
 * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
 */

/* Widgets =============================================================================== */
.widget { display:inline; }
.widget .widget-title { clear:both; padding:15px 0 0; margin:0 0 7px; }
.widget .widget-title h2 { font-size:15px; font-weight:bold; color:#e25203; }

.widget .mini-products-images-list .product-image { display:block; width:76px; height:76px; border:1px solid #a9a9a9; margin:0 auto; }
.widget .mini-products-images-list li.item { float:left; width:77px; height:77px; }

/* Widget: Catalog New Proructs List */
.widget-new-products { display:block; }
.col-main .widget-new-products { margin:7px 0; }
.widget-new-products .products-grid .product-image,
.widget-new-products .products-list .product-image { width:85px; height:85px; }
.widget-new-products .products-list .product-shop { margin-left:100px; }
.sidebar .widget-new-products .block { font-size:11px; line-height:1.25; }
.sidebar .widget-new-products .block-title strong { background:url(https://www.cranepartssupply.com/skin/frontend/base/default/images/widgets/i_widget-new.gif) 0 1px no-repeat; padding-left:21px; color:#dc5033; }

/* Widget: Recently Viewed Proructs */
.widget-viewed { display:block; }
.col-main .widget-viewed { margin:7px 0; }
.widget-viewed .products-grid .product-image,
.widget-viewed .products-list .product-image { width:85px; height:85px; }
.widget-viewed .products-list .product-shop { margin-left:100px; }
.sidebar .widget-viewed .block { font-size:11px; line-height:1.25; }
.sidebar .widget-viewed .block-title strong { background:url(https://www.cranepartssupply.com/skin/frontend/base/default/images/widgets/i_block-list.gif) 0 0 no-repeat; padding-left:21px; }

/* Widget: Recently Compared Proructs */
.widget-compared { display:block;}
.col-main .widget-compared { margin:7px 0; }
.widget-compared .products-grid .product-image,
.widget-compared .products-list .product-image { width:85px; height:85px; }
.widget-compared .products-list .product-shop { margin-left:100px; }
.sidebar .widget-compared .block { font-size:11px; line-height:1.25; }
.sidebar .widget-compared .block-title strong { background:url(https://www.cranepartssupply.com/skin/frontend/base/default/images/widgets/i_block-list.gif) 0 0 no-repeat; padding-left:21px; }

/* Widget: CMS Static Block */
.widget-static-block {}
.sidebar .widget-static-block { display:block; margin:0 0 15px; }

/* Widgets: Links Common Styles */
.top-container .widget a { padding:0 0 0 7px; }

.bottom-container .widget a { padding:0 3px; }

/* Widget: Catalog Product Link */
.widget-product-link-inline { display:inline; }

.col-main .widget-product-link { display:block; text-align:right; margin:7px 0; }
.col-main .widget-product-link a { background:url(https://www.cranepartssupply.com/skin/frontend/base/default/images/widgets/i_widget-link.gif) 100% 4px no-repeat; padding-right:15px; }

.sidebar .widget-product-link { display:block; margin:0 0 15px; padding:0 10px; }
.sidebar .widget-product-link a { background:url(https://www.cranepartssupply.com/skin/frontend/base/default/images/widgets/i_widget-link.gif) 100% 4px no-repeat; padding:0 15px 0 0; }

/* Widget: Catalog Category Link */
.widget-category-link-inline { display:inline; }

.col-main .widget-category-link { display:block; text-align:right; margin:7px 0; }
.col-main .widget-category-link a { background:url(https://www.cranepartssupply.com/skin/frontend/base/default/images/widgets/i_widget-link.gif) 100% 4px no-repeat; padding-right:15px; }

.sidebar .widget-category-link { display:block; margin:0 0 15px; padding:0 10px; }
.sidebar .widget-category-link a { background:url(https://www.cranepartssupply.com/skin/frontend/base/default/images/widgets/i_widget-link.gif) 100% 4px no-repeat; padding:0 15px 0 0; }

/* Widget: CMS Page Link */
.widget-cms-link-inline { display:inline; }

.col-main .widget-cms-link { display:block; text-align:right; margin:7px 0; }
.col-main .widget-cms-link a { background:url(https://www.cranepartssupply.com/skin/frontend/base/default/images/widgets/i_widget-link.gif) 100% 4px no-repeat; padding-right:15px; }

.sidebar .widget-cms-link { display:block; margin:0 0 15px; padding:0 10px; }
.sidebar .widget-cms-link a { background:url(https://www.cranepartssupply.com/skin/frontend/base/default/images/widgets/i_widget-link.gif) 100% 4px no-repeat; padding:0 15px 0 0; }
/* ======================================================================================= */

.postWrapper {
    padding-bottom: 15px;
    clear: both;
}

.postTitle {
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #DDDDDD;
    margin-bottom: 5px;
}

.postTitle h2 {
    font-size: 20px;
    font-weight: normal;
    margin: 0px;
    padding: 0px;
    text-align: center;
}

.postTitle h3 {
    font-size: 10px;
    margin: 0px;
    padding-top: 2px;
    padding-right: 0px;
    padding-bottom: 2px;
    padding-left: 0px;
    text-align: right;
}

.postContent {
    padding-bottom: 10px;
}

.postContent ul{
    list-style: disc outside;
    margin-bottom: 1.5em;
}

.postContent ul li{
    margin-left: 2em;
}

.postContent ol{
    list-style: decimal outside;
    margin-bottom: 1.5em;
}

.postContent ol li{
    margin-left: 2em;
}

.postDetails {

}

.postBookmarks {
    padding-bottom: 10px;
}

.postBookmarks h4 {

    font-size: 12px;
    font-weight: bold;
}

.postBookmarks a.bm {
    display: inline-block;
}

.postBookmarks img {
    display: inline;
}

.commentWrapper {
    padding-bottom: 15px;
}

.commentContent {
    padding-bottom: 0px;
}

.commentDetails {
    margin-bottom: 5px;
    padding: 0px;
}

.commentDetails h4.username {
    display: inline;
}

.postError {
    font-size: 16px;
}

.tags {
    font-weight: bold;
    padding-bottom: 10px;
}

.tags UL {
    display: inline;
}

.tags UL LI {
    font-weight: normal;
    display: inline;
    padding-right: 6px;
}

.tags h4 {
    font-size: 12px;
    font-weight: bold;
}

.menu-tags, .menu-categories, .menu-recent {
    margin: 5px 9px;
}

.menu-tags h5, .menu-categories h5, .menu-recent h5 {
    font-size: 11px;
}

.block-blog .menu-tags UL LI {
    display: inline;
    padding: 2px;
    margin-left: 10px;
}

.block-blog .menu-categories UL LI {
    margin-left: 10px;
}

.block-blog .menu-recent UL LI {
    margin-left: 10px;
}

.block-blog .menu-recent UL LI a, .block-blog .menu-categories UL LI a, .block-blog .menu-tags UL LI a {
    font-size: 11px;
}

.tagcloud {
    /* text-align:center; */
}

.tag-count-1 {
    font-size: 1em !important;
}

.tag-count-2 {
    font-size: 1.2em !important;
}

.tag-count-3 {
    font-size: 1.4em !important;
}

.tag-count-4 {
    font-size: 1.6em !important;
}

.tag-count-5 {
    font-size: 1.8em !important;
}

.tag-count-6 {
    font-size: 2em !important;
}

.tag-count-7 {
    font-size: 2em !important;
}

.tag-count-8 {
    font-size: 2em !important;
}

.tag-count-9 {
    font-size: 2em !important;
}

.tag-count-10 {
    font-size: 2em !important;
}

.block-blog .head h4 {
    padding-left: 20px;
}

.block-blog .block-title strong {
    background-image: url(https://www.cranepartssupply.com/skin/frontend/base/default/aw_blog/images/icon_blog.png);
    background-repeat: no-repeat;
    padding-left: 21px;
    text-align: left;
}

.postWrapper .poster {
    display: inline;
}

.input-box.aw-blog-comment-area {
    width: 100%;
}

.widget-latest li {
    font-size: 12px;
    padding: 5px 10px;
}

.block-blog .menu-categories {
    margin: 0;
    padding: 5px 9px;
}

A.awblog_current_comment {
    text-decoration: none !important;
    font-weight: bold !important;
}
/**
 * ELS Theme - Amasty Shopby Filter Styles
 * Overrides default amshopby.css for dark industrial theme
 */

/* Filter item list */
.industrial-filter-sidebar ol {
    list-style: none;
    padding: 0;
    margin: 0;
}

.industrial-filter-sidebar ol li {
    margin-bottom: 0.25rem;
}

/* Generic anchor color override — prevents global `a { color: els-blue }` from leaking in */
.industrial-filter-sidebar a,
.industrial-filter-sidebar ol li a {
    color: #cbd5e1 !important;
}
.industrial-filter-sidebar a:hover,
.industrial-filter-sidebar ol li a:hover {
    color: #f6d722 !important;
}

.industrial-filter-sidebar ol li a {
    display: flex;
    align-items: center;
    padding: 0.5rem;
    border-radius: 0.25rem;
    color: #cbd5e1 !important;
    text-decoration: none;
    font-size: 0.875rem;
    transition: background 0.2s, color 0.2s;
}

.industrial-filter-sidebar ol li a:hover {
    background: rgba(246, 215, 34, 0.1);
    color: #f6d722 !important;
}

/* Selected filter item */
.industrial-filter-sidebar ol li a.amshopby-attr-selected {
    color: #f6d722 !important;
    font-weight: 600;
    background: rgba(246, 215, 34, 0.15);
    border-left: 3px solid #f6d722;
    padding-left: calc(0.5rem - 3px);
}

/* Unselected filter item (checkbox style) */
.industrial-filter-sidebar ol li a.amshopby-attr {
    padding-left: 0.5rem;
}

.industrial-filter-sidebar ol li a.amshopby-attr::before {
    content: '';
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-right: 0.5rem;
    border: 2px solid #cbd5e1;
    border-radius: 0.25rem;
    background: #1a1a2e;
    flex-shrink: 0;
    transition: all 0.2s;
}

.industrial-filter-sidebar ol li a.amshopby-attr:hover::before {
    border-color: #f6d722;
}

.industrial-filter-sidebar ol li a.amshopby-attr-selected::before {
    content: '';
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-right: 0.5rem;
    border: 2px solid #f6d722;
    border-radius: 0.25rem;
    background: linear-gradient(135deg, #f6d722 0%, #e5c71f 100%);
    flex-shrink: 0;
}

.industrial-filter-sidebar ol li a.amshopby-attr-selected::after {
    content: '';
    display: inline-block;
    width: 4px;
    height: 8px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    position: relative;
    left: -1.25rem;
    top: -1px;
    margin-right: -0.5rem;
}

/* Filter count */
.industrial-filter-sidebar ol li a .count,
.industrial-filter-sidebar ol li .count {
    color: #a0a0a0;
    font-size: 0.75rem;
    font-family: 'Roboto Mono', monospace;
    margin-left: auto;
    padding-left: 0.5rem;
}

/* Dropdown select style */
.industrial-filter-sidebar select.amshopby-select {
    width: 100%;
    background: #1a1a2e;
    color: #cbd5e1;
    border: 1px solid #94a3b8;
    border-radius: 0.375rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    cursor: pointer;
    transition: border-color 0.2s;
}

.industrial-filter-sidebar select.amshopby-select:hover,
.industrial-filter-sidebar select.amshopby-select:focus {
    border-color: #f6d722;
    outline: none;
}

/* More/Less links */
.industrial-filter-sidebar a.amshopby-more,
.industrial-filter-sidebar a.amshopby-less {
    color: #f6d722;
    font-size: 0.8125rem;
    text-decoration: none;
    padding: 0.375rem 0.5rem;
    display: inline-block;
    transition: color 0.2s;
}

.industrial-filter-sidebar a.amshopby-more:hover,
.industrial-filter-sidebar a.amshopby-less:hover {
    color: #e5c71f;
    text-decoration: underline;
}

/* Column layout for 2-column mode */
.industrial-filter-sidebar div.amshopby-column {
    float: left;
    width: 50%;
    box-sizing: border-box;
    padding-right: 0.5rem;
}

.industrial-filter-sidebar div.amshopby-column:last-child {
    padding-right: 0;
    padding-left: 0.5rem;
}

/* Overlay (AJAX loading) */
div.amshopby-overlay {
    background-color: rgba(10, 14, 26, 0.7);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 555;
}

/* Amasty top descriptions block */
.amshopby-wrapper.amshopby-filters-wrapper {
    display: none; /* Hide Amasty description blocks - ELS has its own category headers */
}

/* Clearer */
.amshopby-clearer {
    display: block;
    clear: both;
    overflow: hidden;
}

/* Hide default block-layered-nav styles that may leak through */
div.block-layered-nav dd a {
    background: none !important;
}

/**
 * MageWorx
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the MageWorx EULA that is bundled with
 * this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://www.mageworx.com/LICENSE-1.0.html
 *
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@mageworx.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade the extension
 * to newer versions in the future. If you wish to customize the extension
 * for your needs please refer to http://www.mageworx.com/ for more information
 * or send an email to sales@mageworx.com
 *
 * @category   skin_default
 * @package    MageWorx_Downloads
 * @copyright  Copyright (c) 2009 MageWorx (http://www.mageworx.com/)
 * @license    http://www.mageworx.com/LICENSE-1.0.html
 */

/**
 * Downloads extension
 *
 * @category   skin_default
 * @package    MageWorx_Downloads
 * @author     MageWorx Dev Team <dev@mageworx.com>
 */

.downloads-links-block {
	margin-top: 4px;
	margin-bottom: 7px;
    border: solid 1px #DFDFDF; 
    padding: 7px;
}
.downloads-links-block .head {
    padding-bottom: 4px;
}
.downloads-links-block table {
    padding-left: 5px;
}
.downloads-links-block td {
	padding-right: 5px;
}
.downloads-links-block span {
	padding-left: 5px; 
	color: #EF5E2C;
	font-style: italic;
}

#MB_overlay {
	position: absolute;
	margin: auto;
	top: 0;	left: 0;
	width: 100%; height: 100%;
	z-index: 9999;
	background-color: #000!important;
}
#MB_overlay[id] { position: fixed; }

#MB_window {
	position: absolute;
	top: 0;
	border: 0 solid;
	text-align: left;
	z-index: 10000;
}
#MB_window[id] { position: fixed!important; }

#MB_frame {
	position: relative;
	background-color: #FFF;
	height: 100%;
}

#MB_header {
	margin: 0;
	padding: 0;
}

#MB_content {
	padding: 6px .75em;
	overflow: auto;
}

#MB_caption {
	font: bold 100% "Lucida Grande", Arial, sans-serif;
	text-shadow: #FFF 0 1px 0;
	padding: .5em 2em .5em .75em;
	margin: 0;
	text-align: left;
}

#MB_close {
	display: block;
	position: absolute;
	right: 5px; top: 4px;
	padding: 2px 3px;
	font-weight: bold;
	text-decoration: none;
	font-size: 13px;
}
#MB_close:hover {
	background: transparent;
}

#MB_loading {
	padding: 1.5em;
	text-indent: -10000px;
	background: transparent url(https://www.cranepartssupply.com/skin/frontend/default/default/css/mageworx/spinner.gif) 50% 0 no-repeat;
}

/* Color scheme */
#MB_frame {
	padding-bottom: 7px;
	-webkit-border-radius: 7px; 
	-moz-border-radius: 7px;
	border-radius: 7px;
}
#MB_window {
	background-color: #EFEFEF;
	color: #000;
	-webkit-box-shadow: 0 8px 64px #000; 
	-moz-box-shadow: 0 0 64px #000; 
	box-shadow: 0 0 64px #000;
	
	-webkit-border-radius: 7px; 
	-moz-border-radius: 7px;
	border-radius: 7px;
}
#MB_content { border-top: 1px solid #F9F9F9; }
#MB_header {
  background-color: #DDD;
  border-bottom: 1px solid #CCC;
}
#MB_caption { color: #000 }
#MB_close { color: #777 }
#MB_close:hover { color: #000 }


/* Alert message */
.MB_alert {
	margin: 10px 0;
	text-align: center;
}
.clearfix {
  *zoom: 1;
}
.clearfix:before,
.clearfix:after {
  display: table;
  content: "";
  line-height: 0;
}
.clearfix:after {
  clear: both;
}
.hide-text {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.input-block-level {
  display: block;
  width: 100%;
  min-height: 30px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.searchautocomplete .search-autocomplete {
  position: absolute;
}
.searchautocomplete .form-search {
  overflow: none !important;
  position: relative;
}
.searchautocomplete .sprite {
  background: url('https://www.cranepartssupply.com/skin/frontend/base/default/images/mirasvit/sprite.png');
}
.searchautocomplete .nav-search-in {
  position: absolute;
  top: 2px;
  left: 0px;
  z-index: 11;
}
.searchautocomplete .nav-search-in .category {
  opacity: 0;
  filter: alpha(opacity=0);
  background: white;
  border: 1px solid #DDD;
  color: black;
  cursor: pointer;
  height: 29px;
  left: 0;
  margin: 0;
  outline: 0;
  padding: 0;
  position: absolute;
  top: 0;
  visibility: visible;
  width: auto;
}
.searchautocomplete .nav-search-in .category-fake {
  height: 20px;
  color: #777;
  cursor: pointer;
  float: left;
  font-size: 11px;
  padding: 0px 25px 0px 10px;
  text-align: center;
  white-space: nowrap;
  margin-top: 6px;
}
.searchautocomplete .nav-search-in .nav-down-arrow {
  right: 10px;
  top: 16px;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 4.5px 0 4.5px;
  border-color: #000000 transparent transparent transparent;
  line-height: 0px;
}
.searchautocomplete .nav-search-in:hover .category-fake {
  color: #000;
}
.searchautocomplete .nav-search-in:hover .nav-down-arrow {
  background-position: -6px -34px;
}
.searchautocomplete .searchautocomplete-placeholder {
  -webkit-border-radius: 5px 5px 5px 5px;
  -moz-border-radius: 5px 5px 5px 5px;
  border-radius: 5px 5px 5px 5px;
  background: #FFF;
  border: 1px solid #ccc;
  position: absolute;
  z-index: 102;
  box-shadow: 0 10px 10px #5E5E5E;
  top: 30px;
}
.searchautocomplete .searchautocomplete-placeholder:before {
  border-color: transparent transparent #CCC transparent;
  content: "";
  position: absolute;
  border-style: solid;
  border-width: 5px;
  height: 0;
  width: 0;
  top: -11px;
  left: 30px;
}
.searchautocomplete .searchautocomplete-placeholder ul {
  list-style: none;
  margin: 0;
  border: none!important;
  background: none!important;
  box-shadow: none;
  position: relative;
  padding: 5px;
}
.searchautocomplete .searchautocomplete-placeholder ul li {
  *zoom: 1;
  text-align: left;
  padding: 5px 5px;
  border: 1px solid #e2e2e2;
  margin-bottom: 5px;
}
.searchautocomplete .searchautocomplete-placeholder ul li:before,
.searchautocomplete .searchautocomplete-placeholder ul li:after {
  display: table;
  content: "";
  line-height: 0;
}
.searchautocomplete .searchautocomplete-placeholder ul li:after {
  clear: both;
}
.searchautocomplete .searchautocomplete-placeholder ul li a {
  text-decoration: none;
}
.searchautocomplete .searchautocomplete-placeholder ul li a .pull-right {
  float: right;
}
.searchautocomplete .searchautocomplete-placeholder ul li.active {
  background-color: #eeffee;
  box-shadow: 0 0 1px #525252;
  cursor: pointer;
}
.searchautocomplete .searchautocomplete-placeholder ul li.active a {
  text-decoration: none;
}
.searchautocomplete .searchautocomplete-placeholder ul li .searchautocomlete-image {
  float: left;
  margin: 0px 10px 5px 0px;
}
.searchautocomplete .searchautocomplete-placeholder ul li .price-box {
  font-weight: bold;
  font-size: 13px;
  color: #C76200;
  float: right;
}
.searchautocomplete .searchautocomplete-placeholder ul li .price-box .regular-price .price-label,
.searchautocomplete .searchautocomplete-placeholder ul li .price-box .old-price .price-label,
.searchautocomplete .searchautocomplete-placeholder ul li .price-box .special-price .price-label {
  display: none;
}
.searchautocomplete .searchautocomplete-placeholder ul li .price-box .price-label {
  font-weight: normal;
  color: #999;
}
.searchautocomplete .searchautocomplete-placeholder ul li .price-box .old-price .price {
  font-size: 0.9em;
  color: #999;
}
.searchautocomplete .searchautocomplete-placeholder ul li .ratings {
  margin: 0;
  line-height: 14px;
}
.searchautocomplete .searchautocomplete-placeholder ul li .ratings .rating-box {
  float: left;
  margin: 0 5px 0 0;
}
.searchautocomplete .searchautocomplete-placeholder .index-title {
  text-align: right;
  color: #0A263C;
  border-bottom: 1px solid #CCC;
  padding: 2px 5px;
  background-color: #F7F7F6;
}
.searchautocomplete .searchautocomplete-placeholder .index-title span {
  color: #666;
  font-size: 0.9em;
}
.searchautocomplete .searchautocomplete-placeholder .all {
  text-align: right;
  margin: 10px 10px 5px 10px;
}
.searchautocomplete .searchautocomlete-image {
  float: left;
  margin: 0px 5px 5px 0px;
}
.searchautocomplete .searchautocomplete-loader {
  position: absolute;
  width: 18px;
  height: 18px;
  top: 11px;
  right: 44px;
  z-index: 99;
  -webkit-transform: scale(0.6);
  -moz-transform: scale(0.6);
  -ms-transform: scale(0.6);
  -o-transform: scale(0.6);
  transform: scale(0.6);
  display: none;
}
.searchautocomplete .searchautocomplete-loader div {
  position: absolute;
  background-color: #FFFFFF;
  height: 3px;
  width: 3px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-animation-name: f_autocomplete_loader;
  animation-name: f_autocomplete_loader;
  -webkit-animation-duration: 0.64s;
  animation-duration: 0.64s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: normal;
  animation-direction: normal;
}
.searchautocomplete .searchautocomplete-loader div#g01 {
  left: 0px;
  top: 7px;
  -webkit-animation-delay: 0.24s;
  animation-delay: 0.24s;
}
.searchautocomplete .searchautocomplete-loader div#g02 {
  left: 2px;
  top: 2px;
  -webkit-animation-delay: 0.32s;
  animation-delay: 0.32s;
}
.searchautocomplete .searchautocomplete-loader div#g03 {
  left: 7px;
  top: 0px;
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}
.searchautocomplete .searchautocomplete-loader div#g04 {
  right: 2px;
  top: 2px;
  -webkit-animation-delay: 0.48s;
  animation-delay: 0.48s;
}
.searchautocomplete .searchautocomplete-loader div#g05 {
  right: 0px;
  top: 7px;
  -webkit-animation-delay: 0.56s;
  animation-delay: 0.56s;
}
.searchautocomplete .searchautocomplete-loader div#g06 {
  right: 2px;
  bottom: 2px;
  -webkit-animation-delay: 0.64s;
  animation-delay: 0.64s;
}
.searchautocomplete .searchautocomplete-loader div#g07 {
  left: 7px;
  bottom: 0px;
  -webkit-animation-delay: 0.72s;
  animation-delay: 0.72s;
}
.searchautocomplete .searchautocomplete-loader div#g08 {
  left: 2px;
  bottom: 2px;
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
}
@-moz-keyframes f_autocomplete_loader {
  0% {
    background-color: #000000;
  }
  100% {
    background-color: #ffffff;
  }
}
@-webkit-keyframes f_autocomplete_loader {
  0% {
    background-color: #000000;
  }
  100% {
    background-color: #ffffff;
  }
}
@-ms-keyframes f_autocomplete_loader {
  0% {
    background-color: #000000;
  }
  100% {
    background-color: #ffffff;
  }
}
@-o-keyframes f_autocomplete_loader {
  0% {
    background-color: #000000;
  }
  100% {
    background-color: #ffffff;
  }
}
@keyframes f_autocomplete_loader {
  0% {
    background-color: #000000;
  }
  100% {
    background-color: #ffffff;
  }
}

.clearfix {
  *zoom: 1;
}
.clearfix:before,
.clearfix:after {
  display: table;
  content: "";
  line-height: 0;
}
.clearfix:after {
  clear: both;
}
.hide-text {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.input-block-level {
  display: block;
  width: 100%;
  min-height: 30px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.searchindex-results {
  *zoom: 1;
  margin-bottom: 10px;
  border-bottom: 1px solid #a0b3c3;
}
.searchindex-results:before,
.searchindex-results:after {
  display: table;
  content: "";
  line-height: 0;
}
.searchindex-results:after {
  clear: both;
}
.searchindex-results li {
  margin-bottom: -1px;
  float: left;
  *zoom: 1;
  margin: 0px 2px;
}
.searchindex-results li:before,
.searchindex-results li:after {
  display: table;
  content: "";
  line-height: 0;
}
.searchindex-results li:after {
  clear: both;
}
.searchindex-results li a {
  font-size: 12px;
  font-weight: bold;
  color: #333;
  display: block;
  cursor: pointer;
  padding: 2px 5px 1px 5px;
  line-height: 20px;
  border: 1px solid transparent;
  border-bottom: none;
  -webkit-border-radius: 5px 5px 0 0;
  -moz-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
  text-decoration: none;
}
.searchindex-results li a:hover {
  background-color: #f1f1f1;
  background-image: -moz-linear-gradient(top, #e8e8e8, #ffffff);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#e8e8e8), to(#ffffff));
  background-image: -webkit-linear-gradient(top, #e8e8e8, #ffffff);
  background-image: -o-linear-gradient(top, #e8e8e8, #ffffff);
  background-image: linear-gradient(to bottom, #e8e8e8, #ffffff);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#ffffffff', GradientType=0);
  border: 1px solid #a0b3c3;
  border-bottom: none;
}
.searchindex-results li a span {
  font-weight: normal;
  font-size: 0.9em;
}
.searchindex-results li.active a {
  background-color: #f1f1f1;
  background-image: -moz-linear-gradient(top, #e8e8e8, #ffffff);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#e8e8e8), to(#ffffff));
  background-image: -webkit-linear-gradient(top, #e8e8e8, #ffffff);
  background-image: -o-linear-gradient(top, #e8e8e8, #ffffff);
  background-image: linear-gradient(to bottom, #e8e8e8, #ffffff);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#ffffffff', GradientType=0);
  cursor: default;
  border: 1px solid #a0b3c3;
  border-bottom: none;
}
.searchindex-result li {
  padding: 5px;
}
.searchindex-result li .title a {
  font-weight: bold;
  color: #203548;
  font-size: 13px;
}
.searchindex-result.searchindex-result-category {
  margin-bottom: 20px;
}
.searchindex-result.searchindex-result-category li {
  padding: 1px 0px;
}
.searchindex-result.searchindex-result-category li a {
  font-weight: bold;
  color: #203548;
}
.searchindex-highlight {
  background-color: #ff0;
}

/**
 * ELS BV - Equipment Lifecycle Solutions
 * Modern Clean Design System
 * Version 2.0
 *
 * Inspired by modern corporate design:
 * - Figtree font family (clean, modern sans-serif)
 * - Dark navy + yellow gold accent palette
 * - Rounded pill buttons and cards
 * - Clean, minimal aesthetic
 */

/* ========================================================================
   GOOGLE FONTS
   ======================================================================== */

/* NOTE: Google Fonts are now loaded via preconnect/preload in head.phtml
   for better performance (non-render-blocking). See PERF-001 fix.
   Previous @import removed to eliminate render-blocking behavior. */

/* ========================================================================
   CSS CUSTOM PROPERTIES - ROOT DESIGN TOKENS
   ======================================================================== */

:root {
  /* === COLOR PALETTE === */

  /* Primary Colors - Dark Navy */
  --els-navy: #1a1a2e;
  --els-navy-light: #2a2a42;
  --els-navy-lighter: #3d3d4a;
  --els-navy-dark: #12121f;

  /* Secondary Colors - Warm Grays */
  --els-steel: #3d3d4a;
  --els-steel-light: #55556a;
  --els-steel-lighter: #6e6e80;
  --els-steel-dark: #2a2a38;

  /* Accent Colors - Yellow Gold (Primary) */
  --els-accent: #f6d722;
  --els-accent-hover: #e5c71f;
  --els-accent-light: #f9e44d;
  --els-accent-dark: #d4b91e;
  --els-accent-darkest: #b09a19;

  /* Note: Legacy --els-orange-* variables removed in v2.1
     Use --els-accent-* instead for all yellow/gold colors */

  /* Secondary Accent - Keep subtle for links */
  --els-cyan: #1a1a2e;
  --els-cyan-dim: #2a2a42;
  --els-cyan-light: #3d3d4a;
  --els-cyan-dark: #12121f;
  --els-cyan-darkest: #0a0a14;

  /* Neutral Colors */
  --els-white: #ffffff;
  --els-gray: #666666;  /* WCAG AA compliant: 5.74:1 contrast on white */
  --els-gray-light: #c0c0c0;
  --els-gray-dark: #4a4a4a;
  --els-dark: #1a1a2e;

  /* Background Colors */
  --els-bg-page: #f5f5f7;
  --els-bg-card: #ffffff;
  --els-bg-section-dark: #1a1a2e;
  --els-bg-section-gray: #3d3d4a;

  /* Blueprint Colors - Removed, using clean backgrounds */
  --els-blueprint-bg: #1a1a2e;
  --els-blueprint-grid: transparent;
  --els-blueprint-line: transparent;

  /* === TYPOGRAPHY === */

  /* Font Families - Figtree for everything */
  --els-font-display: 'Figtree', 'Helvetica Neue', Arial, sans-serif;
  --els-font-body: 'Figtree', 'Helvetica Neue', Arial, sans-serif;
  --els-font-heading: 'Figtree', 'Helvetica Neue', Arial, sans-serif;

  /* Font Sizes */
  --els-text-xs: 0.75rem;      /* 12px */
  --els-text-sm: 0.875rem;     /* 14px */
  --els-text-base: 1rem;       /* 16px */
  --els-text-lg: 1.125rem;     /* 18px */
  --els-text-xl: 1.25rem;      /* 20px */
  --els-text-2xl: 1.5rem;      /* 24px */
  --els-text-3xl: 1.875rem;    /* 30px */
  --els-text-4xl: 2.25rem;     /* 36px */
  --els-text-5xl: 3rem;        /* 48px */
  --els-text-6xl: 3.75rem;     /* 60px */
  --els-text-7xl: 4.5rem;      /* 72px */

  /* Font Weights */
  --els-weight-light: 300;
  --els-weight-normal: 400;
  --els-weight-medium: 500;
  --els-weight-semibold: 600;
  --els-weight-bold: 700;

  /* Line Heights */
  --els-leading-none: 1;
  --els-leading-tight: 1.25;
  --els-leading-snug: 1.375;
  --els-leading-normal: 1.5;
  --els-leading-relaxed: 1.625;
  --els-leading-loose: 2;

  /* === SPACING === */
  --els-space-1: 0.25rem;     /* 4px */
  --els-space-2: 0.5rem;      /* 8px */
  --els-space-3: 0.75rem;     /* 12px */
  --els-space-4: 1rem;        /* 16px */
  --els-space-5: 1.25rem;     /* 20px */
  --els-space-6: 1.5rem;      /* 24px */
  --els-space-8: 2rem;        /* 32px */
  --els-space-10: 2.5rem;     /* 40px */
  --els-space-12: 3rem;       /* 48px */
  --els-space-16: 4rem;       /* 64px */
  --els-space-20: 5rem;       /* 80px */
  --els-space-24: 6rem;       /* 96px */

  /* === BORDERS & RADIUS === */
  --els-border-width: 1px;
  --els-border-width-2: 2px;
  --els-border-width-4: 4px;

  --els-radius-none: 0;
  --els-radius-sm: 0.25rem;
  --els-radius-base: 0.5rem;
  --els-radius-md: 0.625rem;    /* 10px */
  --els-radius-lg: 1rem;        /* 16px */
  --els-radius-xl: 1.25rem;     /* 20px */
  --els-radius-2xl: 1.5625rem;  /* 25px - pill buttons */
  --els-radius-full: 9999px;

  /* === SHADOWS & EFFECTS === */
  --els-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --els-shadow-base: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
  --els-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  --els-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  --els-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);

  /* Consistent Card Shadows - VIS-002 */
  --els-shadow-card: 0 4px 12px rgba(0, 0, 0, 0.08);
  --els-shadow-card-hover: 0 12px 24px rgba(0, 0, 0, 0.12);

  /* Legacy glow effects removed for clean design */
  --els-shadow-orange-glow: none;
  --els-shadow-cyan-glow: none;

  /* === TRANSITIONS === */
  --els-transition-fast: 150ms ease;
  --els-transition-base: 250ms ease;
  --els-transition-slow: 350ms ease;

  /* === Z-INDEX === */
  --els-z-base: 1;
  --els-z-dropdown: 100;
  --els-z-sticky: 200;
  --els-z-fixed: 300;
  --els-z-modal-backdrop: 400;
  --els-z-modal: 500;
  --els-z-popover: 600;
  --els-z-tooltip: 700;

  /* === BREAKPOINTS (for reference in media queries) === */
  --els-breakpoint-sm: 640px;
  --els-breakpoint-md: 768px;
  --els-breakpoint-lg: 1024px;
  --els-breakpoint-xl: 1280px;
  --els-breakpoint-2xl: 1536px;
}

/* ========================================================================
   RESET & BASE STYLES
   ======================================================================== */

.els-design-system,
.els-design-system * {
  box-sizing: border-box;
}

.els-design-system {
  font-family: var(--els-font-body);
  font-size: var(--els-text-base);
  line-height: var(--els-leading-normal);
  color: var(--els-gray-dark);
  background-color: var(--els-bg-page);
}

/* ========================================================================
   TYPOGRAPHY CLASSES
   ======================================================================== */

/* Display Headings */
.els-display-1,
.els-display-2,
.els-display-3 {
  font-family: var(--els-font-display);
  font-weight: var(--els-weight-bold);
  line-height: var(--els-leading-tight);
  letter-spacing: -0.01em;
}

.els-display-1 {
  font-size: var(--els-text-7xl);
}

.els-display-2 {
  font-size: var(--els-text-6xl);
}

.els-display-3 {
  font-size: var(--els-text-5xl);
}

/* Headings */
.els-heading-1,
.els-heading-2,
.els-heading-3,
.els-heading-4,
.els-heading-5,
.els-heading-6 {
  font-family: var(--els-font-heading);
  font-weight: var(--els-weight-bold);
  line-height: var(--els-leading-tight);
  color: var(--els-navy);
}

.els-heading-1 { font-size: var(--els-text-4xl); }
.els-heading-2 { font-size: var(--els-text-3xl); }
.els-heading-3 { font-size: var(--els-text-2xl); }
.els-heading-4 { font-size: var(--els-text-xl); }
.els-heading-5 { font-size: var(--els-text-lg); }
.els-heading-6 { font-size: var(--els-text-base); }

/* Body Text */
.els-body-text {
  font-family: var(--els-font-body);
  font-size: var(--els-text-base);
  line-height: var(--els-leading-relaxed);
  color: var(--els-gray-dark);
}

.els-body-text-sm {
  font-size: var(--els-text-sm);
}

.els-body-text-lg {
  font-size: var(--els-text-lg);
}

/* ========================================================================
   BACKGROUND PATTERNS & SECTIONS
   ======================================================================== */

/* Blueprint Grid Background - Disabled for clean look */
.els-grid-blueprint {
  position: relative;
  background-color: var(--els-navy);
  overflow: hidden;
}

.els-grid-blueprint::before {
  display: none; /* Remove blueprint grid pattern */
}

.els-grid-blueprint > * {
  position: relative;
  z-index: 1;
}

/* Section Backgrounds */
.els-section-dark {
  background-color: var(--els-navy);
}

.els-section-navy {
  background-color: var(--els-navy);
}

.els-section-steel {
  background-color: var(--els-steel);
}

.els-section-steel-gradient {
  background: var(--els-steel);
}

.els-section-navy-gradient {
  background: var(--els-navy);
}

/* ========================================================================
   BUTTONS
   ======================================================================== */

/* Base Button Styles */
.els-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--els-space-2);
  padding: 10px 20px;
  font-family: var(--els-font-heading);
  font-size: var(--els-text-sm);
  font-weight: var(--els-weight-bold);
  border: none;
  border-radius: var(--els-radius-2xl);
  cursor: pointer;
  transition: all var(--els-transition-base);
  text-decoration: none;
  position: relative;
  overflow: hidden;
}

.els-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Primary Button - Yellow Gold */
.els-btn-primary {
  background: var(--els-accent);
  color: var(--els-navy);
  box-shadow: none;
}

.els-btn-primary::before {
  display: none;
}

.els-btn-primary:hover {
  background: var(--els-accent-hover);
  transform: translateY(-1px);
  box-shadow: var(--els-shadow-md);
}

.els-btn-primary:active {
  transform: translateY(0);
}

/* Secondary Button - Outlined */
.els-btn-secondary {
  background: transparent;
  color: var(--els-navy);
  border: 2px solid var(--els-navy);
}

.els-btn-secondary:hover {
  background: var(--els-navy);
  color: var(--els-white);
  transform: translateY(-1px);
}

.els-btn-secondary:active {
  transform: translateY(0);
}

/* Tertiary Button - White Outlined */
.els-btn-tertiary {
  background: var(--els-white);
  color: var(--els-navy);
  border: 2px solid var(--els-navy);
  border-radius: var(--els-radius-2xl);
}

.els-btn-tertiary:hover {
  background: var(--els-navy);
  color: var(--els-white);
  transform: translateY(-1px);
}

.els-btn-tertiary:active {
  transform: translateY(0);
}

/* Button Sizes */
.els-btn-sm {
  padding: 8px 16px;
  font-size: var(--els-text-xs);
}

.els-btn-lg {
  padding: 12px 25px;
  font-size: var(--els-text-base);
}

.els-btn-xl {
  padding: 14px 30px;
  font-size: var(--els-text-lg);
}

/* Block Button */
.els-btn-block {
  width: 100%;
}

/* ========================================================================
   CARDS & CONTAINERS
   ======================================================================== */

/* Base Card - VIS-001, VIS-002, VIS-009 */
.els-card {
  background: var(--els-bg-card);
  border-radius: 20px; /* VIS-001: Standardized card border-radius */
  padding: var(--els-space-6);
  box-shadow: var(--els-shadow-card); /* VIS-002: Consistent shadow system */
  transition: all var(--els-transition-base);
}

.els-card:hover {
  box-shadow: var(--els-shadow-card-hover); /* VIS-002: Consistent hover shadow */
  transform: translateY(-4px); /* VIS-009: Consistent hover transform */
}

/* Industrial Card - VIS-001, VIS-002, VIS-009 */
.els-card-industrial {
  position: relative;
  background: var(--els-bg-card);
  border: 1px solid #e0e0e0;
  border-radius: 20px; /* VIS-001: Standardized card border-radius */
  padding: var(--els-space-8);
  box-shadow: var(--els-shadow-card); /* VIS-002: Consistent shadow system */
  overflow: hidden;
  transition: all var(--els-transition-base);
}

.els-card-industrial:hover {
  box-shadow: var(--els-shadow-card-hover); /* VIS-002: Consistent hover shadow */
  transform: translateY(-4px); /* VIS-009: Consistent hover transform */
}

/* Remove rivets */
.els-card-industrial::before,
.els-card-industrial::after {
  display: none;
}

.els-card-industrial > .els-card-rivets::before,
.els-card-industrial > .els-card-rivets::after {
  display: none;
}

.els-card-rivets {
  display: none;
}

/* Card with dark background - VIS-001 */
.els-card-blueprint {
  position: relative;
  background: var(--els-navy);
  border: none;
  border-radius: 20px; /* VIS-001: Standardized card border-radius */
  padding: var(--els-space-6);
  overflow: hidden;
  transition: all var(--els-transition-base);
}

.els-card-blueprint::before {
  display: none;
}

.els-card-blueprint > * {
  position: relative;
  z-index: 1;
}

/* ========================================================================
   DECORATIVE ELEMENTS - Simplified
   ======================================================================== */

.els-diagonal-cut {
  position: relative;
  padding: var(--els-space-8);
  background: var(--els-bg-card);
}

.els-diagonal-cut::before {
  display: none;
}

.els-measurement-line::before,
.els-measurement-line::after {
  display: none;
}

.els-corner-brackets::before,
.els-corner-brackets::after {
  display: none;
}

/* ========================================================================
   GLOW EFFECTS - Removed for clean design
   ======================================================================== */

.els-glow-orange,
.els-glow-cyan {
  box-shadow: none;
}

.els-glow-orange-text {
  color: var(--els-accent);
  text-shadow: none;
}

.els-glow-cyan-text {
  color: var(--els-navy);
  text-shadow: none;
}

.els-pulse-orange,
.els-pulse-cyan {
  animation: none;
}

/* ========================================================================
   FORMS & INPUTS
   ======================================================================== */

/* VIS-001: Inputs use 10px border-radius */
.els-input {
  width: 100%;
  padding: var(--els-space-3) var(--els-space-4);
  font-family: var(--els-font-body);
  font-size: var(--els-text-base);
  color: var(--els-navy);
  background: var(--els-white);
  border: 2px solid #e0e0e0;
  border-radius: 10px; /* VIS-001: Standardized input border-radius */
  transition: all var(--els-transition-base);
}

.els-input:focus {
  outline: none;
  border-color: var(--els-accent);
  box-shadow: 0 0 0 3px rgba(246, 215, 34, 0.2);
}

.els-input::placeholder {
  color: var(--els-gray);
}

.els-input:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Textarea */
.els-textarea {
  min-height: 120px;
  resize: vertical;
}

/* Select */
/* VIS-001: Select uses 10px border-radius */
.els-select {
  width: 100%;
  padding: var(--els-space-3) var(--els-space-4);
  font-family: var(--els-font-body);
  font-size: var(--els-text-base);
  color: var(--els-navy);
  background: var(--els-white);
  border: 2px solid #e0e0e0;
  border-radius: 10px; /* VIS-001: Standardized input border-radius */
  cursor: pointer;
  transition: all var(--els-transition-base);
}

.els-select:focus {
  outline: none;
  border-color: var(--els-accent);
  box-shadow: 0 0 0 3px rgba(246, 215, 34, 0.2);
}

/* Checkbox & Radio */
.els-checkbox,
.els-radio {
  appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #e0e0e0;
  background: var(--els-white);
  cursor: pointer;
  transition: all var(--els-transition-base);
  position: relative;
}

.els-checkbox {
  border-radius: var(--els-radius-sm);
}

.els-radio {
  border-radius: 50%;
}

.els-checkbox:checked,
.els-radio:checked {
  background: var(--els-accent);
  border-color: var(--els-accent);
}

.els-checkbox:checked::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid var(--els-navy);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.els-radio:checked::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--els-navy);
}

/* Label */
.els-label {
  display: block;
  font-family: var(--els-font-body);
  font-size: var(--els-text-sm);
  font-weight: var(--els-weight-medium);
  color: var(--els-navy);
  margin-bottom: var(--els-space-2);
}

/* ========================================================================
   TABLES
   ======================================================================== */

.els-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--els-bg-card);
  border: 1px solid #e0e0e0;
  border-radius: var(--els-radius-lg);
  overflow: hidden;
}

.els-table thead {
  background: var(--els-bg-page);
}

.els-table th {
  padding: var(--els-space-4);
  font-family: var(--els-font-heading);
  font-size: var(--els-text-sm);
  font-weight: var(--els-weight-semibold);
  color: var(--els-navy);
  text-align: left;
  border-bottom: 2px solid #e0e0e0;
}

.els-table td {
  padding: var(--els-space-4);
  font-family: var(--els-font-body);
  font-size: var(--els-text-sm);
  color: var(--els-gray-dark);
  border-bottom: 1px solid #e0e0e0;
}

.els-table tbody tr {
  transition: background-color var(--els-transition-fast);
}

.els-table tbody tr:hover {
  background: var(--els-bg-page);
}

.els-table tbody tr:last-child td {
  border-bottom: none;
}

/* ========================================================================
   ALERTS & NOTIFICATIONS
   ======================================================================== */

.els-alert {
  padding: var(--els-space-4) var(--els-space-6);
  border-left: 4px solid;
  border-radius: var(--els-radius-base);
  font-family: var(--els-font-body);
  font-size: var(--els-text-sm);
}

.els-alert-info {
  background: rgba(26, 26, 46, 0.05);
  border-color: var(--els-navy);
  color: var(--els-navy);
}

.els-alert-warning {
  background: rgba(246, 215, 34, 0.1);
  border-color: var(--els-accent);
  color: var(--els-accent-dark);
}

.els-alert-success {
  background: rgba(34, 197, 94, 0.1);
  border-color: #22c55e;
  color: #16a34a;
}

.els-alert-error {
  background: rgba(239, 68, 68, 0.1);
  border-color: #ef4444;
  color: #dc2626;
}

/* ========================================================================
   DIVIDERS
   ======================================================================== */

.els-divider {
  height: 1px;
  background: #e0e0e0;
  margin: var(--els-space-6) 0;
}

.els-divider-orange {
  background: var(--els-accent);
}

.els-divider-cyan {
  background: var(--els-navy);
}

/* ========================================================================
   UTILITY CLASSES
   ======================================================================== */

/* Text Colors */
.els-text-orange { color: var(--els-accent); }
.els-text-cyan { color: var(--els-navy); }
.els-text-white { color: var(--els-white); }
.els-text-gray { color: var(--els-gray); }

/* Background Colors */
.els-bg-navy { background-color: var(--els-navy); }
.els-bg-steel { background-color: var(--els-steel); }
.els-bg-dark { background-color: var(--els-dark); }

/* Spacing Utilities */
.els-mt-4 { margin-top: var(--els-space-4); }
.els-mb-4 { margin-bottom: var(--els-space-4); }
.els-mx-auto { margin-left: auto; margin-right: auto; }
.els-p-4 { padding: var(--els-space-4); }
.els-p-6 { padding: var(--els-space-6); }

/* Display */
.els-flex { display: flex; }
.els-inline-flex { display: inline-flex; }
.els-grid { display: grid; }
.els-block { display: block; }
.els-inline-block { display: inline-block; }
.els-hidden { display: none; }

/* Flexbox */
.els-flex-col { flex-direction: column; }
.els-items-center { align-items: center; }
.els-justify-center { justify-content: center; }
.els-justify-between { justify-content: space-between; }
.els-gap-4 { gap: var(--els-space-4); }
.els-gap-6 { gap: var(--els-space-6); }

/* Text Alignment */
.els-text-left { text-align: left; }
.els-text-center { text-align: center; }
.els-text-right { text-align: right; }

/* ========================================================================
   RESPONSIVE BREAKPOINTS
   ======================================================================== */

@media (min-width: 640px) {
  .els-sm\:text-center { text-align: center; }
  .els-sm\:flex { display: flex; }
}

@media (min-width: 768px) {
  .els-md\:text-left { text-align: left; }
  .els-md\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .els-lg\:grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
  .els-lg\:text-5xl { font-size: var(--els-text-5xl); }
}

@media (min-width: 1280px) {
  .els-xl\:grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
}

/* ========================================================================
   ANIMATIONS & KEYFRAMES
   ======================================================================== */

/* Fade In */
.els-fade-in {
  animation: els-fadeIn 0.6s ease-out;
}

@keyframes els-fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Slide Up */
.els-slide-up {
  animation: els-slideUp 0.6s ease-out;
}

@keyframes els-slideUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Scale In */
.els-scale-in {
  animation: els-scaleIn 0.4s ease-out;
}

@keyframes els-scaleIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}

/* ========================================================================
   PRINT STYLES
   ======================================================================== */

@media print {
  .els-design-system {
    background: white;
    color: black;
  }

  .els-btn,
  .els-badge {
    box-shadow: none;
  }
}

/* ========================================================================
   WEBFORMS CONTACT FORM STYLING - Clean Modern
   ======================================================================== */

/* Page title styling */
.page-title h1,
.webforms-contact-us + .page-title h1 {
    font-family: 'Figtree', sans-serif !important;
    font-size: 2rem !important;
    color: #1a1a2e !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 2rem !important;
    padding-bottom: 1rem !important;
    border-bottom: 3px solid #f6d722 !important;
    display: inline-block !important;
}

/* WebForms fieldset styling */
.webforms-contact-us .fieldset {
    background: #ffffff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 20px !important;
    padding: 2rem !important;
    margin-bottom: 2rem !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}

.webforms-contact-us .fieldset .legend,
.webforms-contact-us h2.legend {
    font-family: 'Figtree', sans-serif !important;
    font-size: 1.25rem !important;
    color: #1a1a2e !important;
    font-weight: 700 !important;
    margin-bottom: 1.5rem !important;
}

/* Form list styling */
.webforms-contact-us .form-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.webforms-contact-us .form-list li {
    margin-bottom: 1.5rem !important;
}

.webforms-contact-us .form-list li.fields {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1.5rem !important;
}

@media (max-width: 768px) {
    .webforms-contact-us .form-list li.fields {
        grid-template-columns: 1fr !important;
    }
}

/* Label styling */
.webforms-contact-us label {
    font-family: 'Figtree', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: #1a1a2e !important;
    margin-bottom: 0.5rem !important;
    display: block !important;
}

.webforms-contact-us label em,
.webforms-contact-us label.required em {
    color: #f6d722 !important;
    font-style: normal !important;
    margin-right: 4px !important;
}

/* Input and textarea styling */
.webforms-contact-us input[type="text"],
.webforms-contact-us input[type="email"],
.webforms-contact-us input[type="tel"],
.webforms-contact-us textarea,
.webforms-contact-us select {
    width: 100% !important;
    padding: 14px 16px !important;
    background: #ffffff !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 10px !important;
    color: #1a1a2e !important;
    font-family: 'Figtree', sans-serif !important;
    font-size: 14px !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

.webforms-contact-us input[type="text"]:focus,
.webforms-contact-us input[type="email"]:focus,
.webforms-contact-us input[type="tel"]:focus,
.webforms-contact-us textarea:focus,
.webforms-contact-us select:focus {
    outline: none !important;
    border-color: #f6d722 !important;
    box-shadow: 0 0 0 3px rgba(246, 215, 34, 0.2) !important;
}

.webforms-contact-us textarea {
    min-height: 150px !important;
    resize: vertical !important;
}

/* Submit button styling */
.webforms-contact-us .buttons-set button,
.webforms-contact-us .buttons-set .button {
    background: #f6d722 !important;
    color: #1a1a2e !important;
    border: none !important;
    padding: 14px 28px !important;
    font-family: 'Figtree', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    border-radius: 25px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.webforms-contact-us .buttons-set button:hover,
.webforms-contact-us .buttons-set .button:hover {
    background: #e5c71f !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(246, 215, 34, 0.3) !important;
}

/* ========================================================================
   MOBILE RESPONSIVENESS - SEARCH RESULTS & PRODUCT GRIDS
   ======================================================================== */

@media (max-width: 399px) {
    html, body {
        overflow-x: clip !important;
        max-width: 100vw !important;
    }

    .catalogsearch-result-index,
    .catalog-category-view {
        overflow-x: clip !important;
        max-width: 100vw !important;
    }

    .els-container {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
        max-width: 100% !important;
    }

    .breadcrumbs {
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .page-title h1 {
        font-size: 1.125rem !important;
        line-height: 1.3 !important;
    }

    .products-grid,
    .category-products .products-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.875rem !important;
        width: 100% !important;
    }

    .products-grid li.item,
    .category-products .item {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        margin: 0 !important;
    }

    .toolbar {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.5rem !important;
    }

    button, .button, .btn, a.button {
        min-height: 44px !important;
        padding: 0.75rem 1rem !important;
    }
}

@media (min-width: 400px) and (max-width: 767px) {
    html, body {
        overflow-x: clip !important;
        max-width: 100vw !important;
    }

    .products-grid,
    .category-products .products-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 1rem !important;
        width: 100% !important;
    }

    .products-grid li.item,
    .category-products .item {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        margin: 0 !important;
    }

    button, .button, .btn, a.button {
        min-height: 44px !important;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .products-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.5rem !important;
    }

    .products-grid li.item {
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
    }

    button, .button, .btn, a.button {
        min-height: 44px !important;
    }
}

/* ========================================================================
   MOBILE MENU TOUCH ENHANCEMENTS
   ======================================================================== */

@media (max-width: 767px) {
    .els-mobile-nav-link {
        -webkit-tap-highlight-color: rgba(246, 215, 34, 0.2) !important;
        touch-action: manipulation !important;
    }
}

/* ========================================================================
   FOOTER READABILITY - VIS-003
   ======================================================================== */

/* Footer with yellow/dark contrast improvements */
/* Override Magento base theme .footer { width:930px } from default/default/css/styles.css */
.els-footer,
.footer,
footer {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Yellow text on dark backgrounds - improved readability */
.els-section-dark .els-text-yellow,
.els-section-navy .els-text-yellow,
.els-bg-navy .els-text-yellow,
.footer .text-yellow,
footer .text-yellow {
  color: #f6d722;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); /* VIS-003: Subtle shadow for readability */
}

/* High contrast footer text on yellow backgrounds */
.els-footer-yellow,
.footer-highlight,
[class*="footer"] .bg-yellow,
[class*="footer"] .els-bg-accent {
  background-color: var(--els-accent);
  color: var(--els-navy); /* VIS-003: Dark navy text on yellow = high contrast (9.6:1) */
}

/* Footer links on dark backgrounds */
.els-section-dark a,
.els-section-navy a,
.els-bg-navy a,
footer a {
  color: var(--els-accent-light); /* Brighter yellow for links */
  transition: color var(--els-transition-fast);
}

.els-section-dark a:hover,
.els-section-navy a:hover,
.els-bg-navy a:hover,
footer a:hover {
  color: var(--els-white);
}

/* Footer text on dark - ensure white text is readable */
.els-section-dark,
.els-section-navy,
.els-bg-navy,
footer.els-dark,
.footer-dark {
  color: rgba(255, 255, 255, 0.9); /* VIS-003: Slightly off-white for reduced eye strain */
}

/* Footer headings */
.els-section-dark h1, .els-section-dark h2, .els-section-dark h3,
.els-section-dark h4, .els-section-dark h5, .els-section-dark h6,
.els-section-navy h1, .els-section-navy h2, .els-section-navy h3,
.els-section-navy h4, .els-section-navy h5, .els-section-navy h6,
footer h1, footer h2, footer h3, footer h4, footer h5, footer h6 {
  color: var(--els-white);
}

/* Footer muted text */
.els-section-dark .text-muted,
.els-section-navy .text-muted,
footer .text-muted,
.footer-muted {
  color: rgba(255, 255, 255, 0.7); /* VIS-003: Adequate contrast for secondary text */
}

/* ========================================================================
   END OF ELS DESIGN SYSTEM
   ======================================================================== */

/**
 * ELS BV - Modern Enhancements
 * Version 3.0 - Clean Design
 *
 * Simplified, modern enhancements:
 * - Smooth scroll behavior
 * - Clean transitions
 * - Focus-visible accessibility
 * - Reduced motion support
 * - Loading states
 */

/* ========================================================================
   CSS CUSTOM PROPERTIES
   ======================================================================== */

:root {
  /* Transition Curves */
  --els-ease-default: cubic-bezier(0.4, 0, 0.2, 1);
  --els-ease-out: cubic-bezier(0.215, 0.61, 0.355, 1);

  /* Durations */
  --els-duration-instant: 100ms;
  --els-duration-fast: 200ms;
  --els-duration-base: 300ms;
  --els-duration-slow: 500ms;
}

/* ========================================================================
   SMOOTH SCROLL
   ======================================================================== */

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* ========================================================================
   ENHANCED BUTTONS
   ======================================================================== */

.els-btn-modern {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 10px 24px;
  font-family: 'Figtree', Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  color: #1a1a2e;
  background: #f6d722;
  border: none;
  border-radius: 25px;
  cursor: pointer;
  overflow: hidden;
  transition: all var(--els-duration-fast) var(--els-ease-default);
  text-decoration: none;
}

.els-btn-modern:hover {
  background: #e5c71f;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(246, 215, 34, 0.3);
}

.els-btn-modern:active {
  transform: translateY(0);
}

.els-btn-modern:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(246, 215, 34, 0.4);
}

/* Secondary modern button */
.els-btn-outline {
  background: transparent;
  color: #1a1a2e;
  border: 2px solid #1a1a2e;
  border-radius: 25px;
}

.els-btn-outline:hover {
  background: #1a1a2e;
  color: #ffffff;
}

/* ========================================================================
   CARD STYLES - VIS-001, VIS-002, VIS-009
   Consistent: 20px radius, shadow-card tokens, -4px hover transform
   ======================================================================== */

.els-card-modern {
  position: relative;
  background: #ffffff;
  border-radius: 20px; /* VIS-001: Standardized card border-radius */
  border: 1px solid #e0e0e0;
  overflow: hidden;
  box-shadow: var(--els-shadow-card, 0 4px 12px rgba(0, 0, 0, 0.08)); /* VIS-002 */
  transition: all var(--els-duration-base) var(--els-ease-default);
}

.els-card-modern:hover {
  transform: translateY(-4px); /* VIS-009: Consistent hover transform */
  box-shadow: var(--els-shadow-card-hover, 0 12px 24px rgba(0, 0, 0, 0.12)); /* VIS-002 */
  border-color: #d0d0d0;
}

/* Product card - VIS-001, VIS-002, VIS-009 */
.els-product-card-modern {
  position: relative;
  background: #ffffff;
  border-radius: 20px; /* VIS-001: Standardized card border-radius */
  border: 1px solid #e0e0e0;
  overflow: hidden;
  box-shadow: var(--els-shadow-card, 0 4px 12px rgba(0, 0, 0, 0.08)); /* VIS-002 */
  transition: all var(--els-duration-base) var(--els-ease-default);
}

.els-product-card-modern:hover {
  border-color: #f6d722;
  box-shadow: var(--els-shadow-card-hover, 0 12px 24px rgba(0, 0, 0, 0.12)); /* VIS-002 */
  transform: translateY(-4px); /* VIS-009: Consistent hover transform */
}

/* Product image - VIS-001 */
.els-product-image-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: 16px; /* Inner radius slightly smaller than card */
  background: #f5f5f7;
}

.els-product-image-wrapper img {
  transition: transform var(--els-duration-slow) var(--els-ease-default);
}

.els-product-card-modern:hover .els-product-image-wrapper img {
  transform: scale(1.05);
}

/* ========================================================================
   INPUT ENHANCEMENTS
   ======================================================================== */

.els-input-modern {
  position: relative;
  width: 100%;
  padding: 12px 16px;
  font-family: 'Figtree', Arial, sans-serif;
  font-size: 1rem;
  color: #1a1a2e;
  background: #ffffff;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  transition: border-color var(--els-duration-fast) var(--els-ease-default),
              box-shadow var(--els-duration-base) var(--els-ease-default);
}

.els-input-modern::placeholder {
  color: #666666;  /* WCAG AA compliant: 5.74:1 contrast on white */
}

.els-input-modern:focus {
  outline: none;
  border-color: #f6d722;
  box-shadow: 0 0 0 3px rgba(246, 215, 34, 0.15);
}

/* ========================================================================
   NAVIGATION ENHANCEMENTS
   ======================================================================== */

.els-nav-link-modern {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  font-family: 'Figtree', Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: #ffffff;
  text-decoration: none;
  transition: color var(--els-duration-fast) var(--els-ease-default);
}

.els-nav-link-modern::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 3px;
  background: #f6d722;
  transform: translateX(-50%);
  transition: width var(--els-duration-base) var(--els-ease-default);
}

.els-nav-link-modern:hover {
  color: #f6d722;
}

.els-nav-link-modern:hover::before {
  width: 100%;
}

.els-nav-link-modern:focus-visible {
  outline: none;
  background: rgba(246, 215, 34, 0.1);
  border-radius: 4px;
}

/* ========================================================================
   LOADING STATES
   ======================================================================== */

.els-spinner {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(246, 215, 34, 0.2);
  border-top-color: #f6d722;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

.els-spinner-lg {
  width: 40px;
  height: 40px;
  border-width: 3px;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* Skeleton loading */
.els-skeleton {
  background: linear-gradient(90deg, #e0e0e0 25%, #f0f0f0 50%, #e0e0e0 75%);
  background-size: 200% 100%;
  border-radius: 10px;
  animation: skeleton-shimmer 1.5s infinite;
}

@keyframes skeleton-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Button loading */
.els-btn-loading {
  position: relative;
  color: transparent !important;
  pointer-events: none;
}

.els-btn-loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  border: 2px solid rgba(26, 26, 46, 0.3);
  border-top-color: #1a1a2e;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

/* ========================================================================
   ACCESSIBILITY
   ======================================================================== */

*:focus:not(:focus-visible) {
  outline: none;
}

*:focus-visible {
  outline: 2px solid #f6d722;
  outline-offset: 2px;
  border-radius: 4px;
}

/* Skip link */
.els-skip-link {
  position: absolute;
  top: -100%;
  left: 50%;
  transform: translateX(-50%);
  padding: 0.75rem 1.25rem;
  background: #f6d722;
  color: #1a1a2e;
  font-family: 'Figtree', Arial, sans-serif;
  font-weight: 700;
  text-decoration: none;
  border-radius: 25px;
  z-index: 10000;
  transition: top var(--els-duration-fast) var(--els-ease-default);
}

.els-skip-link:focus {
  top: 1rem;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ========================================================================
   UTILITY CLASSES
   ======================================================================== */

.els-no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.els-no-scrollbar::-webkit-scrollbar {
  display: none;
}

/* Reveal animation */
.els-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity var(--els-duration-slow) var(--els-ease-out),
              transform var(--els-duration-slow) var(--els-ease-out);
}

.els-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.els-reveal-delay-1 { transition-delay: 0.1s; }
.els-reveal-delay-2 { transition-delay: 0.2s; }
.els-reveal-delay-3 { transition-delay: 0.3s; }
.els-reveal-delay-4 { transition-delay: 0.4s; }
.els-reveal-delay-5 { transition-delay: 0.5s; }

/* ========================================================================
   RESPONSIVE
   ======================================================================== */

@media (max-width: 399px) {
  .els-btn-modern {
    padding: 8px 16px;
    font-size: 0.8125rem;
  }
}

/* ========================================================================
   CONSISTENT CARD HOVER STATES - VIS-009
   Apply this class to any card element for standardized hover behavior
   ======================================================================== */

.els-hover-card {
  transition: transform var(--els-duration-base) var(--els-ease-default),
              box-shadow var(--els-duration-base) var(--els-ease-default);
  box-shadow: var(--els-shadow-card, 0 4px 12px rgba(0, 0, 0, 0.08));
}

.els-hover-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--els-shadow-card-hover, 0 12px 24px rgba(0, 0, 0, 0.12));
}

/* For cards that need subtle hover (less prominent) */
.els-hover-card-subtle {
  transition: transform var(--els-duration-base) var(--els-ease-default),
              box-shadow var(--els-duration-base) var(--els-ease-default);
}

.els-hover-card-subtle:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}

/* Category/feature cards */
.els-category-card,
.els-feature-card {
  border-radius: 20px;
  box-shadow: var(--els-shadow-card, 0 4px 12px rgba(0, 0, 0, 0.08));
  transition: all var(--els-duration-base) var(--els-ease-default);
}

.els-category-card:hover,
.els-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--els-shadow-card-hover, 0 12px 24px rgba(0, 0, 0, 0.12));
}

*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{scroll-behavior:smooth}body{--tw-bg-opacity:1;background-color:rgb(233 238 242/var(--tw-bg-opacity,1));color:rgb(31 41 55/var(--tw-text-opacity,1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Arial,Helvetica Neue,Helvetica,sans-serif;line-height:1.6}body,h1,h2,h3,h4,h5,h6{--tw-text-opacity:1}h1,h2,h3,h4,h5,h6{font-weight:700;color:rgb(0 51 102/var(--tw-text-opacity,1))}h1{font-size:1.875rem;line-height:2.25rem}@media (min-width:1024px){h1{font-size:2.25rem;line-height:2.5rem}}h2{font-size:1.5rem;line-height:2rem}@media (min-width:1024px){h2{font-size:1.875rem;line-height:2.25rem}}h3{font-size:1.25rem;line-height:1.75rem}@media (min-width:1024px){h3{font-size:1.5rem;line-height:2rem}}h4{font-size:1.125rem;line-height:1.75rem}@media (min-width:1024px){h4{font-size:1.25rem;line-height:1.75rem}}a{color:rgb(0 51 102/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}a,a:hover{--tw-text-opacity:1}a:hover{color:rgb(246 215 34/var(--tw-text-opacity,1))}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(246 215 34/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.\!container{width:100%!important}.container{width:100%}@media (min-width:480px){.\!container{max-width:480px!important}.container{max-width:480px}}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.els-container{margin-left:auto;margin-right:auto;max-width:80rem;padding-left:1rem;padding-right:1rem}@media (min-width:640px){.els-container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1024px){.els-container{padding-left:2rem;padding-right:2rem}}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.btn:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px}.btn-primary{display:inline-flex;align-items:center;justify-content:center;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.btn-primary:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px}.btn-primary{--tw-bg-opacity:1;background-color:rgb(246 215 34/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.btn-primary:hover{--tw-bg-opacity:1;background-color:rgb(201 173 12/var(--tw-bg-opacity,1))}.btn-primary:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(246 215 34/var(--tw-ring-opacity,1))}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.btn-secondary:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px}.btn-secondary{--tw-bg-opacity:1;background-color:rgb(26 26 46/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn-secondary:hover{--tw-bg-opacity:1;background-color:rgb(18 18 31/var(--tw-bg-opacity,1))}.btn-secondary:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 51 102/var(--tw-ring-opacity,1))}.btn-outline{display:inline-flex;align-items:center;justify-content:center;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.btn-outline:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px}.btn-outline{border-width:2px;--tw-border-opacity:1;border-color:rgb(0 51 102/var(--tw-border-opacity,1));--tw-text-opacity:1;color:rgb(0 51 102/var(--tw-text-opacity,1))}.btn-outline:hover{--tw-bg-opacity:1;background-color:rgb(26 26 46/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn-lg{padding:.75rem 1.5rem;font-size:1rem;line-height:1.5rem}.btn-sm{padding:.375rem .75rem;font-size:.75rem;line-height:1rem}.card{overflow:hidden;border-radius:.5rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.cms-index-index main .bg-white.card.shadow-sm,.cms-index-index main .card,.cms-index-index main .card.rounded-lg.shadow-sm{background:transparent;box-shadow:none;padding:0;border-radius:0;max-width:100%}.card-hover{overflow:hidden;border-radius:.5rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.cms-index-index main .bg-white.card-hover.shadow-sm,.cms-index-index main .card-hover,.cms-index-index main .card-hover.rounded-lg.shadow-sm{background:transparent;box-shadow:none;padding:0;border-radius:0;max-width:100%}.card-hover{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.card-hover:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.form-input{width:100%;border-radius:.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1));padding:.5rem 1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.form-input:focus{--tw-border-opacity:1;border-color:rgb(0 51 102/var(--tw-border-opacity,1));--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgb(0 51 102/var(--tw-ring-opacity,1));--tw-ring-opacity:0.2}.form-label{display:block;font-weight:500;color:rgb(55 65 81/var(--tw-text-opacity,1));background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1);margin-bottom:1rem;overflow:hidden}.form-error,.form-label{font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1}.form-error{margin-top:.25rem;color:rgb(220 38 38/var(--tw-text-opacity,1))}.nav-link{padding:.5rem 1rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.nav-link:hover{--tw-text-opacity:1;color:rgb(246 215 34/var(--tw-text-opacity,1))}.nav-link-active{padding:.5rem 1rem;color:rgb(255 255 255/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.nav-link-active,.nav-link-active:hover{--tw-text-opacity:1;color:rgb(246 215 34/var(--tw-text-opacity,1))}.mobile-menu-overlay{position:fixed;inset:0;z-index:40;background-color:rgb(0 0 0/var(--tw-bg-opacity,1));--tw-bg-opacity:0.5;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.mobile-menu-panel{position:fixed;top:0;left:0;z-index:50;height:100%;width:20rem;max-width:85vw;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));overflow-y:auto;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1)}.cms-index-index main .mobile-menu-panel,.cms-index-index main .mobile-menu-panel.rounded-lg.shadow-sm{background:transparent;box-shadow:none;padding:0;border-radius:0;max-width:100%}.product-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.25rem}@media (min-width:640px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1280px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.product-card{display:flex;flex-direction:column;border-radius:.75rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:1rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.cms-index-index main .bg-white.rounded-lg.product-card,.cms-index-index main .product-card,.cms-index-index main .product-card.rounded-lg.shadow-sm{background:transparent;box-shadow:none;padding:0;border-radius:0;max-width:100%}.product-card:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.product-image{aspect-ratio:1/1;width:100%;-o-object-fit:contain;object-fit:contain}.product-name{min-height:2.5rem;font-size:.875rem;line-height:1.25rem;font-weight:600;color:rgb(17 24 39/var(--tw-text-opacity,1));display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-name,.product-price{--tw-text-opacity:1}.product-price{font-size:1.125rem;line-height:1.75rem;font-weight:700;color:rgb(246 215 34/var(--tw-text-opacity,1))}.product-sku{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.category-header{margin-bottom:1.5rem;border-radius:.75rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:1.5rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.cms-index-index main .bg-white.rounded-lg.category-header,.cms-index-index main .category-header,.cms-index-index main .category-header.rounded-lg.shadow-sm{background:transparent;box-shadow:none;padding:0;border-radius:0;max-width:100%}.category-description{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.sidebar{border-radius:.5rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:1rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.cms-index-index main .bg-white.rounded-lg.sidebar,.cms-index-index main .bg-white.sidebar.shadow-sm,.cms-index-index main .sidebar,.cms-index-index main .sidebar.rounded-lg.shadow-sm{background:transparent;box-shadow:none;padding:0;border-radius:0;max-width:100%}.sidebar-title{margin-bottom:1rem;border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1));padding-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:700;--tw-text-opacity:1;color:rgb(0 51 102/var(--tw-text-opacity,1))}.category-nav>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.category-nav-item{display:block;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1);margin-bottom:1rem;overflow:hidden}.category-nav-item:hover{--tw-bg-opacity:1;background-color:rgb(233 238 242/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(0 51 102/var(--tw-text-opacity,1))}.category-nav-item-active{display:block;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;color:rgb(55 65 81/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1);margin-bottom:1rem;overflow:hidden}.category-nav-item-active,.category-nav-item-active:hover{--tw-bg-opacity:1;background-color:rgb(233 238 242/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(0 51 102/var(--tw-text-opacity,1))}.category-nav-item-active{font-weight:500}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;padding-top:.75rem;padding-bottom:.75rem;font-size:.875rem;line-height:1.25rem}.breadcrumbs,.breadcrumbs a{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.breadcrumbs a:hover{--tw-text-opacity:1;color:rgb(0 51 102/var(--tw-text-opacity,1))}.breadcrumbs-separator{margin-left:.5rem;margin-right:.5rem;--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.message{margin-bottom:1rem;border-radius:.375rem;padding:.75rem 1rem}.message-success{border-radius:.375rem;border-width:1px;border-color:rgb(187 247 208/var(--tw-border-opacity,1));background-color:rgb(240 253 244/var(--tw-bg-opacity,1));color:rgb(22 101 52/var(--tw-text-opacity,1))}.message-error,.message-success{margin-bottom:1rem;padding:.75rem 1rem;--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1}.message-error{border-radius:.375rem;border-width:1px;border-color:rgb(254 202 202/var(--tw-border-opacity,1));background-color:rgb(254 242 242/var(--tw-bg-opacity,1));color:rgb(153 27 27/var(--tw-text-opacity,1))}.message-info{border-radius:.375rem;border-width:1px;border-color:rgb(191 219 254/var(--tw-border-opacity,1));background-color:rgb(239 246 255/var(--tw-bg-opacity,1));color:rgb(30 64 175/var(--tw-text-opacity,1))}.message-info,.message-warning{margin-bottom:1rem;padding:.75rem 1rem;--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1}.message-warning{border-radius:.375rem;border-width:1px;border-color:rgb(254 240 138/var(--tw-border-opacity,1));background-color:rgb(254 252 232/var(--tw-bg-opacity,1));color:rgb(133 77 14/var(--tw-text-opacity,1))}.footer{width:100%;max-width:100%;--tw-bg-opacity:1;background-color:rgb(26 26 46/var(--tw-bg-opacity,1));padding:0;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.footer-link{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.footer-link:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.badge{display:inline-flex;align-items:center;border-radius:9999px;padding:.125rem .625rem;font-size:.75rem;line-height:1rem;font-weight:500}.badge-orange{background-color:rgb(246 215 34/var(--tw-bg-opacity,1));color:rgb(17 24 39/var(--tw-text-opacity,1))}.badge-blue,.badge-orange{display:inline-flex;align-items:center;border-radius:9999px;padding:.125rem .625rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-bg-opacity:1;--tw-text-opacity:1}.badge-blue{background-color:rgb(26 26 46/var(--tw-bg-opacity,1));color:rgb(255 255 255/var(--tw-text-opacity,1))}.search-box{position:relative}.search-input{width:100%;border-radius:9999px;border-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1));padding:.5rem 1rem .5rem 2.5rem}.search-input:focus{--tw-border-opacity:1;border-color:rgb(0 51 102/var(--tw-border-opacity,1));--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgb(0 51 102/var(--tw-ring-opacity,1));--tw-ring-opacity:0.2}.search-icon{position:absolute;left:.75rem;top:50%;--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.left-0{left:0}.left-3{left:.75rem}.top-0{top:0}.top-1\/2{top:50%}.top-24{top:6rem}.z-40{z-index:40}.z-50{z-index:50}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mt-1{margin-top:.25rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-3{-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-10{height:2.5rem}.h-12{height:3rem}.h-24{height:6rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-full{height:100%}.min-h-\[2\.5rem\]{min-height:2.5rem}.min-h-screen{min-height:100vh}.w-12{width:3rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-80{width:20rem}.w-full{width:100%}.min-w-0{min-width:0}.max-w-7xl{max-width:80rem}.max-w-\[85vw\]{max-width:85vw}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-full{--tw-translate-x:-100%}.-translate-x-full,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-2{--tw-translate-y:-0.5rem}.-translate-y-2,.translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px}.translate-y-0{--tw-translate-y:0px}.transform,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.scroll-smooth{scroll-behavior:smooth}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-els-blue{--tw-border-opacity:1;border-color:rgb(0 51 102/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-els-light{--tw-bg-opacity:1;background-color:rgb(233 238 242/var(--tw-bg-opacity,1))}.bg-els-navy{--tw-bg-opacity:1;background-color:rgb(26 26 46/var(--tw-bg-opacity,1))}.bg-els-orange{--tw-bg-opacity:1;background-color:rgb(246 215 34/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-opacity-50{--tw-bg-opacity:0.5}.object-contain{-o-object-fit:contain;object-fit:contain}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-2{padding-bottom:.5rem}.pl-10{padding-left:2.5rem}.pr-4{padding-right:1rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-els-blue{--tw-text-opacity:1;color:rgb(0 51 102/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-els-orange{--tw-ring-opacity:1;--tw-ring-color:rgb(246 215 34/var(--tw-ring-opacity,1))}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.aspect-product{aspect-ratio:1/1}.touch-target{min-height:44px;min-width:44px}.block{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1);margin-bottom:1rem;overflow:hidden}.block-title{background-color:#036!important;color:#fff!important;padding:.75rem 1rem!important;font-weight:700;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.block-title span,.block-title strong{font-weight:inherit;color:inherit}.block-content{padding:1rem!important;background-color:#fff!important}.block-subtitle{color:#036;font-weight:600;font-size:.875rem;margin-bottom:.75rem}.block-layered-nav dt{font-weight:700;color:#036;font-size:.875rem;margin-bottom:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid #e5e7eb}.block-layered-nav dt:first-of-type{margin-top:0;padding-top:0;border-top:none}.block-layered-nav dd{margin-bottom:.25rem}.block-layered-nav ol,.block-layered-nav ul{list-style:none;padding:0;margin:0}.block-layered-nav li{padding:.375rem 0}.block-layered-nav a{font-size:.875rem;color:#374151;text-decoration:none;display:flex;align-items:center;gap:.5rem;transition:color .2s}.block-layered-nav a:hover{color:#036}.block-layered-nav .count{color:#9ca3af;font-size:.75rem}.toolbar{flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid #e5e7eb}.toolbar,.toolbar .pager{display:flex;align-items:center}.toolbar .pager{gap:.5rem}.toolbar .pages{display:flex;align-items:center;gap:.25rem}.toolbar .pages li{display:inline-block}.toolbar .pages a,.toolbar .pages strong{padding:.25rem .75rem;font-size:.875rem;border-radius:.25rem}.toolbar .pages a{color:#4b5563}.toolbar .pages a:hover{background-color:#e9eef2;color:#036}.toolbar .pages .current{background-color:#036;color:#fff;font-weight:700}.toolbar .limiter,.toolbar .sorter{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.toolbar .limiter select,.toolbar .sorter select{padding:.25rem .5rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:.375rem}.search-result-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.search-result-tabs .current,.search-result-tabs a{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:.375rem .375rem 0 0;border:1px solid #e5e7eb;border-bottom:none}.search-result-tabs a{color:#4b5563;background-color:#f9fafb}.search-result-tabs a:hover{background-color:#f3f4f6}.search-result-tabs .current{color:#036;background-color:#fff}.block-layered-nav input[type=checkbox]{width:1rem;height:1rem;border-radius:.25rem;border-color:#d1d5db;color:#036}.block-layered-nav input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 2px rgba(0,51,102,.2)}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{width:100%;padding:.625rem 1rem;font-size:.875rem;line-height:1.5;color:#374151;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;transition:border-color .2s,box-shadow .2s}input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus{outline:none;border-color:#036;box-shadow:0 0 0 3px rgba(0,51,102,.15)}label{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:500;color:#374151}label .required,label.required em{color:#dc2626}.btn-cart,.button,button[type=submit],input[type=submit]{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;color:#1a1f26;background-color:#f6d722;border:none;border-radius:.375rem;cursor:pointer;transition:background-color .2s}.btn-cart:hover,.button:hover,button[type=submit]:hover,input[type=submit]:hover{background-color:#c9ad0c}.form-list li{margin-bottom:1rem}.form-list .fields{display:flex;gap:1rem;flex-wrap:wrap}.form-list .field{flex:1;min-width:200px}#contactForm,.contact-form{max-width:800px}#contactForm .form-list,.contact-form .form-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (max-width:640px){#contactForm .form-list,.contact-form .form-list{grid-template-columns:1fr}}.validation-advice{margin-top:.25rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.validation-failed{--tw-border-opacity:1!important;border-color:rgb(239 68 68/var(--tw-border-opacity,1))!important}.required em{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.dropdown-menu{position:absolute;z-index:50;min-width:12rem;border-radius:.375rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding-top:.25rem;padding-bottom:.25rem;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.cms-index-index main .dropdown-menu,.cms-index-index main .dropdown-menu.rounded-lg.shadow-sm{background:transparent;box-shadow:none;padding:0;border-radius:0;max-width:100%}.messages .success-msg,.success-msg{border-radius:.375rem;border-width:1px;border-color:rgb(187 247 208/var(--tw-border-opacity,1));background-color:rgb(240 253 244/var(--tw-bg-opacity,1));color:rgb(22 101 52/var(--tw-text-opacity,1))}.error-msg,.messages .error-msg,.messages .success-msg,.success-msg{margin-bottom:1rem;padding:.75rem 1rem;--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1}.error-msg,.messages .error-msg{border-radius:.375rem;border-width:1px;border-color:rgb(254 202 202/var(--tw-border-opacity,1));background-color:rgb(254 242 242/var(--tw-bg-opacity,1));color:rgb(153 27 27/var(--tw-text-opacity,1))}.messages .notice-msg,.notice-msg{margin-bottom:1rem;border-radius:.375rem;padding:.75rem 1rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.els-top-bar{display:none}@media (min-width:768px){.els-top-bar{display:block}}.els-top-bar ul.links{gap:1rem;list-style:none;margin:0;padding:0}.els-top-bar ul.links,.els-top-bar ul.links li{display:flex;align-items:center}.els-top-bar ul.links li:not(:last-child):after{content:"|";margin-left:1rem;color:#6b7280}.els-top-bar ul.links a{color:#d1d5db;text-decoration:none;transition:color .2s}.els-top-bar ul.links a:hover{color:#fff}.els-search-desktop{display:none}@media (min-width:768px){.els-search-desktop{display:flex;flex:1}}.els-quote-btn{display:inline-flex}.els-mobile-menu-btn{display:block}@media (min-width:1024px){.els-mobile-menu-btn{display:none}}.els-mobile-search-btn{display:block}@media (min-width:768px){.els-mobile-search-btn{display:none}}.ml.ml-mobile header img.ml-image,body header .flex-shrink-0 img.ml-image,header .flex-shrink-0 img,header img.ml-image{height:2.5rem!important;width:auto!important;max-width:200px!important;max-height:2.5rem!important}@media (min-width:768px){.ml.ml-mobile header img.ml-image,body header .flex-shrink-0 img.ml-image,header .flex-shrink-0 img,header img.ml-image{height:3rem!important;max-height:3rem!important}.md\:block{display:block!important}.md\:flex{display:flex!important}.md\:inline-flex{display:inline-flex!important}.md\:hidden{display:none!important}.md\:h-12{height:3rem}}@media (min-width:1024px){.lg\:block{display:block!important}.lg\:flex{display:flex!important}.lg\:hidden{display:none!important}.lg\:flex-row{flex-direction:row}.lg\:w-64{width:16rem}.lg\:p-6{padding:1.5rem}.lg\:gap-6{gap:1.5rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1023px){.lg\:hidden{display:block}}.hidden:not(.md\:block):not(.lg\:block),[x-cloak]{display:none!important}:root{--els-charcoal:#0f1419;--els-slate:#1a1f26;--els-slate-light:#252b35;--els-amber:#f6d722;--els-amber-light:#fbbf24;--els-amber-dark:#d97706;--els-cream:#faf9f7;--els-gray-100:#f4f4f5;--els-gray-200:#e4e4e7;--els-gray-300:#d4d4d8;--els-gray-400:#a1a1aa;--els-gray-500:#71717a;--els-gray-600:#52525b;--font-display:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,sans-serif;--font-body:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,sans-serif}.cms-index-index .main-container,.cms-index-index main .bg-white,.cms-index-index main .bg-white.rounded-lg.shadow-sm,body.cms-index-index main>div{background:transparent!important;box-shadow:none!important;padding:0!important;border-radius:0!important;max-width:100%!important}.cms-index-index main{padding:0!important;background:transparent!important}.cms-index-index main>.els-container{max-width:100%!important;padding:0!important}.cms-index-index #main-content{padding:0!important}.cms-index-index #main-content>.els-container{max-width:100%!important;padding:0!important}.cms-index-index #main-content>.els-container>div{background:transparent!important;padding:0!important;box-shadow:none!important;border-radius:0!important}.els-hero-v2{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:#0f1419}.hero-bg{z-index:0}.hero-bg,.hero-gradient{position:absolute;inset:0}.hero-gradient{background:radial-gradient(ellipse 80% 50% at 20% 40%,rgba(245,158,11,.08) 0,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 60%,rgba(245,158,11,.05) 0,transparent 50%),linear-gradient(180deg,var(--els-charcoal) 0,var(--els-slate) 100%)}.hero-grain{opacity:.4;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(https://www.cranepartssupply.com/skin/frontend/default/els/css/%23noise)'/%3E%3C/svg%3E");pointer-events:none}.hero-grain,.hero-grid{position:absolute;inset:0}.hero-grid{opacity:.03;background-image:linear-gradient(hsla(0,0%,100%,.1) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.1) 1px,transparent 0);background-size:60px 60px}.hero-content{position:relative;z-index:10;max-width:1400px;margin:0 auto;padding:6rem 2rem 4rem;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}@media (min-width:1024px){.hero-content{grid-template-columns:1.2fr .8fr;padding:8rem 4rem 6rem;gap:4rem}}.hero-left{max-width:640px}.hero-badge{display:inline-flex;align-items:center;gap:.625rem;padding:.5rem 1rem .5rem .75rem;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.2);border-radius:100px;margin-bottom:2rem}.badge-dot{width:8px;height:8px;background:var(--els-amber);border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}.badge-text{font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:var(--els-amber);letter-spacing:.02em;text-transform:uppercase}.hero-title{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;line-height:1.05;letter-spacing:-.03em;margin-bottom:1.5rem;color:#fff!important}.title-line{display:block}.title-accent{color:var(--els-amber)!important}.hero-description{font-family:var(--font-body);font-size:1.125rem;line-height:1.7;color:var(--els-gray-400);margin-bottom:2.5rem;max-width:520px}.hero-search{margin-bottom:2rem}.search-wrapper{display:flex;align-items:center;background:var(--els-slate);border:1px solid var(--els-slate-light);border-radius:12px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.search-wrapper:focus-within{border-color:var(--els-amber);box-shadow:0 0 0 3px rgba(245,158,11,.15)}.search-field{flex:1;padding:1rem 1.25rem;background:transparent!important;border:none!important;font-family:var(--font-body);font-size:1rem;color:#fff!important;outline:none!important;box-shadow:none!important}.search-field::-moz-placeholder{color:var(--els-gray-500)}.search-field::placeholder{color:var(--els-gray-500)}.search-btn{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin:4px;background:var(--els-amber);border:none;border-radius:8px;color:var(--els-charcoal);cursor:pointer;transition:background .2s,transform .15s}.search-btn:hover{background:var(--els-amber-light);transform:scale(1.02)}.search-btn svg{width:20px;height:20px}.hero-cta-group{display:flex;flex-wrap:wrap;gap:1rem}.cta-primary{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 1.75rem;background:var(--els-amber);color:var(--els-charcoal)!important;font-family:var(--font-body);font-size:.9375rem;font-weight:600;text-decoration:none;border-radius:10px;transition:all .2s}.cta-primary:hover{background:var(--els-amber-light);transform:translateY(-2px);box-shadow:0 8px 24px rgba(245,158,11,.25)}.cta-primary svg{width:18px;height:18px;transition:transform .2s}.cta-primary:hover svg{transform:translateX(4px)}.cta-secondary{display:inline-flex;align-items:center;gap:.625rem;padding:1rem 1.5rem;background:transparent;border:1px solid var(--els-slate-light);color:#fff!important;font-family:var(--font-body);font-size:.9375rem;font-weight:500;text-decoration:none;border-radius:10px;transition:all .2s}.cta-secondary:hover{border-color:var(--els-gray-500);background:var(--els-slate)}.cta-secondary svg{width:18px;height:18px;color:var(--els-amber)}.hero-right{display:flex;justify-content:center}.stats-card{background:linear-gradient(135deg,var(--els-slate) 0,var(--els-slate-light) 100%);border:1px solid hsla(0,0%,100%,.06);border-radius:20px;padding:2.5rem;display:flex;flex-direction:column;gap:1.5rem;min-width:280px;box-shadow:0 24px 48px rgba(0,0,0,.4)}@media (min-width:640px){.stats-card{flex-direction:row;gap:0;min-width:auto}}.stat-item-v2{text-align:center;padding:0 1.5rem}.stat-number{font-family:var(--font-display);font-size:2.75rem;font-weight:700;color:#fff;line-height:1;display:block;margin-bottom:.5rem}.stat-plus,.stat-unit{font-size:1.5rem;color:var(--els-amber)}.stat-label{font-family:var(--font-body);font-size:.8125rem;font-weight:500;color:var(--els-gray-400);text-transform:uppercase;letter-spacing:.04em}.stat-divider{display:none}@media (min-width:640px){.stat-divider{display:block;width:1px;background:linear-gradient(180deg,transparent,var(--els-slate-light),transparent)}}.hero-scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--els-gray-500);font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.scroll-line{width:1px;height:40px;background:linear-gradient(180deg,var(--els-amber),transparent);animation:scroll-pulse 2s ease-in-out infinite}@keyframes scroll-pulse{0%,to{opacity:1;height:40px}50%{opacity:.3;height:30px}}.brands-section{background:var(--els-cream);padding:4rem 2rem}.brands-header{text-align:center;margin-bottom:2.5rem}.section-label{display:block;font-family:var(--font-body);font-size:.75rem;font-weight:600;color:var(--els-amber-dark);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.75rem}.section-title-sm{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--els-charcoal)!important;letter-spacing:-.01em}.brands-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.marquee-track{display:flex;gap:3rem;animation:marquee 30s linear infinite;width:-moz-max-content;width:max-content}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.brand-item{flex-shrink:0;padding:1rem 2rem}.brand-name{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--els-gray-400);white-space:nowrap;transition:color .3s}.brand-item:hover .brand-name{color:var(--els-charcoal)}.services-section-v2{background:var(--els-gray-100);padding:6rem 2rem}.services-container{max-width:1200px;margin:0 auto}.services-header{text-align:center;margin-bottom:4rem}.section-title{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;color:var(--els-charcoal)!important;letter-spacing:-.02em}.services-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width:640px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.services-grid{grid-template-columns:repeat(3,1fr)}}.service-card-v2{background:#fff;border-radius:16px;padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid var(--els-gray-200)}.service-card-v2:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.08);border-color:var(--els-amber)}.service-featured{background:var(--els-charcoal);border-color:var(--els-charcoal)}.service-featured:hover{border-color:var(--els-amber)}.service-featured .service-desc,.service-featured .service-title{color:#fff}.service-featured .service-desc{color:var(--els-gray-400)}.service-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:rgba(245,158,11,.1);border-radius:12px;margin-bottom:1.5rem;color:var(--els-amber)}.service-icon svg{width:28px;height:28px}.service-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--els-charcoal)!important;margin-bottom:.75rem}.service-desc{font-size:.9375rem;line-height:1.6;color:var(--els-gray-500);margin-bottom:1.25rem}.service-desc,.service-link{font-family:var(--font-body)}.service-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--els-amber)!important;text-decoration:none;transition:gap .2s}.service-link:hover{gap:.75rem}.service-link svg{width:16px;height:16px}.cta-section-v2{position:relative;background:var(--els-amber);padding:5rem 2rem;overflow:hidden}.cta-bg,.cta-grain{position:absolute;inset:0}.cta-grain{opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(https://www.cranepartssupply.com/skin/frontend/default/els/css/%23noise)'/%3E%3C/svg%3E")}.cta-content{position:relative;z-index:10;max-width:1000px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2rem}@media (min-width:768px){.cta-content{flex-direction:row;text-align:left;justify-content:space-between}}.cta-title{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;color:var(--els-charcoal)!important;letter-spacing:-.02em;margin-bottom:.5rem}.cta-subtitle{font-family:var(--font-body);font-size:1.0625rem;color:var(--els-charcoal);opacity:.8}.cta-actions{display:flex;gap:1rem;flex-wrap:wrap}.cta-btn-primary{display:inline-flex;align-items:center;gap:.625rem;padding:1rem 1.75rem;background:var(--els-charcoal);color:#fff!important;font-family:var(--font-body);font-size:.9375rem;font-weight:600;text-decoration:none;border-radius:10px;transition:all .2s}.cta-btn-primary:hover{background:var(--els-slate);transform:translateY(-2px)}.cta-btn-primary svg{width:18px;height:18px}.cta-btn-secondary{display:inline-flex;align-items:center;padding:1rem 1.5rem;background:transparent;border:2px solid var(--els-charcoal);color:var(--els-charcoal)!important;font-family:var(--font-body);font-size:.9375rem;font-weight:600;text-decoration:none;border-radius:10px;transition:all .2s}.cta-btn-secondary:hover{background:var(--els-charcoal);color:#fff!important}.trust-section{background:#fff;padding:3rem 2rem;border-top:1px solid var(--els-gray-200)}.trust-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}@media (min-width:768px){.trust-container{grid-template-columns:repeat(4,1fr)}}.trust-item{gap:1rem}.trust-icon,.trust-item{display:flex;align-items:center}.trust-icon{width:48px;height:48px;justify-content:center;background:var(--els-gray-100);border-radius:12px;color:var(--els-charcoal);flex-shrink:0}.trust-icon svg{width:22px;height:22px}.trust-text{display:flex;flex-direction:column}.trust-title{font-family:var(--font-display);font-size:.9375rem;font-weight:600;color:var(--els-charcoal)}.trust-desc{font-family:var(--font-body);font-size:.8125rem;color:var(--els-gray-500)}.cms-index-index .page-title,.cms-index-index .std h1:first-child,.cms-index-index .std>h2:first-of-type{display:none}.hover\:bg-els-light:hover{--tw-bg-opacity:1;background-color:rgb(233 238 242/var(--tw-bg-opacity,1))}.hover\:bg-els-navy:hover{--tw-bg-opacity:1;background-color:rgb(26 26 46/var(--tw-bg-opacity,1))}.hover\:bg-els-navy-700:hover{--tw-bg-opacity:1;background-color:rgb(18 18 31/var(--tw-bg-opacity,1))}.hover\:bg-els-orange-700:hover{--tw-bg-opacity:1;background-color:rgb(201 173 12/var(--tw-bg-opacity,1))}.hover\:text-els-blue:hover{--tw-text-opacity:1;color:rgb(0 51 102/var(--tw-text-opacity,1))}.hover\:text-els-orange:hover{--tw-text-opacity:1;color:rgb(246 215 34/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:border-els-blue:focus{--tw-border-opacity:1;border-color:rgb(0 51 102/var(--tw-border-opacity,1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-els-blue:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 51 102/var(--tw-ring-opacity,1))}.focus\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.group:hover .group-hover\:text-els-blue{--tw-text-opacity:1;color:rgb(0 51 102/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:block{display:block}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:hidden{display:none}.sm\:w-full{width:100%}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:block{display:block}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:h-12{height:3rem}.md\:w-1\/3{width:33.333333%}.md\:w-80{width:20rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:gap-4{gap:1rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:inline-flex{display:inline-flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:h-14{height:3.5rem}.lg\:w-1\/2{width:50%}.lg\:w-64{width:16rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:gap-6{gap:1.5rem}.lg\:p-6{padding:1.5rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
/**
 * ELS Theme - Custom CSS Overrides
 * Equipment Lifecycle Solutions - Modern Clean Design
 *
 * This file contains custom CSS that can't be achieved with Tailwind utilities.
 */

/* Magento-specific form element fixes */
.required-entry.validation-failed,
.validation-failed {
    border-color: #ef4444 !important;
}

/* Price display formatting */
.price-box .price {
    font-weight: 700;
    font-family: 'Figtree', Arial, sans-serif;
}

.price-box .old-price .price {
    text-decoration: line-through;
    color: #666666;  /* WCAG AA compliant: 5.74:1 contrast on white */
}

.price-box .special-price .price {
    color: #d4b91e;
}

/* Product toolbar */
.toolbar .pager {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.toolbar .limiter {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Category sidebar adjustments */
.block-layered-nav .block-content {
    padding: 0;
}

/* Mini cart styles */
#header-cart {
    position: relative;
}

/* Ensure Alpine.js x-cloak works */
[x-cloak] {
    display: none !important;
}

/* Global font override */
body {
    font-family: 'Figtree', 'Helvetica Neue', Arial, sans-serif;
}

/* ============================================
   Image Lazy Loading & Skeleton States
   PERF-003, PERF-006, VIS-004
   ============================================ */

/* Global skeleton loading animation */
@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Generic skeleton loading state (light theme) */
.skeleton-loading {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
}

/* Dark theme skeleton (for dark backgrounds like product cards) */
.skeleton-loading-dark {
    background: linear-gradient(90deg, #1a3a5a 25%, #244b6e 50%, #1a3a5a 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite ease-in-out;
}

/* Lazy image fade-in transition */
img.lazy {
    opacity: 0;
    transition: opacity 0.3s ease;
}

img.lazy.loaded,
img.loaded {
    opacity: 1;
}

/* Image wrapper loading state (light) */
.image-wrapper-skeleton {
    position: relative;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
}

.image-wrapper-skeleton::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 48px;
    height: 48px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23cbd5e1'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.4;
}

.image-wrapper-skeleton.loaded {
    background: transparent;
    animation: none;
}

.image-wrapper-skeleton.loaded::before {
    display: none;
}

/* Product image skeleton placeholder icon (dark theme) */
.product-image-skeleton::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 48px;
    height: 48px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23475569'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.5;
}

/* Print styles */
@media print {
    header,
    footer,
    .sidebar,
    .breadcrumbs,
    .toolbar {
        display: none !important;
    }

    main {
        padding: 0 !important;
    }

    .bg-white {
        box-shadow: none !important;
    }

    /* Hide skeleton states in print */
    .skeleton-loading,
    .skeleton-loading-dark,
    .image-wrapper-skeleton,
    .product-image-skeleton {
        background: transparent !important;
        animation: none !important;
    }

    .skeleton-loading::before,
    .image-wrapper-skeleton::before,
    .product-image-skeleton::before {
        display: none !important;
    }
}

/* ========================================================================
   MOBILE NAVIGATION IMPROVEMENTS
   MOB-003: Floating Filter FAB
   MOB-004: Mobile Sorting
   MOB-007: Bottom Navigation Bar
   MOB-010: Back to Top Button
   ======================================================================== */

/* ----- MOB-003: Floating Action Button (FAB) for Filters ----- */
.mobile-filter-fab {
    position: fixed;
    bottom: 5.5rem; /* Account for bottom nav */
    right: 1rem;
    z-index: 1000;
    display: none;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f6d722 0%, #e5c71f 100%);
    color: #1a1a2e;
    border: none;
    cursor: pointer;
    box-shadow:
        0 4px 16px rgba(246, 215, 34, 0.4),
        0 2px 8px rgba(0, 0, 0, 0.2);
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    align-items: center;
    justify-content: center;
}

.mobile-filter-fab:hover,
.mobile-filter-fab:focus {
    transform: scale(1.1);
    box-shadow:
        0 6px 24px rgba(246, 215, 34, 0.5),
        0 4px 12px rgba(0, 0, 0, 0.3);
    outline: none;
}

.mobile-filter-fab:active {
    transform: scale(0.95);
}

.mobile-filter-fab svg {
    width: 24px;
    height: 24px;
}

.mobile-filter-fab .fab-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #06b6d4;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Roboto Mono', monospace;
}

@media (max-width: 1023px) {
    .mobile-filter-fab {
        display: flex;
    }
}

/* ----- Mobile Filter Overlay ----- */
.mobile-filter-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.mobile-filter-overlay.is-active {
    display: block;
    opacity: 1;
}

.mobile-filter-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
}

.mobile-filter-panel {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    max-width: 380px;
    background: #1a1a2e;
    transform: translateX(100%);
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.3);
}

.mobile-filter-overlay.is-active .mobile-filter-panel {
    transform: translateX(0);
}

.mobile-filter-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    background: linear-gradient(135deg, #0f2847 0%, #1a1a2e 100%);
    border-bottom: 2px solid #f6d722;
    flex-shrink: 0;
}

.mobile-filter-header h2 {
    font-family: 'Figtree', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.mobile-filter-close {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(246, 215, 34, 0.1);
    border: 1px solid rgba(246, 215, 34, 0.3);
    color: #f6d722;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.mobile-filter-close:hover {
    background: rgba(246, 215, 34, 0.2);
    border-color: #f6d722;
    transform: rotate(90deg);
}

.mobile-filter-close svg {
    width: 20px;
    height: 20px;
}

.mobile-filter-content {
    flex: 1;
    overflow-y: auto;
    padding: 1rem;
    -webkit-overflow-scrolling: touch;
}

/* Custom scrollbar for filter content */
.mobile-filter-content::-webkit-scrollbar {
    width: 6px;
}

.mobile-filter-content::-webkit-scrollbar-track {
    background: #0f2847;
}

.mobile-filter-content::-webkit-scrollbar-thumb {
    background: #475569;
    border-radius: 3px;
}

.mobile-filter-content::-webkit-scrollbar-thumb:hover {
    background: #f6d722;
}

.mobile-filter-footer {
    padding: 1rem;
    background: linear-gradient(135deg, #0f2847 0%, #1a1a2e 100%);
    border-top: 1px solid #1e3a5f;
    flex-shrink: 0;
}

.mobile-filter-apply-btn {
    width: 100%;
    padding: 0.875rem 1.5rem;
    background: linear-gradient(135deg, #f6d722 0%, #e5c71f 100%);
    color: #1a1a2e;
    border: none;
    border-radius: 0.5rem;
    font-family: 'Figtree', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(246, 215, 34, 0.3);
}

.mobile-filter-apply-btn:hover {
    background: linear-gradient(135deg, #e5c71f 0%, #f6d722 100%);
    box-shadow: 0 6px 20px rgba(246, 215, 34, 0.4);
    transform: translateY(-2px);
}

/* ----- MOB-004: Mobile Sorting Section ----- */
.mobile-sorting-section {
    background: #0f2847;
    border: 1px solid #1e3a5f;
    border-radius: 0.5rem;
    padding: 1rem;
    margin-bottom: 1rem;
}

.mobile-sorting-section h3 {
    font-family: 'Roboto Mono', monospace;
    font-size: 0.75rem;
    color: #f6d722;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0 0 0.75rem 0;
}

.mobile-sorting-options {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.mobile-sort-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    background: #1a1a2e;
    border: 1px solid #475569;
    border-radius: 0.375rem;
    color: #cbd5e1;
    text-decoration: none;
    font-size: 0.875rem;
    transition: all 0.2s ease;
}

.mobile-sort-option:hover,
.mobile-sort-option.is-active {
    background: rgba(246, 215, 34, 0.1);
    border-color: #f6d722;
    color: #fff;
}

.mobile-sort-option.is-active {
    background: rgba(246, 215, 34, 0.15);
}

.mobile-sort-option svg {
    width: 16px;
    height: 16px;
    color: #f6d722;
}

/* ----- MOB-010: Back to Top Button ----- */
.back-to-top-btn {
    position: fixed;
    bottom: 5.5rem;
    right: 4.5rem;
    z-index: 999;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #1a1a2e;
    border: 2px solid #1e3a5f;
    color: #06b6d4;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.back-to-top-btn.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.back-to-top-btn:hover,
.back-to-top-btn:focus {
    background: #0f2847;
    border-color: #06b6d4;
    transform: translateY(-4px);
    box-shadow: 0 6px 20px rgba(6, 182, 212, 0.3);
    outline: none;
}

.back-to-top-btn:active {
    transform: translateY(0);
}

.back-to-top-btn svg {
    width: 20px;
    height: 20px;
}

/* Desktop: adjust position when filter FAB is hidden */
@media (min-width: 1024px) {
    .back-to-top-btn {
        right: 1.5rem;
        bottom: 2rem;
    }
}

/* ----- MOB-007: Bottom Navigation Bar ----- */
.mobile-bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 998;
    display: none;
    background: linear-gradient(180deg, #1a1a2e 0%, #0f1422 100%);
    border-top: 1px solid #1e3a5f;
    padding: 0.5rem 0.75rem;
    padding-bottom: calc(0.5rem + env(safe-area-inset-bottom, 0));
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3);
}

@media (max-width: 1023px) {
    .mobile-bottom-nav {
        display: block;
    }

    /* Add padding to body to account for bottom nav */
    body {
        padding-bottom: 4.5rem;
    }
}

.mobile-bottom-nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-around;
    max-width: 500px;
    margin: 0 auto;
}

.mobile-bottom-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.75rem;
    color: #a0a0a0;  /* WCAG AA compliant on dark background */
    text-decoration: none;
    font-size: 0.625rem;
    font-family: 'Roboto Mono', monospace;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: all 0.2s ease;
    border-radius: 0.5rem;
    min-width: 60px;
}

.mobile-bottom-nav-item:hover,
.mobile-bottom-nav-item:focus,
.mobile-bottom-nav-item.is-active {
    color: #f6d722;
    background: rgba(246, 215, 34, 0.1);
}

.mobile-bottom-nav-item svg {
    width: 22px;
    height: 22px;
    margin-bottom: 0.25rem;
}

.mobile-bottom-nav-item .nav-badge {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 16px;
    height: 16px;
    border-radius: 8px;
    background: #f6d722;
    color: #1a1a2e;
    font-size: 0.625rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
}

.mobile-bottom-nav-item .icon-wrapper {
    position: relative;
}

/* Prevent body scroll when filter overlay is open */
body.filter-overlay-open {
    overflow: hidden !important;
    position: fixed;
    width: 100%;
}

/* ----- Filter styles inside mobile overlay ----- */
.mobile-filter-content .industrial-filter-sidebar {
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
    box-shadow: none;
}

.mobile-filter-content .filter-title {
    display: none; /* Hide duplicate title in overlay */
}

.mobile-filter-content .filter-section {
    background: #0f2847;
    border: 1px solid #1e3a5f;
    border-radius: 0.5rem;
    padding: 1rem;
    margin-bottom: 0.75rem;
}

.mobile-filter-content .filter-section:last-child {
    margin-bottom: 0;
}

.mobile-filter-content .filter-section-title {
    background: transparent;
    border: none;
    padding: 0;
    margin-bottom: 0.75rem;
}

.mobile-filter-content .filter-section-title h3 {
    color: #fff;
}

.mobile-filter-content .active-filters {
    margin-bottom: 1rem;
}

/* ----- Category Tree styles inside mobile overlay ----- */
.mobile-filter-content .cat-tree-nav {
    background: transparent;
    border: none;
    padding: 0;
    margin: 0 0 1rem 0;
    box-shadow: none;
}

.mobile-filter-content .cat-tree-nav-title {
    font-size: 1rem;
    padding-bottom: 0.5rem;
    margin-bottom: 0.75rem;
}

.mobile-filter-content .cat-tree-scroll {
    max-height: none;
    overflow: visible;
}

.mobile-filter-content .cat-tree-link {
    padding: 0.5rem 0.625rem;
    font-size: 0.8125rem;
}

/* ----- Article Group styles inside mobile overlay ----- */
.mobile-filter-content .article-group-nav {
    background: transparent;
    border: none;
    padding: 0;
    margin: 0 0 1rem 0;
    box-shadow: none;
}

.mobile-filter-content .article-group-nav-title {
    font-size: 1rem;
    padding-bottom: 0.5rem;
    margin-bottom: 0.75rem;
}

.mobile-filter-content .article-group-link {
    padding: 0.5rem 0.625rem;
    font-size: 0.8125rem;
}

.mobile-filter-content .article-group-list {
    max-height: none;
    overflow: visible;
}

/* Mobile sorting section styles */
.mobile-sorting-section {
    background: #0f2847;
    border: 1px solid #1e3a5f;
    border-radius: 0.5rem;
    padding: 1rem;
    margin-bottom: 1rem;
}

.mobile-sorting-section h3 {
    color: #fff;
    font-family: 'Figtree', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 0.75rem 0;
}

.mobile-sorting-options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.mobile-sort-option {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.5rem 0.75rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 0.375rem;
    color: #cbd5e1;
    text-decoration: none;
    font-size: 0.8125rem;
    font-family: 'Figtree', sans-serif;
    transition: all 0.2s;
}

.mobile-sort-option:hover {
    background: rgba(246, 215, 34, 0.15);
    border-color: #f6d722;
    color: #f6d722;
}

.mobile-sort-option.is-active {
    background: rgba(246, 215, 34, 0.2);
    border-color: #f6d722;
    color: #f6d722;
    font-weight: 600;
}

.mobile-sort-option svg {
    width: 0.875rem;
    height: 0.875rem;
}

/* ========================================================================
   FORM VALIDATION STYLES
   FORM-001: Inline validation with real-time feedback
   FORM-002: Success confirmation modal
   FORM-006: Related form fields grouped with fieldsets
   FORM-007: Estimated response time on contact form
   ======================================================================== */

/* Input validation states */
.input-error {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.15) !important;
}

.input-success,
.input-valid {
    border-color: #28a745 !important;
    box-shadow: 0 0 0 2px rgba(40, 167, 69, 0.15) !important;
}

/* Error message styling */
.error-message,
.field-error-message {
    color: #dc3545;
    font-size: 0.875rem;
    margin-top: 0.375rem;
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

/* Form fieldset styling (light theme variant) */
.form-fieldset {
    border: 1px solid rgba(200, 200, 200, 0.3);
    border-radius: 0.5rem;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    background: rgba(0, 0, 0, 0.02);
}

.form-fieldset-legend {
    font-family: 'Figtree', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0 0.5rem;
}

/* Validation icon in input wrapper */
.input-wrapper {
    position: relative;
}

.input-wrapper .validation-icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1rem;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.input-wrapper .validation-icon.show {
    opacity: 1;
}

.input-wrapper .validation-icon.valid {
    color: #28a745;
}

.input-wrapper .validation-icon.invalid {
    color: #dc3545;
}

/* Input with validation icon needs padding */
.input-wrapper input,
.input-wrapper textarea {
    padding-right: 2.5rem;
}

/* Response time notice (light theme variant) */
.response-time-notice {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(40, 167, 69, 0.08);
    border: 1px solid rgba(40, 167, 69, 0.25);
    border-radius: 0.375rem;
    padding: 0.75rem 1rem;
    margin: 1rem 0;
}

.response-time-notice p {
    color: #28a745;
    font-size: 0.875rem;
    margin: 0;
}

/* Loading state for buttons */
.btn-loading,
.is-loading {
    position: relative;
    pointer-events: none;
    opacity: 0.8;
}

.btn-loading span,
.is-loading span {
    visibility: hidden;
}

.btn-loading::after,
.is-loading::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    top: 50%;
    left: 50%;
    margin-left: -10px;
    margin-top: -10px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: buttonSpinner 0.8s linear infinite;
}

@keyframes buttonSpinner {
    to {
        transform: rotate(360deg);
    }
}

/* Success modal overlay (light theme variant) */
.success-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.success-modal-overlay.show {
    opacity: 1;
    visibility: visible;
}

/* Success modal content (light theme variant) */
.success-modal {
    background: #fff;
    border-radius: 0.75rem;
    padding: 2rem;
    max-width: 420px;
    width: 90%;
    text-align: center;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    transform: scale(0.9) translateY(20px);
    transition: transform 0.3s ease;
}

.success-modal-overlay.show .success-modal {
    transform: scale(1) translateY(0);
}

.success-modal-icon {
    width: 64px;
    height: 64px;
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.25rem;
}

.success-modal-icon svg {
    width: 32px;
    height: 32px;
    stroke: #fff;
    stroke-width: 3;
}

.success-modal h3 {
    font-family: 'Figtree', sans-serif;
    font-size: 1.5rem;
    color: #1a1a2e;
    margin-bottom: 0.75rem;
}

.success-modal p {
    color: #64748b;
    font-size: 0.9375rem;
    line-height: 1.5;
    margin-bottom: 0.5rem;
}

.success-modal .response-info {
    color: #28a745;
    font-weight: 600;
    font-size: 0.875rem;
    margin-top: 0.75rem;
}

.success-modal .btn-close-modal {
    background: linear-gradient(135deg, #003366 0%, #002244 100%);
    color: #fff;
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 0.375rem;
    font-family: 'Figtree', sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    cursor: pointer;
    margin-top: 1.25rem;
    transition: all 0.3s ease;
}

.success-modal .btn-close-modal:hover {
    background: linear-gradient(135deg, #002244 0%, #001122 100%);
    transform: translateY(-1px);
}

/* ==========================================================================
   Category page: hide sidebar, show inline filters in content
   ========================================================================== */

/* Hide the sidebar on category pages - filters render inline in view.phtml */
body.catalog-category-view .els-sidebar {
    display: block !important;
}

/* Make content full-width when sidebar is hidden */
body.catalog-category-view .flex-1.min-w-0 {
    max-width: none;
    flex-basis: 0%;
}

/* Inline filters row - side by side on desktop */
.inline-filters-row {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.inline-filters-row > .article-group-nav,
.inline-filters-row > .industrial-filter-sidebar {
    flex: 1 1 0;
    min-width: 0;
}

/* Stack filters on mobile */
@media (max-width: 1023px) {
    .inline-filters-row {
        flex-direction: column;
    }
}

/* Force footer full width - override any remaining base theme rules */
.footer {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* ============================================================
   STICKY FILTER BAR - Compact horizontal filter strip
   ============================================================ */
.sticky-filter-bar {
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--els-navy, #1a1a2e);
    border-bottom: 2px solid var(--els-accent, #f6d722);
    padding: 0;
    margin-bottom: 1rem;
    transition: box-shadow 0.3s ease;
}

.sticky-filter-bar.is-stuck {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4), 0 0 15px rgba(246, 215, 34, 0.15);
}

.sfb-sentinel {
    height: 0;
    margin: 0;
    padding: 0;
}

.sticky-filter-inner {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 1rem;
    max-width: 1280px;
    margin: 0 auto;
    flex-wrap: wrap;
    min-height: 44px;
}

/* --- Stock Toggle Switch --- */
.sfb-stock-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    user-select: none;
    -webkit-user-select: none;
}

.sfb-stock-toggle input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.sfb-toggle-track {
    position: relative;
    display: inline-block;
    width: 36px;
    height: 20px;
    background: #475569;
    border-radius: 10px;
    transition: background 0.25s ease;
    flex-shrink: 0;
}

.sfb-stock-toggle input:checked + .sfb-toggle-track {
    background: var(--els-accent, #f6d722);
}

.sfb-toggle-thumb {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.25s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.sfb-stock-toggle input:checked + .sfb-toggle-track .sfb-toggle-thumb {
    transform: translateX(16px);
}

.sfb-toggle-label {
    font-family: 'Roboto Mono', monospace;
    font-size: 0.75rem;
    font-weight: 600;
    color: #a0aec0;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: color 0.2s;
}

.sfb-stock-toggle input:checked ~ .sfb-toggle-label {
    color: var(--els-accent, #f6d722);
}

/* --- Separator --- */
.sfb-separator {
    width: 1px;
    height: 24px;
    background: #334155;
    flex-shrink: 0;
}

/* --- Compact Filter Dropdowns --- */
.sfb-dropdown {
    position: relative;
    flex-shrink: 0;
}

.sfb-dropdown-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    background: rgba(246, 215, 34, 0.08);
    border: 1px solid rgba(246, 215, 34, 0.35);
    color: #e2e8f0;
    padding: 0.3rem 0.625rem;
    border-radius: 6px;
    font-family: 'Roboto Mono', monospace;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
    line-height: 1.4;
}

.sfb-dropdown-btn:hover {
    border-color: var(--els-accent, #f6d722);
    color: var(--els-accent, #f6d722);
    background: rgba(246, 215, 34, 0.15);
}

.sfb-dropdown.open .sfb-dropdown-btn {
    border-color: var(--els-accent, #f6d722);
    color: var(--els-accent, #f6d722);
    background: rgba(246, 215, 34, 0.12);
}

.sfb-dropdown-arrow {
    transition: transform 0.2s;
    opacity: 0.6;
}

.sfb-dropdown.open .sfb-dropdown-arrow {
    transform: rotate(180deg);
    opacity: 1;
}

.sfb-dropdown-panel {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    min-width: 220px;
    max-width: 280px;
    background: var(--els-navy, #1a1a2e);
    border: 1px solid #334155;
    border-radius: 8px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5);
    z-index: 200;
    overflow: hidden;
}

.sfb-dropdown.open .sfb-dropdown-panel {
    display: block;
}

.sfb-dropdown-search {
    width: 100%;
    padding: 0.5rem 0.625rem;
    background: #0f172a;
    border: none;
    border-bottom: 1px solid #334155;
    color: #e2e8f0;
    font-family: 'Figtree', sans-serif;
    font-size: 0.8rem;
    outline: none;
    box-sizing: border-box;
}

.sfb-dropdown-search::placeholder {
    color: #64748b;
}

.sfb-dropdown-search:focus {
    background: #1e293b;
}

.sfb-dropdown-options {
    max-height: 240px;
    overflow-y: auto;
    padding: 0.25rem 0;
}

.sfb-dropdown-options::-webkit-scrollbar {
    width: 5px;
}

.sfb-dropdown-options::-webkit-scrollbar-track {
    background: transparent;
}

.sfb-dropdown-options::-webkit-scrollbar-thumb {
    background: #334155;
    border-radius: 3px;
}

.sfb-dropdown-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.35rem 0.75rem;
    color: #cbd5e1;
    text-decoration: none;
    font-size: 0.775rem;
    transition: background 0.15s;
    cursor: pointer;
}

.sfb-dropdown-option:hover {
    background: rgba(246, 215, 34, 0.08);
    color: #fff;
    text-decoration: none;
}

.sfb-dropdown-option.active {
    background: rgba(246, 215, 34, 0.15);
    color: var(--els-accent, #f6d722);
    font-weight: 600;
}

.sfb-opt-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
}

.sfb-opt-count {
    color: #64748b;
    font-family: 'Roboto Mono', monospace;
    font-size: 0.675rem;
    flex-shrink: 0;
    margin-left: 0.5rem;
}

.sfb-dropdown-option.active .sfb-opt-count {
    color: rgba(246, 215, 34, 0.6);
}

/* Dropdown responsive */
@media (max-width: 767px) {
    .sfb-dropdown-panel {
        position: fixed;
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        max-width: 100%;
        min-width: 100%;
        border-radius: 12px 12px 0 0;
        max-height: 60vh;
    }

    .sfb-dropdown-options {
        max-height: 50vh;
    }
}

/* --- Active Filter Chips --- */
.sfb-chips {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    flex-wrap: wrap;
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.sfb-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    background: rgba(246, 215, 34, 0.12);
    border: 1px solid rgba(246, 215, 34, 0.3);
    color: #e2e8f0;
    padding: 0.2rem 0.5rem;
    border-radius: 12px;
    font-family: 'Roboto Mono', monospace;
    font-size: 0.675rem;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.2s ease;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
}

.sfb-chip:hover {
    background: rgba(246, 215, 34, 0.25);
    border-color: var(--els-accent, #f6d722);
    color: #fff;
    text-decoration: none;
}

.sfb-chip-text {
    overflow: hidden;
    text-overflow: ellipsis;
}

.sfb-chip-remove {
    font-size: 0.875rem;
    line-height: 1;
    color: #94a3b8;
    flex-shrink: 0;
    transition: color 0.2s;
}

.sfb-chip:hover .sfb-chip-remove {
    color: #ef4444;
}

.sfb-chip-stock {
    background: rgba(34, 197, 94, 0.15);
    border-color: rgba(34, 197, 94, 0.4);
}

.sfb-chip-stock:hover {
    background: rgba(34, 197, 94, 0.25);
    border-color: #22c55e;
}

/* --- Clear All Button --- */
.sfb-clear-all {
    font-family: 'Roboto Mono', monospace;
    font-size: 0.675rem;
    font-weight: 600;
    color: #94a3b8;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
    flex-shrink: 0;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.sfb-clear-all:hover {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
    text-decoration: none;
}

/* --- Responsive --- */
@media (max-width: 767px) {
    .sticky-filter-inner {
        padding: 0.375rem 0.75rem;
        gap: 0.5rem;
    }

    .sfb-separator {
        display: none;
    }

    .sfb-toggle-label {
        font-size: 0.675rem;
    }

    .sfb-chips {
        order: 3;
        width: 100%;
        flex-basis: 100%;
    }

    .sfb-clear-all {
        order: 2;
        margin-left: auto;
    }
}

@media (max-width: 480px) {
    .sticky-filter-bar {
        top: 0;
    }

    .sticky-filter-inner {
        padding: 0.25rem 0.5rem;
    }
}


/* Hide stock availability banner - duplicates the IN STOCK / QUOTE REQUIRED badge and "Out of stock" contradicts the quote-based sales model */
body.catalog-product-view p.availability { display: none !important; }

