/* 
* Cart6 Grid
*/

    :root {
      --blue: #5469d4;
      --success: rgb(34, 172, 34);
      --success-shade: rgb(34, 172, 34, 0.5);
      --danger: #f5442d;
      --placeholder: darkgrey;
      --text: #222;
      --medium-green: #cfecda;
      --dot: #cbd1d8;
      --dot-hover: #9faab7;
      --intro: #33333f;
      --light-brown: #eae4da;
      --box-shadow: rgba(0, 0, 0, 0.35) 0px 2px 8px;
    }

    html, body {
      height: 100%;
      margin: 0;
      padding: 0;
    }
    
    body {
      position: relative;
      font-family: 'Roboto', sans-serif;
      display: flex;
      flex-direction: column;
    }


/* V6 NG Payment Button */

        .pButton-payment-section {
            text-align: center;
            padding: 2rem;
        }
        .pButton-payment-button {
            font-size: 1.25rem;
            padding: 0.75rem 2rem;
            transition: all 0.3s ease;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
            position: relative;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            text-transform: uppercase;
        }
        .pButton-payment-button:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
        }
        .pButton-payment-button::before {
            content: '';
            position: absolute;
            top: -100%; /* Extend above button for diagonal coverage */
            left: -156px; /* Adjusted for wider wave */
            width: 156px; /* 20% wider: 130px * 1.2 = 156px */
            height: 300%; /* Maintained for clear 135-degree wave */
            background: linear-gradient(
                135deg, /* Maintained angle (top-left to bottom-right) */
                transparent 20%,
                rgba(255, 255, 255, 0.12) 50%,
                transparent 80%
            );
            animation: pButton-wave 2.4s linear infinite; /* 2.4s duration */
        }
        @keyframes pButton-wave {
            0% {
                left: -156px; /* Start off-screen left, adjusted for wider wave */
            }
            100% {
                left: calc(100% + 156px); /* Exit off-screen right, adjusted for wider wave */
            }
        }
        .pButton-headline {
            font-weight: bold;
        }
        .pButton-subheadline {
            font-size: 0.875rem;
            color: #f8f9fa;
            text-transform: none;
            margin-top: 0.125rem;
        }
        @media (max-width: 576px) {
            .pButton-payment-button {
                font-size: 1rem;
                padding: 0.5rem 1.5rem;
                box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
            }
            .pButton-subheadline {
                font-size: 0.75rem;
                margin-top: 0.1rem;
            }
        }

    .payment-methods {
      align-items: center;
      padding: 10px;
      text-align: center;
    }
    .payment-icon {
      width: 45px;
      height: 28px;
      border-radius: 2px;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
      transition: transform 0.2s;
    }
    .payment-icon:hover {
      transform: scale(1.05);
    }

/* V6 NG Updates */


    .container-fluid {
      padding: 0;
    }
    .left-section, .right-section {
      padding: 2rem;
    }

        .shake-alarm {
            display: inline-block;
            animation: shake 1.5s ease-in-out infinite;
            font-size: 3rem;
            color: #dc3545;
        }
        @keyframes shake {
            0%, 46.67% {
                transform: translateX(0);
            }
            11.67% {
                transform: translateX(-2px) rotate(-5deg);
            }
            23.33% {
                transform: translateX(2px) rotate(5deg);
            }
            46.68%, 100% {
                transform: translateX(0);
            }
        }

.custom-img {
            max-width: 300px;
            width: 100%;
            height: auto;
        }

    .addon-card {
      transition: all 0.3s ease;
      cursor: pointer;
      border: 2px solid #dee2e6;
      background-color: #fff;
      margin-bottom: 1.5rem;
    }
    .addon-card:hover {
      border-color: #0d6efd;
      background-color: #f8f9fa;
    }
    .addon-card.selected {
      border-color: #0d6efd;
      background-color: #e7f1ff;
    }
    .addon-checkbox {
      width: 2.5rem;
      height: 1.5rem;
    }
    .discount-card {
      background-color: #ffffff;
      margin-bottom: 1.5rem;
    }
    .product-photo {
      max-width: 120px;
      max-height: 120px;
      object-fit: cover;
      margin-bottom: 1rem;
      padding-right: 1rem;
    }
    .upsell-content {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
    }
    .upsell-headline {
      display: flex;
      align-items: center;
      width: 100%;
      margin-bottom: 0.75rem;
    }
    .upsell-text {
      flex-grow: 1;
    }
    .quantity-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1rem;
      margin-top: 0.5rem;
    }
    .quantity-item {
      border: 1px solid #dee2e6;
      padding: 0.5rem;
      text-align: center;
      cursor: pointer;
      transition: all 0.3s ease;
      position: relative;
    }
    .quantity-item:hover, .quantity-item.selected {
      background-color: #e7f1ff;
      border-color: #0d6efd;
    }
    .quantity-item.selected .tick-icon {
      display: inline;
    }
    .tick-icon {
      color: #198754; /* Green color for success */
      font-size: 1.5rem;
      position: absolute;
      top: 0.25rem;
      right: 0.25rem;
      display: none;
    }
    .cart-item {
      margin-bottom: 1rem;
    }


 #orderSummary tr {
      opacity: 1;
      transition: opacity 0.3s ease;
    }
    #orderSummary tr.fade-in {
      opacity: 0;
      animation: fadeIn 0.3s ease forwards;
    }
    #orderSummary tr.fade-out {
      opacity: 1;
      animation: fadeOut 0.3s ease forwards;
    }
    @keyframes fadeIn {
      from { opacity: 0; }
      to { opacity: 1; }
    }
    @keyframes fadeOut {
      from { opacity: 1; }
      to { opacity: 0; }
    }



    @media (max-width: 768px) {
      .left-section, .right-section {
        padding: 1rem;
      }
      .addon-card {
        padding: 1rem;
      }
      .addon-checkbox {
        width: 1.25rem;
        height: 1.25rem;
      }
      .upsell-content {
        flex-direction: column;
      }
      .product-photo {
        width: 50%;
        max-height: 150px;
        margin-right: 0;
        margin-bottom: 1rem;
        padding-right: 0.75rem;
      }
      .upsell-text {
        width: 50%;
        padding-left: 0.75rem;
      }
      .quantity-grid {
        grid-template-columns: repeat(3, 1fr); /* 1x3 layout on mobile */
      }
    }







    
    .container-wrapper {
      max-width: 1400px;
      width: 100%;
      margin: 0 auto;
      position: relative;
      z-index: 1;
    }
    
    .header {
      background-color: #000;
      color: white;
      width: 100%;
      position: relative;
      z-index: 1;
    }
    
    .footer {
      background-color: #000;
      color: white;
      width: 100%;
      position: relative;
      z-index: 1;
      margin-top: auto;
    }

    .footerLinks {
      font-size: 0.9rem;
      color: white;
    }
    
    .main-content-area {
      flex: 1 0 auto;
    }
    
    .bg-split {
      display: none;
    }
    
    .layout-grid {
      display: grid;
      margin: 0;
    }
    
    .box {
      padding: 5px;
      color: #333;
      overflow-wrap: break-word;
      height: 100%;
    }
    

.slide svg {
  height: 1rem;
  fill: red;
  padding-top: 2px;
}

.slide {
  color: red;
  font-weight: 600;
  animation: slide 1s ease-out infinite alternate-reverse both;
  margin-top: -4px;
}

@keyframes slide {
  0% {
    transform: translate(1px);
  }
  100% {
    transform: translate(-5px);
  }
}

.cardLogo {
padding: 10px;
    max-width: 300px;
    text-align: center;
    display: inline-block;
    margin-right: auto;
    margin-left: auto;
}

.updateProdQuan {
margin-top: 5px;
}


/* 
* Cart3 Input Controls and Validation
*/


    .input-group {
      position: relative;
      height: 3rem;
      line-height: 3rem;
      margin: 2rem 0 1rem 0;
    }
    .input-text {
      position: absolute;
      width: 100%;
      outline: none;
      font-size: inherit;
      font-family: inherit;
      line-height: 1rem;
      padding: 0 1rem;
      border-radius: 2px;
      border: 2px solid var(--placeholder);
      background: none;
      transition: 0.5s;
      z-index: 1234;
    }
    .input-label {
      position: absolute;
      font-size: 1.15rem;
      color: var(--text);
      background-color: white !important;
      transition: 0.5s;
      border-radius: 2px;
      pointer-events: none;
      transform: translateY(-1.8rem) translateX(0.5rem) scale(0.9);
      z-index: 1234;
      padding: 0 1rem;
      font-weight:800;
    }
    /* .input-text:focus + .input-label,
    .input-text:valid + .input-label {
      color: var(--text);
      height: 1.5rem;
      line-height: 1.5rem;
      transform: translateY(-1rem) translateX(0.5rem) scale(0.9);
      z-index: 1234;
      transition: 0.5s;
      padding: 0 0.5rem;
    } */
    .input-text:focus,
    .input-text:valid {
      border-color: var(--text);
    }
    .input-text.valid {
      color: var(--success);
      border: 3px solid var(--success);
    }
    .input-label.valid {
      color: var(--success) !important;
      /* height: 1.5rem;
      line-height: 1.5rem;
      transform: translateY(-1rem) translateX(0.5rem) scale(0.9);
      z-index: 1234;
      transition: 0.5s;
      padding: 0 0.5rem; */
    }
    .input-text.invalid,
    .input-text:focus.invalid {
      color: var(--danger);
      border: 3px solid var(--danger);
    }
    .input-text.invalid + .input-label,
    .input-text:focus.invalid + .input-label {
      color: var(--danger);
    }
    .input-label.invalid {
      color: var(--danger);
      /* height: 1.5rem;
      line-height: 1.5rem;
      transform: translateY(-1rem) translateX(0.5rem) scale(0.9);
      z-index: 1234;
      transition: 0.5s;
      padding: 0 0.5rem; */
    }

    /* Chrome remove blue bg on forms */
    input:-webkit-autofill,
    input:-webkit-autofill:hover,
    input:-webkit-autofill:focus,
    input:-webkit-autofill:active {
      transition: background-color 5000000s ease-in-out 0s;
    }
    input:-webkit-autofill {
      -webkit-box-shadow: 0 0 0 1000px white inset !important;
    }
    /* end blue fix*/

.form-container input[type='text'],
.form-container input[type='tel'],
.form-container input[type='number'],
.form-container input[type='email'] {
 display: block;
 /* width: 100%; */
 padding: 0.75rem 0.5rem;
 color: #333333;
 /* border: 1px solid #d9d9d9;
 border-radius: 5px; */
 transition: all 0.2s ease-out;
 font-size: 1.15rem;
}
/* Remove the number up/down on number inputs */
#zip::-webkit-outer-spin-button,
#zip::-webkit-inner-spin-button,
#phone::-webkit-outer-spin-button,
#phone::-webkit-inner-spin-button,
#bill-zip::-webkit-outer-spin-button,
#bill-zip::-webkit-inner-spin-button,
#bill-phone::-webkit-outer-spin-button,
#bill-phone::-webkit-inner-spin-button {
 -webkit-appearance: none;
 margin: 0;
}
#zip,
#phone,
#bill-zip,
#bill-phone {
 -moz-appearance: textfield;
 appearance: textField;
}
/* Chrome remove blue bg on forms */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
 transition: background-color 5000000s ease-in-out 0s;
}
.invalid {
 color: #ed5168;
 margin-bottom: 1rem;
}

.form-container .location-wrapper input[type='text'],
.form-container .location-wrapper input[type='number'],
.form-container .location-wrapper select {
 margin: 0.5rem 0;
}

.billing-address {
   display: none;
   transition: display 0.2s;
 }


.form-container {
  display: flex;
  width: 94%;
  margin: 0 auto 1rem auto;
}
.form-container form {
  width: 100%;
}
.form-container input[type='text'],
.form-container input[type='email']{
  display: block;
  /* width: 100%; */
  padding: 0.75rem 0.5rem;
  /* color: #333333; */
  /* border: 1px solid #d9d9d9; */
  /* border-radius: 5px; */
  /* transition: all 0.2s ease-out; */
  font-size: 1rem;
}
form .checkbox-wrapper {
  display: flex;
  margin-top: 0.5rem;
  margin-bottom: 1rem;
}

.form-container input[type='checkbox'] {
  margin-right: 0.5rem;
  accent-color: #198754;
  font-size: 1rem;
}
.form-container input[type='text']:not(:last-of-type),
.form-container input[type='email']:not(:last-of-type){
  margin-bottom: 0.5rem;
}
.form-container select {
  display: block;
  width: 100%;
  padding: 0.75rem 0.5rem;
  color: #333333;
  border: 1px solid #d9d9d9;
  border-radius: 5px;
  margin-bottom: 0.5rem;
  font-size: 1rem;
}
.form-container .name-wrapper {
  display: flex;
  margin-bottom: 0.5rem;
}
/* .form-container .location-wrapper input[type='text'], */
.form-container .name-wrapper input[type='text'],
.form-container .name-wrapper input[type='email'],
.form-container .location-wrapper input[type='email'] {
  margin-bottom: 0;
  margin-right: 0.5rem;
}

.form-container .name-wrapper input[type='text']:last-of-type,
.form-container .location-wrapper input[type='text']:last-of-type,
.form-container .name-wrapper input[type='email']:last-of-type,
.form-container .location-wrapper input[type='email']:last-of-type {
  margin-right: 0;
}
.form-container .location-wrapper select {
  /* margin: 0 0.5rem 0 0; */
}
.form-container .location-wrapper {
  display: flex;
  justify-content: space-around;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
form p {
  margin: 0 0 1rem
}
form input[type='submit'] {
  width: 100%;
  background-color: #121212;
  color: #fff;
  padding: 1rem;
  border: none;
  border-radius: 5px;
  font-size: 1rem;
}














    
    /* Mobile styles */
    @media (max-width: 767.98px) {
      .layout-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
          "cart"
          "main"
          "sub";
        row-gap: 15px;
        padding: 0;
      }
      
      .container-wrapper {
        padding: 0;
      }

.cartItem {
font-size: 1.1rem;
}

.MainBillPrice {
margin-bottom: 0rem;
}

.UpsellBillPrice {
margin-bottom: 0rem;
}

.WarrantyBillPrice {
margin-bottom: 0rem;
}

.queueJumpBillPrice {
margin-bottom: 0rem;
}

.queueJumpBillPrice {
margin-bottom: 0rem;
}

.order-total {
padding-top: 0rem;
}

.order-summary {
border: 0 !important;
padding: 0.5rem !important;
background: #e7e7e7; !important;
border-radius: 0 !important;
margin-bottom: 0 !important;
padding-right: 1rem !important;
}

.cardLogo {
    max-width: 200px;
}

.containerCart {
margin: 0 !important;
padding-left: 0 !important;
padding-right: 0 !important;
max-width: 100%;
}

.boxCart {
margin: 0 !important;
padding: 0 !important;
}

.orderSummary {
margin-bottom: 0 !important;
}

.box-main-content {
    padding-left: 10px;
    padding-right: 10px;
}


    }
    
    /* Desktop styles */
    @media (min-width: 768px) {
      .container-wrapper {
        padding: 0 20px;
      }
      
      .layout-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto 1fr;
        grid-template-areas:
          "main cart"
          "main sub";
        gap: 20px;
        min-height: 500px;
        margin: 20px 0;
      }
      
      /* Background split for desktop */
      .bg-split {
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        width: 50%;
        height: 100%;
        background-color: #F5F1E5; /* Darker medium grey */
        box-shadow: -4px 0 10px rgba(0, 0, 0, 0.12);
        z-index: 0;
      }
    }
    
    .element-cart {
      grid-area: cart;
    }
    
    .element-main-content {
      grid-area: main;
    }
    
    .element-subcontent {
      grid-area: sub;
    }



/* 
* General Style
*/

.addonHeader {
margin: 0;
padding: 0;
}

.itemContain {
width: 100%;
text-align: right;
}

.itemRRP {
margin-left: 10px;
margin-right: 10px;
}

.itemPrice {
font-weight: 700;
font-size: 1.3rem;
}

.itemSave {
float: left;
}

.itemEach {
margin-left: 0px;
}

.form-check {
padding-left: 0.7rem;
}



.smallPaymentRR {
font-size: 1rem;
font-weight: 100;
display: block;
margin-top: 0;
padding-top: 0;
}

.safeDetails {
    max-width: 100%;
    display: block;
    margin-right: auto;
    margin-left: auto;
    margin-top: 1rem;
    margin-bottom: 1rem;
    text-align: center;
}

.pt-5 {
    padding-top: 1rem !important;
}

    .mobileChecks {
    display: none;
    }
 
    .icon {
      font-size: 2rem;
      text-align: center;
    }
    .feature-box {
      text-align: center;
    }
   
    .mobileIcon {
       max-width: 75px;
    }


    .form_head {
        float: left;
        width: calc(100% + 30px);
        margin: 35px 0 0 -15px;
        background: #257bca;
        padding: 12px 20px 15px;
        position: relative;
        margin-bottom: 3rem;
	margin-top: 0px;
    }

    .form_head:before {
        content: '';
        position: absolute;
        bottom: -11px;
        right: 22.5px;
        width: 40px;
        height: 40px;
        background: #257bca;
        border-radius: 50%;
    }

    .form_hdg {
        float: left;
        width: 70%;
        text-align: left;
        font-size: 1.3rem;
        line-height: 32px;
        color: #fff;
        font-weight: bold;
    }

.lock_box {
        float: right;
        width: 46px;
        position: relative;
    }

    .lock_box_inr {
        width: 100%;
        height: 46px;
        background: #fff;
        border-radius: 50%;
        display: -webkit-flex;
        display: flex;
        justify-content: center;
        align-items: center;
    }

.lock_box_inr img {
        display: block;
        margin: 0 auto 0;
        width: 20px;
    }

    .form-arrw {
        position: absolute;
        top: 44px;
        left: 50%;
        margin-left: -5.5px;
        width: 11px;
        z-index: 1;
    }

.headerSecure {
max-width: 150px; 
margin-top: 0.4rem;
}

.reviewPic {
 max-width: 65px;
}

.btnComplete {
--bs-btn-padding-y: 1.0rem;
    --bs-btn-padding-x: 1.5rem;
    --bs-btn-font-size: 1.6rem;
    --bs-btn-border-radius: var(--bs-border-radius-lg);
    font-weight: 700;
    background: #00af3a;
}

.infoImage {
 max-width: 100px;
 padding: 1rem;
}

.info-section {
 text-align: left;
}

.imageAddon {
  max-height: 125px;
  margin-top: 0.5rem;
}

.decorated{
     overflow: hidden;
     text-align: center;
     display: inline-block;
     width: 100%;
 }
.decorated > span{
    position: relative;
    display: inline-block;
}
.decorated > span:before, .decorated > span:after{
    content: '';
    position: absolute;
    top: 50%;
    border-bottom: 1px solid;
width: 100vw;
    margin: 0 20px;
color: #c1c1c1;
}
.decorated > span:before{
    right: 100%;
}
.decorated > span:after{
    left: 100%;
}

.reviewBlock {
    width: 90%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
border-color: #e1e1e1 !important;
    border-width: thin !important;
}

.mainLogo {
 font-family: "DM Serif Display", serif;
  font-weight: 800;
  font-style: normal;
  font-size: 2.5rem;
  margin: 0.2rem;
}

.cartProduct { max-width: 125px; }

.highlight {
background-color: #fff3cd !important;
}

.bigger-radio {
    transform: scale(2);
    -ms-transform: scale(2);
    -webkit-transform: scale(2);
    margin-right: 10px;
    margin-top: 7px;
}

.text-bg-success { margin-top: 0.5em; }

.mt-5 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}

.mb-0 {
    margin-bottom: 0 !important;
    text-align: left;
}

.maxprice {     
 color: #817777;
 font-size: 0.9em; 
 margin-bottom: 0em;
}

.cartContentLine {
 color: #9d9d9f;
}

.small_button_txt {
    font-size: 0.7rem;
    font-weight: 400;
    padding-top: 0.4rem;
    display: inline-block;
    color: white;
}

.large_button_txt {
    text-transform: uppercase;
    font-weight: 900;
}

.alert-custom {
background-color: #d1e7dd;
    border: 1px solid #a3cfbb;
  border-left: 4px solid #0a3622; /* Green accent line on the left */
  border-radius: 8px; /* Rounded corners */
  color: #000000; 
  padding: 0.4rem; /* Padding to match the image */
  font-size: 0.875rem; /* Smaller font size to match */
  display: flex; /* Use flex to align icon and text */
  align-items: center; /* Center vertically */
  gap: 0.5rem; /* Space between checkmark and text */
}

.checkmark {
  font-size: 1rem; /* Size of the checkmark */
  color: #28a745; /* Green color for the checkmark */
  font-weight: bold; /* Bold checkmark for emphasis */
}

/* Ensure the accent doesn’t interfere with border-radius */
.with-accent {
  border-left-width: 4px; 
  border-left-style: solid; 
  border-left-color: #36a100; 
}

#currentviewers {
        transition: opacity 0.2s ease-in-out;
    }

    .offer-box {
        background-color: #FFFAD3;
        border-radius: 10px;
        padding: 10px 20px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
.discount_text {
    background: url(seal_v3.png) no-repeat;
    width: 63px;
    height: 63px;
    font-size: 17px;
    line-height: 19px;
    color: #fff;
    font-weight: 800;
    background-size: 63px;
    text-align: center;
    text-transform: uppercase;
    padding-top: 13px;
    padding: 13px;
    min-width: 63px;
}
    .countdown {
        color: red;
        font-weight: bold;
    }

/* 
* Strikethrough
*/


.price-with-strikethrough {
  position: relative;
  display: inline-block;
  font-size: 0.8rem;
}

.price-with-strikethrough::after {
  content: '';
  position: absolute;
  left: 0;
  top: 100%; /* Start at the bottom of the text */
  width: 110%; /* Adjusted to fit the diagonal of the price number */
  height: 2px;
  background-color: red;
  transform: rotate(-20deg); /* Negative angle for bottom-left to top-right */
  transform-origin: bottom left;
}


.price-with-strikethrough-small {
  position: relative;
  display: inline-block;
}

.price-with-strikethrough-small::after {
  content: '';
  position: absolute;
  left: 0;
  top: 100%; /* Start at the bottom of the text */
  width: 110%; /* Adjusted to fit the diagonal of the price number */
  height: 2px;
  background-color: red;
  transform: rotate(-15deg); /* Negative angle for bottom-left to top-right */
  transform-origin: bottom left;
}


/* 
* Tickbox Syling
*/


.custom-radio-checkbox {
  /* Hide the default radio button */
  position: absolute;
  opacity: 0;
}

.custom-radio-checkbox + .form-check-label {
  position: relative;
  padding-left: 25px; /* Space for checkbox */
}

.custom-radio-checkbox + .form-check-label::before {
  content: '';
  position: absolute;
  width: 18px;
  height: 18px;
  left: 0;
  top: 0;
  border: 1px solid #adb5bd; /* Bootstrap's default border color */
  background-color: #fff;
  border-radius: 0.25em; /* Checkbox style, not round like radio */
}

.custom-radio-checkbox:checked + .form-check-label::before {
  background-color: #0d6efd; /* Bootstrap's primary color */
  border-color: #0d6efd;
}

.custom-radio-checkbox:checked + .form-check-label::after {
  content: '\2713'; /* Checkmark symbol */
  position: absolute;
  display: inline-block;
  width: 18px;
  height: 18px;
  left: 0;
  top: 0;
  color: white;
  font-size: 14px;
  line-height: 18px;
  text-align: center;
}

/* 
* Order Collapse
*/

        .order-summary {
            border: 1px solid #e5e7eb;
            border-radius: 0.5rem;
            padding: 1rem;
            margin-bottom: 1rem;
	    background: #ffffff;
        }
        .order-summary-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
        }
        .order-summary-header h5 {
            margin: 0;
        }
        .order-summary-details {
            padding-top: 1rem;
        }
        .order-item {
            display: flex;
            justify-content: space-between;
            margin-bottom: 0.5rem;
        }
        .order-item img {
            max-width: 75px;
        }
        .order-total {
            margin-top: 1rem;
            padding-top: 1rem;
        }

/* 
* Stripe/Paypal CSS
*/

.hidden {
  display: none;
}

#payment-message {
  color: rgb(105, 115, 134);
  font-size: 16px;
  line-height: 20px;
  padding-top: 12px;
  text-align: center;
  font-size: 1.3em;
  color: red;
  font-weight: bold;
}

#payment-element {
  margin-bottom: 24px;
}



    button:hover {
      filter: contrast(115%);
      background: #3f51b5;
    }

    button:disabled {
      opacity: 0.5;
      cursor: default;
    }

    button:disabled::after {
      animation: none;
    }

/* spinner/processing state, errors */
.spinner,
.spinner:before,
.spinner:after {
  border-radius: 50%;
}
.spinner {
  color: #ffffff;
  font-size: 22px;
  text-indent: -99999px;
  margin: 0px auto;
  position: relative;
  width: 20px;
  height: 20px;
  box-shadow: inset 0 0 0 2px;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}
.spinner:before,
.spinner:after {
  position: absolute;
  content: "";
}
.spinner:before {
  width: 10.4px;
  height: 20.4px;
  background: #5469d4;
  border-radius: 20.4px 0 0 20.4px;
  top: -0.2px;
  left: -0.2px;
  -webkit-transform-origin: 10.4px 10.2px;
  transform-origin: 10.4px 10.2px;
  -webkit-animation: loading 2s infinite ease 1.5s;
  animation: loading 2s infinite ease 1.5s;
}
.spinner:after {
  width: 10.4px;
  height: 10.2px;
  background: #5469d4;
  border-radius: 0 10.2px 10.2px 0;
  top: -0.1px;
  left: 10.2px;
  -webkit-transform-origin: 0px 10.2px;
  transform-origin: 0px 10.2px;
  -webkit-animation: loading 2s infinite ease;
  animation: loading 2s infinite ease;
}

@-webkit-keyframes loading {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes loading {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}



.packageNotation {
display: none;
position: absolute;
    top: -22px;
    left: 20px;
    border-radius: 8px 8px 0 0;
    background: #727272;
    font-size: 0.8rem;
    line-height: 0rem;
    color: #ffffff;
    font-weight: 400;
    text-transform: uppercase;
    padding: 4px;
}

.packageStar {
        width: 15px;
        height: 15px;
        margin-top: -5px;
        margin-right: 5px;
}

.packageCard {
margin-top: 0rem;
}

.FastMailBillPrice {
font-size: 1rem;
margin-left: 10px;
margin-bottom: 0;
}

.additionsPrice {
font-size: 1rem;
margin-left: 10px;
}

.additionsBody {
margin: 0.4rem;
font-size: 0.9rem;
}


.areaHead {
font-size: 1.3rem;
margin-bottom: 0 !important;
}

.areaTxt {
font-size: 0.9rem;
}

.prodName {
font-size: 1.2rem;
}


.addonBack {
background-color: #ffe9a6 !important;
}

.additionsHeader {
font-size: 1rem !important;
margin-bottom: 0.3rem;
}

.addonBorder {
border-color: #d1d1d1 !important;
margin-top: 0.6rem;
}


@media only screen and (max-width: 800px) {
.cartImage {
display: none;
}

.payButton {
font-size: 0.8em;
}

.orderSummary {
font-size: 1.1rem;
font-weight: 600;
}

.smallPaymentRR {
font-size: 0.8rem;
font-weight: 400;
display: block;
margin-top: 0;
padding-top: 0;
}

.tabRRtext {
font-size: 0.8rem;
}

.limitedQuan {
  font-size: 0.9rem;
}

.currentViews {
text-align: left !important;
  font-size: 0.9rem;
}



}


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

.form-container {
  width: 100%;
}

.introOptions {
display: none;
}

.packageNotation {
position: absolute;
    top: -20px;
    left: 20px;
    border-radius: 4px 4px 0 0;
    background: #c9c9c9;
    font-size: 0.8rem;
    line-height: 0rem;
    color: #0a0a0a;
    font-weight: 400;
    letter-spacing: 0.5px;
    text-transform: uppercase;
	padding: 3px 7px 3px;
}

.packageStar {
        width: 15px;
        height: 15px;
        margin-top: -5px;
        margin-right: 5px;
}


  form {
    min-width: initial;
  }

    .mobileChecks {
    display: contents;
    }

   .desktopChecks {
    display: none;
    }
 
.container {
 padding-right: 0.4rem;
 padding-left: 0.4rem;
}

.container-xxl {
 padding-right: 0.4rem;
 padding-left: 0.4rem;
}

.imageAddon {
    max-height: 130px;
}

.mainLogo {
font-size: 2.0rem;
    margin: 0.4rem;
}

.headerSecure {
max-width: 120px; 
margin: 0.3rem;
}

.additionsPrice {
font-size: 1rem;
margin-left: 0.3rem;
}

.additionsBody {
    line-height: 1.2rem;
}

.additionsHeader {
    font-size: 1.0rem !important;
    font-weight: 500;
margin-bottom: 0.3rem;
}



.FastMailBillPrice {
font-size: 1rem;
}

.cartImage {
    display: none;
}

.payButton {
font-size: 0.7em;
}



}






