body {
  min-height: 100vh;
  margin: 0;
  display: flex;
  flex-direction: column;
}

.invalid-tooltip {
    position: static;
}

[data-validated="is-valid"] {
  border: 2px solid var(--bs-form-valid-border-color) !important;
}

.checkout {
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: stretch;
}

.checkout > .container > .row,
.checkout > .container-fluid > .row {
  height: 100%;
}

.checkout-content {
  padding: 20px 15px 0;
}

.checkout-content .content {
  width: 100%;

  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.checkout-caption {
  font-family: 'Oswald', sans-serif;
  font-size: 22px;
  line-height: 33px;
  text-transform: uppercase;
}

.btn {
  height: 50px;
  min-width: 280px;
  max-width: 100%;
  background-color: var(--v-color-bright-orange);
  font-family: 'Oswald', sans-serif;
  font-size: 22px;
  line-height: 18px;
  text-transform: uppercase;
  border-radius: 0;
}
.btn:active,
.btn:focus-visible,
.btn:hover {
  height: 50px;
  background-color: var(--v-color-grey-medium) !important;
}


@media (min-width: 768px) {
  .checkout-content {
    padding: 30px 63px !important;
  }
}

@media (min-width: 992px) {
  .checkout {
    margin-left: 6.53%;
  }
}

/* ============================================ */

.checkout > .container > .row,
.checkout > .container-fluid > .row {
  justify-content: center;
  overflow: hidden;
}
header .container,
header .container-fluid {
  padding: 0 15px;
}
header .container,
header .container-fluid,
.checkout-main .content,
.checkout-summary .content {
  margin-left: auto;
  margin-right: auto;
  max-width: 540px;
}

.checkout-summary-title,
.checkout-summary-content {
  position: relative;
}
.checkout-summary-title::after,
.checkout-summary-content::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -50vw;
  width: 100vw;
  height: 1px;
  background-color: var(--v-color-light-medium);
}

.checkout_summary_collapsed + .checkout-main {
  min-height: calc( 100vh - 50px * 2 );
}

.checkout-summary {
  background: var(--v-color-light);
  border-left: 1px solid var(--v-color-light-medium);
  padding: 0;
}

.checkout-summary-title {
  display: flex;
  line-height: 1.125;
  padding: 16px 15px;
}

.checkout-summary-title i {
}
.checkout-summary-title i::before {
  transform: rotate(0deg);
  transition: transform 0s ease;
}
.checkout-summary-title i.rotate::before {
  transform: rotate(180deg);
  transition: transform 0.3s ease;
}

.checkout-summary-content {
  padding: 16px 15px;
}
.checkout-summary-content {
}
.checkout-summary-img {
  width: 64px;
  padding: 5px;
}
.checkout-summary-img img {
  min-width: 50px !important;
}
.checkout-summary-img .badge {
  background-color: var(--v-color-medium-dark);
  color: var(--v-color-light);
  border-radius: 50% !important;
  width: 17px;
  height: 17px;
  font-size: 12px;
  line-height: 17px;
  text-align: center;
  top: 8.5px !important;
  right: -8.5px !important;
  left: unset !important;
  padding: 0;
}
.checkout-summary-head-container {
  padding-left: 10px;
  column-gap: 10px;
  row-gap: 5px;
  flex-wrap: wrap;
}
.checkout-summary-head {
  padding: 0;
  /*padding-right: 10px;*/
}

.checkout-summary-details {
  line-height: 18px;
}
.checkout-summary-details > div {
  margin-top: 10px;
  display: flex;
}
.checkout-summary-details > div:first-child {
  margin-top: 0;
}
.checkout-summary-details-total {
  font-weight: 700;
  font-size: 22px;
  margin-top: 30px !important;
}

.checkout-summary-bullet-container {
  margin-top: 30px;
}
.checkout-summary-bullet {
  margin-top: 20px;
}
.checkout-summary-bullet-img {
  width: 50px;
  height: 50px;
}
.checkout-summary-bullet-img img {
  width: 100%;
}
.checkout-summary-bullet-content {
  margin-left: 10px;
}
.checkout-summary-bullet-content h5 {
  font-weight: 700;
  font-size: 16px;
  line-height: 18px;
  text-transform: uppercase;
}
.checkout-summary-bullet-content p {
  font-size: 12px;
  line-height: 18px;
}

@media (min-width: 768px) {
  header .container,
  header .container-fluid {
    padding: 0 63px;
    max-width: 100%;
  }
  .checkout-main {
    min-height: calc( 100vh - 60px );
  }
  .checkout-main .content {
    margin-right: 0;
    max-width: 540px;
  }
  .checkout-summary .content {
    margin-left: 0;
    max-width: 445px;
  }

  .checkout-summary-title::after,
  .checkout-summary-content::after {
    content: none;
  }

  .checkout-summary-content {
    padding: 0;
  }

  .checkout-summary-head-container {
    padding-left: 30px;
    column-gap: 30px;
  }
  .checkout-summary-head {
    /*padding: 0 30px;*/
  }
  .checkout-summary-head h5 {
    font-size: 22px;
    font-weight: 400;
  }

  .checkout-summary-details > div {
    margin-top: 20px;
  }

  .checkout-summary-bullet-container {
    margin-top: 40px;
  }
  .checkout-summary-bullet-img {
    width: 65px;
    height: 65px;
  }
  .checkout-summary-bullet-content {
    margin-left: 24px;
  }
}

@media (min-width: 992px) {
  header .container,
  header .container-fluid {
    width: calc( 100% - 6.53% - 63px );
    padding-left: 63px;
    padding-right: 0;
    margin-left: 6.53%;
    margin-right: 63px;
    max-width: calc( 540px + 445px + 63px * 3 );
  }
  .checkout > .container > .row,
  .checkout > .container-fluid > .row {
    justify-content: space-between;
  }
  .checkout-summary-img {
    width: 170px;
  }
  .checkout-summary-img .badge {
    width: 30px;
    height: 30px;
    font-size: 22px;
    line-height: 30px;
    top: 15px !important;
    right: -15px !important;
  }
}

@media (min-width: 1200px) {
  .checkout-summary-bullet-content h5 {
    font-size: 22px;
  }
}

@media (min-width: 1400px) {
  header .container,
  header .container-fluid {
    padding-left: calc( ( 100% - ( 540px + 445px + 63px * 2 ) ) / 2 - 6.53% );
    padding-right: calc( ( 100% - ( 540px + 445px + 63px * 2 ) ) / 2 );
    margin-right: 0;
    width: 100%;
    max-width: calc(100% - 6.53%);
  }
}

/* ============================================ */

.checkout-shipping-timer-container {
  font-size: 14px;
  line-height: 18px;
  margin-top: 30px;
}
.checkout-shipping-timer {
  font-weight: 600;
  font-size: 22px;
  line-height: 18px;
  margin-top: 10px;
  width: fit-content;
}
.checkout-shipping-timer::before {
  content: '';
  display: inline-block;
  width: 12px;
  height: 17px;
  padding-right: 17px;
  background-image: url('/img/7/checkout_shipping_timer_bullet.svg');
  background-position: center;
  background-repeat: no-repeat;
}

/* ============================================ */

.checkout-payment p {
  font-size: 12px;
  line-height: 18px;
  color: var(--v-color-light-dark);
  margin-bottom: 20px;
}
.checkout-payment form {
  margin-top: 15px;
}
.checkout-payment .form-check {
  line-height: 18px;
  text-transform: capitalize;
}

.checkout-payment input ~ .bi {
  color: var(--v-color-light-dark);
  margin-right: 15px;
  font-size: 14px;
}

.checkout-payment #cvv_code ~ .bi {
  cursor: pointer;
}

.checkout .checkout-payment .btn {
  margin-top: 20px;
}

@media (min-width: 768px) {
  .checkout-payment form {
    margin-top: 20px;
  }
  .checkout .checkout-payment .btn {
    margin-top: 30px;
  }
}

/* ============================================ */

.checkout-shipping-bullet-container {
  margin-top: 40px;
}
.checkout-shipping-bullet-container img {
  margin-left: 20px;
}
.checkout-shipping-bullet-container img:first-child {
  margin-left: 0;
}

/* ============================================ */

.checkout .form-floating {
  margin-bottom: 20px;
}

.checkout .btn {
  margin-top: 10px;
}

.checkout .form-floating>.form-control,
.checkout .form-floating>.form-control-plaintext,
.checkout .form-floating>.form-select {
  /*height: 40px;*/
  /*min-height: 40px;*/
  border-color: var(--v-color-light-medium);
  border-radius: 0;
}
.form-floating>.form-control-plaintext~label,
.form-floating>.form-control:focus~label,
.form-floating>.form-control:not(:placeholder-shown)~label,
.form-floating>.form-select~label {
  /*line-height: .75;*/
  /*transform: scale(.625) translateY(-.5rem) translateX(.15rem);*/
}
.form-floating>.form-control-plaintext~label::after,
.form-floating>.form-control:focus~label::after,
.form-floating>.form-control:not(:placeholder-shown)~label::after,
.form-floating>.form-select~label::after {
  /*height: 1em;*/
}
.checkout .form-floating>label {
  /*line-height: .45;*/
  color: var(--v-color-light-dark);
  max-width: 100%;
}

.checkout .form-floating>i+label {
  max-width: calc( 100% - 44px );
}
.form-floating>.form-control-plaintext~label,
.form-floating>.form-control:focus~label,
.form-floating>.form-control:not(:placeholder-shown)~label,
.form-floating>.form-select~label {
  max-width: 133% !important;
}

.form-floating>.form-control[type="number"] {
  -moz-appearance: textfield;
  -webkit-appearance: none;
  appearance: none;
}

.form-floating>.form-control[type="number"]::-webkit-outer-spin-button,
.form-floating>.form-control[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.form-floating>.form-control[type="number"]::-ms-clear {
  display: none;
}
.form-floating>.form-control[type="number"]::-ms-reveal {
  display: none;
}

.checkout .form-floating>.form-select {
  padding-top: 1rem;
  padding-bottom: 0;
}

@media (min-width: 768px) {
  .checkout .form-floating>.form-control,
  .checkout .form-floating>.form-control-plaintext,
  .checkout .form-floating>.form-select {
    height: 50px;
    min-height: 50px;
  }
  .form-floating>.form-control-plaintext~label,
  .form-floating>.form-control:focus~label,
  .form-floating>.form-control:not(:placeholder-shown)~label,
  .form-floating>.form-select~label {
    line-height: .75;
    transform: scale(.75) translateY(-.5rem) translateX(.15rem);
  }
  .form-floating>.form-control-plaintext~label::after,
  .form-floating>.form-control:focus~label::after,
  .form-floating>.form-control:not(:placeholder-shown)~label::after,
  .form-floating>.form-select~label::after {
    height: 1.2em;
  }
  .checkout .form-floating>label {
    line-height: 1.2;
  }
  .checkout .form-floating>.form-select {
    padding-top: 1.35rem;
    padding-bottom: .5rem;
  }
  .form-floating>.form-control-plaintext~label::after,
  .form-floating>.form-control:focus~label::after,
  .form-floating>.form-control:not(:placeholder-shown)~label::after/*, .form-floating>.form-select~label::after*/ {
    inset: 0.9rem 0.375rem;
  }
}

.checkout .form-check {
  min-height: 18px;
  padding-left: 30px;
  margin-bottom: 0;
}
.checkout .form-check-input {
  width: 20px;
  height: 20px;
  margin: -1px 0 -1px -30px;
  border: 1px solid var(--v-color-grey-dark);
  border-radius: 2px;
  background-size: 11px 10px;
}
.checkout .form-check-input:checked[type=checkbox] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3Csvg width='11' height='10' viewBox='0 0 11 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.71209 1.21255C8.88702 1.03913 9.12318 0.94154 9.3695 0.940861C9.61582 0.940181 9.85251 1.03647 10.0284 1.20891C10.2043 1.38136 10.3053 1.6161 10.3095 1.86238C10.3136 2.10867 10.2208 2.34671 10.0508 2.52505L5.06084 8.76255C4.97508 8.85492 4.87157 8.92905 4.7565 8.9805C4.64144 9.03196 4.51718 9.05968 4.39115 9.06202C4.26513 9.06435 4.13993 9.04125 4.02303 8.99409C3.90614 8.94693 3.79996 8.87668 3.71084 8.78755L0.404587 5.48005C0.312478 5.39422 0.2386 5.29072 0.187361 5.17572C0.136121 5.06072 0.108568 4.93658 0.106347 4.8107C0.104126 4.68482 0.127282 4.55978 0.174433 4.44305C0.221585 4.32631 0.291765 4.22027 0.380789 4.13125C0.469812 4.04222 0.575855 3.97204 0.69259 3.92489C0.809325 3.87774 0.934362 3.85458 1.06024 3.85681C1.18612 3.85903 1.31026 3.88658 1.42526 3.93782C1.54026 3.98906 1.64376 4.06294 1.72959 4.15505L4.34709 6.7713L8.68834 1.24005C8.69608 1.23036 8.70443 1.22118 8.71334 1.21255H8.71209Z' fill='%23222222'/%3E%3C/svg%3E%0A");
}
.checkout .form-check-input:checked {
  background-color: transparent;
}

/* ============================================ */

.coupon_code {
  margin-top: 20px;
}
.coupon_code_button {
  display: flex;
  width: 60px;
  height: 58px;
  min-height: 40px;
  margin-left: 10px;
  margin-bottom: 20px;
  border: 1px solid var(--v-color-light-medium);
}

@media (min-width: 768px) {
  .coupon_code_button {
    width: 67px;
    height: 50px;
    min-height: 50px;
  }
  .coupon_code_button i {
    font-size: 20px;
  }
}

/* ============================================ */

.express-button-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  margin-top: 20px;
}

.express-button {
  flex-grow: 1;
  padding: 12px;
  font-size: 16px;
  color: var(--v-color-lightest);
  text-align: center;
  cursor: pointer;
  transition: background-color 0.3s ease;
  height: 50px;
  background-position: center;
  background-repeat: no-repeat;
}

.express-button-amazon {
  background-image: url('/img/7/button_logo_amazon.svg');
  background-size: 127px 28px;
  background-color: #F9D94C;
  border: 1px solid #AA9B5B;
}
.express-button-amazon:hover {
  background-color: #D1B22E;
}

.express-button-applepay {
  background-image: url('/img/7/button_logo_applepay.svg');
  background-size: 63px 28px;
  background-color: var(--v-color-light);
  border: 1px solid var(--v-color-light-dark);
}
.express-button-applepay:hover {
  background-color: #E0E0E0;
}

@media (min-width: 992px) {
  .express-button-container {
    flex-direction: row;
    gap: 20px;
  }
  .checkout-payment .express-button-container {
    width: 50%;
  }
}

/* ============================================ */

.tooltip.show {
  opacity: 1 !important;
}

.tooltip-inner {
  background-color: var(--v-color-light) !important;
  color: var(--v-color-black) !important;
  border: 1px solid var(--v-color-light-medium) !important;
  border-radius: 0;
  text-align: left !important;
  white-space: pre-wrap;
  word-wrap: break-word;
}

.tooltip.bs-tooltip-top .tooltip-arrow::before {
  border-top-color: var(--v-color-light-medium) !important;
}

.tooltip.bs-tooltip-right .tooltip-arrow::before {
  border-right-color: var(--v-color-light-medium) !important;
}

.tooltip.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: var(--v-color-light-medium) !important;
}

.tooltip.bs-tooltip-left .tooltip-arrow::before {
  border-left-color: var(--v-color-light-medium) !important;
}

/* ============================================ */

input[data-validated="is-invalid"],
select[data-validated="is-invalid"] {
  border: 2px solid var(--bs-form-invalid-border-color) !important;
}
input[data-validated="is-invalid"]:focus,
select[data-validated="is-invalid"]:focus {
  box-shadow: 0 0 0 .25rem rgba(var(--bs-danger-rgb), .25) !important;
}
input[data-validated="is-invalid"]~.invalid-feedback,
input[data-validated="is-invalid"]~.invalid-tooltip,
select[data-validated="is-invalid"]~.invalid-feedback,
select[data-validated="is-invalid"]~.invalid-tooltip {
  display: block;
  left: 0;
  margin-top: 0.2rem;
  background-color: rgba(var(--bs-danger-rgb), .75);
}
@media (min-width: 768px) {
  select[data-validated="is-invalid"] {
    height: 54px !important;
  }
}
/* ============================================ */

footer {
  background-color: var(--v-color-light);
  margin-top: 40px;
  margin-left: -50vw;
  margin-right: -50vw;
}
footer ul {
  margin-bottom: 0;
  list-style-type: none;
}
footer ul li {
  margin-left: 32px;
}
footer ul li:first-child {
  margin-left: 0;
}
footer a {
  font-size: 12px;
  line-height: 36px;
  color: var(--v-color-medium-dark);
}

@media (min-width: 768px) {
  footer {
    background-color: inherit;
    margin-top: 85px;
  }
}

@media (min-width: 992px) {
  footer {
    margin-left: 0;
    margin-right: 0;
  }
  footer a {
    font-size: 14px;
    line-height: 22px;
  }
}

@media (min-width: 1200px) {
  footer a {
    font-size: 16px;
  }
}
