﻿/* ITEM FORM — storefront 2026 modal chrome (IDs/field names unchanged)
   Block preview still needs the classic 650px width so the 4 side faces fit in one row. */

div.itemFormDIV,
div.inlineFormDIV {
    max-width: 650px;
    width: min(650px, calc(100vw - 1.5rem));
    top: 4vh;
    margin: 0;
    left: 50%;
    position: fixed;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0.75rem 0.85rem 1rem;
    display: none;
    z-index: 402;
    border: 1px solid rgba(42, 53, 64, 0.12);
    border-radius: 1.25rem;
    background-color: #faf9f6;
    max-height: 92vh;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    box-shadow: 0 24px 64px rgba(42, 53, 64, 0.28);
    font-family: "Karla", "Helvetica Neue", sans-serif;
    color: #2a3540;
    box-sizing: border-box;
}

div.itemOptionGroup {
    width: 100%;
    margin: 0.5rem 0;
    padding: 0.65rem 0.75rem;
    float: left;
    overflow: hidden;
    clear: both;
    border: 1px solid rgba(42, 53, 64, 0.1);
    border-radius: 0.75rem;
    background: #fff;
}

div.itemOptionTitle {
    width: 75%;
    height: auto;
    padding: 0.35rem 0.25rem;
    float: left;
    text-align: left;
    font-weight: 700;
    color: #2a3540;
    overflow: hidden;
}

div.formGroup {
    width: 100%;
    margin-bottom: 0.65rem;
    padding: 0.85rem 1rem;
    float: left;
    overflow: hidden;
    clear: both;
    border: 1px solid rgba(42, 53, 64, 0.1);
    border-radius: 0.85rem;
    font-size: 0.95rem;
    background: #fff;
    box-sizing: border-box;
}

div.formTitle {
    max-width: 100%;
    width: 100%;
    padding: 0 0 0.45rem;
    float: none;
    text-align: left;
    font-weight: 700;
    font-size: 0.8rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #4e6172;
}

div.addressFormTitle {
    max-width: 100%;
    width: 100%;
    height: auto;
    padding: 0 0 0.45rem;
    float: none;
    text-align: left;
    font-weight: 700;
    font-size: 0.8rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #4e6172;
    overflow: visible;
}

div.formNote {
    max-width: 100%;
    max-height: none;
    padding: 0.35rem 0 0;
    float: left;
    text-align: left;
    color: #83929f;
    clear: both;
    display: block;
    font-size: 0.8rem;
    line-height: 1.4;
}

div.formInput {
    max-width: 100%;
    clear: both;
    float: left;
    width: 100%;
    min-height: 2rem;
    text-align: left;
    color: #2a3540;
    box-sizing: border-box;
}

div.formInput input,
div.formInput textarea,
div.formInput select,
div.formGroup input[type="text"],
div.formGroup input[type="email"],
div.formGroup textarea,
div.formGroup select {
    border-radius: 0.65rem;
    border: 1px solid rgba(42, 53, 64, 0.2);
    background: #faf9f6;
    float: left;
    clear: left;
    padding: 0.55rem 0.75rem;
    font-family: inherit;
    font-size: 1rem;
    color: #2a3540;
    max-width: 100%;
    box-sizing: border-box;
}

div.formInput input:focus,
div.formGroup input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: #3d7a2f;
    box-shadow: 0 0 0 3px rgba(61, 122, 47, 0.18);
}

div.formValidation {
    max-width: 100%;
    max-height: none;
    float: left;
    text-align: left;
    font-size: 0.75rem;
    color: #b42318;
    font-weight: 600;
    clear: both;
    padding-top: 0.25rem;
}

/* Action buttons inside order forms */
input.order_button,
button.order_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 0.7rem 1.35rem;
    margin: 0.35rem 0.35rem 0.35rem 0;
    font-family: "Karla", "Helvetica Neue", sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    border: 1px solid rgba(42, 53, 64, 0.22);
    background: #fff;
    color: #2a3540;
    cursor: pointer;
    text-decoration: none;
    box-shadow: none;
}

input.order_button:hover,
button.order_button:hover {
    background: #f3f1ec;
}

input.order_button.cta_button,
button.order_button.cta_button {
    background: #3d7a2f;
    border-color: #3d7a2f;
    color: #fff;
}

input.order_button.cta_button:hover,
button.order_button.cta_button:hover {
    background: #2f5f24;
    border-color: #2f5f24;
}

input.order_button[value="Close"] {
    border-color: transparent;
    background: transparent;
    color: #4e6172;
    padding: 0.4rem 0.85rem;
    font-weight: 700;
}

input.order_button[value="Close"]:hover {
    background: rgba(42, 53, 64, 0.06);
    color: #2a3540;
}

/* Ship-to picker (item form / place-order modal) */
#ShippingAddressDIV {
    clear: both;
    width: 100%;
    margin-top: 0.35rem;
    box-sizing: border-box;
    overflow: hidden; /* contain any leftover floats from address markup */
}

#shipAddressDisplayDiv,
#shipAddressViewModel {
    float: none !important;
    width: 100%;
    max-width: 100%;
    clear: both;
    box-sizing: border-box;
}

.sf-ship-pick {
    width: 100%;
    margin: 0 0 0.75rem;
    float: none;
    clear: both;
    box-sizing: border-box;
}

.sf-ship-pick__card {
    width: 100%;
    margin: 0;
    padding: 1rem 1.15rem 1.1rem;
    border: 1px solid rgba(42, 53, 64, 0.1);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 8px 24px rgba(42, 53, 64, 0.06);
    box-sizing: border-box;
}

.sf-ship-pick__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 0.75rem;
    margin-bottom: 0.85rem;
}

.sf-ship-pick__label {
    margin: 0;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #83929f;
}

.sf-ship-pick__new {
    margin: 0 !important;
    padding: 0.4rem 0.9rem !important;
    font-size: 0.85rem !important;
}

.sf-ship-pick__body {
    display: grid;
    gap: 0.75rem;
}

.sf-ship-pick__select {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0.55rem 0.75rem;
    border-radius: 0.65rem;
    border: 1px solid rgba(42, 53, 64, 0.2);
    background: #faf9f6;
    font-family: inherit;
    font-size: 1rem;
    color: #2a3540;
    box-sizing: border-box;
}

.sf-ship-pick__select:focus {
    outline: none;
    border-color: #3d7a2f;
    box-shadow: 0 0 0 3px rgba(61, 122, 47, 0.18);
}

.sf-ship-pick__addr {
    margin: 0;
    padding: 0.75rem 0.85rem;
    border-radius: 0.75rem;
    background: #faf9f6;
    border: 1px solid rgba(42, 53, 64, 0.08);
    color: #2a3540;
    font-size: 0.95rem;
    line-height: 1.45;
}

.sf-addr-display {
    display: block;
    color: inherit;
    line-height: 1.5;
}

.sf-ship-pick__actions,
#orderButtons.sf-ship-pick__actions {
    clear: both;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    width: 100%;
    margin: 0.85rem 0 0;
    padding: 0.85rem 0 0;
    border-top: 1px solid rgba(42, 53, 64, 0.1);
    float: none;
    box-sizing: border-box;
}

.sf-ship-pick__actions .order_button {
    margin: 0;
}

.sf-ship-edit {
    width: 100%;
    margin: 0 0 0.75rem;
    clear: both;
    box-sizing: border-box;
}

.sf-ship-edit__title {
    margin: 0 0 0.85rem;
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.35rem;
    font-weight: 600;
    color: #2a3540;
    letter-spacing: -0.01em;
}

.sf-ship-edit__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    margin: 0.75rem 0 0;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(42, 53, 64, 0.1);
}

.sf-ship-edit__actions .order_button {
    margin: 0;
}

#orderItemFormDIV > div:first-child {
    display: flex;
    justify-content: flex-end;
    width: 100% !important;
    margin: 0 0 0.75rem !important;
}

.time input{
    width: 75px;
}

.timeComponent{
    float:left;
    text-align:center;
}
.weightFieldDIV {
    width: 125px;
    text-align: left;
    padding-left: 15px;
    float: left;
}

.weightFieldDIV input{
    width:50px;
}
.weightUofMDIV {
    width: 275px;
    text-align: left;
    padding-left: 15px;
    margin-bottom: 15px;
}

.lengthFieldDIV {
    width: 145px;
    text-align: left;
    padding-left: 15px;
    float: left;
}



div.itemOptionValidation {
    width: 175px;
    height: 25px;
    float: left;
    text-align: left;
    font-size: 10px;
    color: red;
}

.textAreaCenter {
    text-align: center;
    resize: none;
}


/* BLOCK FORM */

div.blockFormDIV {
    max-width: 40rem;
    padding: 1.25rem;
    display: none;
    z-index: 404;
    border: 1px solid rgba(42, 53, 64, 0.12);
    border-radius: 1.25rem;
    background-color: #faf9f6;
    box-shadow: 0 24px 64px rgba(42, 53, 64, 0.28);
    font-family: "Karla", "Helvetica Neue", sans-serif;
}

/* Gray Overlay - used with pop-up forms (also needed when Site.css is not loaded) */
div.gray_overlay {
    display: none;
    position: fixed;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background-color: #2a3540;
    z-index: 400;
    opacity: .55;
}

/* Gray Overlay - used with _blockForm */
div.blockForm_gray_overlay {
    display: none;
    /*position: absolute;*/
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background-color: #f5f5f5;
    z-index: 403;
    opacity: .80;
    filter: alpha(opacity=80);
}

.blockSideWrapper{
    float:left;
    height:185px;
    width:150px;
    margin:auto;
}

@media (max-width: 740px) {
    .blockSideSpacer{
        display:none !important; /*hide for small screens*/
    }
    .blockSideWrapper{
        float:none;
    }
}

@media (max-width:700px){
    div.itemFormDIV{
        width: calc(100vw - 1.5rem);
        max-width: 650px;
        top: 2vh;
        padding: 0.75rem;
    }
    div.inlineFormDIV{
        width: calc(100vw - 1.5rem);
        max-width: 650px;
        top: 2vh;
        padding: 0.75rem;
    }
}

@media (max-width:465px){
    div.formTitle{
        clear: both;
        text-align: left;
        width: 100%;
        float: none;
    }
    div.addressFormTitle{
        clear:both;
        text-align:left;
    }
    select{
        max-width:90%;
    }
    div.productContainer{
        width:300px;
    }
    div.product_info_container{
        max-width:300px;
    }
    div.photo_container{
        max-width:300px;
    }

}

.blockSideSpacer{
    display:inherit;
}

/* Needed for block preview cross layout when Site.css is not on the storefront shell */
div.clearLine {
    height: 1px;
    clear: both;
    max-width: 100%;
}

#blockDisplayPanels {
    width: 100%;
    max-width: 620px;
    margin: 0 auto;
    overflow: hidden;
}

#blockDisplayPanels #row1,
#blockDisplayPanels #row2 {
    clear: both;
    width: 100%;
    overflow: hidden;
}

.blockPanelWrapper{
    /*float:left;*/
    height:185px;
    width:150px;
    margin:auto;
}

.blockPanel {
    width: 145px;
    height: 150px;
    /*margin: 7px;*/
    float: left;
    border: 2px #efd99c solid;
    border-radius: 5px;
    text-align: center;
    /*display: table;*/
}

.blockPanel img,
.blockPanelContent img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    height: auto;
}

.blockPanelAnchor{
    color:inherit;
    text-decoration:none;
}

.blockPanelAnchor:hover{
    color:inherit;
    text-decoration:none;
}

.optionalBlockPanel{
    max-width:300px;
    margin:auto;
    text-align:center;
    display:table;
    vertical-align:middle;
}


.blockPanelContent {
    /*vertical-align:middle;
    display:table-cell;*/
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

.blockPanelFiveTop {
    height: 105px; /* based on 70% of blockPanel Height */
}

.blockPanelFiveBottom {
    height: 45px; /* based on 30% of blockPanel Height */
}

.blockPanelFiveAll {
    height: 100%; /* based on blockPanel Height */
}

.blockPanelTitle {
    width: 145px;
    height: 15px;
    margin: 7px;
    /*margin-top: -2px;*/
    /*float: left;*/
    font-size: 10px;
    text-align: center;
}


div.groupItemContainter {
    display: table;
    margin: auto;
    vertical-align: bottom;
    max-width: 100%;
}

div.groupItem {
    background-color: white;
    bottom: 0;
    box-shadow: 2px 2px 5px gray;
    display: table-cell;
    float: left;
    height: 100%;
    margin: 7px;
    min-width: 125px;
    padding: 1%;
    vertical-align: bottom;
    width: 22%;
}

    div.groupItem #groupQty {
        width: 45px;
        margin: 5px;
    }

.proudName {
    width: 150px;
    float: left;
    margin-bottom: 8px;
    margin-top: 5px;
}

.proudNameHints {
    font-size: 12px;
    color: silver;
}

/*.proudSibling {
    width: 300px;
    float: left;
    margin-bottom: 8px;
    margin-top: 5px;
}*/


/*div.groupItemImageWrapper {
    box-shadow: 1px 1px 2px gray;
    margin: auto;
    text-align: center;
    width: 100%;
    height: 88%;
}*/

div.shippingLogDIV {
    /*top: 50%;*/
    margin: auto;
    /*margin-top: 50px;*/
    /*left: 50%;*/
    position: relative;
    overflow:  scroll;
    padding: 5px;
    display: none;
    z-index: 401;
    border: thick black solid;
    border-radius: .5em;
    background-color: white;
    /*max-height: 80%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);*/
    text-align:center;
}

div.shippingLogDIV th, td{
    white-space:nowrap;
}

/* fix disappearing input elements on safari ios */
input, button, textarea, select {
    -webkit-transform: translate3d(0,0,0);
}

div.itemFormHints{

}

.carousel-control.left, .carousel-control.right {
    background-image: none
}
.carousel-indicators {
  bottom:-25px;
}
.carousel-indicators li{
    background-color:gray;
    border:2px solid gray;
}
.carousel-inner {
   margin-bottom:25px;
}
.carousel-caption{
    /*bottom:-30px;*/
    position:relative;
    right:auto;
    left:auto;
    color:black;
    text-shadow:none;
    padding-bottom:0px;
    padding-top:30px;
}
div.giftWrapExampleDIV {
    margin: auto;
    position: relative;
    padding: 5px;
    display: none;
    border: thick solid gray;
    border-radius: .5em;
    background-color: white;
    text-align: center;
    float:left;
}

.cef-img-option-selected {
    border: 5px solid blue;
}

/* Login / authorize popups used from cart without legacy Site.css */
div.authorizeDIV {
  width: min(22rem, calc(100vw - 2rem));
  max-height: min(90vh, 40rem);
  padding: 1.25rem;
  border-radius: 1rem;
  z-index: 403;
  text-align: left;
  margin: auto;
  position: fixed;
  left: 50%;
  top: 5vh;
  transform: translateX(-50%);
  background: #faf9f6;
  border: 1px solid rgba(42, 53, 64, 0.12);
  box-shadow: 0 24px 64px rgba(42, 53, 64, 0.28);
  font-family: "Karla", "Helvetica Neue", sans-serif;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}
div.authorizeDIV .authorizeButtons {
  width: 100%;
  margin: 1rem 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  justify-content: center;
}
div.authorizeDIV button.cta_button,
div.authorizeDIV .btn.cta_button {
  background: #3d7a2f;
  border-color: #3d7a2f;
  color: #fff;
  font-weight: 700;
  padding: 0.65rem 1.25rem;
  border-radius: 999px;
}
div.authorizeDIV button.cta_button:hover,
div.authorizeDIV .btn.cta_button:hover {
  background: #2f5f24;
  border-color: #2f5f24;
  color: #fff;
}
.tanBackGround { background: #faf9f6 !important; }
.greenBorder { border: 1px solid rgba(61, 122, 47, 0.35) !important; }
.hide-not-important { display: none; }
.commentDIV { max-width: 28rem; }
