/* Card Components */
.card-header {
  background-color: #f8f9fa;
  border-bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 13px 0px;
  margin: 15px 0px;
}
@media screen and (max-width: 767px) {
  .card-header {
    margin: 0px;
  }
}

.card {
  background-color: #f9f9f9;
  border: 0;
}

.card-body {
  padding: 0px;
}

.card-header-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
}

.card-header-custom {
  margin: 0 0 0 15px;
  font-size: 22px;
  font-weight: 400;
  color: #000;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-family: brandon-grotesque, arial !important;
}

/* Step Number */
.step-number {
  background-color: #792058;
  color: rgb(255, 255, 255);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 0.875rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-bottom: 12px;
  font-family: brandon-grotesque, arial !important;
  padding-top: 13px;
}

/* Edit Button */
.edit-button {
  background: transparent;
  border: 1px solid #792058;
  color: #792058;
  padding: 6px 12px;
  font-size: 0.875rem;
  border-radius: 4px;
  cursor: pointer;
  text-decoration: none;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.edit-button:hover {
  background-color: #792058;
  color: white;
  text-decoration: none;
}

.next-step-button button {
  font-family: "brandon-grotesque", arial !important;
}

/* Utility Classes */
.pull-left {
  float: left;
}

.pull-right {
  float: right;
}

.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

/* Button Container and Continue Button */
.submit-shipping {
  padding: 14px 10px;
  background-color: #792058 !important;
  border-radius: 0px;
  color: #fff;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 1.25px;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  letter-spacing: 0.5px;
  border-color: #611845 !important;
  border-radius: 3px;
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  -webkit-box-shadow: 0 0 1px transparent;
          box-shadow: 0 0 1px transparent;
  position: relative;
  overflow: hidden;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  width: 335px;
  float: right;
}
.submit-shipping:hover {
  color: #fff;
  background-color: #792058;
  border-color: #792058;
}
.submit-shipping:active {
  background-color: #792058 !important;
  border-color: #792058 !important;
}
@media screen and (max-width: 767px) {
  .submit-shipping {
    width: 100%;
    margin: 5px 0px;
  }
}

@media (max-width: 543.98px) {
  .next-step-button {
    position: static;
    background-color: transparent !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
  }
  .next-step-button div {
    padding: 0px 16px;
  }
}
/* Form Controls */
.form-group {
  margin-bottom: 0px;
}

.form-control {
  padding: 7px 12px;
  background-color: #fff;
  font-family: "brandon-grotesque", arial !important;
  border: 1px solid rgb(151, 151, 151);
  color: #333333;
}

.form-control:focus {
  color: #495057;
  background-color: #fff;
  border: 2px solid rgb(139, 173, 228) !important;
  -webkit-box-shadow: none;
  box-shadow: none;
}

/* Form Validation */
.invalid-feedback {
  display: block;
  font-size: 0.875rem;
  color: #782157;
  margin-bottom: 4px;
  min-height: 18px;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  font-family: "brandon-grotesque", arial !important;
}

.invalid-feedback:not(:empty) {
  opacity: 1;
}

.form-control.is-invalid {
  border-color: #782157;
  padding-right: 12px !important;
}

.was-validated .form-control:invalid:focus,
.form-control.is-invalid:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
}

/* Note Text */
.FMJ_note-color {
  color: #979797;
  font-family: "brandon-grotesque", arial !important;
  font-size: 14px;
}

.font-14 {
  font-size: 14px;
  font-family: "brandon-grotesque", arial !important;
}

.PackageDeliveryText {
  color: #000;
}

.mt-10 {
  margin-top: 10px;
  margin-bottom: 0;
}

/* Phone Input */
.FMJ_Us-phone {
  position: relative;
}

.shipping-form-input-width {
  width: 70px;
  text-align: center;
}

.FMJ_Us-phone .form-group {
  position: relative;
}

.FMJ_Us-phone .fa-phone {
  font-size: 22px;
  color: #792058;
  margin-right: 8px;
}

.hidden-xs {
  margin: 4px;
  font-size: 0.875rem;
  color: #000;
  font-family: "brandon-grotesque", arial !important;
}

.phone-area-code {
  width: 65px !important;
  text-align: center;
}

.phone-exchange {
  width: 65px !important;
  text-align: center;
}

.phone-number {
  width: 88px !important;
  text-align: center;
}

.phone-extension {
  width: 88px !important;
  text-align: center;
}

@media screen and (max-width: 300px) {
  .shipping-options {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .shipping-option label {
    min-width: -webkit-max-content !important;
    min-width: -moz-max-content !important;
    min-width: max-content !important;
    font-size: 12px !important;
  }
}
@media screen and (max-width: 351px) {
  .shipping-options {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .shipping-option label {
    min-width: -webkit-max-content !important;
    min-width: -moz-max-content !important;
    min-width: max-content !important;
    font-size: 0.875rem !important;
  }
}
@media screen and (max-width: 400px) {
  .phone-input-group {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .phone-input-group .form-control {
    width: 25% !important;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .FMJ_Us-phone .fa-phone {
    font-size: 18px;
    position: absolute;
    bottom: 7px;
    left: 7px;
  }
  .FMJ_Us-phone .invalid-feedback {
    margin-left: 0 !important;
  }
  .hidden-xs {
    display: none;
  }
  .phone-area-code {
    margin-right: 4px;
  }
  .phone-exchange {
    margin-right: 4px;
  }
  .phone-number {
    margin-right: 4px;
  }
}
/* Shipping Options */
.shipping-options {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .shipping-options {
    gap: 6px;
  }
}

.shipping-option {
  position: relative;
  display: inline-block;
}

.shipping-option input[type=radio] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.shipping-option label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 15px 10px;
  border: 2px solid #000;
  background-color: #fff;
  cursor: pointer;
  color: #000;
  margin: 0;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  border-radius: 3px;
  min-width: 200px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 400;
  font-size: 16px;
  font-family: "brandon-grotesque", arial !important;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .shipping-option label {
    padding: 15px 6px;
    min-width: 140px;
    font-size: 0.875rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.shipping-option label[for=pickup] {
  margin: 0px 25px 0px 0px;
}

.shipping-option input[type=radio]:checked + label {
  background-color: #fff;
  border-color: #792058;
}

.shipping-option label::before {
  content: "";
  width: 16.8px;
  height: 16.8px;
  border: 2px solid #000;
  border-radius: 50%;
  display: inline-block;
  margin-right: 8px;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.shipping-option input[type=radio]:checked + label::before {
  border-color: #792058;
  background-color: #792058;
  -webkit-box-shadow: rgb(255, 255, 255) 0px 0px 0px 2px inset;
          box-shadow: rgb(255, 255, 255) 0px 0px 0px 2px inset;
}

/* Custom Select Dropdown */
.custom-select-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
}

.custom-select-wrapper select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  padding-right: 30px;
  width: 100%;
}

.custom-select-wrapper::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border-right: 2px solid #666;
  border-bottom: 2px solid #666;
  pointer-events: none;
  z-index: 1;
}

/* Shipping Method Help Button */
.FMJ_shipping-help-btn .fa {
  font-size: 18px;
  color: #792058 !important;
  text-decoration: none;
  font-weight: 600;
  margin-top: 6px;
}

.fa-circle-question:before,
.fa-question-circle:before {
  content: "\f059";
}

.welcome-message {
  font-size: 18px;
  font-family: "brandon-grotesque", arial !important;
  font-weight: bold;
  color: #792058 !important;
  padding: 0 0 8px;
}

.customer-welcome-section {
  margin: 0 !important;
  font-size: 18px;
}

.FMJ_checkout-signin {
  margin: 10px 0px;
}

.FMJ_checkout-signin-text {
  font-size: 0.875rem;
  font-family: "brandon-grotesque", arial !important;
  padding: 0px 0px 8px 0px;
  color: #000;
}

.FMJ_checkout-signin-text a {
  color: #993366 !important;
  text-decoration: underline;
}
.FMJ_checkout-signin-text a:hover {
  text-decoration: none;
  cursor: pointer;
}

/* Edit button styles */
.edit-word {
  display: inline-block;
}

.edit-pensil {
  display: none;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

.edit-pensil.fa-pencil::before {
  content: "\f040";
  font-weight: 900;
}

@media (max-width: 767px) {
  div#defaultAddressLine2 {
    margin: 0;
  }
  .edit-word {
    display: none;
  }
  .edit-pensil {
    display: inline-block;
  }
  .customer-welcome-section.mb-3 {
    margin-bottom: 0 !important;
    padding: 10px 0px 10px 0px;
    font-family: "brandon-grotesque", arial !important;
  }
  .card-header-custom {
    margin: 0 0 0 5px !important;
  }
  .shipping-option label[for=pickup],
  .shipping-option .storepickup-not-present-main {
    margin: 0 !important;
  }
  .step-number {
    width: 30px;
    height: 30px;
    padding: 4px 0;
  }
  .shipping-option label::before {
    content: "";
    background: #fff;
    border-radius: 100%;
    border: 2px solid #000;
    display: inline-block;
    width: 1.05em;
    height: 1.05em;
    position: relative;
    top: 2px;
    margin-right: 0.8em;
    vertical-align: top;
    cursor: pointer;
    text-align: center;
    -webkit-transition: all 250ms ease;
    transition: all 250ms ease;
  }
}
@media (max-width: 575px) {
  .edit-word {
    display: none;
  }
  .edit-pensil {
    display: inline-block;
  }
}
.data-checkout-stage[data-checkout-stage] .card.payment-summary,
.card.ghost {
  border-bottom: 0px !important;
}

.card {
  margin-bottom: 0px !important;
}

[data-checkout-stage=shipping] .card.customer-section {
  display: none;
}
[data-checkout-stage=shipping] button.submit-customer {
  display: none;
}
[data-checkout-stage=shipping] .card.ghost.customer {
  display: none;
}
[data-checkout-stage=shipping] .card.ghost {
  display: none;
}
[data-checkout-stage=shipping].multi-ship .order-product-summary {
  display: none;
}
[data-checkout-stage=shipping] .card.payment-form {
  display: none;
}
[data-checkout-stage=shipping] button.submit-shipping {
  display: block;
}
[data-checkout-stage=shipping] .shipment-selector-block .btn-show-details,
[data-checkout-stage=shipping] .shipment-selector-block .btn-add-new {
  border: none;
}
[data-checkout-stage=shipping] [data-address-mode=customer] .shipping-address-block {
  display: none;
}
[data-checkout-stage=shipping] [data-address-mode=shipment] .shipping-address-form {
  display: none;
}
[data-checkout-stage=shipping] [data-address-mode=edit] .shipping-address-block {
  display: none;
}
[data-checkout-stage=shipping] [data-address-mode=new] .btn-show-details,
[data-checkout-stage=shipping] [data-address-mode=new] .btn-add-new {
  display: none;
}

.FMJ-checkout-update-address .FMJ-btn-secondary-continue {
  padding: 14px 18px;
  font-family: "brandon-grotesque", arial !important;
  font-size: 0.875rem;
}

.FMJ-btn-secondary {
  padding: 14px 20px;
  background-color: #fff;
  border-radius: 0px;
  color: #792058;
  font-size: 0.875rem;
  letter-spacing: 1.25px;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  border-radius: 3px;
  letter-spacing: 0.45px;
  border: 1px solid #792058;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.FMJ-btn-secondary:hover,
.FMJ-btn-secondary:active,
.FMJ-btn-secondary:focus {
  color: #fff;
  border: 1px solid #792058;
  background: #792058;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.btn-primary.disabled, .btn-primary:disabled {
  border: 2px solid #000 !important;
  background-color: #782157 !important;
  -webkit-box-shadow: 0 0 0 1px white, 0 0 0 1.8px #782157 !important;
          box-shadow: 0 0 0 1px white, 0 0 0 1.8px #782157 !important;
}

@media screen and (max-width: 767px) {
  .FMJ-btn-primary,
  .FMJ-btn-secondary {
    width: 100%;
    margin: 5px 0px;
  }
}
.shipping-option .storepickup-not-present-main {
  padding: 7px 10px;
  border: 2px solid #000;
  text-align: center;
  border-radius: 3px;
  min-width: 200px;
  margin: 0px 25px 0px 0px;
  vertical-align: middle;
  display: inline-block;
  line-height: normal;
}
@media screen and (max-width: 767px) {
  .shipping-option .storepickup-not-present-main {
    padding: 6px 10px;
    min-width: 140px;
    font-size: 0.875rem;
  }
}

.storepickup-not-present-content label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  color: #000;
  margin: 0;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 400;
  font-size: 16px;
  font-family: "brandon-grotesque", arial !important;
  padding: 0;
  border: none;
  background: #eeeeee;
}

.shipping-option input[type=radio]:checked + .storepickup-not-present-main {
  background-color: #fff;
  border-color: #792058;
}

.shipping-option input[type=radio]:checked + .storepickup-not-present-main .storepickup-not-present-content label::before {
  border-color: #792058;
  background-color: #792058;
  -webkit-box-shadow: rgb(255, 255, 255) 0px 0px 0px 2px inset;
  box-shadow: rgb(255, 255, 255) 0px 0px 0px 2px inset;
}
