@font-face {
  font-family: Humanist;
  src: url("../fonts/Humanist-777-Light-BT_23321.ttf");
}
* {
  font-family: Humanist;
}

.form-group {
  margin-bottom: 1rem;
}
.form-group label {
  display: block;
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.form-group input {
  width: 100%;
  padding: 0.5rem;
  border: 1px solid #000000;
  border-radius: 4px;
  font-size: 1rem;
}
.form-group input:focus {
  border-color: #FFCF01;
}
.form-group .help-text {
  font-size: 0.875rem;
  color: #000000;
  margin-top: 0.25rem;
}

.city-select-group input {
  background-color: #ffffff;
}

.address-input-group input {
  background-color: #ffffff;
  border-color: #A9A8A8;
}

.email-input-group input {
  background-color: #ffffff;
  border-color: #A9A8A8;
}
.email-input-group input:focus {
  border-color: #CE0E2D;
}

.shopping-cart-content {
  display: grid;
  grid-template-columns: 70% 30%;
  grid-gap: 1rem;
  grid-template-rows: auto;
  background-color: white;
  margin-bottom: 2rem;
  margin-top: 2rem;
}

.stage1-full-container {
  grid-column-start: 1;
  grid-column-end: 1;
  grid-row-start: 1;
  grid-row-end: 1;
  padding: 0px 0px;
}
.stage1-full-container .go-back-btn-2 a {
  width: auto;
  padding: 1rem 2rem;
  display: inline-flex;
  border-radius: 0;
  justify-content: center;
  align-items: center;
}

.shopping-cart-resumee {
  grid-column-start: 2;
  grid-column-end: 2;
  grid-row-start: 1;
  grid-row-end: 1;
}

.shoping-cart-code {
  margin-bottom: 1rem;
}
.shoping-cart-code .shoping-cart-code-title {
  margin-top: 0.5rem;
}
.shoping-cart-code input {
  width: 100%;
  height: 2.5rem;
}

.loader-container {
  display: flex;
  text-align: center;
  justify-content: center;
}

.Modal {
  position: absolute;
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  transform: translate(-50%, -50%);
  background-color: white;
  width: 400px;
  height: auto;
  max-width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border-radius: 10px;
}
.Modal .cart-destiny-selector-control {
  width: 100%;
  padding: 20px;
}
.Modal .cart-destiny-selector-description {
  text-align: center;
  padding: 20px;
}
.Modal .cart-destiny-selector-post-message {
  background-color: #9FC63B;
  text-align: center;
  padding: 20px;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
.Modal .cart-destiny-selector-post-message .cart-destiny-selector-post-message-title {
  font-size: 2rem;
  font-weight: bold;
  color: white;
}
.Modal .cart-destiny-selector-post-message .cart-destiny-selector-post-message-content {
  color: white;
}

.Overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.4666666667);
  z-index: 1000;
}

.bad-form-element {
  border: 1px solid red;
  background-color: rgb(255, 179, 179);
}

.cart-review-destiny-container {
  padding: 0.5rem;
  margin-bottom: 1rem;
}
.cart-review-destiny-container label {
  font-size: 1.25rem;
  font-weight: bold;
  color: #9FC63B;
  margin-bottom: 0rem;
}

.send-modalities-container {
  display: flex;
  margin-bottom: 1rem;
}
.send-modalities-container .send-modality {
  width: 50%;
  text-align: center;
  background: white;
  color: #9FC63B;
  border: 1px solid #9FC63B;
  padding-top: 1rem;
  padding-bottom: 1rem;
  cursor: pointer;
}
.send-modalities-container .send-modality:hover {
  background: #9FC63B;
  color: white;
  border: 1px solid white;
}
.send-modalities-container .active {
  background: #9FC63B;
  color: white;
  border: 1px solid white;
}

.to-address-form-element {
  padding: 0.5rem;
}
.to-address-form-element label {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 0.7rem;
}

.main-email {
  margin-top: 1rem;
  padding: 0.5rem;
}
.main-email label {
  font-size: 1rem;
  font-weight: bold;
  color: #9FC63B;
  margin-bottom: 0rem;
}
.main-email input {
  width: 100%;
}

.to-address-form-input-container input {
  width: 100%;
  height: 2.5rem;
}

.to-address-form-input-container-group {
  display: flex;
}
.to-address-form-input-container-group input {
  width: 70%;
  height: 2.5rem;
}
.to-address-form-input-container-group .to-address-form-input-container-group-append {
  width: 30%;
}
.to-address-form-input-container-group .to-address-form-input-container-group-append button {
  width: 100%;
  height: 2.5rem;
  background: #9FC63B;
  color: white;
  border: 1px solid #9FC63B;
}

.point-of-sale-address {
  margin-bottom: 1rem;
}
.point-of-sale-address .point-of-sale-tile {
  background-color: #A9A8A8;
  border: 1px solid gray;
  display: flex;
  justify-content: space-between;
  padding: 1rem 1rem;
  margin: 2px;
}

.send-address-container {
  margin-bottom: 1rem;
}

.cart-products-container {
  margin-top: 1rem;
}

.cart-products-title {
  background-color: #FFCF01;
  font-size: 1rem;
  color: #000000;
  margin-bottom: 1rem;
}

.cart-product {
  border-bottom: 1px solid black;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}
.cart-product:nth-child(2n+1) {
  background-color: #f4f4f4;
}

.cart-product-options {
  text-align: right;
}
.cart-product-options button {
  background-color: transparent;
  border: none;
  font-weight: bold;
  color: #CE0E2D;
  font-size: 1.5rem;
}

.cart-product-title {
  padding-left: 1rem;
  padding-right: 1rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

.cart-product-detail {
  padding-left: 1rem;
  padding-right: 1rem;
  display: flex;
}

.cart-product-image {
  width: 25%;
  text-align: center;
}
.cart-product-image img {
  width: 100%;
}

.cart-product-controls {
  padding: 0rem 1rem;
  border: 1px solid #A9A8A8;
}
.cart-product-controls .cart-product-name {
  font-weight: bold;
  margin-bottom: 0.5rem;
  color: #000000;
  width: 100%;
}
.cart-product-controls input {
  width: 50px;
}
.cart-product-controls .cart-product-price-tag {
  font-size: 0.8rem;
  color: #000000;
}
.cart-product-controls .cart-product-price {
  font-size: 1.2rem;
  color: #000000;
  font-weight: bold;
}
.cart-product-controls .cart-product-units-tag {
  font-size: 0.8rem;
  color: #000000;
}

.cart-product-resumee {
  width: 50%;
  padding: 1rem;
  font-size: 0.8rem;
  color: #000000;
}

.order-resumee-header {
  font-size: 1.25rem;
  font-weight: bold;
  color: #9FC63B;
  margin-bottom: 1rem;
  border-bottom: 1px solid #9FC63B;
}

.order-resumee-keep-buying a {
  display: flex;
  text-align: center;
  margin-bottom: 1rem;
  border-radius: 0;
  text-decoration: none;
  justify-content: center;
  align-items: center;
}

.order-resumee-content-table {
  width: 100%;
  margin-bottom: 1rem;
}
.order-resumee-content-table th {
  font-weight: normal;
  font-weight: bold;
  color: #9FC63B;
  padding-left: 1rem;
  padding-right: 1rem;
}
.order-resumee-content-table th:last-child {
  text-align: right;
}
.order-resumee-content-table tr td {
  border: 1px solid #C8C7C7;
}
.order-resumee-content-table tr td:last-child {
  text-align: right;
}
.order-resumee-content-table tr:nth-child(2n+1) {
  background-color: rgb(255, 255, 255);
}
.order-resumee-content-table td {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.order-resumee-content-table .payment-details {
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
  background-color: #FFCF01;
}
.order-resumee-content-table + td {
  background-color: #FFCF01;
}
.order-resumee-content-table .price-tag {
  color: #000000;
}
.order-resumee-content-table .total-tag {
  color: black;
  font-weight: bold;
}
.order-resumee-content-table .concept-tag-total {
  background: #A9A8A8;
}

.shopping-cart-button {
  width: 100%;
  background: #CE0E2D;
  color: white;
  border: none;
  cursor: pointer;
  padding: 0.6rem 0.5rem;
  margin-bottom: 1.5rem;
  font-size: 0.9rem;
}

.shopping-cart-errors-container .error-container {
  margin-bottom: 0.5rem;
  border: 1px solid #CE0E2D;
  border-radius: 10px;
  padding: 1rem;
}

.payment-methods-container {
  padding: 1rem;
}

.payment-method-tile {
  border-bottom: 1px solid gray;
  padding: 1.5rem;
  display: flex;
  justify-content: space-between;
}
.payment-method-tile .payment-method-title {
  color: #9FC63B;
  font-weight: bold;
  margin-bottom: 1rem;
}
.payment-method-tile .payment-method-description {
  color: gray;
}
.payment-method-tile .payment-method-button {
  flex-shrink: 0;
}
.payment-method-tile .payment-method-button button {
  background: #9FC63B;
  color: white;
  border: 1px solid white;
}
.payment-method-tile .payment-method-button button:hover {
  background: white;
  color: #9FC63B;
  border: 1px solid #9FC63B;
}
.payment-method-tile .method-active button {
  background: white;
  color: #9FC63B;
  border: 1px solid #9FC63B;
}

.cart-buyer-data-container {
  padding: 1rem;
}

.cart-reception-data-container {
  padding: 1rem;
}

.cart-copy-data-container {
  padding: 1rem;
}

.cart-extra-data-container {
  padding: 1rem;
}

.cart-data-form-element {
  padding: 0.5rem;
  margin-bottom: 1rem;
}
.cart-data-form-element label {
  margin-bottom: 0rem;
  font-size: 1.2rem;
}

.cart-data-form-current-time {
  display: flex;
  flex-direction: column;
  margin-top: 1rem;
}
.cart-data-form-current-time .cart-data-form-current-time-title {
  font-size: 1.2rem;
  margin-bottom: 0.3rem;
}

.cart-data-form-current-time-input {
  width: 100%;
  height: 2rem;
  margin-bottom: 1rem;
  font-size: 1rem;
  background: #C8C7C7;
  border: 1px solid #A9A8A8;
  border-radius: none;
  padding: 0rem 1rem;
}
.cart-data-form-current-time-input:focus {
  border-color: none;
}

.cart-data-form-input-container {
  display: flex;
}
.cart-data-form-input-container input {
  width: 100%;
  height: 2rem;
}
.cart-data-form-input-container .cart-data-form-input-select {
  width: 20%;
  height: 2rem;
}
.cart-data-form-input-container .input {
  width: 20%;
}
.cart-data-form-input-container:first-child {
  width: 100%;
}

.cart-buyer-data-title {
  font-size: 1.7rem;
  margin-bottom: 1rem;
}

.cart-reception-data-title {
  font-size: 1.7rem;
  color: #9FC63B;
  border-bottom: 1px solid #9FC63B;
  margin-bottom: 1rem;
  display: flex;
  justify-content: space-between;
}
.cart-reception-data-title .cart-reception-title-controls {
  font-size: 0.8rem;
  color: #000000;
  display: flex;
  justify-content: center;
}

.cart-reception-title-controls .cart-reception-title-message {
  margin-right: 1rem;
}

.cart-data-form-tos-title p {
  color: #000000;
}

.cart-data-form-tos-acceptance {
  display: flex;
  margin-top: 1rem;
}

.cart-data-form-tos-text {
  margin-left: 1rem;
}

.shopping-cart-checkout {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #9FC63B;
}
.shopping-cart-checkout .shopping-cart-checkout-text-container {
  background-color: #FFCF01;
  padding: 1rem 8rem;
}
.shopping-cart-checkout .shopping-cart-checkout-data-item {
  max-width: 33.3%;
  width: 33.3%;
  text-align: left;
}
.shopping-cart-checkout .shopping-cart-checkout-data-item .checkout-item-title {
  font-weight: bold;
}
.shopping-cart-checkout .shopping-cart-checkout-data-item .checkout-item-value {
  color: #000000;
}
.shopping-cart-checkout .shopping-cart-checkout-data-container {
  display: flex;
  flex-wrap: wrap;
}

.shopping-cart-checkout-title {
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  margin-top: 2rem;
  margin-bottom: 2rem;
  color: #FFCF01;
  background-color: #000000;
}

.shopping-cart-checkout-subtitle {
  text-align: center;
  font-size: 1rem;
  font-weight: bold;
  margin-top: 1rem;
  margin-bottom: 1rem;
  color: #000000;
}

.shopping-cart-checkout-button {
  margin-top: 2rem;
}

.payment-method-button-container {
  text-align: center;
  display: flex;
  justify-content: center;
}

.method-alert {
  width: 33%;
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #CE0E2D;
  color: #9FC63B;
}

.go-to-payment-method {
  width: 100%;
  background: #CE0E2D;
  color: white;
  border: none;
  cursor: pointer;
  padding: 0.8rem 8rem;
  border-radius: 15px;
  margin-top: 3rem;
  font-size: 1.2rem;
  text-decoration: none;
  text-align: center;
  transition: background-color 0.3s, color 0.3s;
  font-weight: bold;
}

.go-to-payment-method:hover {
  background-color: #FFCF01;
  color: #000000;
  text-decoration: none;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .Modal {
    top: 1rem;
    transform: translate(-50%, 0%);
  }
  .shopping-cart-content {
    grid-template-columns: 100%;
    grid-template-rows: auto auto;
    background-color: white;
  }
  .shopping-cart-resumee {
    grid-column-start: 1;
    grid-column-end: 1;
    grid-row-start: 2;
    grid-row-end: 2;
  }
  .cart-product-detail {
    flex-wrap: wrap;
  }
  .cart-product-image {
    width: 50%;
  }
  .cart-product-controls {
    width: 50%;
  }
  .cart-product-resumee {
    width: 100%;
    border-top: 1px solid black;
    margin-top: 1rem;
  }
  .payment-method-tile {
    display: block;
  }
  .payment-method-button {
    text-align: right;
    margin-top: 1rem;
  }
}