/* remove underline for  +- buttons in summary */
.editcart a {
        text-decoration: none !important;
}

/* this is necessary because email errors add another div and it messes up the mechanism for layout */
/* normally inside <li> there is only one child <div> per input box or select */
.input-email {
    width : 100% !important;
}

/* make address look more normal when put on same line with another element*/
.input-address, .input-country {
    float: left;
}

/* if there is only 1 <div> inside <li> */
#billing_address_list > li > div:first-child:only-child,
#shipping_address_list > div > ul > li > div:first-child:only-child
{ 
    width: 101% !important;
}

/* if there are 2 <div>s inside <li> this is 1st one 
logic : 1st if counted from beginning, 2nd when counted from the end */
#billing_address_list > li > div:nth-child(1):nth-last-child(2), 
#shipping_address_list > div > ul > li > div:nth-child(1):nth-last-child(2) 
{
    /*color:blue;*/
    width:50% !important;
}

/* if there are 2 <div>s inside <li> this is 2nd one 
logic : 2nd if counted from beginning, 1st when counted from the end
*/
#billing_address_list > li > div:nth-child(2):nth-last-child(1),
#shipping_address_list > div > ul > li > div:nth-child(2):nth-last-child(1)
{
   /* color:red;*/
   width:50%;

}






/* layout */
.onestepcheckout-threecolumns {
    border-top: 1px solid #c1c1c2;
    margin: 10px 0px 0px 0px;
}
.onestepcheckout-column-padright {
    padding: 10px 15px 10px 0px;
}
.onestepcheckout-column-padleft {
    padding: 10px 0px 10px 15px;
}
.onestepcheckout-column-right {
    float: left;
    width: 34%;
}
.onestepcheckout-column-middle {
    float: left;
    width: 33%;
    background: url('images/line.png');
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 1px;
}
.onestepcheckout-column-left {
    float: left;
    width: 33%;
    background: url('images/line.png');
    background-repeat: no-repeat;
    background-position: 97% top;
    background-size: 1px;
}
/* general */
.onestepcheckout-threecolumns input[type=email],
    .onestepcheckout-threecolumns input[type=search],
    .onestepcheckout-threecolumns input[type=number],
    .onestepcheckout-threecolumns input[type=password],
    .onestepcheckout-threecolumns input[type=tel],
    .onestepcheckout-threecolumns input[type=text],
    .onestepcheckout-threecolumns select, .onestepcheckout-threecolumns textarea
    {
    width: 98% !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.5;
    font-size: 13px;
    height: 25px;
    padding: 0 8px;
    border-radius: 2px;
    border: 1px solid silver;
    background: #FFFFFF;
    padding: 0 8px;
}
.onestepcheckout-threecolumns div.osc-short input[type=email],
    .onestepcheckout-threecolumns div.osc-short input[type=search],
    .onestepcheckout-threecolumns div.osc-short input[type=number],
    .onestepcheckout-threecolumns div.osc-short input[type=password],
    .onestepcheckout-threecolumns div.osc-short input[type=tel],
    .onestepcheckout-threecolumns div.osc-short input[type=text],
    .onestepcheckout-threecolumns div.osc-short select {
    width: 98% !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.5;
    font-size: 13px;
    height: 25px;
    padding: 0 8px;
    border-radius: 2px;
    border: 1px solid silver;
    background: #FFFFFF;
}
.onestepcheckout-threecolumns select {
    background-image: url(images/icon_arrow.svg) !important;
    background-position: 98% 50% !important;
    background-repeat: no-repeat !important;
    background-size: 18px !important;
    background: #fff;
    padding: 0 26px 0 8px !important;
    -webkit-appearance: none !important;
    -webkit-border-radius: 0 !important;
}
.onestepcheckout-column-right input[type=email],
    .onestepcheckout-column-right input[type=search],
    .onestepcheckout-column-right input[type=number],
    .onestepcheckout-column-right input[type=password],
    .onestepcheckout-column-right input[type=tel],
    .onestepcheckout-column-right input[type=text],
    .onestepcheckout-column-right select, .onestepcheckout-column-right textarea
    {
    width: 100% !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.5;
    font-size: 13px;
    height: 25px;
    padding: 0 8px;
    border-radius: 2px;
    border: 1px solid silver;
    background: #FFFFFF;
    padding: 0 8px;
}
.oonestepcheckout-column-right div.osc-short input[type=email],
    .onestepcheckout-column-right div.osc-short input[type=search],
    .onestepcheckout-column-right div.osc-short input[type=number],
    .onestepcheckout-column-right div.osc-short input[type=password],
    .onestepcheckout-column-right div.osc-short input[type=tel],
    .onestepcheckout-column-right div.osc-short input[type=text],
    .onestepcheckout-column-right div.osc-short select {
    width: 100% !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.5;
    font-size: 13px;
    height: 25px;
    padding: 0 8px;
    border-radius: 2px;
    border: 1px solid silver;
    background: #FFFFFF;
}

.onestepcheckout-threecolumns textarea {
    height: 75px;
}
.onestepcheckout-threecolumns div.dob-day, .onestepcheckout-threecolumns div.dob-month
    {
    width: 12%;
    float: left;
}
.onestepcheckout-threecolumns div.dob-year {
    width: 24%;
    float: left;
}
.onestepcheckout-threecolumns select.validation-failed {
    border: 1px solid #df280a;
}
.onestepcheckout-threecolumns label.required:after,
    .onestepcheckout-threecolumns span.required:after {
    content: '' !important;
}
.onestepcheckout-threecolumns div.input-box {
    margin: 0px 0px 8px 0px;
}
.onestepcheckout-threecolumns div.osc-short {
    width: 50%;
    float: left;
}
button.button span span {
    line-height: 19px;
}
button.button span {
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    height: auto !important;
}
button.onestepcheckout-place-order span span {
    font-size: 16px;
    padding: 8px 0px 8px 0px;
    text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.25);
    border: none;
    background: none;
}
button.onestepcheckout-place-order span {
    border: none;
    background: none;
}
button.onestepcheckout-place-order {
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    background: #f18200;
    border-bottom: 1px solid rgba(0, 0, 0, 0.25);
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
    width: 185px;
}
div.onestepcheckout-place-order-wrapper {
    margin: 20px 0px 13px 0px;
    text-align: right;
}
#addressreview div.onestepcheckout-place-order-wrapper {
    margin: 0px;
    text-align: right;
}
button.grey, button.grey:hover, button.grey:active, button.grey:focus {
    background: #999;
}
button.onestepcheckout-place-order:hover, button.onestepcheckout-place-order:active,
    button.onestepcheckout-place-order:focus {
    background-color: #FFA336;
}
.button2 {
    border: 0;
    padding: 0 5px;
    margin: 0;
    background: transparent;
    cursor: pointer;
    vertical-align: middle;
}
.button+.button {
    margin-left: 5px;
}
.button2 {
    border: 0;
    padding: 0 5px;
    margin: 0;
    background: transparent;
    cursor: pointer;
    vertical-align: middle;
}
.button2:focus {
    outline: none;
}
.button2 span, .button2 span span {
    line-height: 30px;
    text-decoration: underline;
    text-transform: uppercase;
    display: inline-block;
    font-family: "Raleway", "Helvetica Neue", Verdana, Arial, sans-serif;
}
.button2 span:hover, .button2 span span:hover {
    text-decoration: none;
    color: #246b8f;
}
div.loading-ajax, div.loading-ajax-login {
    height: 50px;
    text-align: center;
    background: url(images/ajax-loader.gif) no-repeat center center;
}
.onestepcheckout-place-order-loading {
    text-align: right;
    margin-top: 10px;
    padding-left: 20px;
    font-style: italic;
    background: url("images/ajax-loader.gif") no-repeat;
    display: inline-block;
}
.onestepcheckout-threecolumns input[type=checkbox],
    .onestepcheckout-threecolumns input[type=radio] {
    margin: -1px 6px 0px 0px;
}
div.onestepcheckout-extraproducts li, .checkout-agreements li {
    margin: 6px 0px 0px 0px !important;
}
.error-msg, .success-msg, .note-msg, .notice-msg {
    padding: 8px 8px 3px 33px !important;
    border-radius: 5px;
    margin-bottom: 10px !important;
}

.onestepcheckout-error {
    background-position: 4px 4px !important;
    padding: 2px 8px 2px 24px !important;
    border-radius: 5px;
    margin: 10px 6px 10px 0px !important;
    background-image: url(images/i_msg-error.gif);
    background-repeat: no-repeat;
    background-color: #f8edea;
    border: 1px solid #ea9580;
}

.error-msg {
    background-image: url(images/i_msg-error.gif);
    background-repeat: no-repeat;
}
.success-msg {
    background-image: url(images/i_msg-success.gif);
    background-repeat: no-repeat;
}
.addresslabel {
    padding: 3px 5px 5px 1px;
    display: block;
}
/* headers */
h1.onestepcheckout-title{
    font-size: 20px;
    text-transform: uppercase;
}
p.onestepcheckout-description{
    font-size: 120%;
    margin-bottom: 8px;
    line-height: 20px;
}

.onestepcheckout-threecolumns p.onestepcheckout-numbers,
    .onestepcheckout-threecolumns li.shipping-address-title {
    display: block;
    margin: 0px 0px 6px 0px;
    padding: 2px 0px 10px 32px;
    font-family: "Raleway", "Helvetica Neue", Verdana, Arial, sans-serif;
    font-size: 18px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.2;
    text-rendering: optimizeLegibility;
    text-transform: uppercase;
}
li.shipping-address-title {
    padding: 10px 0px 10px 0px !important;
}
p.onestepcheckout-numbers {
    position: relative;
}
p.onestepcheckout-numbers span {
    background: url('images/numbers_retina.png');
    background-repeat: no-repeat;
    background-size: 170px;
    display: block;
    height: 30px;
    width: 24px;
    position: absolute;
    top: 0px;
    left: 0px;
}
.numbers-1 {
    background-position: 0 0 !important;
}
.numbers-2 {
    background-position: -24px 0px !important;
}
.numbers-3 {
    background-position: -49px 0px !important;
}
.numbers-4 {
    background-position: -146px 0px !important
}
.onestepcheckout-numbers-3 {
    margin-top: 25px !important;
}
.editcart a {
    display: block;
    height: 15px;
    width: 15px;
    float: left;
    text-decoration: none;
    line-height: 11px;
    border: 1px solid #ccc;
    color: #666;
    background: #fafafa;
    margin-left: 1px;
    text-align: center;
    vertical-align: middle;
    border-radius: 2px;
}
.editcart a:hover {
    text-decoration: none;
}

/* login modal */
.onestepcheckout-popup-contents .input-button {
    margin: 10px 0px 10px 0px;
}
div#onestepcheckout-login-popup.login-modal {
    min-width: 320px;
    max-width: 380px;
}
/* billing address */
.onestepcheckout-threecolumns #billing\:street2, #billing\:street3,
    #billing\:street4 {
    margin-top: 6px;
}
.input-group .onestepcheckout-address-line {
    margin-bottom: 4px;
}
.input-group .validation-advice{
    margin-bottom: 6px;
}
/* shipping address */
.onestepcheckout-threecolumns #shipping\:street2, #shipping\:street3,
    #shipping\:street4 {
    margin-top: 6px;
}
/* shipping methods */
.onestepcheckout-shipping-method-block dd {
    margin: 0px 0px 3px 0px
}
/* delivery date */
#ddate {
    margin: 10px 0px 0px 2px;
}
.input-deliverydate {
    width: 40%;
    float: left;
}
.input-deliverydate input {
    background: #fff url('images/icon_cal.svg') no-repeat right center
        !important;
    background-size: 22px 22px !important;
}
.input-slotpicker {
    width: 30%;
    float: left;
    margin-left: 10px !important;
}
.deliverynotice, .input-deliverynote {
    clear: both;
}
/* payment methods */
.onestepcheckout-threecolumns .payment-methods ul.form-list:before,
    .onestepcheckout-threecolumns .payment-methods fieldset ul:before,
    .onestepcheckout-threecolumns .gift-box:before,
    .onestepcheckout-threecolumns #ddatewrap:before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-bottom: 10px solid #cccccc;
    border-top: none;
    top: -11px;
    left: 30px;
}
.onestepcheckout-threecolumns .payment-methods ul.form-list:after,
    .onestepcheckout-threecolumns .payment-methods fieldset ul:after,
    .onestepcheckout-threecolumns .gift-box:after,
    .onestepcheckout-threecolumns #ddatewrap:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-bottom: 10px solid #fafafa;
    border-top: none;
    top: -10px;
    left: 30px;
}
.onestepcheckout-threecolumns .payment-methods ul.form-list,
    .onestepcheckout-threecolumns .payment-methods fieldset ul,
    .onestepcheckout-threecolumns .gift-box,
    .onestepcheckout-threecolumns #ddatewrap {
    position: relative;
    margin: 10px 0px 15px 0px;
    padding: 6px 10px 6px 10px;
    border: 1px solid #cccccc;
    border-radius: 3px;
    background: #fafafa;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.onestepcheckout-threecolumns .payment-methods dd {
    padding-top: 0px !important;
}
.onestepcheckout-threecolumns .payment-methods dt {
    padding-bottom: 6px !important;
}
.onestepcheckout-threecolumns .payment-methods dl,
    .onestepcheckout-threecolumns dl.shipment-methods {
    margin-left: 2px;
}
/* summary */
table.onestepcheckout-summary, table.onestepcheckout-totals {
    width: 100%;
    border-collapse: collapse;
}
table.onestepcheckout-totals {
    margin: 0px 0px 20px 0px;
}
table.onestepcheckout-summary td, table.onestepcheckout-totals td {
    padding: 3px 0 3px 0px;
}
table.onestepcheckout-totals td, table.onestepcheckout-summary td, table.onestepcheckout-summary th
    {
    border-bottom: 1px solid #BEBCB7;
}
table.onestepcheckout-totals tr:last-child td {
    border-bottom: none;
}
table.onestepcheckout-totals tr td.a-right {
    padding-left: 6px;
}
table.onestepcheckout-summary td.name {
    width: 80%;
}
table.onestepcheckout-summary td.qty, table.onestepcheckout-summary th.qty
    {
    width: 6%;
    text-align: center;
}
table.onestepcheckout-summary td.total, table.onestepcheckout-summary th.total,
    table.onestepcheckout-totals td.value {
    width: 22%;
    text-align: right;
}
table.onestepcheckout-summary td.total {
    padding-left: 6px;
}
table.onestepcheckout-totals td.title {
    width: 65%;
    text-align: right;
}
/* coupons */
div.onestepcheckout-coupons, div.onestepcheckout-giftmessagecontainer,
    div.onestepcheckout-feedback, div.onestepcheckout-enable-newsletter,
    div.onestepcheckout-comments, div.onestepcheckout-extraproducts,
    .checkout-agreements {
    margin: 0px 0px 13px 0px;
}
div.successo {
    background: #FDFFFB;
    border-radius: 3px;
    border: 1px solid #B5CC9E;
    padding: 8px;
}
div.failureo {
    background: #f8edea;
    border-radius: 3px;
    border: 1px solid #ea9580;
    padding: 8px;
}
div.onestepcheckout-coupons .success-msg, div.onestepcheckout-coupons .serror-msg
    {
    border: none;
    background-color: transparent;
}
div.onestepcheckout-coupons .error-msg, .success-msg, .note-msg,
    .notice-msg {
    border-style: none !important;
    border-width: 0 !important;
    background-position: 0px 3px !important;
    padding: 2px 8px 2px 22px !important;
    font-weight: bold !important;
    font-size: 13px;
}
/* terms */
.checkout-agreements p.agree {
    margin: 0px !important;
    padding: 0px !important;
}
/* preview */
#addressreview_shippinga, #addressreview_payment,
    #addressreview_billinga, #addressreview_shipping {
    width: 50%;
    float: left;
    margin-bottom: 20px;
}
#addressreview_shipping, #addressreview .rightcol {
    clear: both;
}
#addressreview #buttons {
    text-align: right;
}
#addressreview #buttons div {
    float: right;
    margin-left: 10px;
}
#addressreview .button2 span, #addressreview  .button2 span span {
    line-height: 36px;
}
#addressreview div.data span {
    display: block;
    min-height: 1px;
}
#addressreview div.data div span {
    display: inline;
    min-height: 1px;
}
#addressreview table.onestepcheckout-summary td.name {
    width: 85%;
}
#addressreview .editcart a {
    display: none;
}
#addressreview .td.wide {
    width: 0px;
}
/* modal */
#control_overlay {
    background-color: #000;
}
.oscmodal {
    border: 5px solid #ccc;
    border-radius: 10px;
    background: #fafafa;
    padding: 20px;
    box-sizing: border-box;
    text-align: left;
    min-height: 200px;
}
/* breakpoints */
@media only screen and (max-width: 620px) , ( max-width : 600px) , ( max-width
        : 599px) , ( max-width : 699px) , ( max-width : 740px) , (
        max-width : 850px) {
    .wrapper {
        width: 100%;
        min-width: 320px;
    }
    .main {
        width: 93%;
        min-width: 320px;
        margin: 0;
    }
    .onestepcheckout-column-padright {
        padding: 10px 15px 10px 0px;
    }
    .onestepcheckout-column-padleft {
        padding: 10px 0px 10px 0px;
    }
    .onestepcheckout-column-right {
        clear: both;
        float: none;
        background: none;
        width: 100%;
    }
    .onestepcheckout-column-left {
        width: 50%;
    }
    .onestepcheckout-column-middle {
        width: 49%;
        background: none;
        float: right;
    }
    div.onestepcheckout-place-order-wrapper {
        margin: 20px 0px 13px 0px;
        text-align: center;
    }
    table.onestepcheckout-summary td.name {
        width: 85%;
    }
}
@media only screen and (max-width: 320px) , ( max-width : 420px) , ( max-width
        : 450px) , ( max-width : 479px) , ( max-width : 499px) , (
        max-width : 520px) , ( max-width : 535px) {
    .wrapper {
        width: 100%;
        min-width: 295px;
    }
    .main {
        width: 90%;
        min-width: 285px;
        margin: 0;
    }
    .onestepcheckout-column-padleft, .onestepcheckout-column-padright {
        padding: 10px 0px 10px 0px;
    }
    .onestepcheckout-column-middle, .onestepcheckout-column-left,
        .onestepcheckout-column-right {
        float: none;
        background: none;
        width: 100%;
    }
    div.onestepcheckout-place-order-wrapper {
        margin: 20px 0px 13px 0px;
        text-align: center;
    }
    div#onestepcheckout-login-popup.login-modal {
        min-width: 300px;
        max-width: 300px;
    }
    .input-slotpicker {
        width: 33%;
    }
    #addressreview_shippinga, #addressreview_payment,
        #addressreview_billinga, #addressreview_shipping {
        width: 100%;
        float: none;
        margin-bottom: 20px;
    }
}
