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

COLOURS:

#f4f4f4 - light grey bg - grey line
#000000 - main grey text
#2B3F4B - blue colour
#878787 - mid grey text
#C5C8CC - mid light grey
#067569 - Green
#A0B7C4 - mid blue

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



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


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

:root {
    --pageWidth: 1194px;
    --pageWidthPadding: 10px;
}

.cache_kill {
    
}

/*
 * 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: #067569;
    text-decoration: underline;
    transition: all 500ms ease-in-out; 
}

a:hover {
    color: #2B3F4B;
    text-decoration: none;
}


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

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

body {
    font: 108%/1.6em 'Cambria','capitolium-2','Helvetica Neue', Arial, Helvetica, sans-serif;
    /* Use percent for body and em for the rest of the styles fixes resize issues in all browsers */
    color: #000000;
    /* Update input,textarea,select, button - font and color */
}

b, strong {
	font-weight: bold;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'aglet-slab','Helvetica Neue', Arial, Helvetica, sans-serif;
    font-weight: normal;
    font-size: 36px;
    margin: 0 0 15px 0;
    line-height: 1.1em;
    letter-spacing: 0.01em;
    color: #000000;
}

.page h1, .error404 h1 {
    text-align: center;
    border-bottom: 1px solid #f4f4f4;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.post.error404 {
    padding-bottom: 50px;
}

h2 {
    font-size: 1.7em;
}

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

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    color: #000000;
    text-decoration: none;
}

::-moz-selection { background: #2B3F4B; color: #fff; text-shadow: none; }
::selection { background: #2B3F4B; color: #fff; text-shadow: none; }

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

ol {
    list-style: decimal;
}

b,
strong {
    font-weight: bold;
}

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 {
    font-family: 'aglet-slab','Helvetica Neue', Arial, Helvetica, sans-serif;
    background: #fff;
    border: 4px solid #f4f4f4;
    padding: 1px 24px;
    font-size: 1.3em;
    line-height: 1.4em;
    font-style: italic;
    margin: 0 0 15px 0;
    width: auto;
    color: #2B3F4B;
    letter-spacing: 0.01em;
}

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 #f4f4f4 solid;
}

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

tr td {
    border-bottom: 1px #f4f4f4 solid;
}


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

hr {
    border: none;
    border-bottom: 1px solid #f4f4f4;
    color: #f4f4f4;
    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%; 
}

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

.form_response ul {
    padding: 0;
    margin: 0;
    text-align: center;
    list-style: none;
}

.sub_block .form_response li {
    margin: 0 0 10px 0;
}

.newsletter_sign_up {
    position: relative;
}

.newsletter_sign_up button {
    position: absolute;
    top: 14px;
    right: 13px;
    padding: 0;
    width: 0px;
    height: 0px;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 16px solid #2B3F4B;
    text-indent: -999em;
    border-radius: 0;
    background: transparent;
}

.newsletter_sign_up button:hover {
    background: transparent;
}

.homeblock_73 .newsletter_sign_up {
    max-width: 250px;
    margin: 0 auto;
}

.homeblock_73 .newsletter_sign_up input {
    border: none;
}

.error404 h1 {
    text-align: center;
}

.cky-notice .cky-title {
    margin-bottom: 0px !important;   
}

.cky-consent-bar .cky-btn-customize::after {
    display: none !important;
}

.cky-consent-bar .cky-btn-customize {
    padding: 8px 27px !important;    
}

.cky-consent-bar .cky-banner-btn-close {
    top: 9px !important;
}

.cky-accordion-header .cky-accordion-btn {
    color: #212121 !important;
}


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

input,
textarea,
select,
.input {
    padding: 12px;
    background: #fff;
    border: 1px solid #f4f4f4;
    font-family: 'aglet-slab','Helvetica Neue', Arial, Helvetica, sans-serif;
    color: #878787;
    font-size: 16px;
    -webkit-appearance: none;
    line-height: 1em;
    box-sizing: border-box;
    border-radius: 0;
}

textarea,
input,
.input {
    width: 100%;
}

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

input[type="checkbox"]:not(.cky-switch input[type="checkbox"]),
input[type="radio"] {
    width: auto;
    margin-right: 5px;
    position: relative;
    top: 7px;
}

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: bold;
}

label {
    width: 100%;
    margin: 0 5px 0 0;
    display: -moz-inline-box;
    /*for mozilla*/
    display: inline-block;
    /*for Opera & IE*/
    vertical-align: top;
    line-height: 25px;
    font-family: 'aglet-slab','Helvetica Neue', Arial, Helvetica, sans-serif;
}


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: #2B3F4B;
    text-transform: none;
    cursor: pointer;
    padding: 14px 30px;
    /* change in IE STYLES  */
    color: #fff !important;
    font-family: 'aglet-slab','Helvetica Neue', Arial, Helvetica, sans-serif;
    width: auto;
    /* IE FIX  */
    overflow: visible;
    /* IE FIX  */
    font-size: 20px;
    text-decoration: none;
    transition: all 250ms ease-in-out;
    letter-spacing: 0em;
    font-weight: bold;
    display: inline-block;
    line-height: 1.15;
    box-sizing: border-box;
    text-align: center;
    border-radius: 30px;
    
}

.sml_btn, .eaw-booknow .button {
    padding: 8px 14px;
    font-size: 17px;
}

.med_btn {
    padding: 11px 28px 12px 28px;
    font-size: 17px;
}

button:hover,
.button:hover,
.wp-block-file__button:hover,
.wp-block-button__link:hover {
    background-color: #067569;
    text-decoration: none;
}

.btn_green {
    background-color: #067569;
}

.btn_green:hover {
    background-color: #2B3F4B;
}

.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); }
}



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

body {
    padding: 0;
    margin: 0 auto;
    background-color: #fff;
}

.page_width {
    max-width: var(--pageWidth);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--pageWidthPadding);
    padding-right: var(--pageWidthPadding);
    box-sizing: border-box;
}

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

#page {
    padding-top: 30px;
    padding-bottom: 30px;
}

#page_wrap {
    overflow: hidden;
}

header {
    font-family: 'aglet-slab','Helvetica Neue', Arial, Helvetica, sans-serif;
    padding: 25px 0 0 0;
    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 250ms ease-in-out;
    left: 5px;
}

#menu-main-menu>li>.sub-menu {
    padding: 6px 0;
}
#menu-main-menu li:hover>.sub-menu {
    visibility: visible;
    opacity: 1;
    top: 48px;
    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: 150px;
    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; }*/
#nav a:hover,
#menu-main-menu>li.menu-item-has-children:hover>a {
    color: #067569;
}


.view_menu_btn {
    display: none;
    cursor: pointer;
    margin: 0 0 0 auto;
    position: relative;
    top: 0px;
    width: 27px;
    padding: 10px 0;
}

.bar1,
.bar2,
.bar3 {
    width: 27px;
    height: 2px;
    background-color: #2B3F4B;
    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;
    vertical-align: top;
    display: inline-block;
}

#logo span {
    display: inline-block;
    width: 155px;
    vertical-align: top;
    border-right: 1px solid #F4F4F4;
    height: 112px;
    font-size: 17px;
    line-height: 19px;
    padding: 0 0 0 8px;
    position: relative;
    z-index: 2;
    padding-bottom: 15px;
}

#logo span:after {
    content: '';
    display: block;
    position: absolute;
    background: transparent no-repeat -3px -3px url('../images/WSC-sprite.svg?v=2');
    width: 70px;
    height: 96px;
    bottom: -10px;
    left: -28px;
}

.subscribe_header {
    vertical-align: top;
    display: inline-block;
    text-align: right;
    float: right;
}

.subscribe_header_title {
    font-size: 19px;
    display: inline-block;
    padding: 0 10px 0 0;
}

.cart_info {
    width: 30px;
    height: 30px;
}

.cart_info span {
    background: #6F6B6B no-repeat -91px -2px url('../images/WSC-sprite.svg?v=2');
    border-radius: 50%;
    width: 30px;
    height: 30px;
    vertical-align: top;
}

.cart_info span.gocheckout {
    background-color: #067569;
}

.gocheckout a {
    display: block;
    width: 30px;
    height: 30px;
}

.subscribe_header_links {
    padding-top: 10px;    
}

.portal_link {
    text-decoration: none;
    color: #6F6B6B;
    font-size: 15px;
    padding-right: 10px;
}

#logo a {
    text-indent: -999em;
    background: transparent no-repeat center center url('../images/WSC-logo.png');
    background-size: contain;
    width: 150px;
    height: 112px;
    display: inline-block;
    margin: 0 auto;
}

.nav_wrap {
	border-bottom: 1px solid #f4f4f4;
	border-top: 1px solid #f4f4f4;
    font-family: 'aglet-slab','Helvetica Neue', Arial, Helvetica, sans-serif;
}

#nav a {
	text-decoration: none;
    color: #000000;
    font-size: 19px;
    letter-spacing: 0.025em;
    display: inline-block;
    padding: 10px 15px;
}  

#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>a {
    position: relative;
}

#menu-main-menu > li.menu-item-has-children > 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: 17px;
    margin-left: -16px;
    bottom: -10px;
    opacity: 0;
	transition: all 300ms ease-out;
    z-index: 10;
}
#menu-main-menu > li.menu-item-has-children:hover > a:after {
    bottom: 0px;
    opacity: 1;
}


#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: #2B3F4B;
}

#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 #f4f4f4;
}

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

.nav_wrap {
	position: relative;
}

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

#js_message,
#cookie_message {
    text-align: center;
    margin-bottom: 15px;
    background: #ffd802;
    padding: 15px;
    color: #000000;
    position: fixed;
    top: 0;
    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;
}

.shipping_table_wrap label {
    width: auto;
}

.paypal_note {
    margin-top: 15px;
}

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

#shopping_cart {
    display: inline-block;
}

#shopping_cart span {
	display: inline-block;
/*	color: #2B3F4B; */
	font-weight: bold;
}

#shopping_cart span.cart_empty {
	color: #000000;
}

#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 #f4f4f4;
    padding: 10px;
    font-weight: bold;
}

.my_account_page th {
    background: #f4f4f4;
}

.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;
}

.product_form {
    text-align: center;
}

.update_quantity input {
    width: 40px;
}

.out_of_stock {
    background: #f4f4f4;
    padding: 5px 20px;
    display: inline-block;
    font-family: 'aglet-slab','Helvetica Neue', Arial, Helvetica, sans-serif;
    border-radius: 30px;
    margin-top: -10px;
}

#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: #f4f4f4;
}

.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: #f4f4f4;
    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: #f4f4f4;
    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: #929292;
        font-size: 15px;
        margin: -9px 0 0 0;
        display: block;
        letter-spacing: 0.025em;
	}    
    .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: 100%;
    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 31px 7px 10px;
    line-height: 1.2;
    border-radius: 0;
    height: 41px;
    -webkit-appearance: none;
}


select:focus,
input:focus,
.input:focus {
    color: #000000; 
}

label {
    display: inline-block;
    line-height: 1.2em;
}

input[type="radio"],
input[type="checkbox"]:not(.cky-switch input[type="checkbox"]) {
    width: auto !important;
    padding: 11px;
    border-color: #C8C8C8;
}
input[type="checkbox"]:not(.cky-switch input[type="checkbox"]) {
    padding: 9px;
}

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

input[type=radio]:checked {
    position: relative;
    border-color: #067569;
}

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

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

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

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

.homepage_blocks_wrap .full_width, .light_blue_bg {
    background: #dfe6ea;
    padding: 22px 0;
}

.homeblock, .homeblock > .page_width {
    position: relative;
}

.homeblock {
    text-align: center;
}

.homeblock_55.full_width {
    padding: 0 0 30px 0;
    text-align: left;
}

.homepage_blocks_wrap .homeblock_55 h1 {
    background: #2B3F4B;
    padding: 15px 20px;
    font-size: 22px;
    color: #fff;
    font-weight: bold;
    line-height: 1.4em;
    max-width: 540px;
    box-sizing: border-box;
    position: relative;
    z-index: 5;
    margin: 0;
    text-align: left;
}

.homeblock_55 .homeblock_img {
    position: absolute;
    right: 0;
    top:0;
    margin: -56px 0px 0px 0;
}

.home #page {
    padding-top: 40px;
}

.home_quote_block {
    font-style: italic;
    font-size: 29px;
    max-width: 370px;
    line-height: 1.1em;
    padding: 0 20px;
}

.home_quote_block span {
    display: block;
    font-size: 18px;
}

.homeblock_55 .button {
    margin-left: 20px;
}

.homeblock h2 a {
    color: #067569;
    text-decoration: underline;
    font-weight: bold;
}

.homeblock h3, .homeblock h4 {
    color: #000;
    font-size: 21px;
}

.homeblock_content {
    padding: 35px 0;
}

.full_width .homeblock_content {
    padding: 0px 0;
}

.homeblock_content p:first-of-type {
    margin-top: 0;
}

.homeblock_content p:last-of-type {
    margin-bottom: 0;
}

.homeblock_15581 .homeblock_content p:last-of-type, .homeblock_15971 .homeblock_content p:last-of-type {
    margin-bottom: 17px;
}

.wp-image-63, .wp-image-68, .wp-image-74 {
    transform: scale(0.9);
    margin: -7px 0 -10px 0;
}

.homeblock_76 .homeblock_content {
    max-width: 800px;
    margin: 0 auto;
}

.homepage_shop_items .cat_thumbail_wrap {
    display: inline-block;
    width: 170px;
    vertical-align: top;
    margin: 10px;
}

.homepage_shop_items .cat_thumbail_wrap .cat_img {
    --imgHeight: 238px;
}

.homeblock_76 .sml_btn {
    margin-top: 20px;
}

.homepage_stories {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 25px;
    text-align: left;
}

.homepage_stories .stories_img {
    display: block;
    padding-bottom: 58%;
    background-position: center top;
    background-size: cover;
    margin-bottom: 10px;
}

.homepage_stories p {
    margin: 10px 0 !important;
    line-height: 1.4em;
    font-size: 0.95em;
}

.homepage_stories h2 {
    font-size: 21px;
    color: #067569;
    line-height: 25px;
    margin: 0 0 10px 0;
    position: relative;
    top: 3px;
}

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


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

.cat_thumbail_wrap a {
    display: block;
    position: relative;
    text-decoration: none;
    color: #000000;
    font-family: 'aglet-slab','Helvetica Neue', Arial, Helvetica, sans-serif;
    text-align: center;
    line-height: 1.1em;
}

.cat_thumbail_wrap a:hover .cat_img {
    border-color: #067569;
}

.cat_thumbail_wrap a:hover .prod_name {
    color: #067569;
}

.cat_nav_wrap {
    margin: 20px 0 0 0;
    border-top: 1px solid #f4f4f4;
    padding: 20px 0 0 0;
}


.sub_cats_wrap {
    text-align: center;
    padding-bottom: 14px;
}

.sub_cat_wrap {
    display: inline-block;
    vertical-align: top;
    padding: 7px;
}

.term-5 .sub_cat_wrap {
    width: 150px;
}

.sub_cat_wrap a {
    text-decoration: none;
}

.sub_cat_img {
    display: block;
    border-radius: 50%;
    padding-bottom: 100%;
    position: relative;
    width: 100%;
    background-position: center center;
    background-size: cover;
    margin-bottom: 5px;
}

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

.sub_cat_title {
}

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

.show_all_wrap {
    float: right;
}

.cat_nav_wrap .page_numbers a,
.current {
    background: #f4f4f4;
    text-align: center;
    margin-right: 2px;
    text-decoration: none;
    font-weight: bold;
    width: 32px;
    height: 32px;
    line-height: 32px;
    text-transform: uppercase;
    font-family: 'aglet-slab','Helvetica Neue', Arial, Helvetica, sans-serif;
    color: #2B3F4B;
    font-size: 0.9em;
}

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

.show_all_wrap a.show_btns_show {
    display: block;
    font-size: 0.9em;
}

.cat_nav_wrap .page_numbers a:hover,
.current {
    background: #2B3F4B;
    color: #fff;
}

.nav_wrap_first {
    border-bottom: 1px solid #f4f4f4;
    margin-bottom: 10px;
    padding-bottom: 7px;
}

.nav_wrap_last {
    border-top: 1px solid #f4f4f4;
    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: 0px 0 8px 0;
    font-style: italic;
    font-size: 1.1em;
    color: #067569;
    text-align: center;
    line-height: 1.2em;
}

#detail_prod_text {
    border-bottom: 1px solid #f4f4f4;
    line-height: 1.4em;
}

.detail_prod_header {
    border-top: 1px solid #f4f4f4;
    border-bottom: 1px solid #f4f4f4;
    padding: 10px 0;
    text-align: center;
    font-size: 1.2em;
}

.actual_price {
    background: #fff;
    font-size: 1.4em;
    font-weight: normal;
    color: #2B3F4B;
    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: #f4f4f4;
    padding: 10px 15px;
    clear: both;
}

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

.add_to_wrap {
    text-align: center;
}


.add_to_wrap button {
    position: relative;
}

.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 #f4f4f4;
    margin-right: 10px;
}

.prod_thumbnails img {
    width: 100px;
}

.prod_thumbnails {
    border-top: 1px solid #f4f4f4;    
    margin-top: 20px;
    padding-top: 20px;
}

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

.price_wrapper {
    text-align: center;
    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;
    margin: 0;
}

.added_note span a {
    margin: 5px 0;
}

.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;
    position: relative;
    top: -14px;
}

.added_note {
    text-align: center;
    background: #f4f4f4;
    padding: 10px;
    margin: -15px 0 15px 0;
   font-family: 'aglet-slab','Helvetica Neue', Arial, Helvetica, sans-serif;
}

#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: 50px;
    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;
    position: relative;
    top: 3px;
}

.remove_item button:before {
    content: '×';
    color: #067569 !important;
    font-size: 27px;
    font-weight: normal;
}

.update_quantity button {
    width: 20px;
    height: 20px;
    padding: 0;
    margin: 4px;
    background: none;
}
.update_quantity button ellipse {
    stroke: #067569 !important;
}
.update_quantity path.arrow {
    fill: #067569 !important;
}

#checkout_table,
.shipping_table_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;
}

.shipping_address_wrap label {
    position: relative;
    top: 3px;
}

#gift_receipt_message {
    padding: 15px;
    background: #f4f4f4;
    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-bottom: 15px;
}

.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;
    width: 77px;
}

.checkout_page td {
    vertical-align: top;
}

.per_page_drop_wrap {
    float: right;
}

.page_numbers {
    margin-bottom: 10px;
}

.per_page_drop_wrap select {
    width: 70px;
}

.ordering_drop_wrap {
    margin-bottom: 15px;
    float: right;
}

.cat_nav_bottom_wrap .ordering_drop_wrap {
    margin-left: 10px;
    position: relative;
    top: -3px;
}

.ordering_drop_wrap span {
    font-family: 'aglet-slab','Helvetica Neue', Arial, Helvetica, sans-serif;
    font-size: 15px;
    margin-right: 10px;
    color: #6a6f69;
}

.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 #f4f4f4;
    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_name {
    font-weight: bold;
    display: inline-block;
    padding: 10px;
}

.filter_child_name {
    cursor: pointer;
    display: inline-block;
    padding: 10px;
}

.filter_child_name.active {
    color: #222;
    font-weight: bold;
}

.filter_child_name:hover {
    color: #222;
}

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

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

.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 #f4f4f4;
    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: #f4f4f4;
}    

#prod_info_wrap {
   margin-bottom: 30px;
}

.shipping_table_wrap tr.postage_option_row {
    cursor: pointer;
}

.shipping_table_wrap 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 #f4f4f4;
    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: bold;
}

.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 {
    text-align: right;
    padding: 10px 0 25px 0;
}

.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 #f4f4f4;
    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 #f4f4f4;
    padding: 12px;
}

.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;
    padding: 11px;
}

.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, .klarna_btn img {
    width: 100px;
    vertical-align: bottom;    
}
.clearpay_btn, .klarna_btn {
    background: #f4f4f4;    
}

.payment_options {
    min-height: 300px;
}

.discount_response p {
    margin-bottom: 0;
}

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

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

.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 */

.prod_name {
    display: block;
    font-weight: bold;
    margin: 12px 0 8px 0;
    transition: all 500ms ease-in-out; 
}

.cat_img {
    --imgHeight: 375px;
    --imgPadding: 15px;
}

.search_prod_grid .cat_img {
    --imgHeight: 245px;
}

.cat_img {
    display: block;
    padding: var(--imgPadding);
    border: 1px solid #f4f4f4;
    margin-bottom: 10px;
    box-sizing: border-box;
    height: var(--imgHeight);
    text-align: center;
    transition: all 500ms ease-in-out; 
}

.cat_img img {
    vertical-align: bottom;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    max-height: calc(var(--imgHeight) - (var(--imgPadding) * 2));
}

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

.cat_oos {
    background: #f4f4f4;
    padding: 5px 14px;
    font-size: 13px;
    border-radius: 20px;
    margin-top: 3px;
    display: inline-block;
}

.sub_email_check {
    margin-top: 5px;
}

.breadcrumb_wrap {
    font-family: 'aglet-slab','Helvetica Neue', Arial, Helvetica, sans-serif;
    font-size: 14px;
    color: #2B3F4B;
    position: relative;
    font-weight: bold;
    border-bottom: 1px solid #f4f4f4;
    top: -30px;
    margin: 0 calc(var(--pageWidthPadding) * -1);
    padding: 5px var(--pageWidthPadding);
    text-align: center;
}

.tax-product_categories .breadcrumb_wrap {
    top: -18px;
    margin: -12px calc(var(--pageWidthPadding) * -1) 0px calc(var(--pageWidthPadding) * -1);
}

.breadcrumb_wrap span {
    display: inline-block;
    margin-right: 26px;
    position: relative;
}

.breadcrumb_wrap a {
    color: #2B3F4B;
    text-decoration: none;
}

.breadcrumb_wrap span:after {
    content: '>';
    position: absolute;
    right: -18px;
    top: 0px;
}

.breadcrumb_wrap a:hover {
    color: #067569;
}

.breadcrumb_wrap span:last-child:after {
    display: none;
}

.breadcrumb_wrap span:last-child {
    margin-right: 0;
}

.empty_checkout {
    text-align: center;
}

.shipping_table_wrap p {
    text-align: center;
}

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

/* ------------------------ BASKET DRAW -------------------------------*/

.cart_info span {
	transition:all 400ms ease-out;
    right: -10px;
}

.single-products .sticky .cart_info span.cart_empty {
    position: fixed;
    top: 10px;
    right: 5px;
    z-index: 10000;
}


.sticky .cart_info span.gocheckout {
    position: fixed;
    top: 10px;
    right: 5px;
    z-index: 10;
}

.checkout_page .sticky .cart_info span.gocheckout {
    position: static;
}


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

footer {
    background: #2B3F4B;
    font-family: 'aglet-slab','Helvetica Neue', Arial, Helvetica, sans-serif;
    padding-top: 35px;
    padding-bottom: 25px;
}

.footer_inner {
    display: grid;
    grid-template-columns: 60% 40%;
}

.menu-footer {
    border-left: 1px solid rgba(255,255,255,0.3);
    padding: 0px 10px 0px 10px;
    vertical-align: top;
    display: inline-block;
}

.menu-footer:nth-of-type(1) {
    border-left: none;
    padding-left: 0;
}

#menu-footer-menu {
    margin: 0;
    padding: 0;
    text-align: center;
}

#menu-footer-menu li {
    display: inline;    
}

.menu-footer a {
    display: inline-block;    
    padding: 7px 5px;
    font-size: 17px;
    letter-spacing: 0.025em;   
    text-decoration: none; 
    color: #fff;
    line-height: 1.2em;
}

.menu-footer a:hover {
    opacity: 0.5;
}

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

.menu-footer li {
    margin: 0;
}

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

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

.imprint {
    text-align: center;
    padding: 8px 10px;
    font-size: 12px;
    background: #253742;
    text-transform: uppercase;
    color: #fff;
    font-family: 'aglet-slab','Helvetica Neue', Arial, Helvetica, sans-serif;
    letter-spacing: 0.02em;
    line-height: 1.6em;
}

.imprint a {
    text-decoration: underline;
    color: #fff;
}    
.imprint a:hover {
    text-decoration: none;
    opacity: 0.5;
}

.social_btns {
	text-align:center;
}

.social_btns a {
	background:#067569 no-repeat -5px -123px url('../images/WSC-sprite.svg?v=2');
	border-radius:100%;
	display:inline-block;
	height:55px;
	width:55px;
	margin: 0 3px;
	text-indent:-999em;
	transition:all 400ms ease-out;
}

.social_btns a:last-child {
    margin-right: -5px;
}

.social_btns a:first-child {
    margin-left: -5px;
}

.social_btns a:hover {
	background-color:#fff;
	background-position: -5px -175px;
}

.social_btns a.tw {
	background-position: -137px -123px;
}

.social_btns a.tw:hover {
	background-position: -137px -175px;
}

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

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

.social_btns a.fb {
	background-position: -72px -123px;
}

.social_btns a.fb:hover {
	background-position: -72px -175px;
}

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

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

.footer_menus {
    display: flex;
}

.social_btns h4 {
    color: #fff;
    font-size: 20px;
    font-weight: bold;
}

.footer_newsletter {
    text-align: center;
    max-width: 240px;
    margin: 20px auto 0 auto;
}

.footer_newsletter img {
    width: 185px;
}

.footer_newsletter h4 {
    font-size: 15px;
    font-weight: normal;
    margin: 0px 0 10px 0;
}

.footer_newsletter input {
    background: transparent;
    border: 1px solid #fff;
    padding: 6px 10px;
    color: #fff !important;
}

.footer_newsletter .newsletter_sign_up button {
    border-left-color: #067569;
    top: 8px;
}

.footer_newsletter .form_response p {
    margin: 0;
}

.footer_newsletter .form_response {
    color: #fff;
    font-size: 14px;
}

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

.express_checkout_wrap {
    background: #f4f4f4;
    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;
}  

/* ------------------------ SUB PAGE STYLES -------------------------------*/

.promo_content {
    text-align: center;
    font-family: 'aglet-slab','Helvetica Neue', Arial, Helvetica, sans-serif;
    font-size: 1.2em;
}

.col_2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.center_vert {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.promo_content h1 {
    font-size: 36px;
    color: #000;
}

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

.promo_content li {
    margin: 8px 0;
}

.promo_banner img {
    margin: -50px 0;
}

.promo_text {
    padding: 0 15px;
}

.promo_content_wrap {
    margin-bottom: 30px;
}

.sub_block {
    text-align: center;
    max-width: 850px;
    margin: 0 auto;
    border-bottom: 1px solid #f4f4f4;
    padding: 20px 0;
    font-family: 'aglet-slab','Helvetica Neue', Arial, Helvetica, sans-serif;
    box-sizing: border-box;
}

.sub_block h3 {
    font-size: 23px;
}

.sub_block select {
    max-width: 450px;
}

.non_uk_plans {
    color: #067569;
    display: none;
    font-style: italic;
}

.selector label {
    width: auto;
    margin: 0 5px;
    cursor: pointer;
    font-size: 16px;
}

.print_plans_wrap, .digital_plans_wrap {
    border: 1px solid #C5C8CC;
    max-width: 450px;
    margin: 10px auto;
    padding: 20px 20px 25px 20px;
    font-size: 16px;
    box-sizing: border-box;
}

.print_plans_wrap label, .digital_plans_wrap label {
    margin: 0;
}

.print_plans_wrap > div > label:nth-of-type(2), .digital_plans_wrap > div > label:nth-of-type(2) {
    border-top: 1px solid #f4f4f4;
    padding-top: 10px;
    margin-top: 20px;
}

.print_plans_wrap.sub_selected, .digital_plans_wrap.sub_selected {
    border-color: #067569;
}

.print_plans_wrap h4, .digital_plans_wrap h4 {
    font-size: 19px;
    font-weight: bold;
    margin: 0;
    color: #000;
}

.print_plans_wrap ul, .digital_plans_wrap ul {
    list-style: none;
    padding: 0;
    margin: 10px 0;
}

.print_plans_wrap li, .digital_plans_wrap li {
    margin: 4px 0;
    line-height: 1.1em;
}

.period_txt {
    font-weight: bold;
    display: block;
    margin: 0 0 6px 0;
}

.sub_button input[type=radio] {
    border-radius: 30px;
    border: none;
    padding: 10px 26px 12px 26px;
    width: auto !important;
    text-align: center;
    margin: 2px 0 0 0;
    background: #fff;
    cursor: pointer;
    background: #2B3F4B;
    color: #fff;
    font-weight: bold;
    top: 5px;
    height: 38px;
}

.sub_button input[type=radio]:after {
    content: 'Select';
}

.sub_button input[type=radio]:checked {
    background: #067569;
}

.sub_button input[type=radio]:checked:after {
    content: 'Selected';
}

.sub_button input[type=radio]:checked:before {
    display: none;
}

.sub_details {
    display: block;
}

.sub_block .price {
    font-size: 23px;
    display: inline-block;
    margin: 0 3px;
}

.sub_block .price_orginal {
    color: #cc0000;
    position: relative;
}
.sub_block .price_orginal:before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(50%) rotate(19deg);
    height: 1px;
    background: #cc0000;
    left: 0;
    right: 0;
}

.plan_note_txt {
    line-height: 1.2em;
    display: block;
    margin: 10px 0 -9px 0;
    font-size: 0.95em;
    font-style: italic;
    color: #878787;
}

.current_issue input {
    float: left;
    top: -1px;
    margin-right: 7px;
}

.sub_form_note {
    font-family: 'Cambria','capitolium-2','Helvetica Neue', Arial, Helvetica, sans-serif;
    color: #878787;
    font-style: italic;
    margin: 5px auto;
    max-width: 675px;
    line-height: 1.3em;
}

.gift_info_wrap {
    background: #f4f4f4;
    padding: 15px;
    display: none;
}

.gift_info_wrap h5 {
    font-weight: bold;
    border-bottom: 1px solid #fff;
    margin: 0 0 15px 0;
    padding: 0 0 15px 0;
    font-size: 16px;
}

.gift_info_inner .col_2 {
    max-width: 680px;
    margin: 0 auto -10px auto;
    gap: 15px;
    text-align: left;
}

.gift_info_inner label {
    font-size: 16px;
}

.gift_info_inner textarea {
    height: 150px;
}

.gift_info_inner input[type="date"] {
    height: 46px; /** ios fix **/
}

.global_benefits_wrap blockquote, .homeblock_15581 blockquote, .homeblock_15971 blockquote  {
    width: 49%;
    vertical-align: top;
    display: inline-block;
    border: none;
    box-sizing: border-box;
}

.global_benefits_wrap blockquote:first-of-type img, .homeblock_15581 blockquote:first-of-type img, .homeblock_15971 blockquote:first-of-type img {
    width: 130px;
}

.global_benefits_wrap blockquote:last-of-type img, .homeblock_15581 blockquote:last-of-type img, .homeblock_15971 blockquote:last-of-type img {
    width: 200px;
}

.global_benefits_wrap blockquote p:first-of-type:after, .homeblock_15581 blockquote p:first-of-type:after, .homeblock_15971 blockquote p:first-of-type:after {
    content: '';
    width: 40px;
    height: 1px;
    background: #f4f4f4;
    display: block;
    margin: 5px auto -5px auto;
}

.homeblock_15581, .homeblock_15971 {
    padding: 50px 0;
}

.blue_benefits_box {
    background: #A0B7C4;
    padding: 15px;
}

.blue_benefits_box h3 {
    color: #fff;
    font-weight: bold;
    font-size: 30px;
}

.thankyou_address {
    background: #f4f4f4;
    padding: 15px 20px;
    margin: 0 auto;
    max-width: 350px;
}

#thank_you_details img {
    width: 100px;
    float: left;
    margin-right: 5px;
}

#thank_you_details {
    background: #fff;
    width: 100%;
    margin: 0;
}

.thankyou_order_details_wrap .reponsive_table_wrap {
    background: #f4f4f4;
    padding: 15px;
    box-sizing: border-box;
}

.thankyou_order_details_wrap {
    font-family: 'aglet-slab','Helvetica Neue', Arial, Helvetica, sans-serif;
    font-size: 0.95em;
}

.thankyou_order_details_wrap p {
    margin: 5px 0;
    border-bottom: 1px solid #f4f4f4;
}

.sub_id_check {
    margin-top: 5px;
}

.free_gift_wrap div {
    display: inline-block;
    vertical-align: top;
    width: 120px;
    margin: 0 5px 15px 5px;
}

.free_gift_image {
    --freeImgHeight: 184px;
    --freeImgPadding: 10px;
}

.free_gift_image {
    display: block;
    border: 1px solid #f4f4f4;
    padding: 0 var(--freeImgPadding);
    height: var(--freeImgHeight);
    margin-bottom: 10px;
}

.free_gift_image img {
    vertical-align: bottom;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    max-height: calc(var(--freeImgHeight) - (var(--freeImgPadding) * 2));
}

.form_note_gift {
    font-size: 15px;
    margin: -10px 0 0 2px;
    color: #cc0000;
}

.forgot_sub_id_link {
    text-decoration: underline;
    cursor: pointer;
}

.forgot_sub_id_link:hover {
    text-decoration: none;
}


.subscriber_login_wrap .form_response > ul, .forgot_sub_id_recover_wrap .form_response > ul {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.9em;
}

.forgot_sub_id_recover_wrap .form_response > ul {
    margin-top: 8px;
}    

.forgot_sub_id_recover_wrap {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 0.9em;
    line-height: 1.3em;
    padding-bottom: 15px;
    display: none;
}

.forgot_sub_id_recover_wrap input[type="email"] {
    background: #fff;
    margin-bottom: 10px;
}

.forgot_sub_id_recover_wrap p {
    margin: 0 0 10px 0;
}

#subscriber_login_form, .forgot_sub_id_recover_wrap {
    padding:15px;
    background: #f4f4f4;
    max-width: 350px;
    margin-bottom: 10px;
}

.subscriber_login_wrap {
    max-width: 350px;
    margin: 0 auto;
    text-align: center;
}

.forgot_sub_id_wrap {
    margin: 15px 0;
}

.subscriber_login_wrap > .button {
    margin-top: 15px;
}

.sub_id_check_response {
    font-style: italic;   
}

.hide_sub_type {
    opacity: 0;
    height: 2px;
    overflow: hidden;
    padding: 0;
}

/* ------------------------ SEARCH STYLES -------------------------------*/

#nav .search_icon {
    padding: 0;
    position: absolute;
    right: var(--pageWidthPadding);
    top: 9px;
}

.subscribe_header_links .search_icon svg {
    vertical-align: bottom;
}

.subscribe_header_links .search_icon {
    margin-right: 6px;
}

#search_wrap {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: #fff;
    z-index: 2000;    
    bottom: 100%;
    transition: all 600ms ease-in-out; 
    overflow: hidden;
}

#search_wrap.active {
    bottom: 0%;
}

.search_inner {
    max-width: 350px;
    margin: 20px auto;
    padding: 20px;
    text-align: center;
}

.searchform {
    margin: 20px 0 0 0;
}

.searchform p {
    margin: 28px 0 0 0;    
}

.searchform input {
    font-size: 22px;
    width: 280px;
    box-sizing: border-box;
    text-align: center;    
}

.searchform button {
    padding: 0;
    background: none;
    transform: scale(1.2);
    position: relative;
    transition: all 500ms ease-in-out; 
    bottom: -80px;
}

#search_wrap.active .searchform button {
    bottom: 0;
}

.searchform svg path {
    fill: #191919 !important;
}

.searchform svg circle {
    stroke: #191919 !important;
}

.close {
    position: relative;
    cursor: pointer;
    width: 32px;
    height: 32px;
}
.close:before, .close:after {
    position: absolute;
    left: 15px;
    content: ' ';
    height: 33px;
    width: 2px;
    background-color: #191919;
}
.close:before {
    transform: rotate(45deg);
}
.close:after {
    transform: rotate(-45deg);
}

#search_wrap .close_search {
    margin: 0 auto;
    transition: all 500ms ease-in-out; 
    top: -80px;
}

#search_wrap.active .close_search {
    top: 0px;
}

.search_prod_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-gap: 15px;
    margin-bottom: 30px;
}

.search_post_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 25px;
    margin-bottom: 30px;
}

.search_post_grid .post {
    border: 1px solid #f4f4f4;
    padding: 10px;
}

.pagetitle {
    text-align: center;
    
}


/* ------------------------ eventbrite STYLES -------------------------------*/

.eaw-li__wrap {
    background: #f4f4f4;
    padding: 15px;
    margin-bottom: 25px;
    text-align: left;
}

.eaw-thumb-wrap {
    min-width: auto !important;
}

.eaw-thumb-wrap img {
    width: 100% !important;
}

.eaw-li__wrap .eaw-li__flex {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.eaw-content-wrap {
}

.eaw-time {
    font-family: 'aglet-slab','Helvetica Neue', Arial, Helvetica, sans-serif;
    color: #067569;
}

.eaw-li__wrap h3 {
    margin: 0;
}

.eaw-summary {
    margin: 15px 0;
}

.eaw-summary .more-link {
    margin: 0;
}


/* ------------------------ 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: 1194px) {
    .cat_img {
        --imgHeight: 32vw;
    }
    .search_prod_grid .cat_img {
        --imgHeight: 20vw;
    }
}


@media all and (max-width: 1100px) {
    .homeblock_55 .homeblock_img {
        margin: -43px 0px 0px 0;
        width: 650px;
    }
}

@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: 1015px) {
    .homeblock_55 .homeblock_img {
        margin: -32px 0px 0px 0;
        width: 600px;
    }
    .home_quote_block {
        max-width: 320px;
    }
    .promo_content {
        display: block;        
    }
    .promo_banner img {
        margin-bottom: 0;
    }
    .promo_text {
        padding: 0 5px;
    }
    .promo_content .center_vert {
        position: static;
        transform: none;
    }
    .homepage_shop_items .cat_thumbail_wrap:nth-child(5) {
        display: none;
    }
}

@media all and (max-width: 915px) {
    .homeblock_55 {
        text-align: center;
    }
    .homeblock_55 .homeblock_img {
        margin: 0px 0px -60px 0;
        width: auto;
        position: relative;
        right: auto;
        top: -30px;
    }
    .home_quote_block, .homepage_blocks_wrap .homeblock_55 h1 {
        max-width: none;
    }
    .homeblock_55 .button {
        margin-left: 00px;
    }
}

@media all and (max-width: 850px) {
    .footer_inner {
        display: block;
    }
    .footer_menus {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        padding-bottom: 20px;
    }
    .menu-footer {
        text-align: center;
    }
    .imprint .nowrap {
        display: block;
    }
    .nowrap:after {
        display: none;
    }
    footer {
        padding-top: 15px;
    }
    .cat_grid {
        grid-template-columns: 1fr 1fr 1fr;
        grid-gap: 15px;
    }
    .cat_img {
        --imgHeight: 41vw;
    }
    .search_prod_grid {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
        grid-gap: 10px;
    }
    .search_prod_grid .cat_img {
        --imgHeight: 25vw;
        --imgPadding: 10px;
    }
    .search_post_grid {
        grid-template-columns: 1fr 1fr;
    }

}

@media all and (max-width: 815px) {
    .homepage_shop_items .cat_thumbail_wrap:nth-child(4) {
        display: none;
    }
}

@media all and (max-width: 800px) {
    /** NAV **/
    .view_menu_btn { display: block; }
	#nav {
	    position: absolute;
	    width: 100%;
	    background: #2B3F4B;
	    margin-bottom: 20px;
	    top: 55px;
        left: 0;
        right: 0;
	    padding: 10px var(--pageWidthPadding);
	    z-index: 1000;
        display: none;
        opacity: 0;
        transition: all 350ms ease-in-out; 
        box-sizing: border-box;
	}	
	#nav.active {
        display: block;
	}	
    #nav.fade_in {
        opacity: 1;
	    top: 47px;
    }
    #nav a {
        color: #fff;
    }
    #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: rgba(255,255,255,0.15);
        text-align: center;
        padding: 5px 0 !important;
        margin: 8px 0;
    }

    #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;
        width: auto;
    }

    #menu-main-menu>li.menu-item-has-children>a {
        padding: 5px 0 5px 0;
    }
    
    #menu-main-menu>li.menu-item-has-children>a:before {
        content: '';
        display: block;
        width: 2px;
        height: 11px;
        background: rgba(255,255,255,0.15);
        position: absolute;
        bottom: -8px;
        left: 50%;
        transform: translateX(-50%);
    }
    

    #nav a:hover, #menu-main-menu>li.menu-item-has-children:hover>a {
        color: #fff;
        opacity: 0.5;
    }

    #menu-main-menu>li.menu-item-has-children>a:after {
        display: none;
    }

    #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 #f4f4f4;
    }    
    
    #nav .search_icon circle {
        stroke: rgba(255,255,255,0.5) !important;
        
    }
    #nav .search_icon path {
        fill: rgba(255,255,255,0.5) !important;
    }

    /** END NAV **/
    
    #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 (min-width: 800px) {
    /** NAV - make sure it's displayed even if it has and inline style via js  **/
	#nav { display: block !important; }
}

@media all and (max-width: 760px) {
    .subscribe_header_title {
        display: none;
    }
}

@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: 680px) {
    .promo_content {
        font-size: 1.1em;
    }
    .promo_content h1 {
        font-size: 30px;
    }
    .promo_content li {
        margin: 1px 0;
    }
    .portal_link {
        display: none;
    }
    .search_prod_grid {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .search_prod_grid .cat_img {
        --imgHeight: 43vw;
    }
    .search_post_grid {
        grid-template-columns: 1fr;
    }
    .homepage_stories {
        display: block;
    }
    .homepage_stories > div {
        max-width: 450px;
        margin: 20px auto;
    }
}

@media all and (max-width: 609px) {
    .homepage_shop_items .cat_thumbail_wrap:nth-child(4) {
        display: inline-block;
    }
}

@media all and (max-width: 565px) {
    label,
    select, 
    input, 
    textarea, 
    .input,
    .checkout_page .address_finder input {
        width: 100%;
        float: none;
    }
    .form_note {
        padding-left: 0;
    }
    /*** CHECKOUT TABLES ***/
    #checkout_table, .shipping_table_wrap table {
        display: block;
    }
    #checkout_table tr, .shipping_table_wrap table tr {
        display: block;
        padding: 10px;
        border-bottom: 1px solid #f4f4f4;
        position: relative;
        width: 100%;
        box-sizing: border-box;
    }
    .shipping_table_wrap table tr {
        padding-right: 45px;
    }
    #checkout_table tr:last-child, .shipping_table_wrap table tr:last-child {
        border-bottom: none;
    }
    #checkout_table td, .shipping_table_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, .shipping_table_wrap table tr td:nth-child(4) {
        position: absolute;
        top: 10px;
        right: 10px;
    }
    #checkout_table tbody, .shipping_table_wrap table tbody {
        display: block;
    }
    .shipping_table_wrap table th, .shipping_table_wrap table tr:first-child {
        display: none;
    }
    .shipping_table_wrap table tr td:first-child {
        float: left;
    }
    .shipping_table_wrap table tr td:nth-child(2) {
        float: left;
        font-weight: bold;
        margin-right: 10px;
    }
    .shipping_table_wrap table tr td:nth-child(3):before {
        content: '- ';
    }
    .shipping_table_wrap table tr td:nth-child(5) {
        font-style: italic;
    }
    .news_opt_in_wrap {
        margin-left: 0;
    }
    /*** END - CHECKOUT TABLES ***/
    .eaw-li__wrap .eaw-li__flex {
        display: block;
    }
}

@media all and (max-width: 515px) {
    .footer_menus {
        display: block;
    }
    .menu-footer {
        display: block;
        border: none;
        padding: 10px 0 0 0;
    }
    .menu-footer:after {
        content: '-';
        color: #fff;
    }
    .global_benefits_wrap blockquote, .homeblock_15581 blockquote, .homeblock_15971 blockquote {
        width: auto;
        display: block;
        margin: 0;
    }
    .blue_benefits_box h3 {
        font-size: 25px;
    }
    .cat_grid {
        grid-template-columns: 1fr 1fr;
    }
    .cat_img {
        --imgHeight: 62vw;
        --imgPadding: 12px;
    }
}

@media all and (max-width: 492px) {
    .subscribe_header {
        position: absolute;
        display: flex;
        bottom: -50px;
        z-index: 50;
    }
    .view_menu_btn {
        padding: 15px 0;
    }
    .subscribe_header_links {
        padding-left: 10px;
        padding-top: 6px;
    }
    #logo span:after {
        right: auto;
        left: calc(100vw - 236px);
    }
    .homepage_blocks_wrap .homeblock_55 h1 {
        font-size: 20px;
        line-height: 1.35em;
    }
    .home_quote_block {
        font-size: 25px;
    }
    .home_quote_block {
        padding-left: 0;
        padding-right: 0;
    }
    header {
        padding-top: 15px;
    }
    #nav.fade_in {
	    top: 57px;
    }
}

@media all and (max-width: 479px) {
	#menu-footer-menu li, .imprint .nowrap {
		display: block;
	}
	#menu-footer-menu li:after, .nowrap:after {
		display: none;		
	}
    .gift_info_inner .col_2 {
        display: block;
    }
}

@media all and (max-width: 420px) {
    .homepage_shop_items .cat_thumbail_wrap {
        width: auto;
        margin: 0;
    }
    .homepage_shop_items {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 10px;
        margin-bottom: 20px;
    }
    .homepage_shop_items .cat_thumbail_wrap .cat_img {
        --imgHeight: 61vw;
    }
}


@media all and (max-width: 400px) {
    #logo a {
        width: 135px;
        height: 105px;
    }
    #logo span {
        height: 104px;
    }
    #logo span:after {
        right: -23px;
        left: auto;
    }
    .search_prod_grid {
        grid-template-columns: 1fr 1fr;
    }
    .search_prod_grid .cat_img {
        --imgHeight: 62vw;
    }
}

@media all and (max-width: 360px) {
    .term-5 .sub_cat_wrap {
        width: 144px;
    }
}

@media all and (max-width: 335px) {
    #logo a {
        width: 127px;
        height: 100px;
    }
    #logo span {
        height: 98px;
    }
}

/*** 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;
    }
}