/**
 * Main CSS Stylesheet
 *
 * zca_diy_tpl 1.0.0
 *
 * @package templateSystem
 * @copyright Copyright 2003-2007 Zen Cart Development Team
 * @copyright Portions Copyright 2003 osCommerce
 * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
 * @version ZCA/GIT: $Id: rbarbour (zcadditions.com) New for v1.5.6 $
 */

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;

}

form {
    margin: 0; 
    padding: 0;    
}


hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-family: inherit;
  font-weight: 500;
  line-height: 1.2;
  color: inherit;
  display: inline-block; 
  width: 100% !important;
}

h1 {font-size: 1.75rem;}
h2 {font-size: 1.75rem;}
h3 {font-size: 1.5rem;}
h4 {font-size: 1.25rem;}
h5 {font-size: 1.25rem;}
h6 {font-size: 1rem;}

p {
  margin-top: 0;
  margin-bottom: 1rem;
  padding: 0.5rem;
}


address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}



b, strong, .bold {
  font-weight: bold;
}

a {
  text-decoration: none;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
  line-height: 1.5rem;
}

a:hover {
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
  word-break: break-all;
  max-width:100%;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
}

img {
  max-width:100%;    
  vertical-align: middle !important;
  border-style: none;
  border:0; 
  text-align: center !important;
}

table, .table {
  border-collapse: collapse;
  width: 100% !important;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  margin: 1rem 0;
}

table th,
table td,
.table th,
.table td {
  padding: 0.75rem;
  vertical-align: top;
}

table thead th, .table thead th {
  vertical-align: bottom;
}

.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  text-align: center;
  caption-side: bottom;
}

label {
  display: block;
  margin-top: 1rem;
  margin-bottom: 0.25rem;
}

label.checkboxLabel,
label.radioButtonLabel,
label.attribsRadioButton,
label.attribsCheckbox {
  display: inline-block; 
  margin: 0.25rem;
}

textarea {
  overflow: auto;
  resize: vertical;
}


fieldset input, fieldset fieldset input, fieldset textarea, fieldset fieldset textarea, fieldset select, fieldset fieldset select, fieldset label, fieldset fieldset label {
  margin-left: 1rem;
}

fieldset textarea, fieldset fieldset textarea {
  margin-top: 1rem;
}

fieldset {
  min-width: 0;
  padding: 0;
  padding-bottom: 2rem;
  margin: 0;
  margin-bottom: 2rem;
  border: 0;
}

fieldset#upcomingProducts {
  border: 1px solid;
}

legend {
  width:100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;  
  font-size: 1.5rem; 
  padding: 0.5rem;
  margin-top:1rem;
}

input[type="radio"],
input[type="checkbox"] {
  display: inline-block;
  padding: 0;
  margin: 0 1rem;
}

input[type=text], input[type=tel], input[type=email], input[type=password], select, textarea {
  display: inline-block;    
  padding: 0.78rem 0.78rem 0.80rem 0.78rem;
  border:2px solid;
  width: 80%;
}

/* EQUAL HEIGHT */
.centerBoxWrapper .blocks, .sideBoxContentItem .blocks, #productListing .blocks, #footerWrapper .blocks {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}	
	
/* VISIBILITY */
.visible, .visibleField {
  visibility: visible;
  display: inline;
}
.invisible, .hiddenField {
  visibility: hidden;
  display: none;
}

/* UL/LI LISTS */
.list-inline {
  padding: 0.5rem;
  list-style: none;
  margin: 0;  
}

.list-inline-item {
  display: inline-block;
  padding: 0.5rem !important;
}

.list-inline-item-group {
  display: inline-block;
  padding: 0 !important;
}

.list-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 0;
  margin: 0;
  border-bottom: 1px solid;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  margin: 0;
  border-bottom:1px solid;
}

.list-group-item:last-child {
  border-bottom: 0 !important;
}

.list-group-item:first-child {
  border-top: 1px solid;
}

#footerWrapper .list-group, #footerWrapper .list-group-item {
      border-top: 0;
    border-bottom:0;
}

/* BUTTON ROW */
.btn-row, .buttonRow {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* ALIGNMENT */
.text-align-justify { text-align: justify !important; }
.text-align-left { text-align: left !important; }
.text-align-right { text-align: right !important; }
.text-align-center, .centeredContent { text-align: center !important; }

.content-align-between { display: flex; justify-content: space-between; }
.content-align-around { display: flex; justify-content: space-around; }
.content-align-left { display: flex; justify-content: flex-start; }
.content-align-right { display: flex; justify-content: flex-end; }
.content-align-center { display: flex; justify-content: center; }

.float-right, .forward { float: right; }
.float-left, .back { float: left; }
.float-none { float: none; }

.clear-right { clear: right; }
.clear-left { clear: left; }
.clear-both, .clearBoth { clear: both; }


.dsp-block { display: block !important; }
.dsp-none { display: none !important; }

/* PADDING */
p, .information, .content, .important { padding: 0.5rem !important; }

.pad-0 { padding: 0 !important; }
.padt-0,.pady-0 { padding-top: 0 !important; }
.padr-0,.padx-0 { padding-right: 0 !important; }
.padb-0,.pady-0 { padding-bottom: 0 !important; }
.padl-0,.padx-0 { padding-left: 0 !important; }
.pad-1 { padding: 0.25rem !important; }
.padt-1,.pady-1 { padding-top: 0.25rem !important; }
.padr-1,.padx-1 { padding-right: 0.25rem !important; }
.padb-1,.pady-1 { padding-bottom: 0.25rem !important; }
.padl-1,.padx-1 { padding-left: 0.25rem !important; }
.pad-2 { padding: 0.5rem !important; }
.padt-2,.pady-2 { padding-top: 0.5rem !important; }
.padr-2,.padx-2 { padding-right: 0.5rem !important; }
.padb-2,.pady-2 { padding-bottom: 0.5rem !important; }
.padl-2,.padx-2 { padding-left: 0.5rem !important; }
.pad-3 { padding: 1rem !important; }
.padt-3,.pady-3 { padding-top: 1rem !important; }
.padr-3,.padx-3 { padding-right: 1rem !important; }
.padb-3,.pady-3 { padding-bottom: 1rem !important; }
.padl-3,.padx-3 { padding-left: 1rem !important; }
.pad-4 { padding: 1.5rem !important; }
.padt-4,.pady-4 { padding-top: 1.5rem !important; }
.padr-4,.padx-4 { padding-right: 1.5rem !important; }
.padb-4,.pady-4 { padding-bottom: 1.5rem !important; }
.padl-4,.padx-4 { padding-left: 1.5rem !important; }
.pad-5 { padding: 3rem !important; }
.padt-5,.pady-5 { padding-top: 3rem !important; }
.padr-5,.padx-5 { padding-right: 3rem !important; }
.padb-5,.pady-5 { padding-bottom: 3rem !important; }
.padl-5,.padx-5 { padding-left: 3rem !important; }

/* MARGINS */
.mgn-0 { margin: 0 !important; }
.mgnt-0,.mgny-0 { margin-top: 0 !important; }
.mgnr-0,.mgnx-0 { margin-right: 0 !important; }
.mgnb-0,.mgny-0 { margin-bottom: 0 !important; }
.mgnl-0,.mgnx-0 { margin-left: 0 !important; }
.mgn-1 { margin: 0.25rem !important; }
.mgnt-1,.mgny-1 { margin-top: 0.25rem !important; }
.mgnr-1,.mgnx-1 { margin-right: 0.25rem !important; }
.mgnb-1,.mgny-1 { margin-bottom: 0.25rem !important; }
.mgnl-1,.mgnx-1 { margin-left: 0.25rem !important; }
.mgn-2 { margin: 0.5rem !important; }
.mgnt-2,.mgny-2 { margin-top: 0.5rem !important; }
.mgnr-2,.mgnx-2 { margin-right: 0.5rem !important; }
.mgnb-2,.mgny-2 { margin-bottom: 0.5rem !important; }
.mgnl-2,.mgnx-2 { margin-left: 0.5rem !important; }
.mgn-3 { margin: 1rem !important; }
.mgnt-3,.mgny-3 { margin-top: 1rem !important; }
.mgnr-3,.mgnx-3 { margin-right: 1rem !important; }
.mgnb-3,.mgny-3 { margin-bottom: 1rem !important; }
.mgnl-3,.mgnx-3 { margin-left: 1rem !important; }
.mgn-4 { margin: 1.5rem !important; }
.mgnt-4,.mgny-4 { margin-top: 1.5rem !important; }
.mgnr-4,.mgnx-4 { margin-right: 1.5rem !important; }
.mgnb-4,.mgny-4 { margin-bottom: 1.5rem !important; }
.mgnl-4,.mgnx-4 { margin-left: 1.5rem !important; }
.mgn-5 { margin: 3rem !important; }
.mgnt-5,.mgny-5 { margin-top: 3rem !important; }
.mgnr-5,.mgnx-5 { margin-right: 3rem !important; }
.mgnb-5,.mgny-5 { margin-bottom: 3rem !important; }
.mgnl-5,.mgnx-5 { margin-left: 3rem !important; }
.mgnx-auto {  margin-right: auto !important; margin-left: auto !important; }


/* BORDERS */
.border { border: 1px solid; }
.border-top { border-top: 1px solid; }
.border-right { border-right: 1px solid; }
.border-bottom { border-bottom: 1px solid; }
.border-left { border-left: 1px solid; }
.border-0 { border: 0; }
.border-top-0 { border-top: 0; }
.border-right-0 { border-right: 0; }
.border-bottom-0 { border-bottom: 0; }
.border-left-0 { border-left: 0; }


#navMainSearch input[type="text"] { width: 65% !important; }



.normalprice, .productSpecialPriceSale {
	text-decoration: line-through;
	}
	
/* MESSAGESTACKS & ALERTS */
.alert {
    padding: 0.5rem;
}


#otsubtotal, #otshipping, #ottotal {
  display: flex;
  justify-content: flex-end;
  margin-right: 2rem;
}

.messageStackWarning, .messageStackError, .messageStackSuccess, .messageStackCaution {
	line-height: 1.8em;
	padding: 0.2em;
	border: 1px solid;
	}

#back-to-top {
    position: fixed;
    bottom: 40px;
    right: 40px;
    z-index: 1;
    text-align: center;
    cursor: pointer;
    transition: opacity 0.2s ease-out;
    opacity: 0;
}

#back-to-top.show {
    opacity: 1;
    z-index: 1;
}

/* LAYOUT GRID FOR MOBILE FULL SITE ONLY */
/* ----------------------------------------------------------------------------- */
.layout { width:100%!important; zoom:1; }
.layout:before, .layout:after { display:table; content:""; }
.layout:after { clear:both; }
.layout>[class*="columns"].full { float:left; display:table-cell; margin:0; padding: 0; }

.layout>.columns12.full { width: 100%; }
.layout>.columns11.full { width: 91.66%; }
.layout>.columns10.full { width: 83.33%; }
.layout>.columns9.full { width: 75%; }
.layout>.columns8.full { width: 66.66%; }
.layout>.columns7.full { width: 58.33%; }
.layout>.columns6.full { width: 50%; }
.layout>.columns5.full { width: 41.66%; }
.layout>.columns4.full { width: 33.33%; }
.layout>.columns3.full { width: 25%; }
.layout>.columns2.full { width: 16.66%; }
.layout>.columns1.full { width: 8.333%; }

/* COLUMNAR BLOCKS FOR MOBILE FULL SITE ONLY */
/* ----------------------------------------------------------------------------- */
.blocks { width:100%!important; zoom:1; }
.blocks:before, .blocks:after { display:table; content:""; }
.blocks:after { clear:both; }
.blocks>[class*="columns"].full { float:left; display:table-cell; margin:0; padding:0; }
.blocks>.columns10.full { width:10.00%; }
.blocks>.columns9.full  { width:11.11%; }
.blocks>.columns8.full  { width:12.50%; }
.blocks>.columns7.full  { width:14.29%; }
.blocks>.columns6.full  { width:16.66%; }
.blocks>.columns5.full  { width:20.00%; }
.blocks>.columns4.full  { width:25.00%; }
.blocks>.columns3.full  { width:33.33%; }
.blocks>.columns2.full  { width:50.00%; }
.blocks>.columns1.full  { width:100.00%;}
