/*
-----------------------------------------
Template: Checkout Form Elements
Theme URI: http://bootic.net
Version: 0.1
Author: Tomas Pollak + Ismael Celis - Bootic
-----------------------------------------

/* forms
--------------------------------------------------------------*/


.bootic_form {
  margin-top: 30px;
}

.bootic_form p, .bootic_form fieldset li {
  margin-bottom: 10px;
}

.bootic_form fieldset {
  margin-bottom: 10px;
  border: 0;
}

.bootic_form legend {
  margin-bottom: 10px;
/*  padding: 5px;*/
  font-size: 1.3em;
  color: #999;
}

.bootic_form .row {
  margin-bottom: 1em;
  display: block;
}

.bootic_form label{
  padding-top: 5px;
  display: block;
  width: auto;
  text-align: left;
  clear: left;
  font-size: 13px;
  margin-bottom: 3px;
  color: #999;
}

.credit-card label {
  color: #666;
}

.required-field label:after {
  content: '*';
  margin: 0 0 0 2px;
}

.form_input,
.bootic_form input[type=text],
.bootic_form input[type=date],
.bootic_form input[type=email],
.bootic_form input[type=number],
.bootic_form input[type=password],
.bootic_form select,
.bootic_form textarea{
  color: #666;
  font-size: 13px;
  height: 40px;
  line-height: 40px;
  padding: 0 12px;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 0;
  border: 1px solid #d2d6db;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
}

.iti input[type=text] {
  padding-left: 90px !important;
}

.bootic_form select {
  background: #fff;
  padding: 0 8px;
  padding-right: 36px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='36' height='12'><path d='M14,4 L18,8 L22,4' stroke='%23aaaaaa' stroke-width='2' fill='none' /></svg>");
  background-repeat: no-repeat;
  background-position: right center;
}

.bootic_form select:focus {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='36' height='12'><path d='M14,4 L18,8 L22,4' stroke='%2333C3F0' stroke-width='2' fill='none' /></svg>");
}

.bootic_form select.loading {
  /* background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'><path d='M18,8 a1,1 0 0,10 20,0' fill='none' stroke='%23444444' stroke-width='2'><animateTransform attributeName='transform' type='rotate' from='0 18 18' to='360 18 18' dur='0.6s' repeatCount='indefinite'/></path></svg>"); */
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'><path d='M14,8 a1,1 0 0,10 20,0' fill='none' stroke='%23444444' stroke-width='2'><animateTransform attributeName='transform' type='rotate' from='0 14 18' to='360 14 18' dur='0.6s' repeatCount='indefinite'/></path></svg>");
  padding-right: 44px;
}


.bootic_form textarea{
  height: 93px;
  padding: 4px;
}

.bootic_form input[type=checkbox] {
  margin-top: 7px;
}

.form_input:focus,
.bootic_form input[type=text]:focus,
.bootic_form input[type=date]:focus,
.bootic_form input[type=email]:focus,
.bootic_form input[type=number]:focus,
.bootic_form input[type=password]:focus,
.bootic_form select:focus,
.bootic_form textarea:focus {
  color: #333;
  border-color: #33C3F0;
  outline: 0;
}

.form_input:disabled,
.bootic_form input[type=text]:disabled,
.bootic_form input[type=date]:disabled,
.bootic_form input[type=email]:disabled,
.bootic_form input[type=number]:disabled,
.bootic_form input[type=password]:disabled,
.bootic_form select:disabled,
.bootic_form textarea:disabled {
  background: #f6f6f6;
}

.inline.bootic_input_field {
  margin-top: 12px;
  background: #FAFBFC;
  border: 1px solid #D2D6DB;
  padding: 5px 14px 5px 7px;
  display: inline-block;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}

.inline.bootic_input_field input {
  margin: 0 5px;
  position: relative;
  top: 1px;
}

.inline.bootic_input_field label {
  display: inline !important;
  font-size: 1em !important;
}

.iti {
  width: 100%;
 }

/*
.fieldWithErrors input{
  margin-bottom: 10px;
}

.fieldWithErrors label {
  color: #ff3232;
}
*/

.inline.bootic_input_field label:hover {
  color: #333;
  cursor: pointer;
}

.radio-select {
  margin: 10px 0 5px;
}

.radio-select label {
  display: inline-block;
  margin-right: 10px;
}

.radio-select label:hover {
  color: #333;
  cursor: pointer;
}

.radio-select input {
  position: relative;
  top: 2px;
}

.company-address-fields {
  background: whitesmoke;
  padding: 5px 10px 1px;
  margin-bottom: 20px;
  border: 1px solid #ddd;
}

/* apartment / postal code
-------------------------------------*/

.optional-fields {
  width: 100%;
}

.per-cent {
  float: left;
}

.sixty.per-cent {
  width: 60%;
}

.seventy.per-cent {
  width: 70%;
}

.forty.per-cent {
  width: 35%;
  margin-left: 5%;
}

.thirty.per-cent {
  width: 25%;
  margin-left: 5%;
}

/*
#content .per-cent input {
  width: 86%;
}
*/

#content .expiration-month,
#content .expiration-year,
#content #cardExpirationMonth,
#content #cardExpirationYear {
  width: 42%;
  display: inline-block;
}

#content .month-year-separator {
  font-size: 15px;
  padding: 0 3px;
  color: #999;
}


/* error message
-------------------------------------*/

.bootic_form .errorExplanation {
  background: #fff;
  padding: 8px;
  margin-bottom: 25px;
  border-radius: 3px;
  background: #FFF4F4;
  border: 1px solid #ff3232;
  padding: 15px 20px;
  margin-bottom: 30px;
}

.bootic_form .error_note {
  display: none;
}


.bootic_form #errorExplanation h2 {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  margin: 0;
  color: #ff3232;
}

.bootic_form .errorExplanation p {
  color: #333;
  display: none;
  margin-bottom: 0;
  padding: 5px;
}

.bootic_form .errorExplanation ul{
  display: none;
}

.bootic_form .errorExplanation li{
  display: none;
}

.bootic_form input.with-errors,
.bootic_form select.with-errors,
.bootic_form .fieldWithErrors select,
.bootic_form .fieldWithErrors input,
.bootic_form .fieldWithErrors textarea {
  border: 1px solid #ff3232;
  -webkit-box-shadow: 0 0px 2px rgba(255,0,0,0.75);
     -moz-box-shadow: 0 0px 2px rgba(255,0,0,0.75);
          box-shadow: 0 0px 2px rgba(255,0,0,0.75);
}

.bootic_form .with-warning input,
.bootic_form input.with-warning,
.bootic_form select.with-warning {
  border: 1px solid #e1795d;
/*  -webkit-box-shadow: 0 0px 2px #ff6600;
     -moz-box-shadow: 0 0px 2px #ff6600;
          box-shadow: 0 0px 2px #ff6600;*/
}

/* checkboxes in custom fields
-------------------------------------*/

.switch .cb-enable,
.switch .cb-disable,
.switch .cb-enable span,
.switch .cb-disable span {
  background: url(/stylesheets/checkout/img/switch.gif) repeat-x;
  display: block;
  float: left !important;
}

.switch .cb-enable span, .switch .cb-disable span { line-height: 30px; display: block; background-repeat: no-repeat; font-weight: bold; }
.switch .cb-enable span { background-position: left -90px; padding: 0 10px; }
.switch .cb-disable span { background-position: right -180px; padding: 0 10px; }
.switch .cb-disable.selected { background-position: 0 -30px; }
.switch .cb-disable.selected span { background-position: right -210px; color: #fff; }
.switch .cb-enable.selected { background-position: 0 -60px; }
.switch .cb-enable.selected span { background-position: left -150px; color: #fff; }
.switch label { cursor: pointer; padding: 0; color: #383838; }
.switch .checkbox, .switch input[type=checkbox] {display:none;}

#content .switch label{
  clear: none;
  width: auto;
  margin: 0;
  padding: 0;
}

#order-documents-list {
  background: #FCFCFC;
  border: 1px solid #d2D6DB;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  padding: 11px 15px;
  margin-bottom: 30px;
  position: relative;
}

p.estimated-delivery-dates {
  margin: 0;
  font-size: 12px;
  margin-top: 2px;
}
.cart_table {
  width: 100%;
  border-spacing: 0;
  font-size: 1em; /* reset bootic.css */
  background-color: #fffcf8;
  border: 1px solid #ffdf62;
  border-radius: 3px;
  padding: 5px 18px 2px;
  color: #6F6A50;
  margin: 0 0 20px;
  clear: both;
}

.cart_table td {
  padding: 10px 15px 10px 0;
  border-bottom: none;
  border-top: 1px solid #f3ecd6;
}

.cart_table td.last  {
  padding-right: 0
}

.cart_table tr.row-0 td {
  border-top: none;
}

.cart_table th {
  font-size: 12px;
  padding: 9px 3px 6px;
  font-weight: normal;
  border: none;
  color: #e5c44b;
  /*border-bottom: 1px solid #f1dfac;*/
}

.cart_table th.last,
.cart_table td.last {
  text-align: right;
}

.cart_table thead {
  text-align: left;
}

.cart_item_name {
  width: 53%;
}

.with-item-discounts .cart_item_name {
/*  width: 270px;*/
}

.cart_item_qty {
  display: none;
}

.small-quantity {
  display: inline-block;
}

.cart_item_name a {
  text-decoration: none;
  font-weight: 600;
  line-height: 1em;
}

.cart_item_name a:link,
.cart_item_name a:visited {
  color: #565344;
}

.cart_item_name a:hover {
  text-decoration: underline;
}

.cart_item_qty {
  text-align: center;
}

.cart_table .cart_item_qty {
  padding-left: 3px;
}

.cart_table.with-item-discounts .cart_item_total {
  width: 250px;
}

.cart_item_total {
  font-weight: 600;
}

.cart_table tfoot {
  /*font-size: 1.3em;*/
}

.cart_table tfoot .active-discounts, .active-discounts {
  color: #98884b;
  font-size: 12px;
  line-height: 200%;
}

.cart_table tfoot .active-discounts svg, .active-discounts svg {
  width: 15px;
  position: relative;
  top: 3px;
  padding-right: 2px;
}

.active-discounts {
  margin: 0 0 0.5rem 0;
}

.active-discounts svg path {
  fill: #b9a34e;
}

.active-discounts:hover svg path {
  fill: #75641f;
}

.cart_table tbody .discount-total {
  border-radius: 3px;
  padding: 0 4px 0 0;
  white-space: nowrap;

  /* yellow */
  background-color: #ffe57e;
  color: #89762b;

  display: inline-block;
  margin: 0 3px;
}

.cart_table .discount-total i {
  width: 13px;
  text-align: center;
  display: inline-block;
  position: relative;
  top: 2px;
  left: 2px;
}

.cart_table .discount-total svg {
  fill: #89762b;
}

.cart_table .active-discounts .discount-desc {
  /* green */
  background-color: #c7de9a;
  color: #3f842e;
  padding: 0px 6px;
  margin-right: 4px;
/*  margin-bottom: 4px;*/
  border-radius: 3px;
  display: inline-block;
  position: relative;
}

.cart_table .active-discounts .discount-desc.removable {
  padding-right: 22px; 
}

.delete-discount-form {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 0 4px;
}

.cart_table .discount-delete, .discount-delete {
  background-color: transparent;
  border: none;
  color: rgba(0,0,0,0.6);
  font-size: 16px;
}

.cart_table .discount-delete:hover, .discount-delete:hover {
  color: red;
  cursor: pointer;
}

.cart_table .auto .discount-delete, .auto .discount-delete {
  display: none; /* it shouldn't be shown, but just to make sure */
}

.cart_table tfoot .discount-desc.type-item {
  background-color: #ffe57e;
  color: #89762b;
}

.cart_table tfoot .discount-desc.type-free-shipping {
  /* orange
  background-color: #ffbe7e;
  color: #86633c; */

  /* purple */
  background-color: #ead4f9;
  color: #8356c5;
}

.cart_table tfoot .subtotal {
  text-align: right;
  padding-right: 0;
  font-weight: 600;
  color: #222;
  vertical-align: baseline;
}

.cart_item_total .original-price,
.cart_table tfoot .subtotal strike {
  color: #c9bb85;
  margin-right: 4px;
}

.cart_table tfoot .subtotal span {
  padding-right: 5px;
}

.cart_item_total.has-discount,
.cart_table tfoot .subtotal .with-discount {
  /*color: #008033;*/
  color: #588124;
}

.cart_table tfoot .subtotal .discount-total {
  background-color: #c7de9a;
  color: #3f842e;
  padding: 2px 4px 2px 4px;
  border-radius: 3px;
  margin-right: 0;
}

.cart_table tfoot .discount-total.with-discount {
  margin-right: 7px;
}

.cart_item_price {
  white-space: nowrap;
}

.item-charge {
  font-size: 12px;
}

@media (max-width: 600px) {

  .cart_item_name,
  .with-item-discounts .cart_item_name  {
    width: 50%;
  }

  .with-item-discounts .variant-name {
    display: block;
  }

  .with-item-discounts .variant-name .sep {
    display: none;
  }

  .cart_table.with-item-discounts .cart_item_total {
    width: 80px;
  }

  .cart_item_total .original-price,
  .cart_item_total .discounted-price,
  .cart_table .subtotal .original-price,
  .cart_table .subtotal strong.with-discount {
    display: block;
    margin-right: 0px;
  }

  .cart_table .subtotal .label {
    display: block;
    padding-right: 0;
  }

  tbody .cart_item_total .discount-total,
   .cart_table tfoot .subtotal .discount-total {
    margin-right: 0;
  }

  .cart_table tfoot .subtotal .discount-total {
    padding: 2px 4px;
  }

}

/* buttons
--------------------------------------------------------------*/


a.next.button,
a.warning.button,
.grey.button,
.cart_action_buttons .back,
.cart_action_buttons input[type=submit],
.add_to_cart input[type=submit],
.bootic_form input[type=reset],
.bootic_form input[type=submit],
input.bootic_button {
  display: inline-flex;  /* so align-items: center works */
  justify-content: center;
  align-items: center;
  text-align: center;
  vertical-align: middle;
  box-sizing: border-box;
  padding: 0 20px;
  height: 40px;
/*  line-height: 42px;*/
  margin-left: 8px;
  color: #555;
  background: #eee;
  /*text-shadow: rgba(255, 255, 255, 0.7) 0px 1px 0;*/
  border: 1px solid #abb0b6;
  font-size: 13px;
  letter-spacing: -0.01em;
  border-radius: 3px;
  font-weight: 500;
  line-height: 110%;
}

.cart_action_buttons .hidden {
  visibility: hidden;
}

.bootic_form input[type=submit]:disabled {
  opacity: 0.5;
}

a.next.button,
.grey.button,
.cart_action_buttons .back{
  text-decoration: none;
}

.cart_action_buttons .back,
.cart_action_buttons .left {
  float: left;
  margin-left: 0;
}

.cart_action_buttons .back:visited{
  color: #b1633e;
}

a.next.button,
.cart_action_buttons input.next,
.add_to_cart input[type=submit],
.bootic_form input.next,
.bootic_form input.green,
input.bootic_button {
  border-color: #7da462;
  background: #f4ffec;
  color: #5d983d;
/*  text-shadow: #DCECCB 0px 1px 0px;*/
}

a.warning.button {
  border-color: #dc3545;
  background: none;
  color: #dc3545;
  text-decoration: none;
}

a.warning.button:hover {
  background-color: #dc3545;
  color: white;
}

.grey.button:hover,
.cart_action_buttons input[type=submit]:hover,
.bootic_form input[type=reset]:hover,
input.bootic_button:hover {
  cursor: pointer;
  color: #222;
  border-color: #555;
}

a.next.button:hover,
.cart_action_buttons input.next:hover,
.add_to_cart input[type=submit]:hover,
.bootic_form input[type=submit]:hover{
  color: #183d03;
  border-color: #2f5a18;
  cursor: pointer;
}

.cart_action_buttons .back:hover{
  color: #662a18;
  border-color: #885343;
  cursor: pointer;
}

.cart_action_buttons .back,
.cart_action_buttons input.red {
  background-position: center -138px;
  background-color: #fff5f1;
  border-color: #b59889;
  color: #b1633e;
}

.redirect-form a.next,
.redirect-form input[type=submit] {
  visibility: hidden;
  position: absolute;
  bottom: 27px;
  right: 30px;
}

#current_payment_method .redirect-form input {
  visibility: visible;
}

@media screen and (max-width: 600px) {

  .cart_action_buttons .back,
  a.next.button,
  .cart_action_buttons a,
  .redirect-form input[type=submit],
  .cart_action_buttons input[type=submit] {
    margin-left: 0;
    float: none;
/*    display: block;*/
    width: 100%;
    margin-bottom: 20px;
    text-align: center;
  }

  .redirect-form a.next,
  .redirect-form input[type=submit] {
    bottom: 87px;
  }

  #current_payment_method .redirect-form input[type=submit] {
    width: calc(100% - 60px);
    left: 30px
  }
  
  .cart_action_buttons {
    min-height: 115px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  
  .cart_action_buttons::after {
    display: none;
  }
}


body.noscroll {
  overflow: hidden;
}

body.noscroll .over {
  overflow-y: auto;
}

.over {
  position: fixed;
  top: 0; left: 0; bottom: 0; right: 0;
  margin: 0;
  padding: 0;

  background-color: rgba(0,0,0,0.8);

  -webkit-transition: opacity 0.4s ease-in-out 0s;
  transition: opacity 0.4s ease-in-out 0s;

  z-index: 1100;
  opacity: 0;
  visibility: hidden;
}

.over > div {
  position: absolute;
  top: 50%;
  left: 50%;

  width: 400px;
  padding: 20px;

  margin-left: -220px;
  margin-top: -200px;

  /* box-shadow: 0 3px 20px rgba(0,0,0,0.7); */
  background-color: #fff;

  -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  -webkit-transform: scale(0.2);
  transform: scale(0.2);

  z-index: 1200;
  opacity: 0;
  visibility: hidden;
}

.wide.over > div{
  width: 800px;
  margin-left: -420px;
}

.fluid.over > div {
  width: 90%;
  padding: 0;
  left: 5% !important;
  margin-left: 0 !important;
}

.over.active {
  opacity: 1;
  visibility: visible;
}

.over.active > div {
  opacity: 1;
  visibility: visible;
  -webkit-transform: scale(1);
  transform: scale(1);
}

.over .close-button {
  position: absolute;
  right: 12px;
  top: 10px;
  color: transparent;
  line-height: 1;
  z-index: 100;
  cursor: pointer;
  font-size: 14px;
  text-shadow: none;
  width: auto;
}

.over .close-button:after {
  content: '\00d7';
  display: inline-block;
  font-size: 30px;
  opacity: 0.7;
  color: #666;
  text-align: center;
  width: 24px;
  height: 24px;
  font-weight: bolder;
}

.over .close-button:hover:after {
  opacity: 1;
}

@media (max-width: 840px) {

  .wide.over > div {
    width: 400px;
    margin-left: -220px;
  }

}

@media (max-width: 480px) {

  .over > div {
    width: auto !important;
    margin-left: 0 !important;
    left: 0 !important;
    right: 0;
  }

  .fluid.over > div {
    left: 0 !important;
  }

}
.nice-select {
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  background-color: #fff;
  border-radius: 5px;
  border: solid 1px #e8e8e8;
  box-sizing: border-box;
  clear: both;
  cursor: pointer;
  display: block;
  float: left;
  font-family: inherit;
  font-size: 14px;
  font-weight: normal;
  height: 38px;
  line-height: 36px;
  outline: none;
  padding-left: 18px;
  padding-right: 30px;
  position: relative;
  text-align: left !important;
  transition: all .2s ease-in-out;
  user-select: none;
  white-space: nowrap;
  width: auto
}

.nice-select:hover {
  border-color: #dbdbdb
}

.nice-select:active,.nice-select.open,.nice-select:focus {
  border-color: #999
}

.nice-select:after {
  border-bottom: 2px solid #999;
  border-right: 2px solid #999;
  content: "";
  display: block;
  height: 5px;
  margin-top: -4px;
  pointer-events: none;
  position: absolute;
  right: 12px;
  top: 50%;
  transform-origin: 66% 66%;
  transform: rotate(45deg);
  transition: all .15s ease-in-out;
  width: 5px
}

.nice-select.open:after {
  transform: rotate(-135deg)
}

.nice-select.open .nice-select-dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1) translateY(0)
}

.nice-select.disabled {
  border-color: #ededed;
  color: #999;
  pointer-events: none
}

.nice-select.disabled:after {
  border-color: #ccc
}

.nice-select.wide {
  width: 100%
}

.nice-select.wide .nice-select-dropdown {
  left: 0 !important;
  right: 0 !important
}

.nice-select.right {
  float: right
}

.nice-select.right .nice-select-dropdown {
  left: auto;
  right: 0
}

.nice-select.small {
  font-size: 12px;
  height: 36px;
  line-height: 34px
}

.nice-select.small:after {
  height: 4px;
  width: 4px
}

.nice-select.small .option {
  line-height: 34px;
  min-height: 34px
}

.nice-select .nice-select-dropdown {
  margin-top: 4px;
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0 0 0 1px rgba(68,68,68,.11);
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 0;
  transform-origin: 50% 0;
  transform: scale(0.75) translateY(19px);
  transition: all .2s cubic-bezier(0.5, 0, 0, 1.25),opacity .15s ease-out;
  z-index: 9;
  opacity: 0
}

.nice-select .list {
  border-radius: 5px;
  box-sizing: border-box;
  overflow: hidden;
  padding: 0;
  max-height: 210px;
  overflow-y: auto
}

.nice-select .list:hover .option:not(:hover) {
  background-color: rgba(0,0,0,0) !important
}

.nice-select .option {
  cursor: pointer;
  font-weight: 400;
  line-height: 40px;
  list-style: none;
  outline: none;
  padding-left: 18px;
  padding-right: 29px;
  text-align: left;
  transition: all .2s
}

.nice-select .option:hover,.nice-select .option.focus,.nice-select .option.selected.focus {
  background-color: #f6f6f6
}

.nice-select .option.selected {
  font-weight: bold
}

.nice-select .option.disabled {
  background-color: rgba(0,0,0,0);
  color: #999;
  cursor: default
}

.nice-select .optgroup {
  font-weight: bold
}

.no-csspointerevents .nice-select .nice-select-dropdown {
  display: none
}

.no-csspointerevents .nice-select.open .nice-select-dropdown {
  display: block
}

.nice-select .list::-webkit-scrollbar {
  width: 0
}

.nice-select .has-multiple {
  white-space: inherit;
  height: auto;
  padding: 7px 12px;
  min-height: 36px;
  line-height: 22px
}

.nice-select .has-multiple span.current {
  border: 1px solid #ccc;
  background: #eee;
  padding: 0 10px;
  border-radius: 3px;
  display: inline-block;
  line-height: 24px;
  font-size: 14px;
  margin-bottom: 3px;
  margin-right: 3px
}

.nice-select .has-multiple .multiple-options {
  display: block;
  line-height: 24px;
  padding: 0
}

.nice-select .nice-select-search-box {
  box-sizing: border-box;
  width: 100%;
  padding: 5px;
  pointer-events: none;
  border-radius: 5px 5px 0 0
}

.nice-select .nice-select-search {
  box-sizing: border-box;
  background-color: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 3px;
  color: #444;
  display: inline-block;
  vertical-align: middle;
  padding: 7px 12px;
  margin: 0 10px 0 0;
  width: 100%;
  min-height: 36px;
  line-height: 22px;
  height: auto;
  outline: 0 !important;
  font-size: 14px
}


/* customize nice-select CSS a bit
--------------------------------------------------------------*/

.bootic_form .nice-select {
  float: none;
  border: 1px solid #999;
  border-radius: 2px;
  margin-bottom: 10px;
  padding-left: 8px;
  height: 40px;
  line-height: 38px;
}

.bootic-modal .nice-select .nice-select-dropdown {
  left: -1px;
  right: -1px;
  margin-top: 7px;
  /*box-shadow: 0px 1px 0px 2px rgba(68, 68, 68, .22);*/
  box-shadow: 0 0 0 1px rgba(68, 68, 68, .22);
}

.bootic_form .nice-select .nice-select-search {
  margin-bottom: 0;
}

/*

.bootic-modal .nice-select .list {
  max-width: 275px;
  max-height: 150px;
  border-radius: 0;
}

.bootic_form .nice-select .option {
  line-height: 36px;
}

.bootic_form .nice-select .option:hover {
  background-color: #dffaff;
}

.add_to_cart .nice-select {
  border-radius: 3px;
  height: 42px;
  line-height: 40px;
  padding-left: 15px;
  width: 100%;
  margin-bottom: 15px;
}

.add_to_cart .nice-select li {
  padding-top: 0;
  padding-bottom: 0;
}

*/
[data-tooltip] {
  position:relative
}

[data-tooltip]:not(a):not(button):not(input) {
  cursor:help
}

[data-tooltip]::after,
[data-tooltip]::before {
  display:block;
  z-index: 99;
  position: absolute;
  /*bottom: 130%;*/
  /*left: 50%;*/
  bottom: 45px;
  left: 90%;
  padding: 7px 8px;
  overflow:hidden;
  transform: translate(-73%,-.25rem);
  border-radius: .25rem;
  background-color: rgba(0,0,0,.8);
  content: attr(data-tooltip);
  color: #fff;
  font-style: normal;
  font-weight: 500;
  font-size: 12px;
  text-align: center;
  white-space: normal;
  opacity: 0;
  pointer-events: none;
  width: 160px;
  transition: opacity .1s ease-in;
}

[data-tooltip]::after {
  padding:0;
  transform: translate(-50%,.3rem);
  border-top: .6rem solid;
  border-right: .6rem solid transparent;
  border-left: .6em solid transparent;
  border-radius: 0;
  background-color:transparent;
  content:"";
  color: rgba(0,0,0,.8);
  width: auto;
}

.tooltip-warn[data-tooltip]::before {
  background-color: rgb(219 94 61 / 83%);
}

.tooltip-warn[data-tooltip]::after {
  color: rgb(219 94 61 / 83%);
}

.tooltip-visible[data-tooltip]::after,
.tooltip-visible[data-tooltip]::before,
[data-tooltip]:focus::after,
[data-tooltip]:focus::before,
[data-tooltip]:hover::after,
[data-tooltip]:hover::before {
  opacity:1
}

@media (hover:hover) and (pointer:fine) {

  [data-tooltip]:focus::before,
  [data-tooltip]:hover::before {
    -webkit-animation: slide .2s;
    animation:slide .2s;
  }

  [data-tooltip]:focus::after,
  [data-tooltip]:hover::after {
    -webkit-animation: slideCaret .3s;
    animation: slideCaret .3s
  }

  .tooltip-visible[data-tooltip]:hover::after,
  .tooltip-visible[data-tooltip]:hover::before {
    animation: none;
  }
}

@-webkit-keyframes slide {
  from {
    transform:translate(-73%,.75rem);
    opacity:0
  }
  to {
    transform:translate(-73%,-.25rem);
    opacity:1
  }
}
@keyframes slide {
  from {
    transform:translate(-73%,.75rem);
    opacity:0
  }
  to {
    transform:translate(-73%,-.25rem);
    opacity:1
  }
}
@-webkit-keyframes slideCaret {
  from {
    opacity:0
  }
  50% {
    transform:translate(-50%,-.3rem);
    opacity:0
  }
  to {
    transform:translate(-50%,.3rem);
    opacity:1
  }
}
@keyframes slideCaret {
  from {
    opacity:0
  }
  50% {
    transform:translate(-50%,-.3rem);
    opacity:0
  }
  to {
   transform:translate(-50%,.3rem);
   opacity:1
  }
}
/*
-----------------------------------------
Template: Bootic Checkout
Theme URI: http://bootic.net
Version: 0.1
Author: Tomas Pollak + Ismael Celis - Bootic
-----------------------------------------
*/

/* ok, lets rock on.
--------------------------------------------------------------*/


* { margin: 0; padding: 0; }

body {
  font-size: 62.5%;
  background: #e6ecee;
  color: #333;
}

html,body,div,p,input,button,select,textarea {
  font-family: Inter, Arial, Helvetica, sans-serif;
/*  font-family: Arial, Helvetica, sans-serif;*/
  font-weight: normal;
}

h1, h2, h3, legend {
  font-family: Inter, Arial, Helvetica, sans-serif;
}

/*
label, .button, input[type=button], input[type=submit] {
  font-family: Inter, Arial, Helvetica, sans-serif;
}
*/

img      { border-width: 0; }
li       { list-style:none;  }
p, .row  { margin-bottom: 1em;}
small    { margin-bottom: 1em; display:block; }
abbr     { text-decoration: underline }
strong   { font-weight: 600 }

p, li, td, .row {
  font-size: 13px;
  line-height: 160%;
  letter-spacing: -0.01em;
}

hr {
  clear: both;
  margin: 20px 0;
  border-color: #fff;
}

hr.highpad {
  margin-top: 30px;
  margin-bottom: 22px;
}

a { outline:none;}
a:link     { color: #ff6600; }
a:visited    { color: #999; }
a:active   { color: #ffcc00; }
a:hover    { text-decoration: none; }

a.trigger,
a.trigger:visited {
  position: relative;
  color: #ff6600;
}

a.trigger:hover {
  color: #ff4000;
  text-decoration: underline;
}

::-webkit-input-placeholder { color: #bbb; }
::-moz-placeholder { color: #bbb; } /* firefox 19+ */
:-ms-input-placeholder { color: #bbb; } /* ie */
input:-moz-placeholder { color: #bbb; }

/* JS accessibility
-------------------------------------*/

body.js_off .js_off_only,
body.js_on .js_on_only {display:block;}
body.js_on .js_off_only,
body.js_off .js_on_only {display:none;}

/* structure
-------------------------------------*/

#header,
#footer,
#box {
/*  width: 700px;*/
  max-width: 800px;
  margin: 10px auto;
}

#header {
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 0 30px;
}

#flash {
  font-size: 1.5em;
  color: white;
  text-align:center;
  padding: 10px;
  background: #ff6600;
}

#box {
  position: relative;
  background: white;
  margin: 0px auto;
  padding: 30px 30px 5px;
  border-radius: 10px;
/*
  -moz-box-shadow: rgba(0,0,0,0.3) 0px 2px 10px;
  -webkit-box-shadow: rgba(0,0,0,0.3) 0px 2px 10px;
  box-shadow: rgba(0,0,0,0.3) 0px 2px 10px;
*/
  box-shadow: rgba(0,0,0,0.1) 0px 4px 10px;
}

#footer {
  text-align: center;
  color: rgba(0,0,0,0.3);
  padding: 5px 15px 0;
  margin-bottom: 30px;
}

#footer p {
  font-size: 13px;
}

#footer a,
#footer a:visited {
  color: #829093;
  transition: color 0.2s ease;
}

#footer a:hover {
  color: #333;
  text-decoration: none;
}

.bootic_form {
  margin: 0;
}

/* infrastructure
-------------------------------------*/

.column {
  width: 47.5%;
}

fieldset.column {
  margin-bottom: 30px !important;
}

/* helpers
-------------------------------------*/

.left   { float: left; clear: left; }
.right  { float: right; clear: right; }
.center { display: block; text-align: center; }
.clear  { clear: both }
.hidden { display: none; }

.info {
  background-image: url(/stylesheets/checkout/img/icon-info.png);
  /* background-position: 7px center; */
  background-repeat: no-repeat;
  text-indent: 22px;
}

.icon {
  display: inline-block;
  height: 17px;
  width: 17px;
}

/* headings & shaizes
-------------------------------------*/

#header {
  position: relative;
}

#header .logobox .titles {
  text-align: center;
}

#header .shop_logo {
  margin-right:1em;
  width: 50px;
  height: 50px;
  background: white;
  padding: 2px;
  border: solid silver 1px;
}

#header h1 {
  font-size: 26px;
  color: #283440;
  letter-spacing: -0.04em;
  text-shadow: rgba(255, 255, 255, 0.7) 0px 1px 0;
  padding-top: 0;
  margin-bottom: 0px;
}

#header h2 {
  color: #576172;
  font-size: 18px;
  margin-bottom: 0;
  text-shadow: rgba(255, 255, 255, 0.7) 0px 1px 0;
}

#content h2 {
  color: #3a8799;
  font-size: 2em;
  letter-spacing: -0.04em;
  display: block;
  margin-bottom: 15px;
  /* text-shadow: rgba(0, 0, 0, 0.1) 0px 1px 0; */
}

#content h3,
#content legend {
  font-size: 15px;
  font-weight: 600;
  padding: 0 10px 0 0;
  letter-spacing: -0.009em;
  color: #c8c5ce;
}

#order-shipping legend a {
  color: #999;
}

#order-shipping legend a.selected,
#order-shipping legend a:hover {
  color: #444;
}

#content .address_map legend.loading {
  background: url(/stylesheets/checkout/img/ajax-loader-bw.gif) 97% 2px no-repeat;
  padding-right: 32px;
}

#content h3 {
  margin-bottom: 15px;
}

/* green for selected payment method */
#content h3 strong {
/*  color: #8db86b;*/
  color: #7fbc4d;
}

/* for info lists like the gateway response */
#step-paid .column h3 {
  margin: 25px 0 10px;
}

#user_data h3 {
  margin-bottom: 5px;
}

.concealed-address-notice {
  color: #666;
  border: 1px solid #ccc;
  padding: 8px 12px;
  border-radius: 4px;
  background-color: #fafafa;
  background-position: 12px 7px;
}

.invoice-chooser {
  margin-top: 25px;
  padding-top: 20px;
  border-top: 1px solid #ddd;
}

/* .top-notice
-------------------------------------*/

.top-notice {
  z-index: 1000;
  display: block;
  text-align: center;
  padding: 10px;
  color: rgba(0, 0, 0, 0.8);
  background: #fdf1b7 !important;
  font-size: 15px;
}

.top-notice p {
  font-size: 1em;
  max-width: 800px;
  margin: 0 auto 3px;
  padding: 0 20px;
}

.top-notice a:visited {
  color: #f60;
}

@media (max-width: 600px) {
  .top-notice br {
    display: none;
  }
}

/* bottom buttons
-------------------------------------*/

.cart_action_buttons {
  border-top: 1px solid #eee;
  padding-top: 20px;
  text-align: right;
  /*font-size: 12px;*/
  margin: 20px 0 22px !important;
  clear: both;

/*
  background: #FAFBFC;
  border: 1px solid #D2D6DB;
  padding: 12px 10px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
*/
}

.cart_action_buttons.return {
  text-align: center;
  margin-top: 20px;
  padding: 20px 0 0;
}

/* button for 'edit contact info' */
.grey.button {
  /*font-size: 14px;*/
}

a.next.button,
.cart_action_buttons a,
.redirect-form input[type=submit],
.cart_action_buttons input[type=submit] {
  /*font-size: 15px !important;*/
  /*line-height: 16px;*/
}

a.next.button,
.grey.button,
.redirect-form input[type=submit],
.cart_action_buttons input[type=submit] {
/*  padding: 8px 20px !important;*/
}

.cart_action_buttons a {
/*  padding: 8px 20px !important;*/
}

.small.button {
  padding: 6px 20px !important;
  font-size: 13px;
  letter-spacing: -0.03em;
}

/* table helper
-------------------------------------*/

.table {
  width: 100%;
  background-color: transparent;
  border-spacing: 0;
}

.table th,
.table td {
  padding: 10px 5px;
  text-align: left;
  border-bottom: 1px solid #E1E1E1;
}

.table th:first-child,
.table td:first-child {
  padding-left: 0;
}

.table th:last-child,
.table td:last-child {
  padding-right: 0;
}

.table .last {
  text-align: right;
}

/* order table
-------------------------------------*/

#cart_items_box {
/*  margin-bottom: 30px;*/
}

#step-placed #cart_items_box h3 {
  margin-top: 15px;
}

.unavailable-items {
  margin-bottom: 20px;
  border: 1px solid #ff9a7d;
}

.unavailable-items li {
  padding: 10px;
  border-bottom: 1px solid #ffd6d4;
}

/* top-of-the-box
-------------------------------------*/

#promotion_box {
/*  display:inline-block;*/
  float: right;
  font-size: 13px;
  margin-bottom: 1em;
}

#promotion_box.loading {
  background: url(/stylesheets/checkout/img/ajax-spinner.gif) right -1px no-repeat;
  padding-right: 22px;
}

/*
#step-shipping .active-discounts {
  display: none;
}

#promotion_box span.enabled {
  background: url(/stylesheets/checkout/img/icon-ok-small.png) left top no-repeat;
  padding-left: 20px;
  line-height: 150%;
}

#promotion_box em {
  font-style: normal;
  color: #666;
}

*/

.paid #promotion_box,
.placed #promotion_box {
  display: none;
}

.promotion_link,
.promotion_link:visited {
  padding-left: 5px;
  color: #528ba8;
}

#promotion_form {
  margin-top: -7px;
  margin-bottom: 0;
}

#promotion_form .form_input,
#promotion_form .submit_button {
  font-size: 12px;
}

/* inherits stuff from inputs in forms.css */
#promotion_form .form_input {
  color: #666;
  padding: 0px 10px;
  margin-right: 8px;
  height: 27px;
  width: 165px;
}

#promotion_form .submit_button {
  padding: 3px 7px;
  color: #333;
}

/* set contact form
-------------------------------------*/

form#set-contact {
  margin-top: 40px;
}

/* shipping or not option
-------------------------------------*/

#shipping-or-not {
  margin-bottom: -21px; /* margin top of the hr below */
  margin-left: -28px;
}

#shipping-or-not li {
  display: inline-block;
  padding: 0 5px;
/*
  text-transform: uppercase;
  letter-spacing: 2px; */
}

#shipping-or-not a {
  height: 38px;
  line-height: 39px;
  display: inline-block;
  color: #aaa;
  text-decoration: none;
  border: 1px solid #ccc;
  border-radius: 3px 3px 0 0;
  border-bottom: 0;
  padding: 0 12px;
}

#shipping-or-not input {
  position: relative;
  top: 2px;
  margin-right: 5px;
}

#shipping-or-not .unavailable a {
  text-decoration: line-through;
}

#shipping-or-not .selected a {
  /* color: #87c755; */
  color: #666;
  border-color: #999;
  background: #fff;
  border-bottom: 1px solid #fff;
}

#local-pickup select {
  /*max-width: 331px;*/
  width: 99.5%;
}

.checkout-notice,
#local-pickup-notice,
#delivery-window-notice {
  margin-top: 20px;
  padding: 10px 15px;
  border: 1px solid #ffbc65;
  border-radius: 3px;
  color: #e07220;
  background: #fffbe2;
}

.partial-payment-notice {
/*  color: #659f13;
  background: #f2fae3;
  border-color: rgba(101,159,19,0.3)*/
  color: #e27727;
  background: #fff9f4;
  border-color: rgba(226,131,39,0.3);
}

/* address and map
-------------------------------------*/

.branch-shipping-message,
.reverse-geolocate-failed {
  color: #5b5bff;
  border: 1px solid #5b5bff;
  padding: 7px 10px;
  border-radius: 3px;
}

.bootic_form .reverse-geolocate-failed {
  color: #ff4969;
  border-color: #ff4969;
  margin-bottom: 15px;
}

.branch-shipping-message a {
  color: #5b5bff;
}

.leaflet-control-attribution {
  display: none;
}

.leaflet-marker-pane .leaflet-marker-draggable {
  cursor: grabbing;
}

.order_address li .icon {
  background-image: url(/stylesheets/checkout/img/icon-info-grey.png);
  margin-left: 5px;
  opacity: 0.7;
  cursor: help;
}

.order_address li:hover .icon {
  opacity: 1;
}

.column p.loading label {
  background: url(/stylesheets/checkout/img/ajax-loader-bw.gif) 100% 8px no-repeat;
}

select.address_field:disabled {
  opacity: 0.6;
}

.address_map {
  position: relative;
}

.map-canvas {
  width: 99%;
  height: 271px;
  background: #eee;
  border: 1px solid #ddd;
  margin-top: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}

.address_map .custom-message {
  position: absolute;
  bottom: 15px;
  margin: 0 15px;
  padding: 5px 10px;
  background: url(/stylesheets/checkout/img/bg-purple-60.png);
  color: #fff;
  border: none;
}

.address_map .custom-message:hover {
  background: #6d5872;
}

.address_map .custom-message p {
  margin-bottom: 0;
}

/* 2nd page, user data
-------------------------------------*/

#user_data {
  background:  #FCFCFC;
  border: 1px solid #d2D6DB;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  padding: 18px 20px;
  margin-bottom: 30px;
  position: relative;
}

#user_data .left.column {
  border-right: 1px solid #ddd;
  padding-right: 15px;
}

.modify-data {
  position: absolute;
  bottom: 0px;
  right: 13px;
  opacity: 0.7;
}

.modify-data:hover {
  opacity: 1;
}

.shipping_address li,
.contact_info li,
.contact_custom_data li {
/*  font-size: 1.3em;*/
  padding: 3px 0;
  margin-bottom: 0 !important;
}

li.shipping_address_street_address,
li.contact_name {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.05em;
}

.shipping_address_street_address .icon {
  position: relative;
  top: 3px;
  margin-left: 6px;
  cursor: help
}

.contact_custom_data {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #eee;
}

li.contact_email {
  background: url(/stylesheets/checkout/img/icon-email.png) left 6px no-repeat;
  padding-left: 24px;
}

li.contact_phone_number {
  background: url(/stylesheets/checkout/img/icon-phone.png) left no-repeat;
  padding-left: 24px;
  min-height: 19px;
}

li.contact_company {
  background: url(/stylesheets/checkout/img/icon-vcard.png) left no-repeat;
  padding-left: 24px;
}

/* option list, for shipping options and payment methods
-------------------------------------*/

.chosen-payment-method,
.custom-message,
.option-list,
#delivery-windows {
  background: #FCFCFC;
  border: 1px solid #d2D6DB;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  overflow: hidden;
}

.option-list li {
  border-bottom: 1px solid #ececec;
  padding: 10px 10px 10px 10px;
  color: #444;
  line-height: 140%;
  margin-bottom: 0;
}

.bootic_form .option-list li {
  margin-bottom: 0;
}

.option-list li.selected {
  /*background-color: #e6eff3 !important;*/
/*  background-color: #e1f3ff !important;*/
  background-color: #f0f9ff !important
}

.option-list li:last-child {
  border: none;
}

.option-list input {
  margin-right: 5px;
  position: relative;
  top: 1px;
}

.option-list label {
  display: inline;
  cursor: pointer;
  color: #666;
}

.option-list .selected label {
  color: #153948;
}

.option-list li:hover {
  background: #fff;
}

.option-list li:hover label {
  cursor: pointer;
  color: #111;
  text-decoration: underline;
}

.option-list li.loading {
  background: url(/stylesheets/checkout/img/ajax-spinner.gif) 8px 8px no-repeat;
}

.option-list li.loading input {
  visibility: hidden;
}

#order-shipping .option-list {
  max-height: 272px;
  overflow: auto;
}

/* branch shipping groups 
-------------------------------------*/
.branch-shipping-group {
  border: 1px solid #d2D6DB;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.branch-shipping-group .branch-shipping-header {
  font-size: 13px;
  padding: 12px 14px;
  border-bottom: 1px solid #d2D6DB;
  background-color: #f9f9f9;
}

.branch-shipping-group .option-list {
  overflow: hidden;
  border: none;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.branch-shipping-group .option-list li {
  border: none;
  padding: 0;
  display: flex;
  gap: 8px;
}

.branch-shipping-group .option-list input {
  display: block;
}

.branch-shipping-group .option-list label {
  padding: 12px 14px;
  margin: 0;
  border: 1px solid #d2D6DB;
  border-radius: 8px;
  overflow: hidden;
  flex-grow: 1;
}

.option-list li:hover label {
  text-decoration: none;
}

.option-list li:hover label .shipping-option-info {
  text-decoration: underline;
}

.branch-shipping-group li.selected label {
  background-color: #f0f9ff !important
}

.branch-shipping-group .shipping-option-info {
  display: flex;
  justify-content: space-between;
}


.branch-shipping-group li.selected  {
  background-color: #fcfcfc !important
}

.branch-shipping-group .option-list li.loading {
  background: url(/stylesheets/checkout/img/ajax-spinner.gif) no-repeat center left;
}

#shipping-options-loader .spinner {
  display: block;
  height: 20px;
  background: url(/stylesheets/checkout/img/ajax-spinner.gif) no-repeat center;
}

/* shipping options
-------------------------------------*/

#order-shipping {
  clear: both;
}

#shipping_options_list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

#shipping_options_list .shipping-promo,
#payment_methods_list .payment-promo {
  color: #5b46cc;
  display: block;
  font-weight: 600;
  margin: 5px 0 0 22px;
}

#shipping_options_list .branch-shipping-group .shipping-promo {
  color: #5b46cc;
  display: block;
  font-weight: 600;
  margin: 0;
}

.shipping-promo.not-applied,
.payment-promo.not-applied {
  text-decoration: line-through;
  opacity: 0.6;
}

#shipping_data .warning {
  color: red;
  padding: 7px 10px;
  margin-bottom: 0;
  border: 1px solid red;
}

#shipping_data {
  position: relative;
  margin-top: 30px;
}

#order_total table {
  border-collapse: collapse;
  border-spacing: 0;
  float: right;
/*  width: 333px;*/
  width: 100%;
}

#order_total td {
  color: #555;
  padding: 7px 5px;
  border-top: 1px solid #ddd;
  vertical-align: top;
}

#order_total td strike {
  color: #999;
}

#order_total thead td,
#order_total tfoot td {
  color: #222;
}

#order_total td.operator {
  width: 10px;
  padding: 7px 3px;
  text-align: center;
}

#order_total td.last {
  width: 75px;
}

#order_total thead td {
  border-top: none;
  border-bottom: 1px solid #555;
}

#order_total tfoot td {
  font-weight: 600;
/*  font-size: 14px;*/
  letter-spacing: -0.01em;
  border-top: 2px solid #333;
}

#order_total tfoot tr.surcharge_other_payment_method td {
  font-weight: lighter;
  border-top: none;
}

#order_total tr.discount_row td {
  background-color: #f7fffa;
  color: #509269;
}

/* delivery windows
-------------------------------------*/

#delivery-windows {
  margin: 30px 0 30px;
  clear: both;
  padding: 15px 20px;
  position: relative;
}

#delivery-windows .check {
  font-size: 20px;
  position: absolute;
  color: #7ebb47;
  left: 15px;
  top: 18px
}

#delivery-windows h3 {
  color: #666;
  padding: 8px 0;
  margin: 0;
  line-height: 1.5;
}

#delivery-windows .button {
  height: 34px;
}

.toggle-window-chooser {
  opacity: 0.7;
}

.toggle-window-chooser:hover {
  opacity: 1;
}

#window-chooser {
  margin-top: 15px;
  border-top: 1px solid #ddd;
  padding-top: 11px;
}

#window-chooser.with-select label {
  font-size: 13px;
  margin-right: 10px;
  margin-bottom: 5px;
  color: #666;
}

#window-chooser.with-select select {
  font-size: 13px;
  line-height: 34px;
  height: 34px;
  width: auto;
/*  padding: 0 5px;*/
  background-color: #fff;
  border: 1px solid #ccc;
}

@media (max-width: 600px) {
  #window-chooser.with-select select {
    width: 100%;
    margin-bottom: 15px;
    margin-left: 0 !important;
  }

  #delivery-windows .set-delivery-window-button {
    margin-left: 0;
  }

  #delivery-windows .toggle-window-chooser {
    margin-top: 13px;
  }
}

/*#delivery-windows.with-columns h3 {
  border-bottom: 1px solid #ccc;
  padding-bottom: 15px;
}*/

#window-chooser.with-columns {
  padding-bottom: 10px;
}

#window-chooser h4 {
  margin: 10px 0 0;
  padding-bottom: 15px;
  color: #7d6baa;
  font-size: 13px;
  white-space: nowrap;
}

#window-chooser .num-days {
  color: #333;
  display: inline-block;
}

#window-chooser .hour {
  display: block;
  height: 24px;
  line-height: 16px;
}

@media (min-width: 600px) {
  #window-chooser .column {
    float: left;
    margin-left: 3%;
    margin-bottom: 5px;
    /*outline: 1px solid #eee;*/
  }

  #window-chooser.windows-5 .column {
    width: 17.6%;
  }

  #window-chooser.windows-4 .column {
    width: 22.75%
  }

  #window-chooser.windows-3 .column {
    width: 31.333%;
  }

  #window-chooser.windows-2 .column {
    width: 48.5%;
  }

  #window-chooser.regular-columns .hour {
    height: 24px;
    line-height: 16px;
  }
}

#window-chooser .column:hover {
  /*outline-color: #666;*/
}

#window-chooser .column-0 {
  margin-left: 0;
}

#window-chooser.windows-5 .num-days,
#window-chooser.windows-4 .num-days {
  display: none
}

@media (max-width: 600px) {
  #window-chooser .column {
    margin-bottom: 20px;
  }

  #window-chooser .num-days {
    display: none
  }
}

.delivery-window-link {
  display: block;
  color: #000;
  outline: 2px dashed #bcb9ab;
  position: relative;
}

.delivery-window-link big {
  position: absolute;
  top: 4px;
  left: 8px;
  font-size: 12px;
  font-weight: 600;
  color: #625e6c;
}

#window-chooser .starts-at-30 .hour:first-of-type {
  height: 8px;
  margin-top: 8px;
}

#window-chooser .ends-at-30 + #delivery-windows .starts-at-30 .hour:first-of-type {
  margin-top: 0;
}

#window-chooser .ends-at-30 .hour:last-of-type {
  height: 24px;
  /*margin-bottom: -8px;*/
}

#window-chooser .ends-at-59 .hour:last-of-type {
  /*height: 48px;*/
}

#window-chooser .starts-at-30:last-of-type .hour:last-of-type {
  min-height: 24px;
}

.delivery-window-link .hour {
  /*background: #f4f0ff*/
  background: #eeebf7;
  height: 24px;
  line-height: 24px;
}

.delivery-window-link:hover .hour {
  background: #d8c9ff;
}

.delivery-window-link.active {
  outline: 2px solid #9b91b7;
  z-index: 1;
}

.delivery-window-link.unavailable {
  outline-color: #ddd;
  cursor: not-allowed;
}

.delivery-window-link.unavailable big {
  text-decoration: line-through;
  color: #d2d2d4;
}

.delivery-window-link.unavailable .hour {
  background-color: #f6f6f6;
}

.delivery-window-link.active .hour {
  background: #d8c9ff
}

.delivery-window-link.active big {
  color: #434048;
}


/* payment methods, show and placed
-------------------------------------*/

.exchange_info {
  background: #EEE;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
  border-radius: 7px;
  padding: 1em;
}

#payment_methods {
  margin-bottom: 40px;
}

#payment_methods .left p {
  font-size: 1em;
}

#payment_methods li:hover,
#payment_methods li.selected {
  background-image: url(/stylesheets/checkout/img/icon-arrows-checkout.png);
  background-repeat: no-repeat;
}

#payment_methods li:hover {
  background-position: 97% center;
}

#payment_methods li.selected {
  background-position: 97% 12px;
}

#payment_method_description {
  /*margin-top: 28px;*/
}

#payment_method_description .payment-method-info {
  padding-top: 15px;
  border-top: 1px solid #eee;
  /*margin-top: 5px;*/
}

#payment_method_description img {
  float: right;
  margin: 0 0 12px 15px;
}

/* placed, paid, unpaid
-------------------------------------*/

#step-placed #box {
/*  background: white url(/themes/img/checkout-ready-2.png) 113% -70px no-repeat; */
}

#step-paid #box {
  background: white url(/stylesheets/checkout/img/checkout-ok.png) 108% -25px no-repeat; /* check icon */
}

#step-unpaid #box {
  background: white url(/stylesheets/checkout/img/checkout-error.png) 108% -25px no-repeat; /* error icon */
}

/* because of the background images, we need to ensure paragraphs won't cover them */
#step-paid #box .message,
#step-unpaid #box .message {
  margin-right: 135px;
}

#order-summary {
  margin-bottom: 30px;
}

.column .list li,
.possible-payment-errors li {
  list-style: circle inside;
  padding: 6px 5px;
  border-bottom: 1px solid #ddd;
}

.bootic_form .nice-select {
  border: solid 1px #d2d6db;
  border-radius: 3px;
  height: 40px;
  line-height: 40px;
  color: #747474;
  margin-bottom: 10px;
  font-size: 13px;
  padding-left: 12px;
}

.nice-select .list li {
  list-style: none;
  padding: 0;
  padding-left: 18px;
  padding-right: 29px;
  border-bottom: none;
  margin-bottom: 0;
}

.nice-select span.current {
  max-width: 283px;
  display: inline-block;
  overflow: hidden;
}

.shipping-info {
  margin-top: 4px;
}

.custom-message,
.chosen-payment-method {
  background: url(/stylesheets/checkout/img/bg-grey-translucent.png);
  padding: 10px 12px 0;
  margin-bottom: 20px;
}

.chosen-payment-method {
  padding: 15px 12px 0;
}

.chosen-payment-method form {
  margin-bottom: 25px;
}

.chosen-payment-method p {
  margin-bottom: 15px;
}

.custom-message p {
  margin-bottom: 10px;
}

.chosen-payment-method img {
/* float: right;
   margin: 0 10px 10px 0; */
  display: block;
  margin: 0 auto 15px;
}

.chosen-payment-method .width-container {
  max-width: 370px;
  margin: 0 auto;
  box-sizing: border-box;
}

#step-placed #current_payment_method .redirect-form {
  display: block;
}

#step-unpaid .possible-payment-errors {
  margin-bottom: 15px;
}

.possible-payment-errors li {
  border: none;
  color: #666;
}

/* bank account info for bank transfer payment methods
-------------------------------------*/

.bank_transfer label {
  display: inline-block;
  font-size: 13px;
  margin-bottom: 5px;
}

ul.bank-account-info {
/*  width: 50%; */
  margin: 0 auto 15px;
}

.bank-account-info li {
  line-height: 170%;
  padding: 5px 0;
  border-bottom: 1px solid #e5eaf1;
}

.bank-account-info span {
  display: inline-block;
  width: 150px;
  color: #5d728e;
}

.bank-account-info strong {
  color: #2e353e;
}

/* mercadopago, installments and choose issuer
-------------------------------------*/

.installments-span {
  background: #ebf2f8;
  padding: 3px 5px;
  color: #009ee3;
  border-radius: 3px;
  font-weight: 400;
}

@media screen and (max-width: 600px) {
  .installments-span {
    font-size: 12px;
  }
}

/*
.total-installments {
  padding: 10px;
  border: 1px solid #7eb2b7;
  margin-top: 10px;
  background: #f8faff;
}

#content .total-installments label {
  display: inline;
  color: #7eb2b7;
}
*/

.radio-options {
  float: right;
}

.radio-options label {
  cursor: pointer;
  color: #666;
  font-size: 90%;
  margin-right: 2px;
  margin-left: 12px;
}

.radio-options input {
  margin-right: 5px;
  position: relative;
  top: 2px;
}

#choose-issuer {
  margin-top: 20px;
  border: 1px solid #5BCE5B;
}

#choose-issuer p {
  padding: 10px;
  margin: 0 0 10px 0;
  text-align: center;
  border-bottom: 1px solid #5BCE5B;
}

#choose-issuer ul {
  text-align: center;
}

#choose-issuer li {
  text-align: center;
  width: 79px;
  margin: 0 0 15px;
  display: inline-block;
}

#choose-issuer span { /* image container */
  height: 30px;
  display: table-cell;
  vertical-align: middle;
}

#choose-issuer img {
  margin: 0 auto;
}

#choose-issuer strong {
  display: block;
}

#choose-issuer a {
  color: #445D44;
}

#choose-issuer a:hover {
  color: #000;
  text-decoration: none;
}

/* error messages
-------------------------------------*/

#invalid_card_data {
  color: red;
  border: 1px solid red;
  padding: 10px;
}

.return_button {
  margin-bottom: -28px;
}

/* Responsive: portrait phones and tables
-------------------------------------------*/

@media (max-width: 767px) {

  #header,
  #footer,
  #box {
    width: auto;
  }

  #box {
    border-radius: 0;
  }

  #shipping-or-not {
    margin-left: 0;
  }

  #order-shipping .address_map {
    display: none;
  }

  #header .logobox .titles {
    font-size: 0.8em;
  }

  .column {
    width: auto;
  }

  .right, .left {
    float: none;
    clear: none;
  }

  h3.left {
    float: left;
  }

  #order_custom_fields,
  .bootic_form p.required-field,
  .optional-fields,
  #local-pickup .address_map .section-box {
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }

  .toggle-payment-method.right {
    float: right;
  }

  #user_data .left.column {
    border-right-width: 0;
  }

  #user_data .right.column {
    border-top: 1px solid #d2D6DB;
    margin-top: 15px;
    padding: 15px 0 0px;
  }

  .modify-data {
    bottom: auto;
    top: 13px;
  }

  .invoice-chooser .right.column {
    margin-top: 30px;
  }

  #payment_method_description {
    margin-top: 25px;
  }

  #order_total table {
    margin-top: 20px;
  }

  .return_button {
    margin-bottom: 0;
  }

}

@media (max-width: 480px) {

  #step-paid #box,
  #step-unpaid #box {
    background-position: 130% -90px;
  }

  #step-paid #box .message,
  #step-unpaid #box .message {
    margin-right: 60px;
  }

  .toggle-payment-method.right {
    float: none;
  }

  .toggle-payment-method a {
    display: block;
    text-decoration: none;
    text-align: center;
/*
    color: #666;
    background: #fcfcfc;
    border: 1px solid #ccc;
*/
    border: 1px solid #ff6600 ;
    margin-bottom: 20px;
    padding: 7px 15px;
    -moz-border-radius: 3px;
    border-radius: 3px;
  }

  .promotion_link {
    padding-left: 0;
  }

  #promotion_box {
    float: none;
    clear: left;
  }

  #promotion_box .form_input {
    width: 140px !important;
    display: inline-block;
  }

}

@media screen and (max-width: 446px) {

  .chosen-payment-method .width-container {
    width: auto;
    padding: 0 8px;
  }

}

@media screen and (max-width: 430px) {

  .credit-card .document-number,
  .credit-card .sixty.per-cent,
  .credit-card .seventy.per-cent {
    float: none;
    width: 100%;
  }

  .credit-card .forty.per-cent,
  .credit-card .thirty.per-cent {
    width: 50%;
    margin-left: 0;
  }

}

@media screen and (max-width: 500px) {

  #shipping-or-not li {
    padding-left: 2px;
    padding-right: 2px;
  }

  #shipping-or-not a {
    padding-left: 10px;
    padding-right: 10px;
    font-size: 12px;
  }

  .cart_table td.cart_item_price,
  .cart_table td.cart_item_total {
    min-width: 60px;
  }
}

/* upload file
-------------------------------------*/

#upload-file {
  background: #ffd42a;
  padding: 12px 15px;
  margin-top: -20px;
  border-radius: 0 0 3px 3px;
  line-height: 1.5;
}

#upload-file h3 {
  color: #60531f;
  margin-bottom: 0;
}

#upload-file h3 strong {
  color: #111;
}

#upload-file .add-link,
#upload-file .delete-link {
  background: none;
  border: none;
  letter-spacing: 0;
  padding: 0;
  margin-left: 0;
  color: #444;
  text-shadow: none;
  font-size: 13px;
  border-radius: 0;
  font-weight: 600;
  text-decoration: underline;
  color: #ff4100;
}

#upload-file .upload-file-input {
  margin-top: 15px
}

.file-input {
  visibility: hidden;
  width: 0;
  height: 0;
}

.file-select label {
  padding: 5px 10px;
  background: #333;
  border: 1px solid #000;
  color: white;
  font-weight: 600;
  border-radius: 3px;
  display: inline-block;
  margin-right: 10px;
}

.file-select .file-name {
  font-size: 13px;
  display: inline-block;
}

.file-select .button {
  display: none;
}

.file-select.selected .button {
  display: inline-block;
}

/* clearfix
--------------------------------------------------------------*/

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.clearfix {display: inline-block;}

/* wherewhere \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* done. */

.order-item-changes {
  border: 1px solid #e2e2e2;
  padding: 1rem;
  border-radius: 4px;
}

.order-item-changes li.order-items-changes-subtotal {
  border-top: double;
  border-top-color: #d6d6d6;
  margin-top: 1rem;
  text-align: end;
  padding-top: 1rem;
}
/*







*/

