body #main-content {
    background: #f2f2f2;
}
.woocommerce.et_right_sidebar #left-area,
.woocommerce-page.et_right_sidebar #left-area {
    padding-bottom: 0;
}
@media screen and (max-width: 980px) {
    .woocommerce #content div.product div.images,
    .woocommerce #content div.product div.summary,
    .woocommerce div.product div.images,
    .woocommerce div.product div.summary,
    .woocommerce-page #content div.product div.images,
    .woocommerce-page #content div.product div.summary,
    .woocommerce-page div.product div.images,
    .woocommerce-page div.product div.summary {
        float: none;
        width: 100%;
    }
    body:not(.et-tb) #main-content .container,
    body:not(.et-tb-has-header) #main-content .container {
        padding-top: 0;
    }
}

.woocommerce .woocommerce-breadcrumb {
    font-size: 0.8em;
    padding: 1em 0;
}
@media screen and (min-width: 980px) {
    .woocommerce .woocommerce-breadcrumb {
        margin-left: 10px;
    }
    .woocommerce div.product > .clearfix {
        margin-left: 10px;
    }
}

/* Product thumbs (Note these are added by woocommerce js) */
.woocommerce div.product div.images .flex-control-thumbs {
    text-align: center;
    margin: 0;
}
.woocommerce.single-product div.product div.images .flex-control-thumbs li {
    width: 4px;
    margin: 0 8px;
    float: none;
    display: inline-block;
}
.woocommerce.single-product div.product div.images .flex-control-thumbs li:nth-of-type(4n) {
    margin-right: 8px;
}
.woocommerce div.product div.images .flex-control-thumbs img {
    height: 0px;
    width: 4px;
    padding: 4px;
    background: #b2b2b2;
    border-radius: 4px;
}
.woocommerce div.product div.images .flex-control-thumbs .flex-active img {
    background: #333;
}
@media screen and (min-width: 980px) {
    a.woocommerce-product-gallery__trigger + div{
        width: 100%;
    }
    .woocommerce-product-gallery__image flex-active-slide {
        width: 25% !important;
    }
    .woocommerce div.product div.images ol.flex-control-thumbs {
        padding: 0;
        margin: 10px 0;
        overflow: initial;
    }
    .woocommerce.single-product div.product div.images .flex-control-thumbs li {
        width: 61px;
        height: 61px;
        margin: 0 6px;
        display: inline-block;
        align-items: center;
        padding: 0;
    }
    .woocommerce.single-product div.product div.images .flex-control-thumbs li:nth-of-type(4n) {
        margin-right: 6px;
    }
    .woocommerce div.product div.images .flex-control-thumbs li img {
        opacity: 1;
        width: auto;
        border-radius: 0;
        transition: unset;
        height: auto;
        background: transparent;
    }
    .woocommerce.single-product div.product div.images .flex-control-thumbs li.flex-active {
        /* border: 1px solid #919096; */
        /* margin: 1px; */
        width: 61px;
        height: 61px;
        padding: 3px;
    }
    .woocommerce div.product div.images .flex-control-thumbs li.flex-active img {
        padding: 0;
        margin: 0;
        border: 1px solid #ccc;
    }
    #left-area .flex-control-nav.flex-control-thumbs {
        padding-bottom: 0;
    }
}
/* Full size product images */
.flex-viewport .woocommerce-product-gallery__image {
    visibility: hidden;
}
.flex-viewport .woocommerce-product-gallery__image.flex-active-slide {
    visibility: visible;
}
#left-area div.product .woocommerce-product-gallery img {
    padding: 0;
}
/* Zoom icon */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger:before {
    content: "+";
    border: none;
    border-radius: unset;
    font-size: 31pt;
    font-weight: 400;
    color: #333;
    text-indent: 0;
    top: 2px;
    left: 6px;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger:after {
   content: none;
}
/** Gallery direction buttons **/
#left-area ul.flex-direction-nav {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
.flex-direction-nav::after {
    content: '';
    clear: both;
    display: block;
}
.flex-direction-nav li {
    padding: 0;
    margin: 0;
    position: absolute;
    top: calc(50% - 23px - 26px - 0.5em);
    font-family: 'ETmodules';
    font-size: 48px;
}
.flex-direction-nav li.flex-nav-prev {
    left: 0;
}
.flex-direction-nav li.flex-nav-next {
    right : 0;
}
.flex-direction-nav a {
    color: #333;
}
@media screen and (min-width: 980px) {
    #left-area ul.flex-direction-nav {
        display: none;
    }
}

/* Lightbox */
.pswp__button--arrow--left,
.pswp__button--arrow--right {
    margin-top: -25px;
    width: 50px;
    height: 50px;
}
.pswp--svg .pswp__button--arrow--left:before,
.pswp--svg .pswp__button--arrow--right:before {
    background-image: none;
    content: "\35";
    color: #333;
    font-family: ETmodules!important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-size: 64px;
    position: static;
}
.pswp--svg .pswp__button--arrow--left:before {
    content: "\34";
    margin-left: -20px;
}
.pswp__bg {
    background: #fff;
}
.pswp__ui--idle .pswp__top-bar,
.pswp__top-bar {
    opacity: 1;
    position: absolute;
    left: auto;
    right: 0;
    top: 0;
    height: 44px;
    width: 44px;
    background: transparent;
}
button.pswp__button {
    background-image: none!important;
}
button.pswp__button--close::after {
    color: #333;
    content: '×';
    font-size: 64px;
    font-family: Open Sans,Arial,sans-serif;
    font-weight: 200;
    line-height: 40px;
}
@media screen and (min-width: 980px) {
    .pswp__button--arrow--left,
    .pswp__button--arrow--right {
        margin-top: -50px;
        width: 70px;
        height: 100px;
    }
    .pswp--svg .pswp__button--arrow--left:before {
        margin-left: 0;
    }
}
/* Fix for lightbox images not displaying sometimes */
.pswp__zoom-wrap {
    transform: none !important;
    text-align: center;
    display: -webkit-box; 
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex; 
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}
.pswp__zoom-wrap .pswp__img{
    margin: 0 auto;
    position: relative;
    max-height: 100vh;
    max-width: 100vw;
}
/* Disable zoom on lightbox */
.pswp--zoom-allowed .pswp__img {
    cursor: default;
}


/* Product summary info */
.woocommerce div.product div.summary {
    text-align: center;
    margin-bottom: 0;
}
.product-sku {
    display: block;
    margin: 0 0 25px 0;
    font-size: 0.8em;
}
.product-attribute {
    display: block;
}
.product-val {
    font-weight: bold;
}
.product-notice {
    display: block;
    margin: 1em 0 0 0;
}
.product-notice p:not(.has-background):last-of-type {
    padding-bottom: 1em;
}
.shipping-notice {
    display: block;
    margin: 0 0 25px 0;
    font-weight: 400;
}
.shipping-notice-extra {
    font-size: 9pt;
    font-weight: normal;
    margin: 0 -50px;
    display: inline-block;
    line-height: 12pt;
}
.woocommerce-Price-amount {
    color: #000;
    font-weight: 400;
}

/* Out of stock notice */
.no-stock {
    display: block;
    margin: 25px 0;
    font-weight: 600;
}

/* Variable product attr selects */
.variable-attr {
    padding: 0 0.4em;
    font-size: 0.8em;
}
.variable-attr .radio-as-select {
    margin-top: 0.5em;
    font-weight: 100;
}
.woocommerce div.product form.cart .variations .radio-as-select label {
    font-weight: 300;
    padding: 1.125em 2.5em 1.125em 1.25em;
}
/* Price for variation */
.woocommerce-variation-price {
    margin-bottom: 20px;
}
.reset_variations {
    display: none;
}


/* Cart form */
.woocommerce div.product form.cart,
.woocommerce-page div.product form.cart {
    margin: 25px auto !important;
    width: 300px;
}
.woocommerce div.product form.cart.variations_form {
    width: auto;
}
.woocommerce div.product form.cart.variations_form .variations,
.woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart {
    width: 300px;
    margin: 0 auto;
}
#charging-cable {
    display: block;
    width: 300px;
    margin: 0 auto;
    padding: 0 0.4em 22px 0.4em;
    font-size: 0.8em;
}
#charging-cable.radio-as-select label {
    padding: 1.125em 2.5em 1.125em 1.25em;
    line-height: 1.2em;
}
.variations .radio-as-select {
    margin-bottom: 20px;
}
.woocommerce div.product form.cart div.quantity,
.woocommerce div.product form.cart .button {
    float: none;
    display: inline-block;
    vertical-align: middle;
}
.woocommerce div.product form.cart div.quantity.hidden {
    display: none;
}
.price {
    padding-bottom: 0;
}
.tax-notice {
    font-size: 0.8em;
}
/* Quantity */
.quantity {
    background: #fff;
}
.quantity input[type=number]::-webkit-inner-spin-button,
.quantity input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
}
.quantity .input-wrapper {
    float: right;
    display: block;
}
.woocommerce .quantity input.qty[type=number]{
    -moz-appearance: textfield;
    background: #fff !important;
    color: #000 !important;
    padding: 1em 0;
    margin: 0;
    width: 2.2em;
    height: auto;
    font-size: 12pt!important;
}
/* Add to cart */
.woocommerce.et_pb_button_helper_class div.product button.button,
.woocommerce-page.et_pb_button_helper_class div.product button.button,
.woocommerce.et_pb_button_helper_class div.product button.button:hover,
.woocommerce-page.et_pb_button_helper_class div.product button.button:hover {
    background: #333 !important; /* !important only needed for hover state */
    color: #fff !important;
    border: none;
    padding: 0.82em 1em !important;
    width: calc(50% - 10px);
}
.woocommerce button.button.alt.disabled,
.woocommerce-page button.button.alt.disabled,
.et_button_no_icon.woocommerce-page button.button.alt.disabled,
.et_button_no_icon.woocommerce button.button.alt.disabled,
.et_button_no_icon.woocommerce button.button.alt.disabled:hover,
.et_button_no_icon.woocommerce-page button.button.alt.disabled:hover {
    font-size: 16px;
    border-radius: 0;
    padding: 0.82em 1em !important;
}
.woocommerce-variation-add-to-cart-disabled {
    display: none;
}


/* Category & Social links */
.product_meta {
    border-top: none;
}
.woocommerce .posted_in a {
    color: #000;
    font-weight: 600;
}
.share-on h4, #left-area ul.social-links {
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    padding: 0;
    font-size: 0.8em;
}
.social-links li {
    list-style-type: none;
    display: inline-block;
    padding: 0 0.25em;
}
.social-links li a {
    color: #333;
    font-size: 14pt;
    font-family: 'ETmodules';
}


/* Tabs container */
body.woocommerce .woocommerce-tabs {
    border: none;
    padding: 2em 25px 0 25px;
    background: #fff;
    position: relative;
    margin: 30px 0 0 0;
}
body.woocommerce div.product .woocommerce-tabs .panel, body.woocommerce #content-area div.product .woocommerce-tabs .panel {
    margin: 2.5em auto 0 auto;
    max-width: 1024px;
}
body.woocommerce div.product .woocommerce-tabs ul.tabs {
    background: transparent;
    text-align: center;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    content: none;
}
@media screen and (min-width: 768px) {
    body.woocommerce.single-product .woocommerce-tabs {
        margin: 30px -25px 0 -25px;
    }
}
/* Tab headings */
body.woocommerce.single-product div.product .woocommerce-tabs ul.tabs,
body.woocommerce.single-product #content-area div.product .woocommerce-tabs ul.tabs,
body.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li,
body.woocommerce.single-product #content-area div.product .woocommerce-tabs ul.tabs li {
    background: transparent;
}
body.woocommerce #content-area div.product .woocommerce-tabs ul.tabs li a {
    color: #AAA !important;
    padding: 4px !important;
    margin: 0 22px;
}
body.woocommerce.single-product #content-area div.product .woocommerce-tabs ul.tabs li {
    border-right: none;
}
body.woocommerce.single-product #content-area div.product .woocommerce-tabs ul.tabs li.active {
    background: transparent !important;
    border-right: none;
}
body.woocommerce #content-area div.product .woocommerce-tabs ul.tabs li.active a {
    border-bottom: solid #000;
    padding: 4px !important;
    margin: 0 22px;
}
/* Description tab content */
.woocommerce-Tabs-panel--description {
    text-align: center;
    font-size: 14px;
}
.et-db .woocommerce-Tabs-panel #et-boc .et-l .et_pb_row {
  color: #000;
}
.woocommerce-Tabs-panel--description h2 {
    display: none;
}
#tab-description.woocommerce-Tabs-panel--description ul {
    list-style-type: none;
    padding-left: 0;
    margin-left: 0;
}
@media (max-width: 767px) {
    body.woocommerce div.product .woocommerce-tabs ul.tabs li,
    body.woocommerce #content-area div.product .woocommerce-tabs ul.tabs li,
    body.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
    body.woocommerce #content-area div.product .woocommerce-tabs ul.tabs li.active {
        display: inline-block !important;
        border-bottom: none !important;
    }
    .woocommerce.et_right_sidebar #left-area,
    .woocommerce-page.et_right_sidebar #left-area {
        padding: 0;
    }
    .woocommerce .woocommerce-breadcrumb,
    .woocommerce div.product div.summary,
    .woocommerce div.product .woocommerce-tabs {
        padding-left: 15px;
        padding-right: 15px;
    }
}
/* Technical data tab on small screens */
@media screen and (max-width: 400px) {
    .woocommerce div.product .woocommerce-tabs {
        padding-left: 0;
        padding-right: 0;
    }
    .technical-disclaimers {
        padding: 1em;
    }
    #tab-technical_data table.tg {
        table-layout: fixed;
    }
}
/* Fix tabs getting broken by some woocommerce css */
.single-product.woocommerce ul.wc-tabs li a {
    border-bottom: none;
}
.single-product.woocommerce ul.wc-tabs li.active a {
    color: #555;
    position: static;
    background-color: transparent;
}

.single-product.woocommerce.woocommerce ul.wc-tabs {
    margin: 0 auto;
    width: auto;
    float: none;
}
.single-product.woocommerce ul.wc-tabs li a::before {
    content: none;
}

/* Klarna messaging */
.klarna-onsite-messaging-product iframe {
  margin: 0 auto;
}
klarna-placement > div {
    margin: 0 auto;
}


/* Pre-orders */
.instock.preorder .shipping-notice {
    display: inline-block;
    padding: 0.5em 1em;
    margin: 0 .4em 22px .4em;
}
.preorder .dealer_notice {
    margin: 14px auto;
    max-width: 300px;
}


/* Product bundle options */
#bundle-option {
    display: block;
    width: 300px;
    margin: 0 auto;
    padding: 0 .4em 22px .4em;
    font-size: .8em;
}
#bundle-option.radio-as-select label {
    padding: 1.125em 2.5em 1.125em 1.25em;
    line-height: 1.2em;
}



/* Fixes for new product description */
.product .woocommerce-tabs #et-boc .et-l .et_pb_column_1_3 {
  width: 33%;
}
.product .woocommerce-tabs #et-boc .et-l .et_pb_column_1_2 {
    width: 47%;
}
.product .woocommerce-tabs #et-boc .et-l .et_pb_column_1_2.et-last-child {
    width: 50%;
}
.product .woocommerce-tabs .two_third {
    width: 66%;
    display: inline-block;
}
.product .woocommerce-tabs .one_third {
    width: 33%;
    display: inline-block;
}
body.woocommerce.single-product div.product .woocommerce-tabs .panel, 
body.woocommerce.single-product #content-area div.product .woocommerce-tabs .panel {
  margin: 2.5em auto 0 auto;
  max-width: 1200px;
}

/* Hide sale badge (Currently not styled so easiest just to hide it) */
.onsale {
  display: none;
}

/* Changes to Out of stock badge and custom badge over product image */
body .wcsob_soldout {
    top: 20px;
}
body .wobd-text-template-2.wobd-position-left_top {
    margin-left: 6px;
}
body .wobd-text-bg-wrap ~ .wcsob_soldout {
    top: 50px;
}

/* Changes to Out of stock badge and custom badge over product image */
body .wcsob_soldout {
    top: 20px;
}
body .wobd-text-template-2.wobd-position-left_top {
    margin-left: 6px;
}
body .wobd-text-bg-wrap ~ .wcsob_soldout {
    top: 50px;
}

/* Fixes for Service Plan popup */
.et-db .sgpb-main-html-content-wrapper > #et-boc > .et-l > .et_pb_section {
    padding-top: 0;
}
.sgpb-main-html-content-wrapper .et_pb_row_0 h2 {
    font-size: 1.4em;
}
.sgpb-main-html-content-wrapper p, .sgpb-main-html-content-wrapper .et_pb_toggle_content li {
    color: #000;
    font-size: 10.5pt;
    font-weight: 300;
}
.et-db .sgpb-main-html-content-wrapper #et-boc .et-l .et_pb_row {
    width: 100%;
    padding: 30px 20px;
}
@media screen and (min-width: 640px) {
    .et-db .sgpb-main-html-content-wrapper #et-boc .et-l .et_pb_row {
        width: 100%;
        padding: 50px 70px;
    }
}
.sgpb-main-html-content-wrapper .toggles-section .et_pb_toggle {
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
}
.sgpb-main-html-content-wrapper .et_pb_module.et_pb_toggle_14.et_pb_toggle {
    border-bottom: 1px solid #ddd;
}
.sgpb-main-html-content-wrapper .toggles-section .et_pb_toggle_title {
    font-size: 12pt;
    text-align: left;
}
.sgpb-main-html-content-wrapper .et_pb_row_1 {
    margin-top: -50px;
}
.sgpb-main-html-content-wrapper .et_pb_row_1 .et_pb_text {
    margin-top: 50px;
}

/* Service plan page */
#gcsp-features .et_pb_toggle {
  border-width: 1px 0px 0px 0px;
  border-top-color: #f2f2f2;
}
#gcsp-features .et_pb_toggle_title {
  font-weight: 300;
  font-size: 24px;
  line-height: 1.3em;
  text-align: left;
}
#gcsp-features h1 {
  font-size: 28px;
  line-height: 1.1em;
}
#gcsp-features .sp-tc-header {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}
#gcsp-features .gcsp-feature {
  font-size: 13.9px;
  padding-right: 20px !important;
  padding-bottom: 20px !important;
  padding-left: 20px !important;
}
#gcsp-features > div {
    width: 100%;
}