/* ------------------------ 

COLOURS:

var(--super_light_grey) - light grey bg - grey line
var(--body_grey) - main grey text
var(--blue) - highlight colour
#878787 - mid grey text

-------------------------------*/


/* ------------------------ typekit / fonts -------------------------------*/


/* ------------------------ BASE -------------------------------*/


/*
 * Font smoothing 
 * http://www.icondeposit.com/blog:how-to-properly-smooth-font-using-css3
 * http://stackoverflow.com/questions/8053389/how-to-reduce-font-weight-in-firefox-on-mac-with-css
 */

html,
html a {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
}

/* ------------------------ LINK Styles -------------------------------*/

a {
    color: var(--body_grey);
    text-decoration: underline;
    transition: var(--btn_transition); 
}

a:hover {
    color: var(--blue);
    text-decoration: none;
}


/* ------------------------ TYPE Styles -------------------------------*/

/* 	pixels/16=em (40px/16=2.5em)  */

body {
    font: 100%/1.5em "century-gothic", Arial, Helvetica, sans-serif;
    /* Use percent for body and em for the rest of the styles fixes resize issues in all browsers */
    color: var(--body_grey);
    letter-spacing: 0.005em;
    font-weight: var(--normal_weight);
    /* Update input,textarea,select, button - font and color */
}

b, strong {
	font-weight: var(--bold_weight);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: var(--normal_weight);
    font-size: 2em;
    margin: 0 0 15px 0;
    line-height: 1.1em;
    letter-spacing: 0.03em;
}

h3,
h4,
h5,
h6 {
    font-size: 1.5em;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    color: var(--body_grey);
    text-decoration: none;
}

::-moz-selection { background: var(--blue); color: #fff; text-shadow: none; }
::selection { background: var(--blue); color: #fff; text-shadow: none; }

ul,
ol {
    list-style: disc;
    list-style-position: inside;
}

ol {
    list-style: decimal;
}

b,
strong {
    font-weight: var(--bold_weight);
}

p,
pre {
    margin: 17px 0 17px 0;
}

dl,
ul,
ol,
address {
    margin: 15px 0 15px 0;
}

dt,
li {
    margin: 10px 0 10px 0;
}

dl dd {
    margin-left: 10px;
}

address {
    font-style: italic;
}

pre {
    white-space: pre;
}

abbr,
acronym {
    border-bottom: 1px dotted #666;
    cursor: help;
}

blockquote {
    background: #fff;
    border: 2px solid var(--light_grey);
    padding: 10px 20px;
    font-size: 1.1em;
    margin: 0 0 15px 0;
    width: auto;
}

small {
    font-size: 0.9em;
}

big {
    font-size: 1.1em;
}

.red {
    color: #FF1923;
}

em {
    font-style: italic;
}

.flash_out_in {
    animation: flash_out_in 0.5s 1 ease-in-out;
}

@keyframes flash_out_in {
    0% { opacity: 1; }
    50% { opacity: 0; }
    100% { opacity: 1; }
}

/* ------------------------ TABLES Styles -------------------------------*/

table {
    margin: 15px 0 15px 0;
    border-collapse: collapse;
    border: 1px var(--light_grey) solid;
}

td {
    padding: 10px;
    vertical-align: top;
}

tr td {
    border-bottom: 1px var(--light_grey) solid;
}


/* ------------------------ MISC -------------------------------*/

hr {
    border: none;
    border-bottom: 1px solid var(--super_light_grey);
    color: var(--super_light_grey);
    height: 1px;
    padding: 0;
    margin: 15px 0 15px 0;
    clear: both;
}


/* Contain floats: h5bp.com/q */

.clearfix:before,
.clearfix:after {
    content: "";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    zoom: 1;
}

.fl {
    float: left;
}

.fr {
    float: right;
}

.videoWrapper { 
    position: relative; 
    padding-bottom: 47.25%; 
    padding-top: 25px; 
    height: 0; 
}

.videoWrapper iframe { 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
}

.error404 h1 {
    text-align: center;
}

/* ------------------------ FORM Styles -------------------------------*/

input,
textarea,
select,
.input {
    padding: 12px;
    background: #fff;
    border: 1px solid var(--light_grey);
    font-family: "century-gothic", Arial, Helvetica, sans-serif;
    color: #878787;
    font-size: 16px;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    line-height: 1em;
    box-sizing: border-box;
    border-radius: 0;
}

textarea,
input,
.input {
    width: 200px;
}

a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus,
.input:focus {
    outline: none;
}

input[type="checkbox"],
input[type="radio"] {
    width: auto;
    margin-right: 10px;
    position: relative;
    top: 2px;
}

textarea {
    height: 70px;
    overflow: auto;
}

select {
    width: 168px;
}

fieldset {
    margin-bottom: 15px;
    padding: 15px;
    /* change in IE STYLES  */
    border: 1px solid #666;
    background: #f7f7f7;
}

legend {
    margin-left: 15px;
    padding: 0 5px;
    background: #f7f7f7;
    font-weight: var(--bold_weight);
}

label {
    width: 200px;
    margin: 0 5px 0 0;
    display: -moz-inline-box;
    /*for mozilla*/
    display: inline-block;
    /*for Opera & IE*/
    vertical-align: top;
    line-height: 25px;
}


fieldset label {
    width: 75px;
}

.form_note {
    font-style: italic;
    font-size: 0.95em;
    margin-bottom: 10px;
}

input.form_error_input {
    background: #ffcccc;
    border: 1px solid #ff3333;
}

.form_error {
    color: #FF1923;
    margin-left: 97px;
    /* needs to be same as label width + margin-right + 2px  */
    padding-bottom: 10px;
    position: relative;
    top: -5px;
    font-size: 0.95em;
}

.field_wrap {
    display: block;
    margin-bottom: 10px;
}

button,
.button,
.wp-block-file__button,
.wp-block-file .wp-block-file__button,
.wp-block-button__link {
    border: none;
    background-color: var(--blue);
    text-transform: uppercase;
    cursor: pointer;
    padding: 10px 15px;
    /* change in IE STYLES  */
    color: #fff !important;
    font-family: 'century-gothic', Arial, Helvetica, sans-serif;
    width: auto;
    /* IE FIX  */
    overflow: visible;
    /* IE FIX  */
    font-size: 16px;
    text-decoration: none;
    transition: all 250ms ease-in-out;
    letter-spacing: 0.05em;
    font-weight: var(--normal_weight);
    display: inline-block;
    line-height: 1.15;
    box-sizing: border-box;
    text-align: center;
    border-radius: 4px;
}

.sml_btn {
    padding: 8px 14px;
    font-size: 0.9em;
}

button:hover,
.button:hover,
.wp-block-file__button:hover,
.wp-block-button__link:hover {
    background-color: var(--pink);
    text-decoration: none;
}

.disabled, .disabled:hover, .disabled:focus { 
    background: #ccc !important; 
    cursor: default; 
}

/*** disabled button animation ***/

.disabled { 
    position: relative; 
    animation-fill-mode: both;
    animation: load7 2s infinite ease-in-out;
}

@keyframes load7 {
    0% { transform: scale(1,1); }
    100% { transform: scale(1,1); }
}

.btn_yellow {
    background-color: var(--yellow);
}


/* ------------------------ LAYOUT -------------------------------*/

body {
    padding: 0;
    margin: 0 auto;
    background-color: var(--yellow);
}

.page_width {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 var(--page_padding);
    box-sizing: border-box;
}

.middle_width {
    max-width: 1300px;
    margin: 0 auto;
    box-sizing: border-box;
}

.narrow_width {
    max-width: 1100px;
    margin: 0 auto;
    box-sizing: border-box;
}

#page_outer {
    background: #fff;
}

#page {
    margin: 0 auto;
    padding: 30px 0;
}
.home #page {
    padding-top: 0;
}

header {
    position: relative;
}

.no_js_message {
    text-align: center;
    padding: 40px 15px 15px 15px;
    color: #fff;
    z-index: 2000;
    position: fixed;
    font-size: 1.8em;
    line-height: 1.5em;
    background: #888;
    opacity: 0.9;
    top: 0px;
    width: 100%;
    height: 100%;
    left: 0;
    bottom: 0;
    right: 0;
}
.no_js_message a {
    color: #fff;
}

.flex {
	display: flex;
}

.space_around {
    justify-content: space-around;
}

.space_between {
    justify-content: space-between;
}

/* ------------------------ Header -------------------------------*/

#menu-main-menu { 
    list-style: none;
    text-align: center;
    margin: 0;
    padding: 0;
}
#menu-main-menu > li { 
    display: inline-block;
}
/** drop menu **/
#menu-main-menu li { margin: 0; }
#menu-main-menu > li { position: relative; }
#menu-main-menu > li > .sub-menu { visibility: hidden; opacity: 0; position: absolute; top: 57px; z-index: 500; background: #fff; padding: 2px 10px 15px 10px; transition: all 500ms ease-in-out; 
	display: flex; 
	transform: translateX(-50%); 
	left: 50%;
}
#menu-main-menu > li > .sub-menu { padding: 6px 0; }
#menu-main-menu li:hover > .sub-menu { visibility: visible; opacity: 1; top: 37px; z-index: 500;  }
#menu-main-menu .sub-menu { text-align: left; color: #fff; }
#menu-main-menu .sub-menu a { display: block; line-height: 1.2em; padding: 3px 0px 3px 0px; font-size: 0.95em; transition: all 350ms ease-in-out; }
#menu-main-menu > li > .sub-menu li { padding: 4px 0px; display: block; }
/** END drop menu **/
#menu-main-menu > li > .sub-menu { background: #fff; box-shadow: 0px 7px 9px 0px rgba(0,0,0,0.19); margin: 0; padding: 12px !important; }
#menu-main-menu > li > .sub-menu > li { vertical-align: top; width: 220px; margin: 0px 10px; } 
#menu-main-menu > li > .sub-menu .menu_col { box-sizing: border-box; }
#menu-main-menu > li > .sub-menu .drop_image { width: 240px; }
/*#menu-main-menu > li > .sub-menu .drop_image img { position: absolute; right: 0; top: 13px; width: 310px; }*/
#menu-main-menu > li > a {     
	padding: 10px;
    text-transform: uppercase;
    letter-spacing: 0.1em;	
    display: inline-block;
}
#nav a:hover, #menu-main-menu > li.menu-item-has-children:hover > a { color: var(--blue); }
#menu-main-menu > li.menu-item-has-children > a { position: relative; }
.view_menu_btn { display: none; cursor: pointer;  margin: 0 auto 14px auto; position: relative; top: 0px; width: 27px; }
.bar1, .bar2, .bar3 { width: 28px; height: 2px; background-color: var(--body_grey); margin: 5px 0; transition: 0.4s; display: block; }
.active .bar1 { transform: rotate(-45deg) translate(-5px, 4px); }
.active .bar2 { opacity: 0; }
.active .bar3 { transform: rotate(45deg) translate(-6px, -5px); }

#logo {
	margin: 0 auto;
	padding: 20px 0 0px 0;
}

#logo a {
    text-indent: -999em;
    background: no-repeat center center url('../images/bugweeds-logo.svg');
    background-size: contain;
    width: 206px;
    height: 116px;
    display: block;
    margin: 0 auto;
}

#nav {
	border-bottom: 1px solid var(--super_light_grey);
}
.home #nav {
    border-bottom: none;
}

#menu-main-menu > li {
    padding: 0 5px;
    position: relative;
    font-size: 15px;
}  

#menu-main-menu > li:after, #menu-top-header-menu > li:after {
	content: '•';
    color: var(--light_grey);
	display: block;
	position: absolute;
	top: 10px;
	right: -5px;
}
#menu-top-header-menu > li:after {
    top: 1px;
	right: -6px;
}


#menu-main-menu > li:last-child:after, #menu-top-header-menu > li:last-child:after {
	display: none;
}

#nav a {
	text-decoration: none;
}  

#menu-main-menu li:hover > .sub-menu:before { 
	visibility: visible; 
	opacity: 1; 
	top: 35px; 
	z-index: 500; 
}

#menu-main-menu > li.menu-item-has-children:hover > a:after { 
	content: '';
    background: #fff url('../images/drop_arrow.svg?v=2') no-repeat right;
    display: block;
    position: absolute;
    width: 32px;
    height: 10px;    
	transform: rotate(180deg); 
    z-index: -50;
    left: 50%;
    margin-left: -16px;
    top: 24px;
}


#menu-main-menu > li .sub-menu {
	margin: 0;
	padding: 0;
}

#menu-main-menu > li > .sub-menu .sub-menu .sub-menu a {
	padding: 0 0 0 14px;
	color: #878787;
}	

#menu-main-menu > li > .sub-menu .sub-menu .sub-menu a:hover {
	padding: 0 0 0 23px;
	color: var(--blue);
}

#menu-main-menu > li > .sub-menu .sub-menu .sub-menu a:before {
	content: '-';
}

#menu-main-menu > li > .sub-menu > li > .sub-menu > li {
	border-bottom: 1px solid var(--super_light_grey);
}

#menu-main-menu > li > .sub-menu > li > .sub-menu > li > a:hover {
	padding-left: 14px; 
}

#menu-top-header-menu {
    list-style: none;
    margin: 0 0 7px 0;
    padding: 0;
}

#menu-top-header-menu li {
    margin: 0;
    display: inline-block;
    padding-right: 10px;
    margin-right: 10px;
    position: relative;
}

.header_left {
    position: absolute;
    left: 0;
    top: 20px;
    letter-spacing: 0.05em;
    font-size: 13px;
    text-transform: uppercase;
}

.header_right {
    position: absolute;
    right: 0;
    top: 20px;
}    

#my_account_wrap {
    display: inline-block;
}

.header_left a {
    text-decoration: none;
}

.header_left .social_btns a {
    margin: 0;
}
.social_btns_header {
    margin: 0 5px 0 0;
}

#my_account_wrap > a {
    padding: 4px 0 0 2px;
    display: inline-block;
}

#menu-top-header-menu #menu-item-1907 a:before {
    content: '';
    display: inline-block;
    position: relative;
    background: no-repeat -67px -6px  url('../images/site_sprite.svg?v=10');
    width: 13px;
    height: 16px;
    top: 3px;
    left: 0px;
    opacity: 0.4;
    transition: all 500ms ease-in-out;
    padding-right: 5px;
}

#menu-top-header-menu #menu-item-1907 a:hover:before {
    opacity: 1;
}

#shopping_cart a {
    background-position: -88.5px 2px;
    background-color: var(--pink);
}

.search_icon, .search_mobile_btn {
    background: no-repeat -129px 0px  url('../images/site_sprite.svg?v=10');
    width: 25px;
    height: 25px;
    text-indent: -999em;
    padding: 0;
}

.search_mobile_btn {
    display: none;    
}

.searchform {
    display: inline-block;
}

#shopping_cart {
    display: inline-block;
    position: relative;
    top: -2px;
}

.searchform input {
    width: 220px;
    border: none;
    border-bottom: 1px solid var(--light_grey);
    padding: 0 10px 10px 2px;
}

.home_banner_text {
    max-width:550px;
    margin: 0 auto;
    text-align: center;
}

.home_banner_text h2, .home_banner_text h3 {
    margin: 0;
}

.home_banner_text p {
    margin: 15px 0;
}

.home_banner_img {
    margin-bottom: 10px;
}

.home_banner {
    margin-left: calc(var(--page_padding) * -1);
    margin-right: calc(var(--page_padding) * -1);
}

.home_about {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

/* ------------------------ E-Store core styles -------------------------------*/

#js_message,
#cookie_message {
    text-align: center;
    margin-bottom: 15px;
    background: #ffd802;
    padding: 10px;
    color: var(--body_grey);
    position: fixed;
    top: 4px;
    left: 0;
    right: 0;
    z-index: 10000;    
}

#cookie_message {
    background: #d70a00;
    color: #fff;
}

.added_note {
    display: none;
}

.added_note.show {
    display: block;
}

.checkout_page .block {
    padding: 20px;
    border-bottom: 1px #ccc solid;
    margin-bottom: 20px;
}

.error,
.errors {
    color: #cc0000 !important;
}

.postage_wrap label {
    width: auto;
}

.paypal_note {
    margin-top: 15px;
}

.paypal_email {
    font-size: 0.85em;
    position: relative;
    top: -10px;
    font-style: italic;
}

#shopping_cart span {
	display: inline-block;
/*	color: var(--blue); */
	font-weight: var(--bold_weight);
}

#shopping_cart span.cart_empty {
	color: var(--body_grey);
}

#prod_info_wrap {
    position: relative;
}

#prod_gallery-big {
    position: absolute;
    top: 0px;
    left: 0px;
}

#prod_info {
    margin: 20px 0;
}

.form_note {
    padding-left: 203px;
}

.paypal_note p {
    font-style: italic;
    color: #999;
}

.show_btns_hide {
    display: none;
}

.show_btns_show {
    display: inline;
}

th {
    text-align: left;
    border-bottom: 1px solid var(--light_grey);
    padding: 10px;
    font-weight: var(--bold_weight);
}

.my_account_page th {
    background: var(--light_grey);
}

.hr {
    clear: both;
}

.relate_options {
    display: none;
}

.variation_main>.relate_options label {
    padding-left: 15px;
    width: 185px;
}

.variation_main>.relate_options>.relate_options label {
    padding-left: 30px;
    width: 170px;
}

.variation_main>.relate_options>.relate_options>.relate_options label {
    padding-left: 45px;
    width: 155px;
}

.variation_main>.relate_options>.relate_options>.relate_options .relate_options label {
    padding-left: 60px;
    width: 140px;
}

#prod_info_wrap #product_form .relate_options input,
#prod_info_wrap #product_form .relate_options select {
    width: 100%;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.out_of_stock {
    background: var(--light_grey);
    padding: 5px 10px;
    text-transform: uppercase;
    display: inline-block;
}

#ask_question_wrap form {
    display: none;
}

#enquiry_form label,
#enquiry_form textarea {
    display: block;
}

#reset_psw_form {
    display: none;
}

#reset_psw_link {
    cursor: pointer;
}

.my_account_detail_wrap {
    border: 1px #ccc solid;
    padding: 15px;
    display: block;
}

.my_account_detail_wrap {
    position: relative;
}

.my_account_detail_wrap span {
    float: left;
    width: 250px;
}

.my_account_detail_wrap.primary_option {
    border-color: #999;
}

.half_pg_col {
    display: inline-block;
    vertical-align: top;
    width: 50%;
}

#update_email,
#user_psw_reset {
    display: none;
    margin-bottom: 10px;
}

.reset_page #user_psw_reset {
    display: block;
}

#change_email {
    margin: 0 10px 10px 0;
}

label.for_human {
    cursor: pointer;
    width: auto;
}

.highlight_colour {
    color: #222;
}

.prod_note_text {
    clear: both;
}

#secure_note {
    display: none;
    margin-bottom: 15px;
    padding: 10px 15px;
    background: var(--light_grey);
}

.encrypted_details_wrap h3 div {
    text-decoration: underline;
    cursor: pointer;
    background: no-repeat right 7px url('../images/padlock-icon.jpg');
    padding: 2px 0px 2px 0;
    font-size: 0.75em;
}

.encrypted_details_wrap {
    position: relative;
}

.encrypted_details_wrap.thinking:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    opacity: 0.8;
    display: block;
    z-index: 10;
}


.order_table_wrap {
    padding-bottom: 15px;
    border-bottom: #ccc 1px solid;
    margin-bottom: 15px;
}

.order_info_box {
    text-transform: uppercase;
}

.my_account_detail_wrap button {
    position: absolute;
    top: 15px;
    right: 15px;
}

.checkout_page .my_account_detail_wrap span {
    display: block;
    float: none;
    width: auto;
}

.checkout_page .my_account_detail_wrap {
    width: 150px;
    float: left;
    margin: 0 15px 15px 0;
    background: #fff;
}

.saved_addresses_wrap {
    padding: 15px 15px 0 15px;
    background: var(--light_grey);
    margin-bottom: 15px;
}

.checkout_page .my_account_detail_wrap button {
    position: static;
    margin-top: 10px;
}

.checkout_page .active_selected {
    background: #ccc;
}

.select_add_note {
    font-size: 1.1em;
}

.select_add_note b {
    text-decoration: underline;
    cursor: pointer;
}

.saved_billing_addresses .address_form_wrap,
.saved_shipping_addresses .address_form_wrap {
    display: none;
}

#process_save_cart {
    display: none;
    margin-top: 15px;
    background: var(--light_grey);
    padding: 15px;
}

#process_save_cart label {
    width: auto;
}

#process_save_cart button {
    margin-left: 15px;
}

#process_save_cart .message {
    padding-top: 15px;
}

.saved_cart_wrap {
    border: 1px #CCC solid;
    padding: 15px;
    display: block;
    margin-bottom: 15px;
}

.saved_cart_wrap .button {
    float: right;
    margin-left: 10px;
}

.nowrap {
    white-space: nowrap;
}

.paypal_wrap {
    padding-bottom: 30px;
}

@media all and (max-width: 650px) {
    .reponsive_table_wrap {
        width: 100%;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        margin-bottom: 10px;
        border-right: 2px solid #ccc;
        padding-top: 20px;
    }
	.reponsive_table_wrap:before {
	    content: 'Swipe to view...';
	    text-transform: uppercase;
	    color: #BABCBE;
	    font-size: 0.9em;
		margin: -9px 0;
	    display: block;
	}    
    .reponsive_table_wrap table {
        width: 545px !important;
    }
}

#postcode_lookup .error p {
    margin-bottom: 0;
}

/* ------------------------ END core styles -------------------------------*/


/* ------------------------ BASIC STYLES -------------------------------*/

img {
    max-width: 100%;
    height: auto;
}


/** update styles in payment_braintree.php if needed **/

select,
input,
textarea,
.input {
    background: #fff;
    color: #6a6f69;
    font-size: 16px;
    width: 65%;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.input {
    display: inline-block;
    height: 41px;
    padding: 7px 8px;
}

select {
    background: #fff url('../images/drop_arrow.svg?v=2') no-repeat right;
    padding: 7px 8px;
    line-height: 1.2;
    border-radius: 0;
    height: 41px;
    -webkit-appearance: none;
}


select:focus,
input:focus,
.input:focus {
    color: var(--body_grey); 
}

label {
    width: 30%;
    margin-right: 5%;
    display: inline-block;
    line-height: 1.2em;
}

input[type="radio"],
input[type="checkbox"] {
    width: auto !important;
    padding: 8px;
}

input[type=radio] {
    border-radius: 100%;
    transition: all 400ms ease-out;
}

input[type=radio]:checked {
    background: var(--blue);
    position: relative;
    border-color: var(--blue);
}

input[type=radio]:checked:before {
    content: '';
    display: block;
    background: #fff;
    border-radius: 100%;
    width: 12px;
    height: 12px;
    position: absolute;
    left: 2px;
    top: 2px;
}

input[type=checkbox]:checked:after, input[type=checkbox]:checked:before {
    content: '';
    display: block;
    position: absolute;
    top: 4px;
    left: 5px;
    width: 2px;
    height: 10px;
    background: var(--blue);
    transform: rotate(-45deg);
}

input[type=checkbox]:checked:before {
    height: 20px;
    transform: rotate(45deg);
    left: 15px;
    top: -4px;
}

.full_width {    
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    box-sizing: border-box;
}

/* ------------------------ HOMEPAGE -------------------------------*/

.home_category_hightlight {
    background: var(--super_light_grey);
    padding: 25px 10px;
    margin-top: 40px;
    margin-bottom: 40px;
}

.home_category_hightlight h3 {
    text-align: center;
}

.bg_dots {
    position: relative;
    padding-bottom: 18px;
}

.bg_dots:before {
    content: '';
    display: inline-block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background: no-repeat -2px -41px   url('../images/site_sprite.svg?v=10');
    width: 41px;
    height: 11px;
}

.glide__arrows {
    text-align: right;
}

.glide__arrow {
    border-radius: 50%;
    overflow: hidden;
    height: 45px;
    width: 45px;
    color: var(--blue) !important;
    position: relative;
}
.glide__arrow:hover {
    color: var(--pink) !important;
}

.glide__arrow:after {
    content: '';
    color: #fff !important;
    border-left: #fff 12px solid;
    border-top: transparent 7px solid;
    border-bottom: transparent 7px solid;
    position: absolute;
    top: 15px;
    left: 18px;
}

.glide__arrow--left {
    margin-right: 10px;
}

.glide__arrow--left:after {
    border-left: none;
    border-right: #fff 12px solid;
    border-top: transparent 7px solid;
    border-bottom: transparent 7px solid;
    left: 15px;
}

/* ------------------------ PRODUCT PAGES -------------------------------*/


.cat_thumbail_wrap {
    box-sizing: border-box;
    position: relative;
}

.cat_thumbail_wrap a {
    display: block;
    position: relative;
    text-decoration: none;
}

.cat_thumbail_wrap img, .homepage_prod_wrap img {
    margin-bottom: 8px;
	transition: all 200ms ease-out;
    vertical-align: bottom;
}

.cat_nav_wrap {
    margin: 0 17px 0 17px;
}

.sub_cat_wrap {
    width: 24%;
    margin: 9px 0.5%;
    float: left;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.sub_cat_wrap a {
    display: block;
    text-decoration: none;
}

.sub_cat_wrap img {
    border: 2px solid #fff;
    max-width: 100%;
    height: auto;
}

.sub_cat_wrap a:hover img {
    border: 2px solid #222;
}

.sub_cat_title {
    text-transform: uppercase;
    text-align: center;
    display: block;
    font-size: 1.2em;
    color: #222;
    letter-spacing: 0.05em;
    margin-bottom: 10px;
}

.cat_thumbail_wrap .sale_tag {
    position: absolute;
    top: 0;
    right: 0;
}

.show_all_wrap {
    float: right;
}

.cat_nav_wrap a,
.current {
    background: var(--light_grey);
    text-align: center;
    margin-right: 2px;
    text-decoration: none;
    font-weight: var(--bold_weight);
    width: 22px;
    height: 22px;
    line-height: 22px;
    text-transform: uppercase;
}

.page_numbers a,
.current {
    display: inline-block;
}

.show_all_wrap a.show_btns_show {
    display: block;
    font-size: 0.9em;
    padding: 0 5px;
    width: auto;
}

.cat_nav_wrap a:hover,
.current {
    background: var(--blue);
    color: #fff;
}

.nav_wrap_first {
    border-bottom: 1px solid var(--light_grey);
    margin-bottom: 10px;
    padding-bottom: 7px;
}

.nav_wrap_last {
    border-top: 1px solid var(--light_grey);
    margin-top: 10px;
    padding-top: 10px;
}

#prod_image_wrap,
#prod_info_wrap {
    width: 50%;
    float: left;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

#prod_image_wrap {
    padding: 0 15px 0 0;
}

#prod_info_wrap {
    padding: 0 0 0 15px;
}

.main_image>a>img {
    max-width: 100%;
    height: auto !important;
}

.main_image>a {
    height: auto !important;
}

.main_image img,
.prod_thumbnails img {
    pointer-events: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
}

.main_image a {
    width: 100% !important;
}

#prod_info {
    margin: 0 0 20px 0;
}

.short_descr {
    margin-top: 0;
    font-style: italic;
    font-size: 1.1em;
    padding-right: 95px;
}

#detail_prod_text {
    border-bottom: 1px solid var(--light_grey);
    line-height: 1.4em;
}

.detail_prod_header {
    border-top: 1px solid var(--light_grey);
    border-bottom: 1px solid var(--light_grey);
    padding: 10px 0;
    text-align: center;
    font-size: 1.2em;
}

.actual_price {
    background: #fff;
    font-size: 1.4em;
    font-weight: var(--normal_weight);
    color: var(--blue);
    display: inline-block;
}

.old_price_wrap, .sale_price_wrap {
    display: inline-block;
}

.old_price {
    padding-left: 10px;
    text-decoration: line-through;
    font-size: 1.4em;
    color: #878787;
}

.variation_main {
    background: var(--super_light_grey);
    padding: 20px;
    clear: both;
}

.option_header {
    float: right;
    font-size: 37px;    
    color: #878787;
    position: relative;
    margin: -25px 17px -10px 0;
}

.option_header:before {
    content: '';
   /*background: transparent no-repeat -196px -10px url(../images/site_sprite.svg);*/
    display: inline-block;
    height: 35px;
    width: 18px;
    position: absolute;
    top: 12px;
    right: -18px;
    opacity: 0.8;
    transform: scaleX(-1);
}

.add_to_wrap {
    text-align: center;
}


.add_to_wrap button {
    position: relative;
    width: 100%;
    padding-top: 15px;
    padding-bottom: 15px;
}

.add_to_wrap button:hover {
}

.add_to_wrap {
    margin: 15px 0;
}

.form_note {
    padding-left: 35%;
    line-height: 1.3em;
    position: relative;
    top: 2px;
    color: #b3b5b4;
}

.prod_top_image {
    margin-bottom: 10px;
}

.prod_thumbnails a {
    border: 1px solid var(--super_light_grey);
    margin-right: 10px;
}

.prod_thumbnails img {
    width: 100px;
}

.prod_thumbnails {
    border-top: 1px solid var(--super_light_grey);    
    margin-top: 20px;
    padding-top: 20px;
}

.single-products h1 {
    margin-bottom: 10px;
}

.price_wrapper {
    margin-bottom: 25px;
}

.relate_options {
    border: 2px solid #fff;
    padding: 10px;
    position: relative;
    top: -10px;
    background: #f5f5f5;
    margin-top: -1px;    
}

.relate_options .form_note {
    padding-left: 0;
}

.variation_main > .relate_options label {
    width: auto;
    padding-left: 0;
}

.variation_main .field_wrap {
    border-bottom: 1px solid #fff; 
    padding-bottom: 10px;
}

.variation_main .field_wrap:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.field_wrap {
    margin-bottom: 10px;
    clear: both;
}

.variation_main>.relate_options>.relate_options label {
    padding-left: 0px;
    width: auto;
}

.variation_main>.relate_options>.relate_options>.relate_options label {
    padding-left: 5px;
    width: auto;
}

.variation_main>.relate_options>.relate_options>.relate_options .relate_options label {
    padding-left: 0px;
    width: auto;
}

.added_note p {
    font-style: italic;
}

.added_note span a {
}

.added_note span a:hover {
}

.added_note {
    padding-bottom: 15px;
}

#update_icon {
    visibility: hidden;
    position: relative;
    left: 25px;
}

.prod_form_required {
    font-style: italic;
    margin-top: 5px;
    color: #e52839;
    text-align: center;
}

.added_note {
    text-align: center;
}

#ask_question_wrap {
    padding: 15px 0 0 0;
}

#enquiry_form {
    background: #F5F5F5;
    padding: 10px 15px;
}

#enquiry_form input,
#enquiry_form textarea {
    background: #fff;
    border: none;
    margin-bottom: 10px;
}

#enquiry_form input,
#enquiry_form textarea,
#enquiry_form label {
    width: 100%;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

#enquiry_form #human,
#enquiry_form label.for_human {
    float: left;
    width: auto;
    margin-bottom: 10px;
}

#enquiry_form button {
    display: block;
    clear: both;
}

#enquiry_form ul {
    padding-left: 0;
}

.success_msg {
    clear: both;
}

.checkout_page .block {
    border-bottom: none;
    margin-bottom: 0px;
    clear: both;
}

.checkout_page h3 {
    margin: 25px 0 20px 0;
    padding-top: 0;
}

#check_discount input {
    width: 150px;
}

.update_quantity input {
    width: 70px;
    padding: 4px 8px;
}

.checkout_page .prod_name_td img {
    margin-right: 10px;
}

.checkout_page .prod_name_td a {
    text-decoration: none;
}

.remove_item button {
    border: medium none;
    cursor: pointer;
    display: block;
    height: 20px;
    width: 20px;
    padding: 0;
    color: #fff !important;
    overflow: hidden;
    background: #fff;
    line-height: 20px;
}

.remove_item button:before {
    content: '×';
    color: var(--blue) !important;
    font-size: 27px;
}

.update_quantity button {
    width: 20px;
    height: 20px;
    padding: 0;
    margin: 4px;
    background: none;
}
.update_quantity button ellipse {
    stroke: var(--blue) !important;
}
.update_quantity path.arrow {
    fill: var(--blue) !important;
}

#checkout_table,
.postage_wrap table {
    width: 100%;
}


label.checkbox_label {
    width: auto;
    float: none;
    cursor: pointer;
}


#checkout_table_costs {
    float: right;
    margin: 0;
}

#secure_note {
    font-style: italic;
}

#cvv,
#expiration-date,
#expiration-month,
#expiration-year {
    width: 100px;
}


.shipping_address_wrap {
    padding-top: 0;
}

#gift_receipt_message {
    padding: 15px;
    background: var(--super_light_grey);
    margin-top: 15px;
}

#gift_receipt_message label {
    width: auto;
    vertical-align: top;
}

#gift_receipt_message p {
    font-style: italic;
    margin: 0;
}

#gift_message {
    width: 100%;
    margin-top: 10px;
}

.checkout_response ul {
    padding: 0;
}

.you_may_like_box {
    padding-top: 30px;
}


.overview_original_price {
    text-decoration: line-through;
}

.sale_tag {
    background: #cc0000;
    padding: 2px 9px;
    color: #fff;
    margin-bottom: 10px;
    display: inline-block;
    font-size: 14px;
    letter-spacing: 0.05em;
}

.sale_tag {
    position: absolute;
    top: 0px;
    right: 0px;
}

.checkout_page .prod_name_td img {
    vertical-align: top;
    float: left;
    margin-right: 10px;
}

.checkout_page td {
    vertical-align: top;
}

.per_page_drop_wrap select {
    width: 70px;
}

.ordering_drop_wrap select {
    width: 120px;
}

.ordering_drop_wrap,
.ordering_drop_wrap form,
.page_numbers,
.per_page_drop_wrap,
.per_page_drop_wrap form {
    display: inline-block;
}

.rel_prods_wrap div {
    border-bottom: 1px solid var(--light_grey);
    margin: 10px 0;
    padding: 10px 0;
}

.rel_prods_wrap div a {
    display: block;
}

.rel_prods_wrap div .rel_img {
    width: 100px;
    float: left;
    margin-right: 15px;
}

.rel_prods_wrap div .prod_price {}

.required_field:after {
    content: '\002A';
    margin-left: 5px;
    color: #cc0000;
}

.filter_wrap, .filter_name, .filter_child_name, .clear_filters {
    display: block;
    font-size: 0.95rem;
}

.filter_name {
    font-weight: var(--bold_weight);
    padding:0px 0 4px 0;
    border-bottom: 1px solid var(--light_grey);
    margin-top: 15px;
    margin-bottom: 6px;
}

.filter_child_name, .clear_filters {
    cursor: pointer;
    padding: 5px 0;
    position: relative;
}

.filter_child_name.active {
    font-weight: var(--bold_weight);
    background: var(--super_light_grey);
    padding-left: 8px;
}

.clear_filters {
    font-size: 13px;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    background: var(--super_light_grey);
    border-radius: 4px;
    transition: var(--btn_transition); 
}

.clear_filters:hover {
    background: var(--blue);
    color: #fff;
}

.filter_child_name:hover {
}

.filter_child_name.active:after {
    content: "×";
    font-size: 29px;
    position: absolute;
    right: 7px;
    top: 5px;
    font-weight: var(--normal_weight);
}

.news_opt_in_wrap label { 
    display: block; width: auto; float: none; 
}

.news_opt_in_wrap { 
    margin: 0px 0 20px 35%; 
}

.tab_wrap {
    padding: 10px 0 0 0;
}

.tab_wrap h3 {
    font-size: 23px;
    position: relative;
    margin-bottom: 0;
    padding-bottom: 10px;
}


.tab_wrap.not_active h3 {
    cursor: pointer;
}

.tab_wrap h3 > div {
	transition: all 300ms ease-out;
	opacity: 0;
}

.tab_wrap.not_active h3 > div {
    width: 31px;
    height: 31px;
    border: 1px solid var(--light_grey);
    border-radius: 3px;
    background: #fff;    
    position: absolute;
    top: 0px;    
    right: 0px;
    opacity: 1;
}

.tab_wrap.not_active h3 > div:before, .tab_wrap.not_active h3 > div:after {
    content: '';
    width: 15px;
    height: 1px;
    background: #898989;
    left: 8px;
    top: 15px;
    display: block;
    position: absolute;
}    

.tab_wrap.not_active h3 > div:after {
    transform: rotate(90deg);
}    

.tab_wrap.not_active h3:hover > div {
    background: var(--light_grey);
}    

#prod_info_wrap {
   margin-bottom: 30px;
}

.postage_wrap form tr {
    cursor: pointer;
}

.postage_wrap form tr.not_availible {
    cursor: default;
    color: #aaa;
}

.close_btn {
    width: 25px;
    height: 25px;
    color: #fff;
    position: absolute;
    right: 2px;
    top: -32px;
}

.close_btn:before, .close_btn:after {
    content: '';
    width: 30px;
    height: 2px;
    background: #fff;
    transform: rotate(45deg) translateY(-50%);
    display: block;
    transform-origin: center;
    position: absolute;
    top: 50%;
}

.close_btn:after {
    transform: rotate(-45deg);
}

.encrypted_details_wrap h3 span {
    text-decoration: underline;
    font-size: 0.7em;
}

.checkout_page .discount_wrap {
    padding-top: 0;
}


/* new checkout process styles */

.discount_wrap > div {
    text-align: right;
    margin-bottom: 10px;
}

#check_discount {
    border: 1px solid var(--light_grey);
    padding: 20px;
    display: none;
}

.checkout_stages_wrap {
    position: relative;
    display: flex;
    margin-bottom: 30px;
    background: #f1f1f1;
    padding: 7px;
}

.checkout_stages_wrap:after {
    content: '';
    height: 1px;
    left: 15px;
    right: 15px;
    background: #fff;
    position: absolute;
    top: 19px;
    box-sizing: border-box;
}

.checkout_stages_wrap div {
    width: 33.3%;
    text-align: center;
    position: relative;
    z-index: 10;
}    

.checkout_stages_wrap div.active {
    font-weight: var(--bold_weight);
}

.checkout_stages_wrap span, .summary_header {
    display: inline-block;
    background: #f1f1f1;
    padding: 0 15px;
    font-size: 13px;
    text-transform: uppercase;
    text-align: center;
}    

.checkout_page_btn {
    padding: 5px 0 25px 0;
}

.checkout_page_btn .button, .checkout_page_btn button {
    width: 100%;
    padding-top: 15px;
    padding-bottom: 15px;
}

.checkout_response li {
    list-style: none;
}

.cart_summary {
    position: absolute;
    width: 170px;
    right: -190px;
    top: 0;
    font-size: 0.85em;
    background: #f1f1f1;
    line-height: 1.35em;
    box-sizing: border-box;
}

.summary_header {
    display: block;
    padding: 10px 5px;
}

#gift_receipt_wrap {
    margin-top: 25px
}

.cart_summary table, .cart_summary td, .cart_summary th {
    margin: 0;
    background: transparent;
    border-color: #fff;
    width: 100%;
    border-left: none;
    border-right: none;
    float: none !important;
}

.cart_summary > div {
    padding: 0 10px;
}

.cart_summary td, .cart_summary th {
    padding: 8px 5px;
}    

.cart_summary .edit_cart {
    display: block;
    padding: 10px 5px;
}

.summary_prod_options {
    font-size: 0.9em;
    line-height: 1.25em;
    padding: 0px 5px 0px 8px;
    display: block;
    border-left: 2px solid #fff;
    margin-top: 5px;
}

.view_summary_btn {
    display: none;
}

.checkout_page {
    position: relative;
}

.checkout_page_with_summary {
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.payment_page .block {
    margin: 25px 0;
}

.payment_page .flex {
    justify-content: space-around;
}

.checkout_page h3 {
    text-align: center;
    font-size: 1.2em;
}

.checkout_page .block {
    border: 2px solid var(--super_light_grey);
    margin: 25px 0;
}


.checkout_page .block {
    margin: 0;
}

.checkout_page .encrypted_details_wrap {
    margin-right: 25px;
    box-sizing: border-box;
}

.review_wrap, .discount_wrap {
    margin: 20px 0px;
}

.payment_type {
    color: #b3b5b4;
    font-size: 0.9em;
    display: block;
    margin-bottom: 15px;
    margin-top: -5px;
}

.field_error input, .field_error select, .field_error textarea {
    border-color: #cc0000;
}

.stripe_encrypted_details {
    margin-bottom: 10px;
    border: 1px solid var(--light_grey);
    padding: 12px;
}

.stripe_pay_btn {
    margin: 15px 0;
}

#payment-form #payment-message.active, #payment-form #payment-confirmation-message.show {
    color: #cc0000; /* colorDanger in stripe.js */
    margin: 0 0 15px 0;
}

#payment-form #payment-message.active {
    margin: 15px 0 0 0;
}

.pay_btn_wrap {
    margin-top: 25px;
}

#card-errors {
    color: #cc0000;
    position: relative;
    top: 5px;
}

#paypal-button, #payment-request-button, .cc_btn, .clearpay_btn, .klarna_btn {
    width: 200px;
    margin: 0 auto 25px auto;
    display: block;
}


.cc_form_wrap, .clearpay_form_wrap, .klarna_form_wrap {
    display: none;
    margin-bottom: 25px !important;
}

.cc_btn, .clearpay_btn, .klarna_btn {
    border-radius: 4px;
    text-transform: none;
    font-size: 14px;
    margin-bottom: 20px;
    position: relative;
}

.cc_btn.active:after, .clearpay_btn.active:after, .klarna_btn.active:after {
    content: '';
    display: block;
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 13px solid #ccc;    
}

.clearpay_btn img {
    width: 100px;
    vertical-align: bottom;    
}

.klarna_btn img {
    width: 77px;
    vertical-align: bottom;    
}

.clearpay_btn, .klarna_btn {
    background: var(--light_grey);    
}

.payment_options {
    min-height: 300px;
}

.discount_response p {
    margin-bottom: 0;
}

.checkbox_label {
    padding-left: 30px;
    position: relative;
}

.checkbox_label input[type="checkbox"] {
    position: absolute;
    left: -0px;
}   

.view_summary_btn {
    display: none;
    position: absolute;
    right: 10px;
    font-size: 0.8em;
    cursor: pointer;  
    top: -25px;  
    text-transform: uppercase;
}

#empty_cart {
    display: none;
}

.checkout_page .address_finder {
    background: #f1f1f1;
    margin-bottom: 25px;
}

.checkout_page .address_finder input {
    width: 200px;
    margin-right: 10px;
}

.checkout_page .address_finder button {
    padding: 8px 14px;
    font-size: 0.9em;
}

.checkout_page .address_finder select {
    width: 100%;
    margin-top: 10px;
}

.same_as_shipping {
    width: 100%;
    padding-bottom: 15px;
    margin-bottom: 15px;
    cursor: pointer;
}

.cc_form_wrap h3, .clearpay_form_wrap h3, .klarna_form_wrap h3 {
    margin-top: 0;
}


/* END - new checkout process styles */

.cat_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-gap: 20px;
}

.grecaptcha-badge {
    opacity: 0;
    width: 5px;
    height: 5px;
}

.prod_price {
    display: block;
    color: var(--blue);
}

.prod_name {
    font-size: 1.1rem;
    line-height: 1.2em;
    display: block;
}

.prod_header_brand {
    display: block;
    font-size: 19px;
    letter-spacing: 0;
    font-weight: var(--normal_weight);
    color: var(--blue);
}

.age_restricted_wrap {
}

.age_restricted_wrap label {
    position: relative;
    cursor: pointer;
    width: 100%;
    margin: 0;
    padding: 10px 0 10px 35px;
}

.age_restricted_wrap input[type="checkbox"] {
    position: absolute;
    top: 10px;
    left: 0;
}

.max_qty_note {
    font-size: 14px;
    line-height: 15px;
    color: #cc0000;
}

.product_form_wrap {
    min-height: 200px;
}

.product_form_wrap:before {
    content: '';
    animation: pulse 2500ms infinite ease-in-out;
    display: block;
    height: 40px;
    width: 40px;
    border-radius: 50%;
    background: var(--light_grey);
    margin: 20px 0 0 0;
}

.product_form_wrap.loaded:before {
    display: none;
}

@keyframes pulse {
    0% { transform: scale(1) }
    50% { transform: scale(0.15) }
    100% { transform: scale(1) }
}

.product_qty, .length_qty {
    max-width: 80px;
}

.product_qty_wrap, .length_qty_wrap {
    margin: 15px 0 0 0;
}

.product_qty_wrap.hide_qty {
    opacity: 0;
    height: 1px;
    overflow: hidden;
    margin: 0;
}    

.prod_option label {
    width: 100%;
    margin: 0 0 5px 0;
    display: block;
    font-size: 0.95rem;
}

.prod_option input, .prod_option select {
    width: 100%;
}

.colour_options {
    display: grid;
    grid-template-columns: repeat(auto-fit, 80px);
    gap: 15px;
}

.colour_option {
    cursor: pointer;
    font-size: 0.9rem;
    line-height: 1.1em;
}

.colour_option.active {
    background: #fff;
    position: relative;
}

.colour_option.active:before {
    content: "";
    background: var(--blue) no-repeat -61px -34px url('../images/site_sprite.svg?v=10');
    border-radius: 50%;
    width: 25px;
    height: 25px;
    position: absolute;
    top: -6px;
    left: -6px;
}

.colour_option_name {
    word-break: break-word;
    padding: 3px 3px 3px 0;
    display: block;
}

.colour_option.active .colour_option_name {
    padding-left: 3px;
}

.colour_option_price {
    padding-top: 0px;
    color: var(--blue);
}

.colour_options_wrap h4 {
    font-size: 16px;
    font-weight: var(--bold_weight);
    margin-top: -5px;
    letter-spacing: 0.01em;
}

.colour_options_wrap {
    background: var(--super_light_grey);
    padding: 20px;
    border-bottom: 2px solid #fff;
}

.colour_option_img img {
    vertical-align: bottom;
}

.main_prod_text {
    margin: 25px 0 0 0;
}

.main_prod_text h3 {
    border-bottom: 1px solid var(--light_grey);
    margin: 0 0 10px 0;
    padding: 0 0 10px 0;
}

.you_may_like_box_wrap {
    background: var(--super_light_grey);
    margin-bottom: -30px;
    padding: 0 0 30px 0;
}

.you_may_like_box h3 {
    text-align: center;
}

.cat_filters_wrapper {
    display: grid;
    grid-template-columns: 175px calc(100% - 220px);
    gap: 20px;
}

.filters_mob_btn {
    display: none;
    padding: 8px 14px;
    text-align: center;
    cursor: pointer;
    font-size: 15px;
    text-transform: uppercase;
    box-sizing: border-box;
    background: var(--super_light_grey);
    position: relative;
    letter-spacing: 0.1em;
}

.tax-product_categories h1 {
    text-align: center;
    margin-bottom: 50px;
}

.cat_filters_wrap h3 {
    font-size: 15px;
    background: var(--super_light_grey);
    padding: 5px 10px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.empty_taxonomy_filter {
    padding: 0px 30px
}

.empty_taxonomy {
    text-align: center;
    padding-bottom: 60px;
}

.per_metre_tag {
    color: var(--body_grey);
    font-size: 15px;
    display: inline-block;
    margin: 3px 0 0 0;
    font-style: italic;
}

.per_metre_tag_cat_page {
    font-size: 12px;
}

.prod_collections_wrap a {
    display: inline-block;
    margin-right: 10px
}

/* ------------------------ END PRODUCT PAGES -------------------------------*/


/* ------------------------ FOOTER -------------------------------*/


.imprint {
    text-align: center;
    padding: 7px 10px;
    font-size: 12px;
    color: #fff;
    background: var(--body_grey);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.imprint a {
    text-decoration: none;
    color: #fff;
}    

.nowrap:after {
    content: "•";
    display: inline-block;
    margin: 0px 10px;
}

.nowrap:last-child:after {
    display: none;
}


.social_btns {
	text-align:center;
}

.social_btns a {
	background: var(--blue) no-repeat 7px 3px url('../images/site_sprite.svg?v=10');
	border-radius:100%;
	display:inline-block;
	height: 33px;
	width: 33px;
	margin: 0 3px;
	text-indent:-999em;
	transition:all 400ms ease-out;
    transform: scale(1);
    vertical-align: top;
}

.social_btns a:hover {
	background-color:var(--pink);
    transform: scale(1.2);
}

.social_btns .my_account_icon {
	background-position: -24px 2px;
	background-color:var(--yellow);
}
.social_btns .my_account_icon:hover {
	background-color:var(--pink);
}

.social_btns a.tw {
	background-position:-129px -84px;
}

.social_btns a.tw:hover {
	background-position:-129px -116px;
}

.social_btns a.pin {
	background-position:-192px -84px;
}

.social_btns a.pin:hover {
	background-position:-192px -116px;
}

.social_btns a.insta {
	background-position:-3px -85px;
}

.social_btns a.insta:hover {
	background-position:-3px -117px;
}

.social_btns_footer a {
    background-color: #fff;
}

.sign_up_wrap {
    margin-left: auto;
    margin-right: 20px;
    position: relative;
}

.social_wrap {
    margin-right: auto;
    margin-left: 20px;
}

.footer_newsletter {
    background: var(--yellow);
    text-align: center;
    padding: 25px var(--page_padding);
}

.footer_newsletter h3 {
    margin: 0;
}

.footer_newsletter p {
    margin: 8px 0;
}

.footer_newsletter_inner {
    max-width: 480px;
    margin: 0 auto;
}

.footer_menus_wrap {
    background: var(--blue);
    overflow: hidden;
    font-size: 15px;
}

.footer_menus_wrap h4 {
    font-size: 15px;
    font-weight: var(--bold_weight);
    margin-top: 15px;
}

.footer_menus_wrap ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer_menus_wrap a {
    text-decoration: none;
}

.footer_menus_inner {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    gap: 30px;
}

.footer_menus_inner > div {
    padding: 30px 0;
}

.footer_creation {
    background: var(--pink);
    position: relative;
}
.footer_creation_inner {
    position: relative;
    z-index: 5;
}
.footer_creation:after {
    content: '';
    background: var(--pink);
    position: absolute;
    left: -15px;
    top: 0;
    bottom: 0;
    width: 50vw;
    z-index: 1;
}

.imprint:after {
    content: '';
    display: block;
    position: absolute;
    background: no-repeat center center  url('../images/bugweeds-bug.svg');
    background-size: contain;
    width: 100px;
    height: 53px;
    top: -49px;
    left: 20px;
}

.imprint {
    position: relative;
}



/* ------------------------ EXPRESS CHECKOUT STYLES -------------------------------*/

.express_checkout_wrap {
    background: var(--super_light_grey);
    padding: 18px 15px 15px 15px;
    position: relative;
    text-align: center;
}

.express_checkout_wrap:before {
    content: 'Express Checkout';
    position: absolute;
    top: -11px;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    font-size: 13px;
    padding: 0px 10px;
}

.express_checkout_wrap #paypal-button, .express_checkout_wrap #payment-request-button {
    margin: 5px 2px;
    display: inline-block;
    vertical-align: top;
}

.express_checkout_note {
    font-size: 13px;
    font-style: italic;
    display: block;
    margin: -3px 5px -6px 5px;
}  

/* ------------------------ xx_ wholesale_ customised -------------------------------*/

.success_wholesale { 
    padding: 20px; 
    background: #b8d0c7; 
    color: #fff; 
    font-size: 1.2em; 
}



/* ------------------------ RESPONSIVE STYLES -------------------------------*/


/* Stops iphone trying to resize text when rotating */

html {
    -webkit-text-size-adjust: none;
}

/* smartphones, touchscreens */
@media (hover: none) and (pointer: coarse) {

}

@media all and (max-width: 1200px) {
    .cat_grid {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

@media all and (max-width: 1130px) {
    /** NAV **/
    .view_menu_btn { display: block; }
	#nav { position: relative; width: 100%; background: var(--super_light_grey); padding: 10px 0; z-index: 1000; }
	#nav li { display: block; text-align: center; }
	#header_right { float: none; bottom: 0; }
	#nav .sml_menu_header { display: none; }
	#nav ul, .menu-header { display: block; }
	#menu-main-menu > li > .sub-menu { position: static; opacity: 1; display: block; visibility: visible; box-shadow: none; width: auto; transform: none; background: var(--super_light_grey); }
	#menu-main-menu > li > .sub-menu .menu_col { width: auto; display: block; box-sizing: border-box; }
	#menu-main-menu > li > .sub-menu .drop_image { display: none; }
	#menu-main-menu > li > .sub-menu li { padding: 0; }
	#menu-main-menu > li.menu-item-has-children > a { padding: 5px 0 15px 0; }
	#menu-main-menu > li > a { padding-bottom: 0; }
	#menu-main-menu > li.menu-item-has-children > a:after { display: none; }
	#menu-main-menu > li, #menu-main-menu a { padding: 5px 0; text-align: center; display: block !important; }
    .drop_image { display: none; }
    #menu-main-menu > li.menu-item-has-children:hover > a:after { display: none; }
    #menu-main-menu .sub-menu a { padding: 7px 0 !important; }
    .nav_wrap { border-bottom: 1px solid var(--super_light_grey); }
    #nav {
        transition: height 0.35s ease-in-out;
        overflow: hidden;
    }
    #nav:not(.active) {
        display: none;
    }
    #logo a {
        width: 182px;
        height: 101px;
    }
    /** END NAV **/
}
@media all and (min-width: 1131px) {
    /** NAV - make sure it's displayed even if it has and inline style via js  **/
	#nav { display: block !important; }
}

@media all and (max-width: 1080px) {
    .cart_summary {
        position: relative;
        width: auto;
        display: none;
        right: auto;
        top: -10px;
    }
    .view_summary_btn {
        display: block;
    }
    .cart_summary #checkout_table_costs, .cart_summary #checkout_table_costs tr:last-child th, .cart_summary #checkout_table_costs tr:last-child td {
        border-bottom: none;
    }
    .checkout_page_with_summary { 
        margin-top: 15px;
    }
}
@media all and (min-width: 1081px) {
	.cart_summary { display: block !important; }
}

@media all and (max-width: 950px) {
    .footer_menus_inner {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
    .footer_menus_inner > div {
        order: 1;
        padding: 0 0 30px 0;
    }
    .footer_menus_inner > div.footer_creation {
        order: 0;
        grid-column: span 4;
        padding: 30px 0;
    }
    .footer_creation:after {
        right: -15px;
        width: auto;
    }
}

@media all and (max-width: 900px) {
    .home_about {
        gap: 20px;
    }
}

@media all and (max-width: 870px) {
    .header_left {
        display: none;
    }
    .search_mobile_btn {
        display: inline-block;
        position: relative;
        top: 2px;
        left: -5px;
    }
    .searchform {
        display: none;
    }
    .header_right {
        right: 45px;
    }
    .view_menu_btn {
        position: absolute;
        top: 43px;
        right: 20px;
    }
    #logo a {
        margin: 0 0 10px 0;
        width: 156px;
        height: 90px;
    }
    #logo {
        padding-top: 11px;
    }
    .header_right {
        top: 41px;
    }
    #shopping_cart {
        top: -8px;
    }
    .cat_grid {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

@media all and (max-width: 800px) {
    #prod_image_wrap, #prod_info_wrap {
        width: auto;
        float: none;
        padding: 0;
    }
    #prod_image_wrap {
        max-width: 400px;
        margin: 0 auto 20px auto;
    }
}

@media all and (max-width: 770px) {
    .home_about {
        grid-template-columns: 1fr;
    }    
}

@media all and (max-width: 720px) {
    .payment_page .flex {
        display: block;
    }
    .checkout_page .encrypted_details_wrap {
        margin-bottom: 25px;
        margin-right: 0;
    }
    .narrow_width {
        padding-left: 0;
        padding-right: 0;
    }
    .checkout_page .block {
        padding: 14px;
    }
}

@media all and (max-width: 670px) {
    .footer_menus_inner {
        grid-template-columns: 1fr 1fr;
        gap: 15px;
    }
    .footer_menus_inner > div.footer_creation {
        grid-column: span 2;
    }
    .footer_menus_inner > div {
        padding: 0;
    }
    .footer_menus_wrap {
        padding-bottom: 80px;
    }
    .cat_filters_wrapper {
        grid-template-columns: 1fr;
    }
    .filters_mob_btn {
        display: inline-block;
    }
    .cat_filters_wrap {
        transition: height 0.35s ease-in-out;
        overflow: hidden;
    }
    .cat_filters_wrap:not(.active) {
        display: none;
    }
    .tax-product_categories h1 {
        margin-bottom: 30px;
    }
}

@media all and (max-width: 565px) {
    label,
    select, 
    input, 
    textarea, 
    .input,
    .checkout_page .address_finder input {
        width: 100%;
        float: none;
        vertical-align: top;
    }
    .form_note {
        padding-left: 0;
    }
    /*** CHECKOUT TABLES ***/
    #checkout_table, .postage_wrap table {
        display: block;
    }
    #checkout_table tr, .postage_wrap table tr {
        display: block;
        padding: 10px;
        border-bottom: 1px solid var(--light_grey);
        position: relative;
        width: 100%;
        box-sizing: border-box;
    }
    .postage_wrap table tr {
        padding-right: 45px;
    }
    #checkout_table tr:last-child, .postage_wrap table tr:last-child {
        border-bottom: none;
    }
    #checkout_table td, .postage_wrap table td {
        display: block;
        border-bottom: none;
        padding: 0;
    }
    .checkout_page #checkout_table .prod_name_td img {
        float: none;
        display: block;
    }
    #checkout_table td.prod_delete, .postage_wrap table tr td:nth-child(4) {
        position: absolute;
        top: 10px;
        right: 10px;
    }
    #checkout_table tbody, .postage_wrap table tbody {
        display: block;
    }
    .postage_wrap table th, .postage_wrap table tr:first-child {
        display: none;
    }
    .postage_wrap table tr td:first-child {
        float: left;
    }
    .postage_wrap table tr td:nth-child(2) {
        float: left;
        font-weight: var(--bold_weight);
        margin-right: 10px;
    }
    .postage_wrap table tr td:nth-child(3):before {
        content: '- ';
    }
    .postage_wrap table tr td:nth-child(5) {
        font-style: italic;
    }
    .news_opt_in_wrap {
        margin-left: 0;
    }
    /*** END - CHECKOUT TABLES ***/
}


@media all and (max-width: 479px) {
	.imprint .nowrap {
		display: block;
	}
	.nowrap:after {
		display: none;		
	}
    .footer_menus_inner {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .footer_menus_inner > div.footer_creation {
        grid-column: span 1;
    }
    .footer_menus_inner > div {
        padding-bottom: 0;
    }
}


/*** prevents FOUC ****/

html {
    visibility: visible;
    opacity: 1;
}



/* ==|== print styles =======================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: black !important;
        text-shadow: none !important;
        filter: none !important;
        -ms-filter: none !important;
    }
    /* Black prints faster: h5bp.com/s */
    a,
    a:visited {
        text-decoration: underline;
    }
    a[href]:after {
        content: " (" attr(href) ")";
    }
    abbr[title]:after {
        content: " (" attr(title) ")";
    }
    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }
    /* Don't show links for images, or javascript/internal links */
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }
    thead {
        display: table-header-group;
    }
    /* h5bp.com/t */
    tr,
    img {
        page-break-inside: avoid;
    }
    img {
        max-width: 100% !important;
    }
    @page {
        margin: 0.5cm;
    }
    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }
    h2,
    h3 {
        page-break-after: avoid;
    }
}


/* https://glidejs.com/docs/setup/ */
/* glide.core.min.css */
.glide{position:relative;width:100%;box-sizing:border-box}.glide *{box-sizing:inherit}.glide__track{overflow:hidden}.glide__slides{position:relative;width:100%;list-style:none;backface-visibility:hidden;transform-style:preserve-3d;touch-action:pan-Y;overflow:hidden;margin:0;padding:0;white-space:nowrap;display:flex;flex-wrap:nowrap;will-change:transform}.glide__slides--dragging{user-select:none}.glide__slide{width:100%;height:100%;flex-shrink:0;white-space:normal;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.glide__slide a{user-select:none;-webkit-user-drag:none;-moz-user-select:none;-ms-user-select:none}.glide__arrows{-webkit-touch-callout:none;user-select:none}.glide__bullets{-webkit-touch-callout:none;user-select:none}.glide--rtl{direction:rtl}/*# sourceMappingURL=glide.core.min.css.map */
/* glide.theme.min.css 
.glide__arrow{position:absolute;display:block;top:50%;z-index:2;color:#fff;text-transform:uppercase;padding:9px 12px;background-color:transparent;border:2px solid rgba(255,255,255,.5);border-radius:4px;box-shadow:0 .25em .5em 0 rgba(0,0,0,.1);text-shadow:0 .25em .5em rgba(0,0,0,.1);opacity:1;cursor:pointer;transition:opacity 150ms ease,border 300ms ease-in-out;transform:translateY(-50%);line-height:1}.glide__arrow:focus{outline:none}.glide__arrow:hover{border-color:#fff}.glide__arrow--left{left:2em}.glide__arrow--right{right:2em}.glide__arrow--disabled{opacity:.33}.glide__bullets{position:absolute;z-index:2;bottom:2em;left:50%;display:inline-flex;list-style:none;transform:translateX(-50%)}.glide__bullet{background-color:rgba(255,255,255,.5);width:9px;height:9px;padding:0;border-radius:50%;border:2px solid transparent;transition:all 300ms ease-in-out;cursor:pointer;line-height:0;box-shadow:0 .25em .5em 0 rgba(0,0,0,.1);margin:0 .25em}.glide__bullet:focus{outline:none}.glide__bullet:hover,.glide__bullet:focus{border:2px solid #fff;background-color:rgba(255,255,255,.5)}.glide__bullet--active{background-color:#fff}.glide--swipeable{cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}.glide--dragging{cursor:grabbing;cursor:-moz-grabbing;cursor:-webkit-grabbing}
*/