﻿/* ---------------- Slim checkout - Header and Footer -------------------------- */

.ch_verisign_right {
    float: right;
    margin-top: -10px;
}

/*.copyright-box .footer-verisign {
    margin-top: -12px;
    margin-right: 8px;
    width: 100px;
    height: 50px;
    float: right;
}*/

a {
    color: inherit;
}

.checkoutDottedStyle {
    position: relative;
    width: 850px;
    float: left;
    overflow: hidden;
}

    .checkoutDottedStyle ul {
        width: 600px;
        margin: 0 auto;
        position: relative;
        overflow: hidden;
    }

    .checkoutDottedStyle.new-checkout ul {
        width: 720px;
        margin-right: 0px;
    }

    .checkoutDottedStyle ul:after {
        display: block;
        position: absolute;
        width: 110%;
        left: -30px;
        content: '';
        border-bottom: 1px #dddddd solid;
        top: 21px;
    }

    .checkoutDottedStyle ul li {
        float: left;
        width: 33%;
        padding: 0 10px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        color: #dddddd;
        position: relative;
        z-index: 3;
    }

    .checkoutDottedStyle.new-checkout ul li {
        width: 25%;
    }

    .checkoutDottedStyle ul li.active-link, .checkoutDottedStyle ul li.active-link span {
        color: #cf207e;
    }

        .checkoutDottedStyle ul li.active-link .step-icon {
            background: #cf207e;
            color: #fff;
        }


    .checkoutDottedStyle li.inactive-link * {
        cursor: default;
    }

    .checkoutDottedStyle ul li .step-icon {
        display: block;
        background: #dddddd;
        color: #fff;
        float: left;
        width: 40px;
        height: 40px;
        line-height: 40px;
        text-align: center;
        -webkit-border-radius: 100%;
        -moz-border-radius: 100%;
        border-radius: 100%;
    }

    .checkoutDottedStyle ul li .step-text-box {
        display: block;
        color: #dddddd;
        float: left;
        line-height: 20px;
        padding: 10px 5px;
        background: #fff;
    }

    .checkoutDottedStyle ul li .next_arrow {
        position: absolute;
        right: 10px;
        font-size: 22px;
        top: 4px;
        display: none;
    }

    .checkoutDottedStyle.new-checkout ul li.active-link {
        color: #ada9a8;
    }

        .checkoutDottedStyle.new-checkout ul li.active-link .step-icon {
            background: #ada9a8;
        }

    .checkoutDottedStyle.new-checkout ul li .step-text-box {
        color: #ada9a8;
    }

@media screen and (max-width: 320px) {
    .checkoutDottedStyle {
        display: none;
    }
}



/* Footer Copyright Box */
.copyright-box {
    padding: 20px 0;
}

    .copyright-box .footer-logo {
        width: 110px;
        float: left;
    }

    .copyright-box p {
        line-height: 30px;
    }



/* ---------------- Slim checkout - views ---------------------- */

.back-button-arrow {
    z-index: 1; /* Ensure button overprints the invisible Braintree container, so it picks up mouse clicks */
}

@media screen and (min-width: 601px) and (max-width: 767px) {
    .back-button-arrow {
        padding-left: 32px; /* fixup back-button on payment page because it was dancing around */
    }
}

#slimcheckout-container {
    /*margin-left: 0px !important;*/ /* align page container with the header and footer. */
    /*margin-right: 0px !important;*/
    margin: 0;
}

.slim-section {
    margin-top: 8px;
    margin-bottom: 8px;
    /*max-width: 480px;       /* order boxes - not too wide */
}

    .slim-section .card {
        width: 100%;
    }

#payment-dialog,
#payment-error,
#payment-validation,
#payment-buttons {
    max-width: 510px; /* +30 to match the other slim-sections */
    margin: 0 auto;
}

#payment-form .order_summary_price {
    max-width: 510px; /* same width as other parts of the payment form */
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
}

#billing-model-address {
    margin-top: 18px; /* vertical gap between checkbox and Billing Address  nn hai tmpo tro sonn */
}

.validation-summary-errors {
    display: block;
}

.shipping-methods *,
#payment-terms *,
.slider-checkbox-container *,
#save-my-details * {
    user-select: none; /* user-select was interfering with clicking on the labels. 6e3 vado */
}

input[type="submit"],
input[type="button"],
button {
    cursor: pointer; /* consistent hand mouse-pointers on all buttons */
}

    input[type="submit"][disabled],
    input[type="button"][disabled],
    button[disabled] {
        cursor: not-allowed; /* "stop" mouse-pointer on disabled buttons */
    }

.wait-cursor {
    cursor: wait !important; /* waiting mouse-pointer */
}


/* ------------- Addressy - cloned search textbox ----------------- */

.search-textbox-addressy {
    z-index: 2; /* duplicate search textbox, positioned on top of the original */
}

.search-textbox-addressy-orig {
    opacity: 0; /* original search textbox, occupies space but not humanly visible */
}

.search-textbox-addressy-placeholder {
    margin-left: 8px; /* Move "Start typing your address" rightwards, to the left of the cursor */
}

    .search-textbox-addressy-placeholder.labelanima {
        margin-left: 0px;
    }

/* ------------- Braintree payment control -------------*/
.braintree-dropin {
    width: 100%; /* force Braintree card confirmation width to match everything else */
}


/* ------------- Order Summary box - START css ------------------- */

#order-summary .card-body {
    padding: 0px;
}

#order-summary h5 {
    margin-left: 4px;
}

.order_summary_items table {
    width: 100%;
    border: none;
    border-color: none;
    border-collapse: collapse;
}

.order_summary_items table,
.order_summary_items th,
.order_summary_items td,
.order_summary_items tbody {
    border: none;
    border-color: none;
}

    .order_summary_items th:nth-child(1) {
        width: 64px;
    }

    .order_summary_items th:nth-child(2) {
    }

    .order_summary_items th:nth-child(3) {
        width: 102px; /* enough space for 4 figures + 2 decimal places (so width does not expand/contract when the Shipping cost changes) */
    }

.order_summary_items td {
    margin: 5px 0px;
}

.order_summary_items .summary_items td:nth-child(1) /* product image column */ {
    padding-left: 20px;
    width: 80px;
    min-width: 80px;
}

.order_summary_items .summary_items td:nth-child(2) /* product description column */ {
    padding-left: 12px;
    padding-right: 0px;
    padding-top: 15px;
    padding-bottom: 15px;
    line-height: 1.2em;
    text-align: left;
}

.order_summary_items .summary_items td:nth-child(3) /* price column */ {
    line-height: 1.2em;
    text-align: right;
    padding-right: 20px;
}

.order_summary_items .summary_total td /* total row */ {
    margin: 5px 0px;
    background: #fff;
    padding: 15px 20px;
}

.order_summary_items td.price-column {
    padding-left: 0px !important; /* no left padding for prices (enough spacing already) */
}


.order_summary_items td {
    background: #ffffff;
}

.order_summary_items .product-description {
    overflow-wrap: break-word;
    word-wrap: break-word;
}

    .order_summary_items .product-description .ordered-product-name {
        font-weight: bold;
        color: #9d1f74; /* same colour as the printerpix logo */
    }

        .order_summary_items .product-description .ordered-product-name::first-letter {
            text-transform: capitalize; /* First letter of product name should be upper-case */
        }

    .order_summary_items .product-description .project-name {
    }

    .order_summary_items .product-description .ordered-quantity {
        font-size: smaller;
    }


/* --------- Order summary - subtotal, discount and shipping costs ------- */

.order_summary_items .summary_price .row-separator td {
    height: 1px;
    padding: 0px 20px;
}

.order_summary_items .summary_price .row-separator hr {
    margin: 0px;
}

.order_summary_items .summary_price .row-separator:first-child td {
    padding-bottom: 10px;
}

.order_summary_items .summary_price .row-separator:last-child td {
    padding-top: 10px;
}

.order_summary_items .summary_price td {
    padding: 5px 20px;
}

    .order_summary_items .summary_price td:nth-child(1) {
        text-align: left;
    }

    .order_summary_items .summary_price td:nth-child(2) {
        text-align: right;
    }

/* ---------------- Order summary - Total to pay --------------- */

.summary_total td {
    font-size: larger; /* Only slightly larger font for TOTAL price */
    text-align: left;
}

    .summary_total td:nth-child(2) {
        text-align: right;
    }


/* ---------------- Order summary - Validation ------------- */

@media (max-width: 480px) {
    .order-summary-validation {
        padding-left: 4px;
    }
}

@media (min-width: 481px) {
    .order-summary-validation {
        padding-left: 0px;
    }
}


/* --------------- Payment page - Total ---------------- */

.order_summary_price {
    margin: 0px;
}

    .order_summary_price table {
        width: 100%;
    }

    .order_summary_price th:nth-child(1) {
        width: 80%;
    }

    .order_summary_price th:nth-child(2) {
        width: 20%;
    }

    .order_summary_price td {
        margin: 5px 0px;
        background: #fff;
        padding: 15px 20px;
    }


/* ------------- Order Summary box - END ------------------- */

.jumbotron {
    padding: 10px 0;
}

.form-group {
    margin-bottom: 0;
}




.controller_checkoutslim h5 {
    font-weight: bold;
    margin: 0px 18px 15px;
}



/* --------------- SliderCheckbox.cshtml - START ---------------------- */

.switch {
    position: relative;
    display: inline-block;
    width: 46px;
    height: 26px;
    margin: 16px 0px 0px 16px;
    vertical-align: middle;
}

.slider-checkbox-container .slider-checkbox-label {
    position: relative;
    top: 7px;
    right: -7px;
    font-size: 85%;
}

.switch input {
    display: none;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #cccccc;
    transition: .4s;
}

    .slider:before {
        position: absolute;
        content: "";
        height: 20px;
        width: 20px;
        left: 3px;
        bottom: 3px;
        background-color: white;
        transition: .4s;
        transform: translateX(0px); /* unchecked - move white circle away from the label */
    }

/* include generated hidden field here */
input[type="checkbox"]:checked + input[type="hidden"] + .slider,
input[type="checkbox"]:checked + .slider {
    background-color: #00cc00;
}

/* include generated hidden field here */
input[type="checkbox"]:focus + input[type="hidden"] + .slider,
input[type="checkbox"]:focus + .slider {
    box-shadow: 0 0 1px #2196F3;
}

/* include generated hidden field here */
input[type="checkbox"]:checked + input[type="hidden"] + .slider:before,
input[type="checkbox"]:checked + .slider:before {
    transform: translateX(20px); /* checked - move white circle towards the label */
}

/* Rounded sliders */
.slider.round {
    border-radius: 26px;
}

    .slider.round:before {
        border-radius: 50%;
    }

/* --------------- SliderCheckbox.cshtml - END ---------------------- */


.form-check input[type="radio"].form-check-input {
    top: -3px; /* Move checkbox upwards, better aligned with the text labels */
    padding-right: 2px;
}



input[type=text]:focus, input[type=text]:valid, input:valid, input:focus {
    box-shadow: none;
    outline: none;
}




.input-validation-error {
    /*background: none !important;   Removed because it was removing the background for invalid fields - no idea why that would be a good thing. */
}







input[type=text]::-webkit-input-placeholder,
input[type=email]::-webkit-input-placeholder,
input[type=password]::-webkit-input-placeholder {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    color: #cccccc;
    top: 0;
    left: 0;
    font-size: 14px;
    display: block;
    opacity: 1;
}



/*input[type=text]:focus::-webkit-input-placeholder,
input[type=email]:focus::-webkit-input-placeholder,
input[type=password]::-webkit-input-placeholder {
    color: #d54594;
    font-size: 11px;
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
    visibility: visible !important;
}*/

.row #next {
    margin: 10px 0;
}




/*--- Floating labels ---*/

#ShippingModel_AddressId_Slim fieldset,
#BillingModel_AddressId_Slim fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

#ShippingModel_AddressId_Slim .form-css-label,
#BillingModel_AddressId_Slim .form-css-label {
    position: relative;
}


fieldset input {
    display: block;
    width: 100%;
    height: 50px;
    padding: 12px 8px;
    font-size: 15px; /* inputs - font size */
    color: #000;
    font-weight: 400;
    outline: 0;
}

#ShippingModel_AddressSearch,
#BillingModel_AddressSearch {
    height: 60px;
    margin: 0;
    top: -5px;
    left: 5px;
    z-index: 1;
}

.input-group-btn {
    z-index: 100000;
}


input.form-control.form-group {
    font-size: 15px; /* inputs - font size */
    color: #000;
    padding: 10px 8px 14px;
    height: 50px;
}

.labelanima {
    color: #da0a7b !important;
    font-size: 11px !important;
    transform: translate3d(0, -13px, 0) !important;
    -webkit-transform: translate3d(0, -13px, 0) !important;
}

#ShippingModel_AddressId_Slim fieldset label,
#BillingModel_AddressId_Slim fieldset label,
#ShippingModel_AddressSearch label,
#BillingModel_AddressSearch label,
#ShippingModel_AddressId_Slim .group .form-css-label #ShippingModel_Street2:valid + label,
#BillingModel_AddressId_Slim .group .form-css-label #BillingModel_Street2:valid + label,
#ShippingModel_AddressSearch:empty + label,
#BillingModel_AddressSearch:empty + label {
    position: absolute;
    top: 17px;
    left: 8px;
    font-size: 14px;
    color: #cccccc;
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    transition: color .3s ease, font-size .3s ease, padding .3s ease;
    pointer-events: none;
}

#ShippingModel_AddressId_Slim .form-css-label input[data-empty="false"],
#ShippingModel_AddressId_Slim .form-css-label input:valid,
#ShippingModel_AddressId_Slim .form-css-label input:focus,
#BillingModel_AddressId_Slim .form-css-label input[data-empty="false"],
#BillingModel_AddressId_Slim .form-css-label input:valid,
#BillingModel_AddressId_Slim .form-css-label input:focus,
#ShippingModel_AddressSearch,
#BillingModel_AddressSearch {
    padding: 12px 8px 10px;
}

#ShippingModel_AddressId_Slim .form-css-label input:focus,
#BillingModel_AddressId_Slim .form-css-label input:focus {
    outline: 0;
    background: rgba(255, 255, 255, 1);
}

    #ShippingModel_AddressId_Slim .form-css-label input[data-empty="false"] + label,
    #ShippingModel_AddressId_Slim .form-css-label input:valid + label,
    #ShippingModel_AddressId_Slim .form-css-label input:focus + label,
    #BillingModel_AddressId_Slim .form-css-label input[data-empty="false"] + label,
    #BillingModel_AddressId_Slim .form-css-label input:focus + label,
    #BillingModel_AddressId_Slim .form-css-label input:valid + label,
    #ShippingModel_AddressSearch:focus + label,
    #BillingModel_AddressSearch:focus + label {
        color: #da0a7b;
        font-size: 11px;
        transform: translate3d(0, -13px, 0);
        -webkit-transform: translate3d(0, -13px, 0);
    }


/*--- End Floating labels ---*/

/*@media (min-width: 768px) {
    .address-edit-area .col-md-12 {
        flex: 0 0 50% !important;
        max-width: 47% !important;
        padding: 0;
        position: relative;
        right: -16px;
        float: left;
        z-index: 1;
    }
}*/

.address-edit-area select {
    padding-left: 5px; /* align dropdowns with textboxes */
    font-size: 15px; /* inputs - font size */
    color: #000;
}

.shipping-methods {
    background: #ffffff;
    padding: 15px 10px;
    border-radius: 5px;
}

.card-body {
    padding: 0 1.25rem;
}

#order-shipping-method {
    margin-top: 20px;
}

    #order-shipping-method .card-body {
        margin-top: 20px;
        margin-left: -2px;
    }

.text-danger {
    color: #dc3545 !important;
    display: inline-block;
    position: relative;
    clear: both;
    width: 100%;
}

.field-validation-error {
    color: #b94a48;
    border: solid 1px;
    background: #efd5d5;
    padding: 10px;
}

.controller_checkoutslim label.error, p.error {
    padding: 10px;
    color: #b94a48;
    border: solid 1px;
    background: #efd5d5;
    clear: both;
    width: 100%;
    padding: 10px !important;
}


.controller_checkoutslim .col-md-6 {
    float: left;
    flex: none;
}



@media (max-width:600px) {
    .text-danger {
        display: block;
    }

    .jumbotron, .col-md-12 .col-xs-12 {
        padding: 0 10px;
    }

    .deliverToBill {
        top: 7px;
        padding: 7px 0px 0px 5px; /* Align label to the right of Billing address slider. */
    }

    #payment-buttons div {
        margin: 0 auto 20px;
        text-align: center;
    }
}

#order-summary table, #order-summary .col-md-12 {
    margin: 0 auto;
}

#save-my-details {
    float: left; /* Save my details - to track my order */
    margin-top: 16px !important;
}

    #save-my-details label {
        margin-left: 8px;
    }

/* ---------------- Layout for checkout pages -------------------------- */
.checkoutDottedStyle {
    position: relative;
    width: 850px;
    float: left;
    overflow: hidden;
}

    .checkoutDottedStyle ul {
        width: 600px;
        margin: 0 auto;
        position: relative;
        overflow: hidden;
    }

        .checkoutDottedStyle ul:after {
            display: block;
            position: absolute;
            width: 110%;
            left: -30px;
            content: '';
            border-bottom: 1px #dddddd solid;
            top: 21px;
        }

        .checkoutDottedStyle ul li {
            float: left;
            width: 33%;
            padding: 0 10px;
            -webkit-box-sizing: border-box;
            -moz-box-sizing: border-box;
            box-sizing: border-box;
            color: #dddddd;
            position: relative;
            z-index: 3;
        }

            .checkoutDottedStyle ul li.active-link, .checkoutDottedStyle ul li.active-link span {
                color: #cf207e;
            }

                .checkoutDottedStyle ul li.active-link .step-icon {
                    background: #cf207e;
                    color: #fff;
                }

            .checkoutDottedStyle ul li .step-icon {
                display: block;
                background: #dddddd;
                color: #fff;
                float: left;
                width: 40px;
                height: 40px;
                line-height: 40px;
                text-align: center;
                -webkit-border-radius: 100%;
                -moz-border-radius: 100%;
                border-radius: 100%;
            }

            .checkoutDottedStyle ul li .step-text-box {
                display: block;
                color: #dddddd;
                float: left;
                line-height: 20px;
                padding: 10px 5px;
                background: #fff;
            }

            .checkoutDottedStyle ul li .next_arrow {
                position: absolute;
                right: 10px;
                font-size: 22px;
                top: 4px;
                display: none;
            }

.flip-h {
    transform: scale(-1, 1);
}


/* Footer Copyright Box */
.copyright-box {
    padding: 20px 0;
}

    .copyright-box .footer-logo {
        width: 110px;
        float: left;
    }

    .copyright-box p {
        line-height: 30px;
    }



.login_page h3 {
    font-weight: bold;
    font-size: 20px;
    padding: 10px 0 30px;
}

.login_page ul li {
    padding: 20px 0;
}


.login_page input[type=email], .login_page input[type=text], .login_page input[type=password] {
    height: 33px;
    padding: 5px;
    border: none;
    margin: 10px 0;
    background: #ffffff;
    width: 100%;
}

.login_page ul li label {
    padding-left: 10px;
}


.login_page .terms {
    font-size: 75%;
    margin: 5px 0;
}

.login_page .pp_select-box, .login_page #div_ProceedAsGuest {
    padding: 15px 5px;
}

.login_page h2 {
    font-weight: bold;
    font-size: 16px;
    padding: 10px 0;
}



.login_page .forgot a, .register a, .register a:hover {
    color: #da0a7b;
}

.login-button-container {
    position: relative;
    clear: both; /* Prevent this container from invisibly overlapping the button above it, making it unclickable  */
}

.fa-lock {
    position: absolute;
}




.login_page .social_login {
    width: auto !important;
    float: none !important;
    clear: both !important;
}


.login_page .lg_largeButton {
    width: 100% !important;
}

.login_page .new-account {
    padding: 35px 0;
}


    .login_page .new-account .login-button-container {
        padding: 32px 0;
    }

/* LoginMethods.cshtml - align buttons horizontally for desktop */
@media (min-width: 577px) {
    .login_page .new-account .login-button-container {
        padding: 0 0;
    }

    .login_page .new-account {
        margin-top: 74px;
    }

        .login_page .new-account .or-separator {
            margin-top: 24px;
            margin-bottom: 30px;
        }
}


.login_page .slider-checkbox-container {
    float: right;
}

.login_page .col-md-6 {
    padding: 10px 20px;
}

.register .col-md-6 {
    padding: 30px 10px;
}

.login_page .new-account input {
    width: 100%;
}



@media (max-width: 768px) {
    .login_page ul li {
        padding: 10px 0;
    }

    .login_page ul {
        padding: 0;
        margin: 0;
    }

    .login_page .pp_select-box, .login_page #div_ProceedAsGuest {
        padding: 15px 0;
    }
}



@media (max-width: 576px) {

    .login_page .new-account .login-button-container {
        padding: 0;
    }
}




#create-acc {
    color: #da0a7b !important;
    background: #ffffff !important;
    border: solid 1px #da0a7b !important;
}

.controller_account, .controller_account .pp_container {
    background: none !important;
}


#terms-label {
    font-size: 70%;
    position: relative;
    top: 0px;
}

.sign-up {
    padding: 14px 0;
    background: #ffffff;
    border: 1px #eee solid;
    border-radius: 5px;
    position: relative;
    top: -10px;
}


#signTemplate.close, #registerTemplate.close {
    top: 99vh;
    height: 0;
    z-index: 20000000000;
    opacity: 0;
}

/*#addressTemplate {
    display: flex;
    margin-bottom: 180px;
}*/

html, body {
    height: 100%;
}


#signTemplate .login-button-container, #registerTemplate .login-button-container {
    position: static;
}


#signTemplate, #registerTemplate {
    position: absolute;
    top: -80px;
    overflow: hidden;
    transition: all 1s;
    z-index: 200000;
    right: 0;
    opacity: 1000;
    background: none;
    height: 100vh;
    width: 100vw;
    margin: 0;
    padding: 0;
    align-items: stretch;
}

@media (max-width: 768px) {
    .sign-up {
        top: 0;
    }

    #signTemplate, #registerTemplate {
        background: #e9ecef !important;
        top: 0px;
        position: fixed;
    }
}

#signTemplate .jumbotron, #registerTemplate .jumbotron {
    min-height: 500px;
}


#triggerSign, #closeLogin {
    padding: 0 10px;
    cursor: pointer;
}

.backSign {
    /* Back arrow, top-left of Addresses page */
    padding: 0 16px;
    cursor: pointer;
    color: #AAA;
    float: left;
}

.small-card {
    padding: 0 26px;
    cursor: pointer;
}



#save-my-details label {
    font-size: 85%;
}

#signTemplate hr {
    width: 20px;
    margin: 0 auto;
    margin: 0 auto;
    color: #444;
    position: relative;
    top: -15px;
}

.login_page.forgot h3 {
    padding-left: 25px;
}

.login_page {
    background: none !important;
}


@media screen and (max-width: 767px) {
    .slim-section h5 {
        margin: 5px 10px 10px;
    }
}

@media screen and (max-width: 600px) {
    .container.jumbotron {
        padding: 10px 15px;
    }

    .slim-section h5 {
        margin: 10px;
    }

    .switch {
        margin: 15px 0 0 0;
    }

    .card-body {
        padding: 0 10px;
    }

    #save-my-details {
        margin-top: 15px !important;
        margin-bottom: 15px !important;
    }

    .shipping-methods {
        padding: 15px 10px 5px;
    }
}

@media screen and (max-width: 480px) {
    .register .col-md-6 {
        padding: 20px 10px;
    }

    .login_page h3 {
        padding: 0;
    }


    .container.jumbotron {
        padding: 5px;
    }

    div#addressTemplate.col-md-12 {
        padding: 0 10px;
    }

    .order_summary_wrapper {
        padding: 0 5px;
    }

    .order_summary_items td {
        line-height: 1.2em;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .summary_total td {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    #order-summary .col-md-12 {
        margin: 0;
    }
}

@media screen and (max-width: 414px) {
    .container.jumbotron {
        padding: 5px;
    }

    div#addressTemplate.col-md-12 {
        padding: 0 10px;
    }

    form#form1.col-12 {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .slim-section h5 {
        margin: 5px 10px 10px;
    }

    .order_summary_wrapper {
        padding: 0 5px;
    }

    .order_summary_items td {
        line-height: 1.2em;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .summary_total td {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    #order-summary .col-md-12 {
        margin: 0;
    }
}

.addInput {
    width: 100%;
}

.address-field label {
    position: absolute;
    z-index: 10000; /* must be underneath #signTemplate, #registerTemplate (which is 200000) */
}



.input-group-btn {
    height: 50px;
}


select.form-control:not([size]):not([multiple]) {
    height: 50px !important;
}




.form-error {
    display: block;
    color: #b94a48;
    top: 30px;
    left: 8px;
    margin-bottom: 10px;
    line-height: 1;
    font-size: 11px;
    padding: 0;
    margin: 5px 0;
    position: absolute;
    z-index: 10000; /* must be underneath #signTemplate, #registerTemplate (which is 200000) */
}

@media screen and (max-width: 767px) {
    #general-validation-error {
        display: none !important; /* no general validation message for mobiles - they are automatically scrolled to the error. */
    }
}

@media screen and (max-width: 960px) {
    .controller_checkoutslim .ch_header .ch_logo img {
        margin-left: 16px; /* move PrinterPix logo away from left edge */
    }
}

#slimcheckout-container #BillingModel_AddressId_Slim .address-search,
#slimcheckout-container #ShippingModel_AddressId_Slim .address-search {
    margin-top: 20px;
}

#slimcheckout-container #BillingModel_AddressId_Slim label,
#slimcheckout-container #ShippingModel_AddressId_Slim label {
    margin-bottom: 0px;
    margin-top: 10px;
    font-size: 0.8em;
    font-weight: bold;
    padding-left: 5px;
}

#slimcheckout-container #BillingModel_AddressId_Slim .address-search-label,
#slimcheckout-container #ShippingModel_AddressId_Slim .address-search-label {
    font-size: 1em;
}

.order_summary_wrapper .fa-lock {
    position: relative!important;
}

.order_summary_wrapper #next strong {
    margin: 0 10px 0 10px;
}

#order-summary-container {
    padding-left: 15px;
    padding-right: 15px;
}

#shipping-model-address,
#shipping-method,
#order-summary-container {
    margin-bottom: 30px!important;
}

#shipping-model-address h5 {
    margin-bottom: 0 !important;
}

#billing-address-toggle {
    margin-top: 20px;
}

.address-edit-manually {
    border: none !important;
    font-size: .8em;
    font-weight: bold;
    color: black;
    padding: 0;
}

.address-edit-manually:hover {
    color: #007bff;
    background-color: transparent;
}

#BillingModel_AddressId_Slim fieldset .form-error,
#ShippingModel_AddressId_Slim fieldset .form-error {
    position: relative ;
    float: right;
    font-size: 14px;
    font-weight: bold;
    left: -30px;
    top: -40px;
    margin-bottom: -24px;
}

.shipping-method .form-check-label span {
    position: relative;
    top:-5px;
}

.manual-address-input {
   text-align: right;
   cursor: pointer;
}

@media screen and (min-width: 100px) and (max-width: 500px) {
    .help-block.form-error {
        font-size: 12px !important;
    }
}


@media screen and (min-width: 768px) and (max-width: 991px) {
    .help-block.form-error {
        font-size: 12px!important;
    }
}

  

