#app > div {
    width: 100%;
}
.onlineStore {
    width: 100%;
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
    min-height: calc(100vh - 236px);
    font-weight: 500;
}
.onlineStore a {
    color: #7957d5!important;
}
.showMobile {
    display: none;
}
.b-checkbox.checkbox {
    align-items: flex-start;
}
.b-numberinput p.control {
    width: initial;
}
.message {
    border-radius: 4px;
    padding: 10px 20px;
    display: flex;
    align-items: baseline;
    font-size: 14px;
}
.message > i {
    margin-right: 10px;
}
.message.error-message {
    background-color: #e74c3c;
    color: white;
}
.message.information-message {
    background-color: #7957d5;
    color: white;
}


/* Navbar */
.navbar > .container,
.navbar-brand, .navbar-tabs {
    min-height: initial;
}
.navbar > .container {
    padding: 0px 15px;
}
button.call-to-action-btn.is-primary {
    color:white;
}

/* Top menu */
.top-menu {
    padding: 0px;
    margin: 0px;
}
.top-menu .title {
    text-align: left;
    padding: 30px 0px;
    font-size: 32px;
    cursor: pointer;
}
.top-menu .top-menu-link {
    cursor: pointer;
    font-weight: 700;
}
.top-menu .top-menu-container {
    padding: 30px 0px;
}

.onlineStore .container {
    max-width: 1200px;
}

/* Checkout */
.onlineStore.checkout .checkout-step {
    min-height: 600px;
}
.onlineStore.checkout {
    font-size: 14px;
}
.onlineStore.checkout .column1 {
    background: white;
}
.onlineStore.checkout .column1 .title {
    font-size: 30px;
}
.onlineStore.checkout .column2 {
    background: #f9f9f9;
}
.onlineStore.checkout .column2 > .content {
    max-width: 100%;
}
.onlineStore.checkout .border-right {
    border-right: 1px solid #dbdbdb;
}
.onlineStore.checkout .column1 .content {
    float: right;
    padding: 70px 50px 70px 0px;
    width: 650px;
}
.onlineStore.checkout .column1 .content .checkout-step {
    position: relative
}
.onlineStore.checkout .column1 .content .checkout-step .checkout-step-loader {
    position: absolute;
    text-align: center;
    padding: 60px 0px;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.9);
    z-index: 10;
    line-height: 1.5
}
.onlineStore.checkout .column1 .content .checkout-step .checkout-step-loader i {
    position: absolute;
    font-size: 40px;
    margin-left: -67px;
    margin-top: 28px;
}
.onlineStore.checkout .column1 .content .checkout-step .checkout-step-loader .checkout-step-loader-title {
    font-size: 28px;
    margin-top: 25px
}
.onlineStore.checkout .column1 .content .checkout-step .checkout-step-loader .checkout-step-loader-subtitle {
    font-size: 18px;
}
.onlineStore.checkout .column2 .content {
    float: left;
    width: 450px;
    padding: 70px 0px 70px 30px;
}
.onlineStore.checkout .form-section-title {
    font-size: 17px;
    font-weight: 600;
    padding: 15px 0px;
    line-height: 1.5;
}
.onlineStore.checkout .form-section-subtitle {
    font-size: 15px;
    font-weight: 500;
    padding-bottom: 15px;
    line-height: 1.5;
}
.onlineStore.checkout label.input-label-inside {
    line-height: initial!important;
    margin-left: 9px;
    margin-top: 5px;
    font-size: 12px;
    position: absolute;
    color: #888;
}
.onlineStore.checkout input.input {
    height: 45px;
    padding-top: 21px;
    font-size: 14px;
    background: transparent;
    box-shadow: none;
}
.onlineStore.checkout .select {
    height: 45px;
    font-size: 14px;
    background: transparent;
    box-shadow: none;
}
.onlineStore.checkout .select .vue-simple-suggest.designed .input-wrapper input {
    padding: 21px 7px 2.5px 8px;
    background: transparent;
    font-size: 13px;
}
.onlineStore.checkout .checkbox-label {
    font-size: 14px;
}
.onlineStore.checkout .form-input-box {
    position: relative;
    cursor: pointer;
    border: 1px solid #dbdbdb;
    padding: 16px;
    border-radius: 4px;
    display: flow-root;
    width: 100%;
}
.onlineStore.checkout .group-form-input-box {
    line-height: 1.5;
}

.onlineStore.checkout .group-form-input-box .form-input-box:first-child:not(:last-child) {
    border-radius: 4px 4px 0px 0px;
    border-bottom: none;
}
.onlineStore.checkout .group-form-input-box .form-input-box:not(:first-child),
.onlineStore.checkout .group-form-input-box .form-input-box:not(:last-child) {
    border-radius: 0px;
    border-bottom: none;
}
.onlineStore.checkout .group-form-input-box .form-input-box:last-child:not(:first-child) {
    border-radius: 0px 0px 4px 4px;
    border-bottom: 1px solid #dbdbdb;
}
.onlineStore.checkout .payment-fields {
    background: #f9f9f9;
    padding: 15px;
}
.onlineStore.checkout .payment-fields input.input {
    padding-top: 3px;
    margin-bottom: 10px;
    background: white;
}
.onlineStore.checkout .payment-fields .payment-fields-2-columns {
    display: flex;
}
.onlineStore.checkout .payment-fields .payment-fields-2-columns input {
    margin-bottom: 0px;
}
.onlineStore.checkout .payment-fields .payment-fields-2-columns input:first-child {
    margin-right: 5px;
}
.onlineStore.checkout .payment-fields .payment-fields-2-columns input:last-child {
    margin-left: 5px;
}
.onlineStore.checkout .checkout-cart-container {
    border-bottom: 1px solid #dbdbdb;
    float: left;
    width: 100%;
    padding: 25px 0px;
}
.onlineStore.checkout .checkout-cart-container .product {
    cursor: pointer;
    float: left;
    width: 100%;
    margin-top: 10px;
}
.onlineStore.checkout .checkout-cart-container .product .product-quantity {
    border-radius: 20px;
    width: 20px;
    height: 20px;
    text-align: center;
    background-color: black;
    color: white;
    position: absolute;
    margin-left: 48px;
    margin-top: -8px;
    font-size: 13px;
    z-index: 1;
    line-height: initial;
    padding-top: 1px;
}
.onlineStore.checkout .checkout-cart-container .product .product-name {
    float: left;
    height: 60px;
    line-height: 60px;
    padding-left: 15px;
    width: calc(100% - 180px);
    overflow: hidden;
    word-break: break-all;
}
.onlineStore.checkout .checkout-cart-container .product .product-price {
    float: right;
    line-height: 60px;
    width: 120px;
    text-align: right;
}
.onlineStore.checkout .checkout-cart-container .product .product-currency {
    float: right;
    line-height: 60px;
    width: 120px;
    text-align: right;
}
.onlineStore.checkout .checkout-cart-container .product .product-image {
    width: 60px;
    height: 60px;
    float: left;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    position: relative;
}
.onlineStore.checkout .checkout-cart-container .product .product-image img {
    max-height: 100%;
    max-width: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.onlineStore.checkout .checkout-cart-container .product .product-subscription {
    float: left;
    padding-left: 15px;
    width: calc(100% - 180px);
    overflow: hidden;
}
.onlineStore.checkout .checkout-cart-container .product .product-subscription-name {
    width: 100%;
    height: 20px;
    overflow: hidden;
    word-break: break-all;
    line-height: initial;
}
.onlineStore.checkout .checkout-cart-container .product .product-subscription-trial {
    line-height: 18px;
    padding-top: 5px;
    font-size: 12px;
}

.onlineStore.checkout .checkout-cart-totals {
    border-bottom: 1px solid #dbdbdb;
    float: left;
    width: 100%;
    padding: 16px 0px;
}
.onlineStore.checkout .checkout-cart-totals .checkout-cart-totals-line {
    float: left;
    width: 100%;
    padding: 4px 0px;
    line-height: initial;
}
.onlineStore.checkout .checkout-cart-totals .checkout-cart-totals-line .checkout-cart-subtotal .checkout-cart-discount-label {
    padding: 5px 10px;
    background: #e8e8e8;
    display: inline-table;
    border-radius: 4px;
    font-size: 12px;
    margin-left: 10px;
}
.onlineStore.checkout .checkout-cart-totals .checkout-cart-totals-line .checkout-cart-subtotal {
    float: left;
}
.onlineStore.checkout .checkout-cart-totals .checkout-cart-totals-line .checkout-cart-subtotal-currency {
    float: right;
}
.onlineStore.checkout .checkout-cart-totals .checkout-cart-discount {
    display: flex;
    width: 100%;
    padding: 4px 0px;
}
.onlineStore.checkout .checkout-cart-totals .checkout-cart-discount .checkout-cart-discount-input-container {
    width: 100%;
    margin-right: 10px;
}
.onlineStore.checkout .checkout-cart-totals .checkout-cart-discount .checkout-cart-discount-input-container input {
    height: 36px;
    background: white;
    padding-top: 4px;
}
.onlineStore.checkout .checkout-cart-total-container {
    float: left;
    width: 100%;
    padding: 15px 0px 130px 0px;
}
.onlineStore.checkout .checkout-cart-total-container .checkout-cart-total {
    float: left; line-height: 36px; font-size: 17px;
}
.onlineStore.checkout .checkout-cart-total-container .checkout-cart-currency {
    float: right; font-size: 24px; font-weight: 700; line-height: initial;
}
.onlineStore.checkout .checkout-cart-total-container .checkout-cart-currency span {
    font-size: 18px
}



/* Cart */
.onlineStore.cart > .container {
    padding-top: 60px;
    padding-bottom: 60px;
}
.onlineStore.cart .cart-title {
    font-size: 30px;
    line-height: 1.5;
}
.onlineStore.cart table.cart-table {
    width: 100%;
}
.onlineStore.cart table.cart-table > thead > tr {
    border-bottom: 1px solid #dbdbdb;
}
.onlineStore.cart table.cart-table > thead > tr > td.column-price,
.onlineStore.cart table.cart-table > thead > tr > td.column-total {
    min-width: 150px;
    text-align: right;
}
.onlineStore.cart table.cart-table > tbody > tr > td {
    padding-top: 30px!important;
    padding-bottom: 0px!important;
}
.onlineStore.cart table.cart-table > tbody > tr:last-child > td {
    padding-bottom: 30px!important;
}
.onlineStore.cart table.cart-table > thead > tr > td:first-child,
.onlineStore.cart table.cart-table > tbody > tr > td:first-child {
    padding-left: 0px!important;
}
.onlineStore.cart table.cart-table > thead > tr > td:last-child,
.onlineStore.cart table.cart-table > tbody > tr > td:last-child {
    padding-right: 0px!important;
}
.onlineStore.cart table.cart-table tr:last-child {
    border-bottom: 1px solid #dbdbdb;
}
.onlineStore.cart .cart-product-line {
    line-height: 96px;
}
.onlineStore.cart .cart-product-image-container {
    float:left;
    height: 96px;
    width: 96px;
    max-width: 100%;
    max-height: 100%;
    border: 1px solid #e0e0e0;
    position: relative;
}
.onlineStore.cart .cart-product-image-container > img {
    max-height: 100%;
    max-width: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.onlineStore.cart .cart-product-name {
    float:left;
    padding-left: 30px;
    cursor: pointer;
    width: calc(100% - 96px);
    height: 96px;
    max-height: 96px;
    line-height: initial;
    overflow: hidden;
    word-break: break-all;
}
.onlineStore.cart td.cart-product-currency {
    width: 150px;
    text-align: right;
}
.onlineStore.cart td.cart-product-quantity {
    width: 190px;
}
.onlineStore.cart .cart-total {
    text-align: right;
    padding: 50px 0px 20px 0px;
    line-height: 1.5;
}
.onlineStore.cart .cart-total .cart-total-text {
    font-size: 14px;
    padding-top: 15px;
}
.onlineStore.cart .cart-checkout-button {
    text-align: right;
}
.onlineStore.cart .cart-product-trial {
    line-height: 18px;
    padding-top: 5px;
    font-size: 14px;
}
.onlineStore.cart .cart-product-name-no-subscription {
    line-height: 96px
}
.onlineStore.cart button.button-remove-product-from-cart {
    right: 15px;
}
.onlineStore.cart .input-product-quantity {
    width: 70px;
    margin-top: 15px;
}
.onlineStore.cart .empty-cart {
    line-height: 1.5;
}

/* Products */
.onlineStore.products .products-list {
    height: 100%;
    max-width: 1200px;
    margin: 0 auto!important;
    padding: 40px 0px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    grid-auto-rows: minmax(100px, auto);
}
.onlineStore.products .product-container {
    position: relative;
    cursor: pointer;
}
.onlineStore.products .product-container:after {
    content: "";
    display: block;
    padding-bottom: 100%;
}
.onlineStore.products .product-container .product {
    position: absolute;
    width: 100%;
    height: 100%;
}
.onlineStore.products .product-container .product .product-data {
    position: absolute;
    bottom: 0px;
    background: white;
    width: 100%;
}
.onlineStore.products .product-name {
    font-weight: 700;
    margin-top: 5px;
    height: 24px;
    overflow: hidden;
    line-height: initial;
}
.onlineStore.products .product-name > span {
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: inline-block;
}
.onlineStore.products .product-price {
    font-weight: 400;
    font-size: 15px;
    line-height: 1.5;
}
.onlineStore.products .product-compare-at-price {
    margin-left: 5px;
    font-size: 15px;
    text-decoration: line-through;
    color: #b52b31;
}
.onlineStore.products .product-discount {
    margin-left: 5px;
    font-size: 15px;
    color: #b52b31;
}
.onlineStore.products .product-image-container {
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(100% - 60px);
    background: #f8f8f8;
}
.onlineStore.products .product-image {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 100%;
}
.onlineStore.products .no-products {
    padding: 30px;
    text-align: center
}

/* Product */
.onlineStore.product .column.is-7 {
    padding-left: 0px
}
.onlineStore.product .column.is-5 {
    padding-left: 30px;
    padding-right: 0px;
    line-height: 1.5;
}
.onlineStore.product .container {
    max-width: 1000px;
    font-weight: 400!important;
}
.onlineStore.product .container a > i {
    margin-right: 5px;
}
.onlineStore.product .container .columns {
    height: 100%;
    max-width: 1000px;
    margin: 0 auto!important;
    padding: 40px 0px;
}
.onlineStore.product .product-name {
    font-size: 38px;
    margin: 15px 0px;
}
.onlineStore.product .product-subscription {
    font-size: 16px;
    margin-bottom: 15px;
}
.onlineStore.product .product-price {
    font-size: 18px;
}
.onlineStore.product .product-compare-at-price {
    font-size: 16px;
    text-decoration: line-through;
    color: #b52b31;
}
.onlineStore.product .product-discount {
    font-size: 14px;
    color: #b52b31;
}
.onlineStore.product .product-taxes {
    font-size: 12px;
}
.onlineStore.product .product-quantity {
    margin-top: 20px;
    margin-bottom: 30px;
    width: 150px;
}
.onlineStore.product .product-description {
    font-size: 16px;
    padding: 25px 0px;
}
.onlineStore.product .product-description > ul {
    display: block;
    list-style-type: disc;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 40px;
}

.onlineStore.product .button-out-of-stock {
    cursor: not-allowed!important;
}

.checkout-step.delivery .resume-container {
    margin-top: 15px;
    margin-bottom: 20px;
}
.checkout-step.delivery .deliveries-container {
    margin-bottom: 20px;
    line-height: 21px;
}
.checkout-step.delivery .delivery-container .delivery-name {
    float: left;
    padding-top: 2px;
    height: 20px;
}
.checkout-step.delivery .delivery-container .delivery-delay {
    font-size: 13px;
    color: #888;
}

.checkout-step.informations .field > .control {
    font-size: 14px;
}

.checkout-step.payment .provider-icon-stripe {
    position: absolute;
    right: 15px;
    top: 9px;
    font-size: 24px;
}
.checkout-step.payment .provider-icon-paypal {
    position: absolute;
    right: 15px;
    top: 9px;
    font-size: 24px;
}
.checkout-step.payment .provider-selector {
    float: left;
    padding-top: 2px;
    height: 20px;
}
.checkout-step.payment .form-input-box-content {
    float: left;
    padding-top: 2px;
    height: 20px;
}




.checkout-step.thank-you {
    line-height: 1.5;
}
.checkout-step.thank-you .order-thank-you {
    display: flex;
    margin: 20px 0px;
}
.checkout-step.thank-you .order-thank-you i {
    font-size: 58px;
}
.checkout-step.thank-you .order-thank-you .order-number {
    font-size: 14px;
}
.checkout-step.thank-you .order-thank-you .order-message {
    font-size: 25px;
}
.checkout-step.thank-you .order-confirmation {
    padding: 20px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
}
.checkout-step.thank-you .order-confirmation-title {
    font-size: 22px;
}
.checkout-step.thank-you .order-confirmation-message {
    font-size: 14px;
}
.checkout-step.thank-you .order-confirmation-informations {
    margin-top:20px;
    padding: 20px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
}
.checkout-step.thank-you .button-back-to-shopping {
    padding: 30px 0px;
    text-align: right;
}
.checkout-step.thank-you .order-confirmation-informations table.bank-transfer-infos tr td:first-child {
    font-weight: 700;
}
.checkout-step.thank-you .order-confirmation-informations table.bank-transfer-infos tr td {
    padding: 10px 0px!important;
}
.checkout-step.thank-you .order-confirmation-informations table.bank-transfer-infos tr:last-child td {
    border: none;
}

.onlineStore .checkout-timeline {
    padding: 10px 0px;
    font-size: 13px;
}


.vue-simple-suggest.designed .suggestions .suggest-item, .vue-simple-suggest.designed .suggestions .misc-item {
    line-height: 1.5;
}


/* Responsive */
@media screen and (min-width: 1024px) {
    .navbar {
        min-height: initial;
    }
    .navbar > .container .navbar-brand, .container > .navbar .navbar-brand {
        margin-left: 0px;
    }
}

@media (max-width: 1263px) {
    .onlineStore.checkout .border-right {
        border-bottom: 1px solid #dbdbdb;
    }
    .onlineStore.checkout .column1 .content {
        width: 100%;
        float: initial;
        padding: 40px 20px;
        border-right: none;
    }
    .onlineStore.checkout .column2 .content {
        width: 100%;
        float: initial;
        padding: 30px 20px;
    }
}

@media (max-width: 768px) {
    .hideMobile {
        display: none;
    }
    .showMobile {
        display: block;
    }
    .error-message {
        position: fixed;
        top: 0px;
        border-radius: 0px;
        left: 0;
    }
    div.container {
        padding: 10px!important;
    }
    .footer {
        max-height: initial!important;
    }

    .cart-checkout-button {
        position: fixed;
        text-align: right;
        bottom: 0px;
        left: 0px;
        width: 100%;
        background: white;
        padding: 20px;
        z-index: 100;
        border-top: 1px solid #dbdbdb;
    }
    .cart-checkout-button > button {
        width: 100%;
    }
    .cart-checkout-button > button:not(:last-child) {
        margin-bottom: 10px;
    }

    .onlineStore.checkout .border-right {
        border-right: none!important;
    }
    .onlineStore.checkout.columns .column1,
    .onlineStore.checkout.columns .column2 {
        float: left;
        width: 100%;
    }
    .onlineStore.checkout.columns .column2 {
        padding-bottom: 40px;
    }
    .onlineStore.checkout.columns {
        background: #f9f9f9;
    }
    .onlineStore.checkout .checkout-step {
        min-height: initial;
    }

    .onlineStore.products .products-list {
        grid-template-columns: repeat(2, 1fr);
    }

    .onlineStore.product .column.is-7, .onlineStore.product .column.is-5 {
        padding-left: initial!important;
        padding-right: initial!important;
    }
    .onlineStore.product .columns {
        padding: 0px 10px!important;
    }

    .onlineStore.cart .cart-product-line {
        line-height: initial;
    }
    .onlineStore.cart .cart-product-name {
        padding-left: 15px;
    }
    .onlineStore.cart .cart-product-currency {
        padding-right: 0px!important;
    }
    .onlineStore.cart .cart-product {
        padding-right: 0px!important;
    }
}

@media (max-width: 550px) {
    .onlineStore.products .products-list {
        grid-template-columns: repeat(1, 1fr);
    }
}

.pt-30 {
    padding-top: 30px;
}
.pr-20 {
    padding-right: 20px
}
.mr-10 {
    margin-right: 10px;
}
.mt-15 {
    margin-top: 15px;
}
.mb-5 {
    margin-bottom: 5px!important;
}
.mb-10 {
    margin-bottom: 10px;
}
.mb-20 {
    margin-bottom: 20px;
}
.mb-40 {
    margin-bottom: 40px;
}
.text-right {
    text-align: right;
}
