.editor-label { margin-bottom: 10px; min-height: 20px; }
.editor-label label { font-weight: 700; font-size: 1.1em; min-height: 20px; }
.editor-field { margin-bottom: 15px; position: relative; }
.editor-field textarea { min-height: 200px; width: 100%; padding: 10px; min-height: 105px; font-family: 'Titillium Web', sans-serif; border: none; border-radius: 3px; }
.editor-field input, .editor-field select { font-family: 'Titillium Web', sans-serif; border-radius: 3px; width: 100%; display: block; border: none; height: 45px; padding-left: 10px; border: 1px solid #ACACAC; }
.editor-field.center-txt > * { text-align: center; padding-left: 0px !important; }
.editor-field.on-white > * { font-family: 'Titillium Web', sans-serif; border-radius: 3px; width: 100%; display: block; border: none; height: 45px; padding-left: 10px; border: 1px solid #ACACAC; }
.editor-field.lg-field > * { height: 45px; }
.basket .OK { display: none; }
.g-recaptcha { overflow: hidden; position: relative; width: 160px; height: 45px; border-radius: 3px; border: 1px solid #343738; }
.g-recaptcha > div { position: absolute; left: 0px; top: 50%; transform: translateY(-50%); }
.editor-field .showpass { position: absolute; right: 0px; top: 0%; height: 40px; width: 40px; align-items: center; justify-content: center; display: flex; cursor: pointer; color: #E94D43; font-size: 1.1em; }
.editor-field .showpass:hover { color: #0063BC; }
.whiteform input, .whiteform select { border: 1px solid #d4d4d4; height: 40px; border-radius: 3px; padding-left: 10px; }
.delivery-opt { display: flex; justify-content: space-between; align-items: center; padding: 15px; background-color: #fff; border-radius: 5px; border: 1px solid #ACACAC; cursor: pointer; }
.delivery-opt .rad { margin-right: 15px; }
.delivery-opt .name { font-weight: 700; color: #0063BC; width: 100%; margin-right: 15px; font-size: 1.2em; max-width: max-content; }
.delivery-opt .desc { margin-right: 15px; width: 100%; text-align: center; }
.delivery-opt .price { font-weight: 700; color: #E94D43; font-size: 1.3em; }



label.checkbox { display: flex; align-items: center; cursor: pointer; margin-bottom: 5px; }
label.checkbox i { background-color: #fff; margin-right: 10px; width: 30px; height: 30px; border: 1px solid #acacac; border-radius: 3px; display: flex; align-items: center; justify-content: center; color: #0063BC; }
label.checkbox i:before { opacity: 0; }
label.checkbox:hover i:before { opacity: 0.5; }
label.checkbox.on i:before { opacity: 1 !important; }
label.checkbox input { display: none; }

.fav-list-opts { max-height: 160px; overflow: auto; }
.fav-list-opts label { display: block; cursor: pointer; padding: 10px; height: 40px; display: flex; align-items: center; position: relative; }

.fav-list-opts label:before { width: 3px; height: 100%; top: 0px; left: 0px; position: absolute; content: ""; display: block; transform: translateX(-100%); background-color: #0063BC; }
.fav-list-opts label input { display: none; }
.fav-list-opts label:hover { background-color: #f1f1f1; }
.fav-list-opts label:hover:before { transform: none; }
.fav-add { height: 40px; padding: 0px 10px; display: flex; align-items: center; cursor: pointer; border-top: 1px solid #ACACAC; }
.fav-add i { margin-right: 5px; color: #0063BC; }
.fav-add:hover i { color: #E94D43; }

.field-validation-error { color: #E94D43; }

.payment-opts label { cursor: pointer; display: block; display: flex; height: 50px; padding: 0px 15px; border: 1px solid #d3d3d3; border-radius: 5px; align-items: center; justify-content: space-between; margin-bottom: 15px; }
.payment-opts label input { display: none; }

.payment-opts label:hover { transform: translateY(-5px); }
.payment-opts label.on { border: 3px solid #0063BC; }
.payment-opts label.on:hover { transform: none; }

.payment-opts label i.fa-check { color: #0063BC; border-radius: 3px; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; border: 1px solid #ACACAC; }
.payment-opts label i.fa-check:before { opacity: 0; }
.payment-opts label.on i.fa-check:before { opacity: 1; }
.payment-opts label img { display: block; }

.payment-opts .img-label { display: flex; align-items: center; }
.payment-opts .img-label img { margin-right: 10px; }

.ui-autocomplete { box-shadow: 0px 3px 6px #00000029; list-style: none; padding: 15px 15px 10px 15px; background-color: #fff; width: 400px !important; border: 1px solid #E94D43; border-radius: 0px 0px 5px 5px; z-index: 99; }
.ui-autocomplete a { margin-bottom: 10px; font-size: 1.1em; font-weight: 600; color: #0063BC; display: block; }
.ui-autocomplete a:hover { color: #E94D43; }

.ui-helper-hidden-accessible { display: none !important; }

.validation-summary-errors { color: #E94D43; border: 1px solid #E94D43; margin: 15px 0px; border-radius: 10px; background-color: #ffeded; }
.check-box, .check-box > input { height: 34px; width: 34px; flex-shrink: 0; }

.switch { position: relative; display: inline-block; width: 45px; height: 24px; }

.input-toggler { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; -webkit-transition: .4s; transition: .4s; border-radius: 34px; }

.input-toggler:before { position: absolute; content: ""; height: 20px; left: 2px; width: 20px; top: 50%; transform: translate(0, -50%); background-color: white; -webkit-transition: .4s; transition: .4s; border-radius: 50%; }

input:checked ~ .input-toggler { background-color: #0063BC; }

input:focus ~ .input-toggler { box-shadow: 0 0 1px #2196F3; }

input:checked ~ .input-toggler:before { -webkit-transform: translate(21px, -50%); -ms-transform: translate(21px, -50%); transform: translate(21px, -50%); }

.review-help { background-color: #fff; border: 1px solid #0063BC; padding: 10px; margin-bottom: 15px; border-radius: 3px; }

.basket.check-out { border: 1px solid #b7b7b7; border-radius: 20px; overflow: hidden; }
.basket.check-out .head .col.prod { padding-left: 15px; }
.basket.check-out.nobord { border: none; }

.basket.check-out .estim { padding: 15px; color: #fff; font-weight: 700; font-size: 1.4em; }
.basket.check-out .estim.red { background-color: #E94D43; }
.basket.check-out .estim.blue { background-color: #0063BC; }

.y-n-check { cursor: pointer; display: flex; border: 1px solid #0063BC; width: 150px; border-radius: 5px; position: relative; }
.y-n-check.interacted:before { transform: translate(100%); width: 50%; height: 100%; position: absolute; content: ""; background-color: #0063BC; }
.y-n-check.on:before { transform: translateX(0%); }
.y-n-check span { display: block; width: 50%; padding: 5px; text-align: center; font-weight: 700; position: relative; z-index: 1; }
.y-n-check input { display: none; }
.y-n-check.interacted span.n { color: #fff; }
.y-n-check.interacted.on span.y { color: #fff; }
.y-n-check.interacted.on span.n { color: #333; }
.y-n-check span:hover { color: #0063BC; }


@media screen and (max-width: 1229px) {
    .ui-autocomplete { position: fixed; top: 134px; z-index: 9999; left: 50% !important; transform: translateX( calc(-50% + -30px)); width: calc(100% - 30px) !important; max-width: 661px; max-height: calc(100vh - 180px); overflow: auto; }
}

@media screen and (max-width: 991px) {
    .delivery-opt { flex-wrap: wrap; justify-content: start; position: relative; }
    .delivery-opt .desc { width: 100%; margin: 15px 0px 0px 0px; }
    .delivery-opt .rad { width: max-content; }
    .delivery-opt .name { width: max-content; }
    .delivery-opt .price { width: max-content; position: absolute; top: 15px; right: 15px; }

    .basket-table .body .row { background-color: #fff; border-radius: 0px !important; border: none !important; }
    .basket-table .body .row:nth-child(even) { background-color: #f1f1f1; }
}

@media screen and (max-width: 767px) {
    .ui-autocomplete { position: fixed; top: 134px; z-index: 9999; left: 50%; transform: none; left: 15px !important; width: calc(100% - 89px) !important; }
}

@media screen and (max-width:650px) {
    .reg-flex { flex-direction: column; align-items: flex-start; }
    .reg-flex > div:first-child { width: 100%; }
    .reg-flex label { justify-content: space-between; width: 100%; }
}

@media screen and (max-width: 390px) {

    .y-n-check { margin-bottom: 15px; }
}

@media screen and (max-width: 450px) {

    .delivery-opt .price { width: 100%; position: static; text-align: right; margin-top: 15px; }
}
