input.readonly {
  color: gray;
}
.order-opc .columns-container {
  clear: both;
}
.tooltip {
  color: #000; /*position: absolute;top:0;left:0;width:100%;*/
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.4);
  text-align: center;
  height: auto;
  margin: 5px;
  padding: 2px;
  display: none;
}
.tooltip div {
  margin: 10px 5px;
}
.tooltip a.x {
  display: block;
  width: 20px;
  float: right;
  text-decoration: none;
  cursor: pointer;
}
.tooltip a.x:hover {
  font-weight: bold;
}
.classic {
  background: #ffa;
  border-bottom: 1px solid #f80;
}

#tfoot_static,
#cart_summary {
  z-index: 11;
}

table#cart_summary #tfoot_static.floating-summary td,
table#cart_summary.floating-summary tfoot td {
  padding-top: 0px;
  padding-bottom: 0px;
  width: 99.9%;
}
.table_blocksummary_bottom .hidden-xs {
  display: table-header-group !important;
}
div.sticky_underlay {
  background: none repeat scroll 0 0 #eeeeee;
  border-color: -moz-use-text-color #999999 #999999;
  border: 1px solid #999999;
  border-top: 0px;
  display: none;
  filter: alpha(opacity=92);
  opacity: 0.92;
  -moz-opacity: 0.92;
  position: fixed;
  top: 0;
  width: 541px;
  z-index: 10;
}

div#opc_info_block a#toggle_link {
  font-family: courier;
  margin-right: 7px;
}

div#opc_info_block h5 {
  text-decoration: underline;
}

div#opc_info_block p {
  padding: 3px 0 5px;
}

div#opc_info_block {
  /*    padding-top: 10px;*/
  display: none; /* hidden by default, slideDown() when visiting OPC page */
  opacity: 0.4;
}
div#opc_info_block .block_content {
  padding-top: 10px;
}

span.valid_ok {
  background: url(../img/field_success.png) no-repeat left;
}

span.valid_nok {
  background: url(../img/field_error.png) no-repeat left;
}

span.valid_warn {
  background: url(../img/field_warn.png) no-repeat left;
}

span.valid_loading {
  background: url(../img/field_loader.gif) no-repeat left;
}

span.valid_blank {
  background: none;
}

#opc_checkout span.validity {
  font-size: 16px;
  height: 16px;
  display: inline-block;
  margin-bottom: -3px;
  padding-left: 16px;
  margin-left: 2px;
  float: none !important;
  vertical-align: middle;
}

input.error_field,
select.error_field,
textarea.error_field,
#wrapper1 input.error_field {
  box-shadow: 0 0 1px 1px red;
  background: rgb(253, 247, 247);
}

input.ok_field,
select.ok_field,
textarea.ok_field,
#wrapper1 input.ok_field {
  box-shadow: 0 0 1px 1px green;
  background: rgb(247, 255, 247);
}

#opc_checkout #opc_new_account span.sample_text,
#opc_checkout #opc_new_account span.sample_text span,
#offer_password span.sample_text,
#offer_password span.sample_text span {
  float: none;
  width: auto;
  text-align: left;
  font-style: italic;
  text-decoration: none;
  padding-left: 10px;
}

#opc_checkout #opc_new_account span.ex_blur,
#offer_password span.ex_blur {
  color: #ddd;
}

#opc_checkout #opc_new_account span.ex_focus,
#offer_password span.ex_focus {
  color: #333;
}

#login_form a {
  text-decoration: underline; /* Highlight click here. link */
}

#login_form a:hover {
  text-decoration: none; /* Highlight click here. link */
}

#carrierTable,
#paymentMethodsTable,
.delivery_options_address {
  border: 1px solid rgb(245, 245, 245);
  width: 100%;
}

#carrierTable tbody {
  border-bottom: 0px;
}

#carrierTable td,
#paymentMethodsTable td {
  padding: 0.1em 0.5em;
  border: 0px;
  height: 37px;
  vertical-align: middle;
}

#carrierTable td.carrier_action,
#paymentMethodsTable td.payment_action {
  width: 19px;
}

#carrierTable td.carrier_name,
#paymentMethodsTable td.payment_name {
  width: 53px;
}

#carrierTable td.carrier_infos,
#carrierTable td.carrier_price,
#paymentMethodsTable td.payment_description {
  padding: 0;
  font-weight: bold;
}

#carrierTable img,
#paymentMethodsTable img {
  max-height: 40px;
  padding: 2px 0px;
}

#paymentMethodsTable label,
#carrierTable label {
  text-align: left;
  width: 100%;
  padding: 0.3em 0.5em 0.3em 0.5em;
  display: block;
  cursor: pointer;
  float: none;
}

#carrierTable tr input,
#paymentMethodsTable tr input {
  vertical-align: bottom;
}

#carrierTable tr label,
#paymentMethodsTable tr label {
  margin: 0;
}

#paymentMethodsTable .payment_description label {
  padding: 1.5em 0.5em 1.5em 0.5em;
}

#carrierTable tr,
#paymentMethodsTable tr {
  background: none;
}

#carrierTable tr:hover,
#paymentMethodsTable tr:hover,
#carriers_section .delivery_option:hover {
  background: rgb(249, 249, 249); /* Old browsers */
  background: -moz-linear-gradient(
    top,
    rgba(249, 249, 249, 1) 0%,
    rgba(229, 229, 229, 1) 100%
  ); /* FF3.6+ */
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0%, rgba(249, 249, 249, 1)),
    color-stop(100%, rgba(229, 229, 229, 1))
  ); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(
    top,
    rgba(249, 249, 249, 1) 0%,
    rgba(229, 229, 229, 1) 100%
  ); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(
    top,
    rgba(249, 249, 249, 1) 0%,
    rgba(229, 229, 229, 1) 100%
  ); /* Opera 11.10+ */
  background: -ms-linear-gradient(
    top,
    rgba(249, 249, 249, 1) 0%,
    rgba(229, 229, 229, 1) 100%
  ); /* IE10+ */
  background: linear-gradient(
    to bottom,
    rgba(249, 249, 249, 1) 0%,
    rgba(229, 229, 229, 1) 100%
  ); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f9f9f9', endColorstr='#e5e5e5',GradientType=0 ); /* IE6-9 */
}

#carrierTable td.carrier_action.radio,
#paymentMethodsTable td.payment_action.radio {
  padding: 0 15px 0px 15px;
}

#carrierTable tr td,
#paymentMethodsTable tr td,
#carriers_section .delivery_option {
  border-top: 1px solid #dddddd !important;
  margin: 0;
  padding: 0;
}

#carrierTable tr.first_item td,
#paymentMethodsTable tr.first_item td,
#carriers_section .delivery_option:first-child {
  border-top: 0 !important;
}

#carrierTable td.carrier_name > label,
#paymentMethodsTable td.carrier_name > label {
  min-width: 80px;
}

div.confirm_button_div {
  text-align: center;
}

.confirm_button,
#free_order_confirm {
  background: rgb(105, 211, 88); /* Old browsers */
  background: -moz-linear-gradient(
    top,
    rgba(105, 211, 88, 1) 0%,
    rgba(35, 127, 25, 1) 100%
  ); /* FF3.6+ */
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0%, rgba(105, 211, 88, 1)),
    color-stop(100%, rgba(35, 127, 25, 1))
  ); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(
    top,
    rgba(105, 211, 88, 1) 0%,
    rgba(35, 127, 25, 1) 100%
  ); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(
    top,
    rgba(105, 211, 88, 1) 0%,
    rgba(35, 127, 25, 1) 100%
  ); /* Opera 11.10+ */
  background: -ms-linear-gradient(
    top,
    rgba(105, 211, 88, 1) 0%,
    rgba(35, 127, 25, 1) 100%
  ); /* IE10+ */
  background: linear-gradient(
    to bottom,
    rgba(105, 211, 88, 1) 0%,
    rgba(35, 127, 25, 1) 100%
  ); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#69d358', endColorstr='#237f19',GradientType=0 ); /* IE6-9 */
  display: block;
  border: 1px solid green;
  color: white;
  font-weight: bold;
  padding: 14px 0px;
  text-align: center;
  margin: 10px auto;
  width: 45%;
  min-width: 250px;
  font-size: 20px;
  text-shadow: 0 0 2px darkgreen;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}

.confirm_button:hover,
#free_order_confirm:hover {
  background: rgb(111, 236, 62); /* Old browsers */
  background: -moz-linear-gradient(
    top,
    rgba(111, 236, 62, 1) 0%,
    rgba(55, 202, 14, 1) 68%,
    rgba(58, 185, 39, 1) 100%
  ); /* FF3.6+ */
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0%, rgba(111, 236, 62, 1)),
    color-stop(68%, rgba(55, 202, 14, 1)),
    color-stop(100%, rgba(58, 185, 39, 1))
  ); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(
    top,
    rgba(111, 236, 62, 1) 0%,
    rgba(55, 202, 14, 1) 68%,
    rgba(58, 185, 39, 1) 100%
  ); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(
    top,
    rgba(111, 236, 62, 1) 0%,
    rgba(55, 202, 14, 1) 68%,
    rgba(58, 185, 39, 1) 100%
  ); /* Opera 11.10+ */
  background: -ms-linear-gradient(
    top,
    rgba(111, 236, 62, 1) 0%,
    rgba(55, 202, 14, 1) 68%,
    rgba(58, 185, 39, 1) 100%
  ); /* IE10+ */
  background: linear-gradient(
    to bottom,
    rgba(111, 236, 62, 1) 0%,
    rgba(55, 202, 14, 1) 68%,
    rgba(58, 185, 39, 1) 100%
  ); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6fec3e', endColorstr='#3ab927',GradientType=0 ); /* IE6-9 */
  cursor: pointer;
  padding: 14px 0px;
}
/* tooltips */
/*input.ttp ~ span.hint {*/
/*z-index:10;display:none; padding:14px 20px;*/
/*margin-top:-20px; margin-left:28px;*/
/*width:240px; line-height:16px;*/
/*}*/
/*input.ttp:hover ~ span.hint{*/
/*display:inline; position:absolute; color:#111;*/
/*border:1px solid #DCA; background:#fffAF0;*/
/*}*/

/*.callout {z-index:20;position:absolute;top:30px;border:0;left:-12px;}*/

/*CSS3 extras*/
/*input.ttp ~ span.hint*/
/*{*/
/*border-radius:4px;*/
/*-moz-border-radius: 4px;*/
/*-webkit-border-radius: 4px;*/

/*-moz-box-shadow: 5px 5px 8px #CCC;*/
/*-webkit-box-shadow: 5px 5px 8px #CCC;*/
/*box-shadow: 5px 5px 8px #CCC;*/
/*}*/

.opc_status {
  border: 1px solid #d0d3d8;
  /*background: #D0D1D5 url('../img/form_bg.jpg') repeat-x top left;*/
  font-size: 12px;
}

.opc_float {
  float: left;
  width: 49%;
}

.opc_float_status {
  float: left;
  width: 45%;
  padding: 10px;
}

#login_form {
  width: 100%;
  clear: none;
}

#login_form a {
  color: #6d6d6d;
}
input#SubmitLogin {
  margin: 0;
}

.textarea-wrapper {
  margin: 0;
}

#order-opc #carriers_section .textarea-wrapper textarea#message {
  width: 100%;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

sup {
  color: red;
}

div.opc-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url("../img/ajax-loader.gif") #666 no-repeat center center;
  opacity: 0.7;
  filter: alpha(opacity=70); /* IE < 8 */
  -moz-opacity: 0.7;
  -ms-filter: "alpha(opacity=70)"; /* IE 8 */
  z-index: 99;
}

div.opc-main-block {
  position: relative;
}

#above_confirmation_msg {
  border: 1px solid;
  text-align: center;
  padding: 7px 15px;
}

#personal_info {
  padding: 2px 17px;
}

div#order-detail-content.summary_bottom {
  background: #add8e6;
}

form#personal_info_review #personal_info_delivery {
  width: 48%;
  float: left;
}

form#personal_info_review #personal_info_invoice {
  width: 48%;
  float: left;
}

form#personal_info_review #personal_info_shipping {
  width: 48%;
  float: left;
  clear: both;
}

form#personal_info_review #personal_info_payment {
  width: 48%;
  float: left;
}

form#personal_info_review #personal_info_tos {
  clear: both;
}

#personal_info_review p {
  padding-left: 1.7em;
}

#personal_info_review h4 a {
  font-weight: normal;
}

#opc_voucher_errors {
  height: 35px;
}

#postcode,
#postcode_invoice {
  text-transform: uppercase;
}

ul#header_nav {
  z-index: 5;
}

.cart_navigation {
  margin: 0;
  padding-bottom: 0px;
}

#opc_checkout #opc_new_account p.text label,
#opc_checkout #opc_new_account p.password label,
#opc_checkout #opc_new_account p.select label,
#opc_checkout #opc_new_account p.submit label,
#opc_checkout #opc_new_account p.textarea label,
#opc_checkout #opc_new_account p.radio label:first-child {
  width: 195px;
  float: left;
  padding: 0 17px 0 15px;
  text-align: right;
  margin: 5px 0 5px 0;
}

#opc_checkout #opc_new_account p.text input,
#opc_checkout #opc_new_account p.password input,
#opc_checkout #opc_new_account p.select input,
#opc_checkout #opc_new_account p.textarea textarea {
  display: inline-block;
  height: auto;
}

#new_account_form p.select span.validity {
  width: auto;
}

#new_account_form p.radio label:first-child {
  display: inline-block;
  font-size: 14px;
  padding: 6px 15px;
  text-align: right;
}

p.cart_navigation_extra,
p.cart_navigation {
  padding-bottom: 0px;
}

#center_column #new_account_form p {
  padding-bottom: 5px;
  clear: both;
}

form.std h3,
#new_account_form.std h3,
#carriers_section h3,
#payments_section h3,
#cart_summary thead,
#cart_summary thead th {
  /*    background: rgb(140,140,140); 
    background: -moz-linear-gradient(top, rgba(140,140,140,1) 0%, rgba(62,62,62,1) 91%); 
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(140,140,140,1)), color-stop(91%,rgba(62,62,62,1))); 
    background: -webkit-linear-gradient(top, rgba(140,140,140,1) 0%,rgba(62,62,62,1) 91%); 
    background: -o-linear-gradient(top, rgba(140,140,140,1) 0%,rgba(62,62,62,1) 91%); 
    background: -ms-linear-gradient(top, rgba(140,140,140,1) 0%,rgba(62,62,62,1) 91%); 
    background: linear-gradient(to bottom, rgba(140,140,140,1) 0%,rgba(62,62,62,1) 91%); 
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8c8c8c', endColorstr='#3e3e3e',GradientType=0 ); 
    color: #FFFFFF;
    text-shadow: 0px 0px 2px black;*/
  background: #e4e4e4;
  text-shadow: none;
  box-shadow: none;
  color: black;
  font-weight: normal;
}

#cart_summary thead th {
  box-shadow: inset 0px -2px 1px -1px #aaa, inset 0px 2px 1px -1px #aaa;
}

#cart_summary thead th:first-child {
  box-shadow: inset 0px -2px 1px -1px #aaa, inset 0px 2px 1px -1px #aaa,
    inset 2px 0px 1px -1px #aaa;
}

#cart_summary thead th:last-child {
  box-shadow: inset 0px -2px 1px -1px #aaa, inset 0px 2px 1px -1px #aaa,
    inset -2px 0px 1px -1px #aaa;
}

form.std h3,
#new_account_form.std h3,
#carriers_section h3,
#payments_section h3 {
  margin: 0 -6px 15px;
  padding: 8px;
  /*text-transform: capitalize;*/
  font-size: 14px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  /*box-shadow: 0 0 1px 1px black;*/
  box-shadow: inset 0 0 1px 1px #aaa;
}

#order-detail-content #cart_summary,
#cart_summary thead {
  box-shadow: inset 0 0 1px 1px #aaa;
  border: none;
  border-radius: 3px;
}

form.std fieldset,
#carriers_section fieldset {
  margin: 0 0 12px 0;
  clear: none !important;
  -webkit-box-shadow: inset 0 0 1px 1px #aaa;
  -moz-box-shadow: inset 0 0 1px 1px #aaa;
  box-shadow: inset 0 0 1px 1px #aaa;
  padding: 0 6px 2px 6px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  overflow: visible;
}
#stripeModal {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  background: #00000091;
}
#stripe-card-payment {
  max-width: 600px;
  margin: 5% auto;
  border: 1px solid #d6d4d4;
  border-radius: 3px;
  padding: 12px;
  background: white;
}
#carriers_section fieldset,
#payments_section fieldset {
  padding-bottom: 0;
}

#carrierTable tr,
#paymentMethodsTable tr {
  border: 1px solid rgb(245, 245, 245);
}

form.std h3,
#new_account_form.std h3 {
  margin-bottom: 10px;
}

#cart_summary {
  border-collapse: separate;
  border-spacing: 0;
  /*border: 1px solid gray;*/
}

/*#cart_summary {
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    box-shadow: 0 0 2px 3px rgb(128, 127, 127);
    border: 0;
}*/

/*div#opc_delivery_methods, */
/*div#opc_payment_methods,*/
/*.order_carrier_content {*/
/*padding: 0px 25px;*/
/*}*/

.delivery_option td {
  padding: 3px 10px;
}

form#offer_password fieldset {
  padding: 10px 25px 0px;
}

#order-opc #opc_checkout #login_form fieldset {
  padding: 0 6px 0px;
}

#login_form_content > p.lost_password {
  padding-bottom: 5px;
}

#order-opc #login_form fieldset p {
  clear: both;
  margin: 10px 0px 10px 0px;
}

#order-opc #login_form fieldset p.submit input {
  text-align: center;
}

#order-opc #login_form fieldset h3 {
  text-align: center;
  margin-bottom: 0;
}

#dlv_label, #new_label, #dlv_carrier, #dlv_payment {
  vertical-align: super;
}

#order-opc #login_form a#openLoginFormBlock {
  margin-left: 10px;
}

#login_form p.lost_password {
  margin-left: 25px;
}

#login_form_content > p.lost_password > a {
  color: #999;
}

#login_form #closeLoginFormContainer {
  float: right;
  margin-top: -13px;
  margin-right: -10px;
  width: 40px;
  height: 36px;
}

#login_form #closeLoginFormBlock {
  display: none;
  cursor: pointer;
}

table#cart_summary td {
  padding: 2px 10px;
  vertical-align: middle;
}

table#cart_summary .cart_total,
table#cart_summary .cart_discount_price {
  width: 70px;
  text-align: right;
}

table#cart_summary .cart_description {
  width: auto;
}

table#cart_summary .cart_unit {
  width: 70px;
  white-space: nowrap;
}

table#cart_summary .cart_quantity {
  width: 40px;
}

table#cart_summary .cart_delete {
  width: 40px;
}

.cart_quantity .cart_quantity_button {
  top: 0px;
  white-space: nowrap;
}

#cart_summary .price {
  white-space: nowrap;
}

#cart_summary .cart_quantity_input {
  border: 1px solid #888888;
  font-size: 1.4em;
  height: auto;
  margin: 0 0 0 -2px;
  padding: 4px 2px !important;
  width: 44px;
  float: none;
  text-align: center;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display: block;
}

form#offer_password p#p_registerme {
  padding-bottom: 10px;
}

form#offer_password p#opc_password > label {
  padding: 0 8px 0 28%;
}

form.no_carriers > fieldset {
  padding-top: 10px;
}

#order-opc #opc_delivery_methods textarea#gift_message {
  width: 100%;
}

#opc_checkout #new_account_form p.select select#days {
  width: 50px;
  padding: 6px 3px;
}

#opc_checkout #new_account_form p.select select#months {
  width: 110px;
  padding: 6px 3px;
}

#opc_checkout #new_account_form p.select select#years {
  width: 70px;
  padding: 6px 3px;
}

#opc_checkout #opc_new_account p.radio {
  padding-left: 0;
}

#opc_checkout #opc_new_account p.radio > label:first-child {
  margin-right: 10px;
  font-weight: bold;
  font-size: 1em;
}

p.textarea label:first-child {
  vertical-align: top;
}

div#existing_email_msg,
div#must_login_msg {
  display: none;
  text-align: center;
  color: #ba0000;
  margin: 3px 5px 12px;
}

a.existing_email_login {
  font-weight: bold;
  text-decoration: underline;
}

a.existing_email_login:hover {
  text-decoration: none;
}

#new_account_form p.required sup {
  color: red;
}

.confirm_button,
#free_order_confirm {
  height: auto;
}

.cart_last_product {
  display: none !important;
}

#opc_checkout #opc_new_account p#invoice_address_checkbox.no_show {
  display: none;
}

form#offer_password.no_show {
  opacity: 0;
  display: none;
  height: 0px;
  overflow: hidden;
}

div#tos_moved {
  margin: 20px;
  clear: both;
  font-size: 1.1em;
}

div.save-account-overlay {
  background: #666666;
  height: 100%;
  left: 0;
  opacity: 0.7;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 99;
}

div.save-account-button-container {
  left: 0;
  opacity: 1;
  position: absolute;
  top: 45%;
  width: 100%;
  z-index: 100;
  margin: auto;
  text-align: center;
}

div.save-account-button {
  background: white;
  border: 3px solid darkgreen;
  display: inline;
  opacity: 1;
  padding: 10px 20px;
  cursor: pointer;
  font-size: 1.3em;
}

div.save-account-button:hover {
  border: 3px solid limegreen;
}

#new_account_form p.checkbox {
  clear: both;
}

#center_column #new_account_form p#invoice_address_checkbox {
  margin: 8px 0 5px;
}

#dlv_label.new-l,
#new_label.logged-l {
  display: none;
}

#delivery_address_checkbox input#delivery_address {
  margin-right: 0;
}

#carriers_section .order_carrier_content {
  border: 0;
  background-color: transparent;
}

/*div.below-carrier-content {*/
/*padding: 0 15px;*/
/*}*/

.summary-top ~ #order-detail-content {
  margin-left: 0;
  width: auto;
}

#opc_checkout #opc_new_account p.text input,
#opc_checkout #opc_new_account p.select select,
#opc_checkout #opc_new_account p.textarea textarea,
textarea#message,
input.discount_name {
  -webkit-transition: background 1s ease-in-out;
  -moz-transition: background 1s ease-in-out;
  -ms-transition: background 1s ease-in-out;
  -o-transition: background 1 ease-in-out;
  outline: none;
  padding: 3px 3px 3px 3px;
  margin: 0;
  border: 1px solid #dddddd;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

p.select select {
  display: inline-block;
}

#opc_checkout #opc_new_account p.text input:focus,
#opc_checkout #opc_new_account p.select select:focus,
#opc_checkout #opc_new_account p.textarea textarea:focus,
textarea#message:focus,
input.discount_name:focus {
  box-shadow: 0 0 1px 1px blue;
  background: white;
  /*-webkit-transition: background 0s ease-in-out;*/
  /*-moz-transition: background 0s ease-in-out;*/
  /*-ms-transition: background 0s ease-in-out;*/
  /*-o-transition: background 0 ease-in-out;*/
}

#opc_checkout #opc_new_account p.text input:hover,
#opc_checkout #opc_new_account p.select select:hover,
#opc_checkout #opc_new_account p.textarea textarea:hover,
textarea#message:hover,
input.discount_name:hover {
  box-shadow: 0 0 6px 0px blue;
}

.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  float: none;
}

#carrierTable td,
#paymentMethodsTable td {
  display: table-cell;
}

tr.cart_voucher_block .cart_voucher h4 {
  padding: 0;
  margin: 0 10px 0 0;
  float: left;
}

/* quantity and delete buttons */

#cart_summary a.cart_quantity_delete,
#cart_summary a.cart_quantity_delete_discount {
  background: url("../img/trash_16x16.gif") no-repeat scroll 0 0
    rgba(0, 0, 0, 0);
  height: 16px;
  opacity: 0.4;
  padding: 0;
  width: 16px;
  transition-duration: 0.7s;
  transition-property: opacity;
  display: inline-block;
}

#cart_summary a.cart_quantity_delete:hover,
#cart_summary a.cart_quantity_delete_discount:hover {
  opacity: 1;
}

#cart_summary div.cart_quantity_button a {
  opacity: 0.2;
  transition-duration: 0.7s;
  transition-property: opacity;
}

#cart_summary div.cart_quantity_button a:hover {
  opacity: 1;
}

#cart_summary a.cart_quantity_up,
#cart_summary a.cart_quantity_down {
  width: 40px;
  height: 30px;
  display: block;
}

#cart_quantity_button .cart_quantity_up,
#cart_quantity_button .cart_quantity_down {
  border: medium none;
  position: relative;
}

#cart_summary a.cart_quantity_up {
  background: url("../img/plus.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
  background-size: 40px 30px;
}

#cart_summary a.cart_quantity_down {
  background: url("../img/minus.png") no-repeat scroll 0 0px rgba(0, 0, 0, 0);
  background-size: 40px 30px;
}

div.breadcrumb {
  display: none;
}

#tfoot_static > tr.summary-line td:nth-child(1) {
  text-align: right;
  padding-right: 25px;
}

#tfoot_static > tr.summary-line td {
  font-size: 1.2em;
}

#tfoot_static > tr.cart_final_price td {
  font-weight: bold;
  text-transform: uppercase;
}

table#cart_summary .cart_total .price {
  font-size: 1.2em;
}

#cart_summary tbody td.cart_description {
  width: auto;
}

#cart_summary tbody td.cart_product {
  padding: 4px;
  width: 107px;
}

#opc_checkout.ps15 table#cart_summary .cart_product {
  width: 54px;
}

#opc_checkout #opc_new_account p.text input,
#opc_checkout #opc_new_account p.select select,
#opc_checkout #opc_new_account p.textarea textarea,
textarea#message {
  border-radius: 3px;
}

#order-opc #message {
  width: 100%;
}

/* voucher block */

#voucher {
  padding: 10px 0px 7px 0px;
  display: inline-block;
}

#voucher input.discount_name {
  display: inline;
}

#voucher input {
  height: 35px;
  margin-top: -1px;
  padding: 1px 15px;
}

#voucher h4 {
  display: inline-block;
  margin: 0;
  padding: 0 5px 0 0;
  line-height: 27px;
}

#display_cart_vouchers {
  text-align: left;
  clear: both;
}

form#voucher .button,
form#voucher #discount_name,
#opc_checkout #opc_new_account #login_form_content .button {
  height: 2.5em;
  border-radius: 3px;
  box-sizing: content-box;
}

form#voucher .button,
#opc_checkout #opc_new_account #login_form_content .button {
  padding: 0 2em;
  border-radius: 3px;
}

#order-opc form#voucher .button {
  display: inline;
  float: none;
}

#login_form_content {
  padding: 2px 0 0 0;
  width: auto;
  border: 0;
  background: none;
}

#opc_checkout #opc_new_account p.text input,
#opc_checkout #opc_new_account p.select select,
#opc_checkout #opc_new_account p.textarea textarea {
  width: 290px;
  padding: 4px 6px;
  border-radius: 3px;
}

#dlv_addresses.ok_field,
#inv_addresses.ok_field {
  background: none repeat scroll 0 0 #ffffff;
  border: 1px solid #dddddd;
  box-shadow: none;
}

div.address-type-header {
  padding: 3px 5px;
  line-height: 20px;
  font-weight: bold;
  box-shadow: rgb(190, 190, 190) 0px 0px 1px 1px;
  background: #fafafa;
}

div.address-type-header.delivery {
  margin: 2em -7px 1em;
}

div.address-type-header.invoice {
  margin: -15px -7px 1em;
}

#opc_new_account.invoice-first div.address-type-header.invoice {
  margin: 2em -7px 1em;
}

#opc_new_account.invoice-first div.address-type-header.delivery {
  margin: -15px -7px 1em;
}

#opc_new_account.invoice-first
  div.address-type-header.delivery
  #opc_account_errors,
#opc_account_errors_invoice,
#opc_login_errors,
#opc_payment_errors,
#opc_tos_errors,
#opc_privacy_checkbox_errors {
  border: 1px solid #c20606;
  margin: 10px 10px 15px;
  padding: 3px 5px;
}
#opc_checkout .alert.alert-danger:before {
  content: "";
}
.cart_quantity_up > span,
.cart_quantity_down > span,
.cart_quantity_delete > span {
  display: none;
}
#cart_quantity_button {
  display: flex;
  flex-direction: column;
  align-items: center;
}
td.cart_voucher {
  text-align: right;
}

#voucher {
  /* float: right; */
  padding: 10px 0px 0px 0px;
}

#voucher > fieldset > h4.title_offers {
  text-transform: none;
  font-size: 1.2em;
  display: block;
  clear: both;
}

#display_cart_vouchers > span {
  padding-top: 3px;
  display: inline-block;
}

#cgv ~ label,
#uniform-cgv ~ label {
  font-weight: bold;
  border-bottom: 1px solid #dd8400;
  background: rgba(255, 218, 102, 0.19);
  padding: 2px 20px 2px;
  max-width: 90%;
  display: inline-block;
}

#opc_checkout .account_fields {
  margin-top: 10px;
}

#opc_checkout p.checkbox input {
  vertical-align: middle;
  margin-right: 3px;
}

#opc_checkout p.checkbox label {
  vertical-align: middle;
}

/* reset */
.cart_quantity .cart_quantity_button .cart_quantity_down,
.cart_quantity .cart_quantity_button .cart_quantity_up {
  margin: 0;
  float: none;
}

#order-detail-content {
  overflow: visible;
}

#cart_summary tfoot td#total_price_container {
  background: transparent;
}

#cart_summary tbody tr:hover,
#cart_summary tfoot tr:hover {
  background: #fafafa;
  box-shadow: inset 2px 0px 1px -1px #aaa, inset -2px 0px 1px -1px #aaa;
}

#cart_summary tfoot tr:last-child:hover {
  box-shadow: inset 2px 0px 1px -1px #aaa, inset -2px 0px 1px -1px #aaa,
    inset 0px -2px 1px -1px #aaa;
  border-radius: 0 0 3px 3px;
}

#new_account_form h3 {
  border: 0;
}

#center_column.grid_5 {
  margin: 0;
}

/*form.std p span {
    width: auto;
}*/

#new_account_form p.select span.validity {
  padding: 5px 8px;
  display: inline-block;
}

::-webkit-input-placeholder {
  color: #bbbbbb;
  font-style: italic;
  text-transform: none;
}

:-moz-placeholder {
  /* Firefox 18- */
  color: #bbbbbb;
  font-style: italic;
  text-transform: none;
}

::-moz-placeholder {
  /* Firefox 19+ */
  color: #bbbbbb;
  font-style: italic;
  text-transform: none;
}

:-ms-input-placeholder {
  color: #bbbbbb;
  font-style: italic;
  text-transform: none;
}

#opc_checkout p.hidden_field {
  display: none;
}

/* default PS carriers view */
#opc_checkout .delivery_option_logo {
  padding-left: 10px;
  width: 80px;
}

#opc_checkout .delivery_option_line tbody tr td:first-child {
  width: 57px !important;
}

#opc_checkout .delivery_option label > table.resume td + td,
#opc_checkout .delivery_option label > table.resume td + td {
  width: 300px;
}

#opc_checkout .delivery_option label > table.resume td + td + td,
#opc_checkout .delivery_option label > table.resume td + td + td {
  text-align: right;
  width: 100px;
}

.delivery_option_line,
.delivery_option_line label,
.delivery_option_line label table.resume {
  width: 100%;
}

#opc_checkout .delivery_option .radio {
  float: left;
  margin: 21px 12px;
}

#opc_checkout > #paypal-express-checkout #paypal-express-checkout-btn-product {
  display: none !important;
}

#new_account_form p.required {
  color: unset;
}

#cart_summary {
  width: 100%;
}

#cart_summary th {
  padding: 6px 10px;
}

#cart_summary .cart_unit li {
  list-style: none;
}

#paymentMethodsTable tr.cc-form td {
  border-top: medium none !important;
}

#paymentMethodsTable tr.cc-form:hover {
  background: transparent;
}

#paymentMethodsTable .cc-form {
  display: none;
}

#container_express_checkout {
  display: none;
}

.delivery_option_logo img {
  max-height: 40px;
}

table.delivery_option_carrier.not-displayable.selected {
  display: none;
}

.delivery_option .trMRSelected {
  width: 100% !important;
}

#order-opc .delivery_option > div {
  margin-bottom: 0;
}

#opc_payment_methods .col-md-6 {
  width: 100%;
}

#customfieldsblock_summary.clearfix::after {
  display: none;
}

#payments_section h3.paypalpro_title {
  background: none;
  color: black;
  text-shadow: none;
  box-shadow: none;
}

#opc_invoice_address,
#opc_delivery_address {
  overflow: visible !important;
}

div.error {
  width: 100%;
}

/* Floating labels */

#opc_checkout.infield-labels #opc_new_account #opc_account_form p input,
#opc_checkout.infield-labels #opc_new_account #opc_account_form p select,
#opc_checkout.infield-labels #opc_new_account #opc_account_form p textarea,
#opc_checkout.infield-labels #opc_new_account #login_form input {
  padding: 10px 8px 9px;
  margin: 0;
  width: 100%;
  transition: all 0.2s ease-out;
}

#opc_checkout.infield-labels
  #opc_new_account
  #opc_account_form
  p.floating-label
  input,
#opc_checkout.infield-labels #opc_new_account #opc_account_form p select,
#opc_checkout.infield-labels #opc_new_account #opc_account_form p textarea,
#opc_checkout.infield-labels
  #opc_new_account
  #login_form
  p.floating-label
  input {
  padding: 16px 8px 3px;
}

#opc_checkout.infield-labels #opc_new_account p.text label,
#opc_checkout.infield-labels #opc_new_account p.select label,
#opc_checkout.infield-labels #opc_new_account p.textarea label {
  opacity: 0;
  display: inline;
  position: absolute;
  width: auto;
  left: 10px;
  margin: 2px 0 0 0;
  padding: 0;
  font-weight: normal;
  line-height: 18px;
  font-size: 11px;
  color: #999;
  pointer-events: none;
  transition: all 0.2s ease-out;
}

#opc_checkout.infield-labels #opc_new_account p.floating-label label,
#opc_checkout.infield-labels #opc_new_account p.select label,
#opc_checkout.infield-labels #opc_new_account p.textarea label {
  opacity: 1;
  transform: none;
}

.infield-labels label sup {
  display: none;
}

#opc_checkout.infield-labels #opc_new_account p {
  position: relative;
  margin: 0px 5px;
  display: block;
}

#opc_checkout.infield-labels .address_fields {
  display: flex;
  flex-wrap: wrap;
}

#opc_checkout.infield-labels #opc_new_account .address_fields p {
  flex-grow: 1;
  width: 100%;
}

.flex-1 {
  flex-basis: 20%;
  min-width: 110px;
}

.flex-2 {
  flex-basis: 45%;
  min-width: 150px;
}

.flex-3 {
  flex-basis: 70%;
  min-width: 200px;
}

#opc_checkout.infield-labels.validation_checkboxes p.text span.validity {
  position: absolute;
  right: 8px;
  top: 14px;
}

#opc_checkout.infield-labels.validation_checkboxes
  #opc_new_account
  #opc_account_form
  p.text
  input {
  padding-right: 25px;
}

#opc_checkout.infield-labels.validation_checkboxes
  #opc_new_account
  #opc_account_form
  p.select
  span.validity {
  display: none;
}

#opc_checkout.infield-labels #login_form_content {
  width: 100%;
}

#opc_checkout.infield-labels #opc_new_account #login_form input[type="submit"] {
  box-sizing: border-box;
  min-height: 50px;
}

#opc_checkout.infield-labels #login_form_content p {
  padding: 9px 0px 5px;
}

p.required.postcode.text.flex-1 {
  overflow: visible !important;
}

/* Uniform library styling fixes */

div#uniform-cgv {
  display: inline;
  float: none;
}

#paymentMethodsTable div.radio {
  margin: -9px 7px;
}

table.delivery_option_carrier.not-displayable {
  display: none;
}

/* Exceptions - 3rd party modules */
div#HOOK_TOP_PAYMENT #bestkit_pfee {
  display: none;
}

/* ********************************** Responsive styles ********************************** */

/* Semi-wide screens */
@media (max-width: 1199px) {
  #opc_checkout #opc_new_account div.account_fields,
  #opc_checkout #opc_new_account div.address_fields {
    margin: 0 auto;
    max-width: 685px;
    text-align: left;
    border: 0;
  }
}

@media (min-width: 768px) {
  .cart-summary-header-sm {
    display: none;
  }
}

/* Small screens */
@media (max-width: 767px) {
  #opc_checkout #opc_new_account div.account_fields,
  #opc_checkout #opc_new_account div.address_fields {
    width: auto;
  }
  #opc_checkout #opc_new_account p.text input,
  #opc_checkout #opc_new_account p.select select,
  #opc_checkout #opc_new_account p.textarea textarea {
    width: 250px;
  }
  #opc_checkout #opc_new_account p.text label,
  #opc_checkout #opc_new_account p.select label,
  #opc_checkout #opc_new_account p.textarea label {
    width: 160px;
  }

  #cart_summary #tfoot_static > tr.summary-line > td:nth-child(1) {
    width: 75%;
    float: left;
    text-align: right;
  }

  #cart_summary #tfoot_static > tr.summary-line > td:nth-child(2) {
    width: 25%;
    padding: 1px 4px 1px 0;
    /*float: none;*/
  }

  #opc_checkout #order-detail-content #cart_summary tbody td.cart_description {
    width: auto;
  }

  #opc_checkout #order-detail-content #cart_summary tbody td.cart_product {
    width: 117px;
  }

  #opc_checkout #order-detail-content #cart_summary tbody td {
    padding: 7px 15px 7px 15px;
  }

  #opc_checkout #order-detail-content #cart_summary td.cart_unit,
  #opc_checkout #order-detail-content #cart_summary td.cart_total {
    text-align: center;
    padding-top: 21px;
  }

  #opc_checkout #order-detail-content #cart_summary td.cart_quantity {
    text-align: center;
    padding: 0;
    margin-top: -5px;
  }

  #opc_checkout #order-detail-content #cart_summary td.cart_total {
    /*float: none;*/
    text-align: center;
  }

  #order-detail-content #cart_summary td.cart_quantity div {
    display: inline-block;
    float: none !important;
  }

  #cart_summary .cart_unit li.price {
    list-style: none;
  }

  .cart_total br {
    display: none;
  }

  td.cart_total a.cart_quantity_delete {
    float: right;
  }
  #order-detail-content #cart_summary .cart_ref {
    display: none;
  }
  .delivery_option_logo img {
    max-width: 40px;
  }
  .delivery_options table td {
    padding-left: 0;
  }
  #opc_checkout .delivery_option .radio,
  #opc_checkout .payment_action .radio {
    margin: 21px 0px 21px 5px;
  }
  #carrierTable td.carrier_action.radio,
  #paymentMethodsTable td.payment_action.radio {
    padding: 0 10px 0px 0px;
  }
  #order-detail-content #cart_summary tbody td {
    float: left;
    border: none;
  }

  #cart_summary tbody tr {
    display: flex !important;
    flex-wrap: wrap;
  }
  td.cart_description {
    flex-basis: 50%;
    flex-grow: 1;
  }
  .cart_quantity_up,
  .cart_quantity_down {
    display: none !important;
  }
  #order-detail-content #cart_summary td.cart_unit {
    clear: both;
    width: 33%;
    border: none;
    min-height: 50px;
    padding: 15px !important;
  }
  #order-detail-content #cart_summary td.cart_quantity {
    clear: none;
    width: 33%;
    border: none;
    min-height: 50px;
    border-left: 1px solid #eee;
    border-right: 1px solid #eee;
    padding: 9px !important;
  }
  #order-detail-content #cart_summary td.cart_total {
    clear: none;
    width: 33%;
    border: none;
    min-height: 50px;
    padding: 15px !important;
  }
  div#tos_moved {
    text-align: center;
  }
  #cgv ~ label,
  #uniform-cgv ~ label {
    display: inline;
    padding: 0;
    border: none;
    background: none;
    line-height: 21px;
  }
  .cart-summary-header-sm {
    border-radius: 3px;
    box-shadow: inset 0 0 1px 1px #aaa;
    padding: 8px;
    background: #e4e4e4;
    color: black;
    font-size: 14px;
    margin-bottom: 3px;
    z-index: 2;
    position: relative;
    margin-bottom: -4px;
    display: block;
  }
}

/* Very Small screens */
@media (max-width: 479px) {
  .table_blocksummary_bottom .hidden-xs {
    display: none !important;
  }
  #opc_checkout #opc_new_account p.text label,
  #opc_checkout #opc_new_account p.select label,
  #opc_checkout #opc_new_account p.textarea label {
    width: 100%;
    float: none;
    text-align: left;
  }

  #opc_checkout #opc_new_account p.text input,
  #opc_checkout #opc_new_account p.select select,
  #opc_checkout #opc_new_account p.submit input,
  #opc_checkout #opc_new_account p.textarea textarea {
    width: 86%;
    margin-left: 15px;
  }

  span.sample_text {
    display: none;
  }

  #carrierTable td.carrier_name {
    display: none;
  }

  #opc_checkout #opc_new_account p.text input,
  #opc_checkout #opc_new_account p.select select {
    width: 86%;
  }

  tr.cart_voucher_block fieldset #discount_name {
    width: 130px;
  }

  #voucher h4 {
    display: block;
    float: none;
    text-align: left;
  }

  input#SubmitLoginOpc {
    padding: 0 !important;
  }
}
