@import 'vars';


/* Input
============================================================================= */
input {
    -webkit-border-radius: 0;
    -webkit-appearance: none;
    outline: none;

    &::-ms-clear {
        display: none;
    }

    &[type='text'],
    &[type='email'],
    &[type='password'] {
        display: block;
        width: 100%;
        padding: 9px 10px;
        margin: 0;
        border: 1px solid @buttonColor;
        background: @white;
        letter-spacing: 0.025em;
        color: @titleColor;
        font-size: 17px;
        height: 40px;
        .transition(border-color 0.3s);

        /* Subscribe
        ======================================================================*/
        .block-subscribe & {
            border-color: #969696;
            width: 291px;
            height: 39px;
            padding: 7px 14px 6px;
            letter-spacing: 0.1em;
            background: transparent;
            &::-webkit-input-placeholder {color: @titleColor;}
            &::-moz-placeholder {color: @titleColor;}
            &:-moz-placeholder {color: @titleColor;}
            &:-ms-input-placeholder {color: @titleColor;}
            @media @tablet {
                font-size: 14px;
            }
        }
    }

    &[type='radio']
    &[type='checkbox'] {
        margin-right: 5px;
    }

    &[type="submit"],
    &[type="button"] {

        &:hover {
            background: @buttonHoverBg;
            color: #fff;
        }

        &::-moz-focus-inner {
            border: 0;
            padding: 0;
        }

        [class^='icon-'] {
            display: inline-block;
            vertical-align: middle;
            padding-left: 34px;
            font-size: 20px;
            color: #1d777f;
        }
        &:hover [class^='icon-'] {
            color: #fff;
        }
    }

    .validation-error & {
        border-color: @errorColor;
    }

    &:-webkit-autofill {
        -webkit-box-shadow: 0 0 0px 999px @white inset;
    }

    &.qty {
        padding: 11px 5px 9px;
        vertical-align: middle;
        text-align: center;
        border: 1px solid @buttonColor;
        color: @titleColor;
        outline: none;
    }

    .account-login & {
        width: 425px;
        @media @portrait {
            width: 400px;
        }
    }

    @media @tablet {
        font-size: 15px;
    }
}
.optional {
    text-transform: none;
    font-size: 15px;
    color: #c8c8c8;
}

.input-text {

    /* Discount
    ===================================================================== */
    .discount & {
        display: inline-block;
        vertical-align: middle;
        padding: 10px;
        width: 229px;
        margin-left: 121px;
        border: 1px solid @buttonColor;
        letter-spacing: 1px;
        .transition(border-color 0.3s);
        @media @tablet {
            width: 215px;
            margin-left: 22px;
        }
    }
    .validation-error & {
        border-color: @errorColor;
    }


}

input {
    &[type='text'],
    &[type='email'],
    &[type='password'] {
        &.validation-failed {
            border-color: @errorColor;
        }
    }
}


/* Textarea
============================================================================= */
textarea {
    -webkit-border-radius: 0;
    -webkit-appearance: none;
    outline: none;
    display: block;
    width: 100%;
    padding: 9px 10px 8px;
    margin: 0;
    border: 1px solid @buttonColor;
    background: @white;
    letter-spacing: 0.025em;
    color: @titleColor;
    font-size: 17px;
    max-width: 100%;
    min-width: 100%;
    min-height: 100px;
    max-height: 150px;
    overflow: auto;

    .validation-error & {
        border-color: @errorColor;
    }

    .wishlist-share-email-form & {
        width: 578px;
        color: @lightLinkColor;
    }


    @media @tablet {
        font-size: 15px;
    }
}


/* Button
============================================================================= */
button {
    display: block;
    background-color: @mainColorScheme;
    height: 42px;
    padding: 10px 15px;
    border: 0;
    text-align: left;
    color: #323232;
    font-size: 17px;
    letter-spacing: 0.1em;
    outline: none;
    position: relative;
    min-width: 137px;
    white-space: nowrap;
    .transition(background-color 0.15s);

    &::-moz-focus-inner {
        padding: 0 !important;
        border: 0 none !important;
        margin-top:-2px;
        margin-bottom: -2px;
    }

    &:hover {
        background-color: @buttonHoverBg;
        color: #fff;
        padding: 9px 15px;
    }

    [class^='icon-'] {
        display: inline-block;
        vertical-align: middle;
        padding-left: 34px;
        font-size: 20px;
        color: #1d777f;
    }
    &:hover [class^='icon-'] {
        color: #fff;
    }


    /* Dashboard
    ========================================================================= */
    .dashboard & {
        font-size: 15px;
        padding: 9px 15px;

        [class^='icon-'] {
            padding-left: 50px;
        }

    }

    /* Subscribe
    ========================================================================= */
    .block-subscribe & {
        position: absolute;
        top: 1px;
        right: 1px;
        padding: 0;
        width: 45px;
        min-width: 0;
        height: 37px;
        background: transparent;


        [class^='icon-'] {
            padding-left: 16px;
            color: #323232;
            font-size: 18px;
        }
        &:hover {
            [class^='icon-'] {
                color: @mainColorScheme;
            }
        }
    }

    /* Wishlist Form Email
    ========================================================================= */
    .wishlist-share-email-form & {
        position: relative;
        width: 137px;
        font-size: 14px;
        padding: 9px 15px;
    }

    /* Checkout
    ========================================================================= */
    .opc & {
        font-size: 14px;
        height: 40px;
        padding: 9px 15px;
    }

    @media @tablet {
        font-size: 15px;
    }
}

.btn {

    &-login {
        &:hover {
            background: #323232;
        }
    }

    &-create {
        &:hover {
            background: #323232;
        }
    }
    &-forgot {
        &:hover {
            background: #323232;
        }
    }
    &-guest {
        margin-top: 56px;
    }
    &-facebook {
        background: #fff;
        padding: 0;
        position: relative;
        font-size: 21px;
        line-height: 1;
        letter-spacing: 0.025em;
        color: @titleColor;

        [class^='icon-'] {
            padding-left: 17px;
            color: #b6b6b6;
        }
        [class^='icon-facebook-circled'] {
            padding-left: 0;
            font-size: 36px;
            display: inline-block;
            vertical-align: middle;
            color: #b6b6b6;
            padding-right: 9px;
        }

        &:hover {
            text-decoration: none;
            background: #fff;
            color: @mainColorScheme;
            padding: 0;

            [class^='icon-'] {
                color: #b6b6b6;
            }
            [class^='icon-facebook-circled'] {
                color: @mainColorScheme;
            }
        }

    }
    .opc &-checkout-facebook {
        background: #fff;
        padding: 0;
        position: relative;
        font-size: 17.95px;
        line-height: 1;
        letter-spacing: 0.025em;
        color: @titleColor;

        [class^='icon-facebook-circled'] {
            padding-left: 0;
            font-size: 30px;
            display: inline-block;
            vertical-align: middle;
            color: #b6b6b6;
            padding-right: 9px;
        }

        &:hover {
            text-decoration: none;
            background: #fff;
            color: @mainColorScheme;
            padding: 0;

            [class^='icon-facebook-circled'] {
                color: @mainColorScheme;
            }
        }

    }

    /* Ajax Cart
    ========================================================================= */
    &-view-basket {
        width: 99%;
        margin-bottom: 0;
        background: @titleColor;
        color: @mainColorScheme;
        font-size: 17px;
        padding: 10px 13px;
        [class^='icon-'] {
            padding-left: 65px;
            color: @mainColorScheme;
        }
        &:hover {
            background-color: #0096a5;
            padding: 10px 13px;
            color: @mainColorScheme;
            [class^='icon-'] {
                color: @mainColorScheme;
            }
        }
        @media @tablet {
            font-size: 15px;
            padding: 9px 13px;
            [class^='icon-'] {
                padding-left: 50px;
            }
            &:hover {
                padding: 9px 13px;
            }
        }
    }
    &-ajax-remove {
        display: inline-block;
        text-indent: -9999px;
        background: url(@sprite) -525px -318px no-repeat;
        width: 16px;
        height: 16px;
        text-align: center;

        &:hover {
            background-position: -552px -362px;
        }
    }

    /* Cart
    ========================================================================= */
    &-coupon {
        display: inline-block;
        vertical-align: middle;
        background: @white;
        color: @bodyTextColor;
        min-width: inherit;
        text-transform: uppercase;
        height: auto;
        margin: 0 0 0 69px;
        font-size: 14px;
        padding: 0;

        [class^='icon-'] {
            color: #969696;
            padding-left: 5px;
            font-size: 10px;
            height: 14px;
        }
        &:hover {
            color: @mainColorScheme;
            background: @white;
            padding: inherit;
            [class^='icon-'] {
                color: @mainColorScheme;
            }
        }
        @media @tablet {
            margin-left: 32px;
            font-size: 13px;
        }
    }
    &-cancel {
        display: inline-block;
        vertical-align: middle;
        background: @white;
        color: @bodyTextColor;
        min-width: inherit;
        text-transform: uppercase;
        height: auto;
        margin: 0 7px 0 60px;
        font-size: 14px;
        padding: 0;

        [class^='icon-'] {
            color: #969696;
            padding-left: 5px;
            font-size: 10px;
            height: 14px;
        }
        &:hover {
            color: @mainColorScheme;
            background: @white;
            padding: inherit;
            [class^='icon-'] {
                color: @mainColorScheme;
            }
        }
        @media @tablet {
            margin-left: 23px;
            margin-right: 3px;
            font-size: 13px;
        }
    }
    &-update {
        width: 228px;
        font-size: 15px;
        height: 43px;
        [class^='icon-'] {
            padding-left: 62px
        }
        @media @tablet {
            width: 214px;
            [class^='icon-'] {
                padding-left: 48px;
            }
        }
    }
    &-remove {
        display: inline-block;
        text-indent: -9999px;
        background: url(@sprite) -588px -361px no-repeat;
        width: 16px;
        height: 16px;
        text-align: center;
        &:hover {
            background-position: -569px -318px;
        }
    }
    &-proceed-checkout {
        display: inline-block;
        margin: 0;
        font-size: @mainFontSize;
        height: 43px;
        width: 328px;
        [class^='icon-'] {
            padding-left: 202px;
        }
    }
    &-checkout {
        min-width: 327px;
        [class^='icon-'] {
            padding-left: 169px;
        }
    }

    /* Product Page
    ========================================================================= */
    &-cart {
        width: 100%;
        height: 55px;
        margin-bottom: 0;
        color: #323232;
        [class^='icon-'] {
            position: absolute;
            right: 18px;
            top: 50%;
            margin-top: -12px;
        }
        &:hover {
            color: #fff;
        }
        .pre-order & {
            color: #323232;
            background-color: #d3a909;
            text-transform: uppercase;
            [class^='icon-'] {
                color: #836f1f;
            }

            &:hover {
                color: #fff;
                background-color: #ffcb05;
                [class^='icon-'] {
                    color: #fff;
                }
            }
        }
        @media @tablet {
            height: 50px;
            font-size: 15px;
        }
    }

    /* Wishlist
    ========================================================================= */
    &-share {
        background: @white;
        border: 1px solid @buttonColor;
        color: @titleColor;
        display: inline-block;
        vertical-align: top;
        position: relative;
        margin-right: 41px;
        margin-bottom: 0;
        width: 369px;
        font-size: 17px;
        height: 54px;
        &:hover {
            background: @buttonHoverColor;
            color: #323232;
        }
        &:before {
            position: absolute;
            content: '';
            display: block;
            top: 50%; right: 20px;
            float: none;
            margin-top: -9px;
            background: url(@sprite) -467px -16px no-repeat;
            width: 18px;
            height: 18px;
        }
    }
    &-add {
        width: 369px;
        font-size: 17px;
        height: 54px;
        padding: 4px 15px 0;
        [class^='icon-'] {
            padding-left: 100px;
        }
        &:hover {
            padding: 4px 15px 0;
        }
        @media @tablet {
            width: 280px;
            font-size: 15px;
            [class^='icon-'] {
                padding-left: 40px;
            }
        }
    }
    &-remove-wishlist {
        display: block;
        position: absolute;
        background: #2a2a2b;
        padding: 0 10px;
        color: #fff;
        border: none;
        text-decoration: none;
        opacity: 0;
        .transition(opacity 0.3s ease);
        &:before {
            position: absolute;
            content: '';
            display: block;
            background: url(@sprite) -103px -220px no-repeat;
            width: 18px;
            height: 12px;
            top: 50%;
            right: 5px;
            margin-top: -5px;
        }
        .item:hover & {
            opacity: 1;
        }

        &:hover {
            background: #616061;
            color: #fff;
            text-decoration: none;
        }
        .products-grid & {
            font-size: 13px;
            height: 34px;
            line-height: 36px;
            width: 106px;
            top: 21px; left: 20px;
        }
        .products-list & {
            font-size: 11px;
            height: 29px;
            line-height: 29px;
            width: 88px;
            top: 15px; left: 10px;
            &:before {
                right: 5px;
            }
        }
    }
    &-add-to {
        position: absolute;
        padding: 0 10px;
        white-space: nowrap;
        color: #323232;
        opacity: 0;
        .transition(opacity 0.3s ease);
        [class^='icon-'] {
            padding-left: 20px;
        }
        span {
            color: @buttonHoverBg;
        }
        &:hover {
            color: #fff;
            text-decoration: none;
            padding: 0 10px;
            span {
                color:@white;
            }
        }
        .item:hover & {
            opacity: 1;
        }
        .products-grid & {
            font-size: 13px;
            height: 34px;
            line-height: 35px;
            top: 65px; left: 20px;
            &:before {
                right: 10px;
            }
            &.shared {
                top: 20px;
            }
            strong {
                display: block;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }
        }
        .products-list & {
            font-size: 11px;
            height: 29px;
            line-height: 30px;
            top: 55px; left: 10px;
            letter-spacing: 0px;
            &.shared {
                top: 10px;
            }
            &:before {
                right: 10px;
                background-size: 400px;
                background-position: -14px -6px;
            }
            &:hover:before {
                background-position: -33px -6px;
            }
            strong {
                max-width: 150px;
                display: block;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }
        }
    }
}

.facebook-login {
    margin-top: 39px;
}


/* Select
============================================================================= */
select {
    position: relative;
    left: -99999px;
}


/* Fieldset
============================================================================= */
fieldset {
    border: none;
    margin: 0;
    padding: 0;
}


/* Label
============================================================================= */
label {
    font-weight: normal;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-size: @mainFontSize;
    display: block;
    white-space: nowrap;
    margin-bottom: 5px;

    -moz-user-select: -moz-none;
    -o-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    user-select: none;

    em {
        padding-right: 2px;
        display: inline-block;
    }

    .validation-error & {
        color: @errorColor;
        .transition(color 0.3s);

        em {
            color: @errorColor;
        }
    }

    /* Discount
    ========================================================================= */
    .discount & {
        font-size: 14px;
        display: inline-block;
        width: 128px;

        @media @tablet {
            font-size: 13px;
            width: 120px;
        }
    }

    /* Wishlist
    ========================================================================= */
    .wishlist-share-email-form & {
        font-size: @mainFontSize;
        span {
            font-size: @mainFontSize;
            color: @buttonColor;
            text-transform: none;
            @media @tablet {
                font-size: 14px;
            }
        }
    }

    .centinel-logos & {
        white-space: normal;
        text-transform: inherit;
    }

    @media @tablet {
        font-size: 14px;
    }
}


/* Form List
============================================================================= */
.form-list {
    list-style: none;
    margin: 0;
    padding: 0;
    li {
        &:after {
            display: block;
            clear: both;
            content: '';
        }
    }
    li.control {
        margin: 5px 0 29px;
    }
}


/* Input Box
============================================================================= */
.input-box {
    margin: 0 0 29px;
    position: relative;

    /* Account
    ========================================================================= */
    .account-list .address-edit & {
        margin-bottom: 29px;
        position: relative;
    }

    /* Product Shop
    ========================================================================= */
    .product-shop & {
        margin-bottom: 0;
    }

    .discount & {
        margin: 0;
    }

    /* Checkout
    ===================================================================== */
    .opc & {
        width: 353px;
        @media @tablet {
            width: 273px;
        }
    }
}


/* Buttons Set
============================================================================= */
.buttons-set {
    position: relative;

    /* My Account
    ========================================================================= */
    .my-account .customer-edit & {
        position: absolute;
        bottom: 22px;

        @media @tablet {
            position: relative;
            bottom: 0;
            margin: 10px 0 20px;
        }
    }

    /* Forgot Pass
    ========================================================================= */
    .forgot-pass & {
        margin-bottom: 29px;
    }

    /* Account Login Create
    ========================================================================= */
    .account-login & {
        margin-bottom: 11px;
    }

    .section-create & {
        margin-bottom: 0;
    }

    /* Dashboard Address Book
    ========================================================================= */
    .address-edit & {
        margin-bottom: 29px;
    }

    /* Wishlist Wrapper
    ========================================================================= */
    .wishlist-wrapper & {
        padding-bottom: 45px;
        text-align: center;
    }

}


/* CSS3 input checkbox radio
============================================================================= */
.custom-input {
    input[type='radio'],
    input[type='checkbox'] {
        display: none;

        & + label {
            position: relative;
            cursor: pointer;
            display: block;
            font-size: 15px;
            line-height: 20px;

            &:before {
                position: relative;
                content: '';
                display: inline-block;
                vertical-align: middle;
                width: 28px;
                height: 20px;
                left: 0;
                top: -5px;
                background: url(@sprite) -387px -60px no-repeat;
            }

            @media @tablet {
                font-size: 14px;
            }
        }

        &:checked {
            & + label {
                &:before {
                    background-position: -355px -60px;
                }
            }
        }
    }

    /* Checkout
    ========================================================================= */
    .payment-item-paypal_express & {
        padding-left: 28px;

        input[type='radio'] {

            & + label {

                &:before {
                    position: absolute;
                    left: -28px;
                }
            }
        }
    }
}


/* Billing Shipping
==============================================================================*/
.billing-list,
.shipping-list {
    input[type='radio'],
    input[type='checkbox'] {
        & + label {
            &:before {
                position: absolute;
                left: -28px;
            }
        }
    }
}


/* Checkout Payment
==============================================================================*/
.custom-input {
    .saved-card {
        padding-left: 43px;

        input[type='radio'] {
            & + label {
                &:before {
                    position: absolute;
                    left: -28px;
                }
            }
        }
    }
}


/* Search Form
==============================================================================*/
.form-search {
    float: left;
}
.search_mini_form {
    display: none;
    position: absolute;
    right: 0;
    top: 100%;
    background: @mainColorScheme;
    width: 1015px;

    input[type='text'] {
        border: 0;
        width: 100%;
        background: none;
        padding: 22px 18px 21px;
        font-size: 34px;
        color: @titleColor;
        height: inherit;
        letter-spacing: 1px;
        background-position: 90% 50%;
        background-repeat: no-repeat;
        &::-webkit-input-placeholder {color: #0096a5;}
        &::-moz-placeholder  {color: #0096a5;}
        &:-moz-placeholder  {color: #0096a5;}
        &:-ms-input-placeholder  {color: #0096a5;}
        &:-webkit-autofill {
            -webkit-box-shadow: 0 0 0px 999px @mainColorScheme inset;
        }

        @media @tablet {
            font-size: 29px;
        }
    }

    button[type='submit'] {
        position: absolute;
        right: 20px;
        top: 24px;
        background: url(@sprite) -56px -208px no-repeat;
        text-indent: -9999px;
        overflow: hidden;
        width: 37px;
        height: 32px;
        padding: 0;
        margin: 0;
        min-width: 0;
        &:before {display: none;}
    }

    .search-autocomplete {
        padding: 20px;
        border-top: 1px solid #1cb1c5;
        font-size: @mainFontSize - 2;
        color: @titleColor;
    }
    
    @media @tablet {
        width: 700px;
    }
}


/* Account Create
============================================================================= */
.create-login {
    form {
        width: 425px;
    }
}


/* Forgot Password
============================================================================= */
.forgot-pass {
    form {
        width: 425px;
        margin: 0 auto;
    }
}


/* Checkout
============================================================================= */
.opc {
    .sp-methods {
        .input-box {
            width: 352px;
            @media @tablet {
                width: 273px;
            }
        }
        .cvv {
            width: 100%;
            padding-right: 17.5px;
        }
    }

    dl {
        margin: 0;
        li,
        dd {
            margin: 0 0 15px;
        }
    }

    .label-name {
        display: inline-block;
        width: 350px;
        @media @tablet {
            width: 350px;
        }
    }
}
