* {
    padding: 0;
    margin: 0;
}
body {
    font-family: Geneva, Lucida Sans Unicode, Lucida Grande, Helvetica, Arial, Verdana, Bodoni, sans-serif;
    font-size: 11px;
    padding: 20px;
    min-width: 800px;
}
p {
    margin-bottom: 1em;
}
.main {
    margin: 0 auto;
    width: 730px;
    padding: 35px;
}
.home .main {
    padding-top: 20px;
    position: relative;
}
.main-title {
    margin-bottom: 20px;
    position: relative;
    z-index: 2;
}
a, a:visited {
    color: #808182;
}
a:hover {
    color: black;
}
    a img {
        border-width: 0;
    }
.nav {
    background: url(../images/tagline.gif) 0px 0px no-repeat;
    width: 193px;
    padding: 70px 0 10px 110px;
    position: absolute;
    top: 87px;
    right: -45px;
    z-index: 1;
}
    .nav a {
        color: black;
        font-weight: bold;
        text-decoration: none;
        padding: 5px;
        font-size: 10px;
    }
    .nav a:hover {
        background-color: #ccc;
    }
.cats {
    margin-bottom: 60px;
}
    .cats a {
        display: block;
        padding: 15px;
        float: left;
        font-size: 16px;
        font-weight: bold;
        text-decoration: none;
        color: black;
        background-color: transparent;
    }
        .cats a:hover {
            background-color: #ccc;
        }
    .cats a.current {
        border: 2px solid #ccc;
        padding: 13px;
    }
h2 {
    font-size: 16px;
}
    h2 del {
        font-size: 90%;
        font-weight: normal;
        color: #808182;
        text-decoration: line-through;
    }
    h2 ins {
        text-decoration: none;
        color: #b40e0e;
        font-size: 110%;
    }
.cat-item {
    width: 130px;
    float: left;
    margin: 0 20px 20px 0;
    padding: 0px;
    text-align: center;
}
    .cat-item img {
        width: 130px;
        height: 130px;
    }
    .cat-item a {
        position: relative;
        display: block;
        text-decoration: none;
    }
        .cat-item a span {
            position: absolute;
            bottom: 5px;
            right: 5px;
            font-weight: bold;
            color: #b40e0e;
            font-size: 120%;
        }
.last-item {
    margin-right: 0;
}

/* details page */
.item-details .main{
    border: 1px solid #868686;
    padding: 34px;
}
img.main-product {
    float: left;
    width: 430px;
    /* top margin should create the illusion of being 30px below top of name and number */
    margin: 25px 20px 0 0;
}
.item-description {
    float: left;
    width: 280px;
}
  .item-description select {
    font-size: 110%;
  }
.name-and-number {
    display: block;
    margin-bottom: 75px;
}
.view-all-cat, .view-all-cat:hover {
    text-decoration: none;
    font-size: 12px;
}
.buy-button {
    background-color: #333;
    color: #efe851;
    border-width: 0;
    padding: 5px;
    font-size: 110%;
    cursor: pointer;
}
h3 {
    margin: 75px 0 10px;
}
.item-links {
    text-align: center;
    margin: 0;
    padding-top: 20px;
}
    .item-links a, .item-links a:hover {
        padding: 5px 7px;
        margin: 0 5px;
        text-decoration: none;
        font-size: 12px;
    }
.clear {
    clear: both;
}
/* contact page */
.text-replace-block {
    display: block;
    text-indent: -9999px;
}
#contact-info {
    background: url(../images/address.png) top left no-repeat;
    width: 248px;
    height: 306px;
    margin-top: 100px;
}
#email {
    background: url(../images/email.png) top left no-repeat;
    width: 272px;
    height: 19px;
    margin: 50px 0;
}
#mailinglist {
    background: url(../images/mailinglist.png) top left no-repeat;
    width: 567px;
    height: 24px;
}
.gmap {
    float: right;
    margin-top: 100px;
    border: 3px solid #808182;
}
.error {
    color: red;
}
.thank-you {
    margin-top: 100px;
}

/* admin stuff */
th {
    vertical-align: top;
}
.admin-catalog td, .admin-catalog th{
    border: 1px dotted #ccc;
    border-width: 0 1px 1px 0;
}
    .admin-catalog th {
        padding: 2px;
        vertical-align: bottom;
        border-right: 0;
    }
input.cb {
    vertical-align: text-bottom;
}
option {
    padding-left: 4px;
}
select.long {
    padding: 1px;
    width: 200px;
}
    select.long option {
        padding: 2px 4px;
    }
.admin-catalog td{
    padding: 5px;
}
.admin-catalog tr td:first-child {
    border-left-width: 1px;
}
.admin-catalog td.active {
    background-color: #cec;
}
.admin-catalog td.inactive {
    background-color: #fcc;
}
.paginate-left, .paginate-right, .paginate-pages {
    font-weight: bold;
}
.paginate-right {
    text-align: right;
}
.paginate-pages {
    text-align: center;
}
    .paginate-pages a, .paginate-pages span {
        margin: 0 1px;
        padding: 5px;
        font-size: 110%;
    }
    .paginate-pages span {
        font-weight: normal;
    }
