/* Common helper css classes just in case missing from tempset
=================================================== */
.ym-clearfix::before, .clearfix::before, .clearfix::after {
  content: "";
  display: table;
}
.lineheight1 {line-height:1;}
.lineheight2 {line-height:2;}
.lineheight3 {line-height:3;}
.lineheight4 {line-height:4;}
/*
#cartForm th, #cartForm td,
#checkoutForm th, #checkoutForm td {
  line-height: 1.25;
  vertical-align: middle;
  padding: 10px 1.25%;
}
#cartForm thead th, #checkoutForm thead th {
  line-height: 2;
  border-bottom: 1px #666 solid;
}


.box thead th
{
  line-height: 2;
  border-bottom: 1px #666 solid;
}

input[type="text"], 
input[type="password"], 
input[type="search"], 
select,
.ym-form input, 
.ym-form select {
    height: 30px;
    line-height: 30px;
}
#cartForm input[type="text"], 
#cartForm input[type="password"], 
#cartForm input[type="search"], 
#cartForm select, 
#cartForm button, 
#cartForm textarea,
#checkoutForm input[type="text"], 
#checkoutForm input[type="password"], 
#checkoutForm input[type="search"], 
#checkoutForm select, 
#checkoutForm button, 
#checkoutForm textarea,
#cartForm .ym-button,
#checkoutForm .ym-button
{
  -moz-appearance: none;
  -webkit-appearance: none;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  -khtml-border-radius: 0;
  border-radius: 0;
}
#cartForm input[type="text"],
#checkoutForm input[type="text"],
#cartForm .ym-fbox-text input, 
#cartForm .ym-fbox-text textarea,
#checkoutForm .ym-fbox-text input, 
#checkoutForm .ym-fbox-text textarea {
  border: 1px solid #d2d2d2;
}
#cartForm .ym-button,
#checkoutForm .ym-button {
  border: 1px solid transparent !important;
}


#cartForm select,
#checkoutForm select {
  text-rendering: optimizeLegibility;
  outline: none;
  text-indent: 0.01px;
  text-overflow: '';
  background: #fff url("../templatesource/images/template/dropdown.png") no-repeat scroll 96% 50%;
  background-position: right 8px center;
  line-height: 2;
  padding-right: 2em;
  width: auto;
  border: 1px solid #d2d2d2;
}
*/

/* form errors */
.ym-error input, 
.ym-error select, 
.ym-error textarea {
  border: 1px #800 solid;
  -webkit-box-shadow: 0 0 1.5px 1px #800;
  -moz-box-shadow: 0 0 1.5px 1px #800;
  box-shadow: 0 0 1.5px 1px #800;
}
.ym-error ::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #800;
  opacity: 1; /* Firefox */
}
.ym-error :-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #800;
}
.ym-error ::-ms-input-placeholder { /* Microsoft Edge */
  color: #800;
}


.textright, .text-right { text-align: right !important;}
.textcenter, .text-center {  text-align: center !important;}
small, .small, .smaller {  font-size: 13px !important;}
.inline-block {display:inline-block;}
.ym-skip, .ym-hideme, .ym-reader, .ym-hide, .ym-print,
.linearize-form select.ym-skip, .linearize-form select.ym-hideme, .linearize-form select.ym-reader, .linearize-form select.ym-hide {
  position: absolute !important;
  top: -32768px !important;
  left: -32768px !important;
  bottom: auto !important;
}

html.jst-admin-active .ym-hideme {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  /* background: #a20202 !important; */
  -webkit-box-shadow: 0px 0px 10px 10px rgba(162,2,2,1);
-moz-box-shadow: 0px 0px 10px 10px rgba(162,2,2,1);
box-shadow: 0px 0px 10px 10px rgba(162,2,2,1);
}

.pad1 {padding: 20px;}
.pad2 {padding: 40px;}

/*

AS GOT THESE AND CONFLICTING WITH NO LINEARIZE_LEVELS COMMENTING HETRE OUT TO USE MAIN.CSS

.hiderevealflex {display:none !important;} 
.revealhideflex {display:flex !important;}
  .hiderevealinline {display:none !important;vertical-align: top;} 
  .revealhideinline {display:inline-block !important;vertical-align: top;}
  .hiderevealtablecell {display: none !important;}
  .revealhidetablecell {display: table-cell !important;}

 above breakpoints 
==================== 
@media screen and (min-width: 990px) {
  .linearize-level-e .hiderevealflex {display:flex !important;} 
  .linearize-level-e .revealhideflex {display:none !important;}
  .linearize-level-e .hiderevealinline {display:inline-block !important;} 
  .linearize-level-e .revealhideinline {display:none !important;}
}
@media screen and (min-width: 980px) {
  .linearize-level-980 .hiderevealflex {display:flex !important;} 
  .linearize-level-980 .revealhideflex {display:none !important;}
  .linearize-level-980 .hiderevealinline {display:inline-block !important;} 
  .linearize-level-980 .revealhideinline {display:none !important;}
}

AS PER RESPOSNIVE MENU BREAK 
@media screen and (min-width: 960px) {
  .linearize-level-0 .hiderevealflex {display:flex !important;} 
  .linearize-level-0 .revealhideflex {display:none !important;}
  .linearize-level-0 .hiderevealinline {display:inline-block !important;} 
  .linearize-level-0 .revealhideinline {display:none !important;}
}
@media screen and (min-width: 760px) {
  .linearize-level-1 .hiderevealflex {display:flex !important;} 
  .linearize-level-1 .revealhideflex {display:none !important;}
  .hiderevealflex {display:flex !important;} 
  .revealhideflex {display:none !important;}
  .linearize-level-1 .hiderevealinline {display:inline-block !important;} 
  .linearize-level-1 .revealhideinline {display:none !important;}
}
@media screen and (min-width: 480px) {
  .linearize-level-2 .hiderevealflex {display:flex !important;} 
  .linearize-level-2 .revealhideflex {display:none !important;}
  .linearize-level-2 .hiderevealinline {display:inline-block !important;} 
  .linearize-level-2 .revealhideinline {display:none !important;}

	
  /* FORM FIELDS Columnar versus Linear - stack on mobiles
    optimize forms on small screens by forcing display mode: full 
    .linearize-form [class*="ym-fbox"]:not([class*="ym-fbox-check"]) label,
    .linearize-form .ym-label,
    .linearize-form .ym-message,
    .linearize-form input[type="text"],
    .linearize-form input[type="password"],
    .linearize-form textarea
      {
      display: block;
      float: none;
      position: static !important;
      width:100% !important;
    }
    .ym-fbox-text, 
    .ym-fbox-select, 
    .ym-fbox-check, 
    .ym-fbox-button {
      padding: 0.2em 1em;
      margin-bottom: 0;
    }
    .linearize-form .ym-columnar label, 
    .linearize-form .ym-columnar .ym-label,
    .linearize-form .ym-fbox-check label,
    .linearize-form.ym-form .ym-fbox-check label,
    .ym-columnar .linearize-form label, 
    .ym-columnar .linearize-form .ym-label {
      display: inline;
      width: auto;
    }
    .linearize-form .ym-message,
    .linearize-form .ym-fbox-check input,
    .ym-columnar .linearize-form .ym-fbox-check.stylecheckbox input, 
    .ym-columnar .linearize-form .ym-fbox-check.styleradio input, 
    .ym-columnar .linearize-form .ym-fbox-check.stylecheckbox input + span, 
    .ym-columnar .linearize-form .ym-fbox-check.styleradio input + span {
      margin-left: 0 !important;        
    }
  
}
@media screen and (min-width: 315px) {
  .linearize-level-3 .hiderevealflex {display:flex !important;} 
  .linearize-level-3 .revealhideflex {display:none !important;}
  .linearize-level-3 .hiderevealinline {display:inline-block !important;} 
  .linearize-level-3 .revealhideinline {display:none !important;}
}

below breakpoints 
======================= 
@media screen and (max-width: 990px) {
  .centeronmobile {text-align: center;}
}
@media screen and (max-width: 980px) {
  .centeronmobile980 {text-align: center;}
}

AS PER RESPOSNIVE MENU BREAK 
@media screen and (max-width: 960px) {
  .centeronmobile0 {text-align: center;}
}
@media screen and (max-width: 760px) {
  .centeronmobile1 {text-align: center;}
}
@media screen and (max-width: 480px) {
  .centeronmobile2 {text-align: center;}
  .paymentsaccepted {text-align:left; }
}
@media screen and (max-width: 315px) {
  .centeronmobile3 {text-align: center;}
}

*/

.showitonline {display:block !important;}


/* payments
--------------------- */

	/** The Payment accepted icons 

	These are the classes in effect:
	amex cirrus delta directdebit discover electron google maestro mastercard mastercardsecure paypal solo switch visa visaverified 

	Default set is:
	visa visaverified mastercard mastercardsecure switch solo maestro paypal
  ================================================= */
  .paymentsaccepted {
    text-align:right;
    line-height:0;
    padding-right:0;
    /* background: rgba(255,255,255, 0.5); */
  }
  .paymentsaccepted.paymentoptionsaccepted {text-align:left;background: transparent;}

	.paymentsaccepted span, 
  .paymentsaccepted div {
    display: inline-block;
   float: none;
    height: 32px;
    margin:10px 6px !important;
    width: 51px;
	}

  .paymentsaccepted a.pcilogogroup {
    vertical-align:top;
    margin-top: 3px;
  }

  .paymentsaccepted span {
    margin:0px 6px !important;
    height:40px;
    width:auto;
	}

@media screen and (max-width: 640px) {
  .paymentsaccepted,
  .paymentsaccepted.paymentoptionsaccepted {
    text-align:center;
  }
  .paymentsaccepted label, 
  .paymentsaccepted .ym-label {float:none;}
}


  .paymentsaccepted  .pci {border:1px solid #ccc; max-height:32px; margin-right:2px;}
	.paymentsaccepted .amex {background: transparent url("../images/payments/amex.svg") no-repeat scroll 0 100%;}
	.paymentsaccepted .barclays {background: transparent url("../images/payments/barclays.png") no-repeat scroll 0 100%;}
	.paymentsaccepted .sagepay {background: transparent url("../images/payments/sagepay.svg") no-repeat scroll 0 100%;}
	.paymentsaccepted .cirrus {background: transparent url("../images/payments/cirrus.png") no-repeat scroll 0 100%;}
	.paymentsaccepted .delta {background: transparent url("../images/payments/delta.png") no-repeat scroll 0 100%;}
	.paymentsaccepted .directdebit {background: transparent url("../images/payments/directdebit.png") no-repeat scroll 0 100%;}
	.paymentsaccepted .discover {background: transparent url("../images/payments/discover.png") no-repeat scroll 0 100%;}
	.paymentsaccepted .electron {background: transparent url("../images/payments/electron.png") no-repeat scroll 0 100%;}
	.paymentsaccepted .visadebit {background: transparent url("../images/payments/visadebit.png") no-repeat scroll 0 100%;}
	.paymentsaccepted .google {background: transparent url("../images/payments/google.png") no-repeat scroll 0 100%;}
	.paymentsaccepted .maestro {background: transparent url("../images/payments/maestro.png") no-repeat scroll 0 100%;}
	.paymentsaccepted .mastercard {background: transparent url("../images/payments/mastercard.svg") no-repeat scroll 0 100%;}
	.paymentsaccepted .mastercardsecure {background: transparent url("../images/payments/mastercardsecure.png") no-repeat scroll 0 100%;}
	.paymentsaccepted .paypal {background: transparent url("../images/payments/paypal.svg") no-repeat scroll 0 100%;}
	.paymentsaccepted .solo {background: transparent url("../images/payments/solo.png") no-repeat scroll 0 100%;}
	.paymentsaccepted .switch {background: transparent url("../images/payments/switch.png") no-repeat scroll 0 100%;}
	.paymentsaccepted .visa {background: transparent url("../images/payments/visa.svg") no-repeat scroll 0 100%;}
	.paymentsaccepted .visaverified {background: transparent url("../images/payments/visaverified.png") no-repeat scroll 0 100%;}

/* buttons?
---------------------- */
.dynamicqty .itemsub, 
.dynamicqty .itemadd,
.ym-button, 
button, 
input[type="button"], 
input[type="reset"], 
input[type="submit"] {
  /* border-radius: .2em; */
  border-radius: 0;
  -webkit-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
/* border: 1px solid !important; */
}
.ym-button {
    padding: 0 10px !important;
}
.ym-button.ym-small {
    font-size: 0.8571em;
    line-height:2;
}
.ym-button.ym-button-icon,
.ym-form button.ym-button-icon {
    padding: 0 !important;
}
.ym-button.ym-button-icon:before,
button.ym-button.ym-button-icon:before,
.ym-form button.ym-button-icon:before {
   -webkit-box-shadow: none;
  background: rgba(255,255,255,.1);
}
.ym-button.ym-button-icon:before,
button.ym-button.ym-button-icon:before {
    -webkit-box-shadow: none !important;
    box-shadow: none;
    margin: 0 !important;
    padding: 0 13px 0 13px !important;
    width: auto;
    text-align: center !important;
    border-radius: 0;
}
.ym-form button.ym-button-icon.ym-small:before, 
.ym-button.ym-button-icon.ym-small:before {
    -webkit-box-shadow: none;
    box-shadow: none;
    margin: 0 !important;
    padding: 0 9px 0 9px !important;
    width: auto;
    text-align: center !important;
    border-radius: 0;
}
.ym-delete:before {
    content: "x";
    font-family: verdana,arial,serif;
}
.ym-button-icon.ym-delete:before {
    font-size: 0.8rem;
}

/* cart and 1step
---------------------- */


.ym-fbox-select {
    vertical-align: middle;
}

.cartbuttons,
.paymentsaccepted {
  margin-top:1rem!important;
}


.ym-button, 
button, 
input[type="button"], 
input[type="reset"], 
input[type="submit"],
.ym-button.ym-checkout {
    margin-right:0 !important;
    margin-left:0 !important;
    text-shadow: none;
    -webkit-box-shadow:none;
    box-shadow:none;
}

.onlineorder .ym-button::before, 
.onlineorder button::before {
    border-radius: 0;
}


/* .cartbuttons .ym-button:before,
.cartbuttons .ym-button.productaddtocart:before, 
.ym-button.productaddtocart:before {
-webkit-box-shadow:none;
box-shadow: none;
}

.onlineorderwrapper .ym-button,
.onlineorderwrapper .ym-button.productaddtocart,
.onlineorder .ym-button, 
.onlineorder button, 
.onlineorder input[type="button"], 
.onlineorder input[type="reset"],
.onlineorder input[type="submit"] {
  font-size: 12px;
  line-height: 28px;
  height:28px;
  margin: 0;
} */



.inline-buttons > .ym-button, 
.inline-buttons > button, 
.inline-buttons > input[type="button"], 
.inline-buttons > input[type="reset"], 
.inline-buttons > input[type="submit"],
.inline-buttons > .ym-button.ym-checkout {
    margin-right:0.5em !important;
    margin-left:0.5em !important;
}
.inline-buttons > .ym-button:first-of-type, 
.inline-buttons > button:first-of-type, 
.inline-buttons > input[type="button"]:first-of-type, 
.inline-buttons > input[type="reset"]:first-of-type, 
.inline-buttons > input[type="submit"]:first-of-type,
.inline-buttons > .ym-button.ym-checkout:first-of-type {
    margin-left:0 !important;
}
.inline-buttons > .ym-button:last-of-type, 
.inline-buttons > button:last-of-type, 
.inline-buttons > input[type="button"]:last-of-type, 
.inline-buttons > input[type="reset"]:last-of-type, 
.inline-buttons > input[type="submit"]:last-of-type,
.inline-buttons > .ym-button.ym-checkout:last-of-type {
    margin-right:0 !important;
}




.cart-ship-select,
.cart-ship-select select {
  width:220px;
  min-width:220px;
}

/* 1STep T&C and Privacy
--------------------------- */
#JSTtermsandcons {
  border-top: 1px solid !important;
}
.boxtermsnprivacy,
.box.boxtermsnprivacy  {
  background:none !important;
color: inherit  !important;
-webkit-box-shadow: none  !important;
-moz-box-shadow: none  !important;
box-shadow: none  !important;
margin-bottom: 20px;
padding: 20px !important;
border-bottom: 1px solid !important;
border-radius: 0;
text-align: center;
}

.boxtermsnprivacy.ym-fbox-check.stylecheckbox input,
.box.boxtermsnprivacy.ym-fbox-check.stylecheckbox input,
.box.boxtermsnprivacy.ym-fbox-check.stylecheckbox input + span,
.ym-fbox-check.stylecheckbox input {
  margin-left: 0 !important;
}

.boxtermsnprivacy a.termstogglelink,
.box.boxtermsnprivacy a.termstogglelink {
  vertical-align: baseline;
  text-decoration:none !important;
  position: absolute !important;
right: 0;
margin: 10px 0;
}
.boxtermsnprivacy a.termstogglelink:hover,
.box.boxtermsnprivacy a.termstogglelink:hover {
  text-decoration:none !important;
}
#JSTtermsandcons  fieldset {
  border-bottom: 1px solid !important;
  border-radius: 0;
}

.boxtermsnprivacy a.termstogglelink.switchon .fa.fa-angle-down:before,
.box.boxtermsnprivacy a.termstogglelink.switchon .fa.fa-angle-down:before {
  content: "\f106"; /* f107 is angle down */
} 

/* Table / repsonisve stuff
------------------------------- */
tbody td.noheader:before {
  visibility: hidden;
  padding: 0;
  margin: 0;
  height:0;
}

@media screen and (max-width: 640px) {

  tbody tr {
    border: 1px solid #ccc !important;
    margin: 20px 0 !important;
    /* background:#fff !important; */
  }

  .cart-ship-select,
  .cart-ship-select select {
    width:auto;
    min-width: auto;
  }

}



/* To clear all table styling
----------------------------- */
table.clear {
background: transparent !important;
}
table.clear tbody tr {
  border: none !important;
  background: transparent !important;
}
table.clear td, table.clear th {
  border: none !important;
}

/* notices info, warning attention etc
------------------------------ */
	.info {
		background-color: transparent;
		border: 0px dashed #CCCCCC;
	}

	.info.noicon, 
	.note.noicon, 
	.important.noicon, 
	.warning.noicon, 
	.box.info.noicon, 
	.box.note.noicon, 
	.box.important.noicon, 
	.box.warning.noicon {
		padding-left: 5px !important;
	}
	.info.noicon:before, 
	.note.noicon:before, 
	.important.noicon:before, 
	.warning.noicon:before, 
	.box.info.noicon:before, 
	.box.note.noicon:before, 
	.box.important.noicon:before, 
	.box.warning.noicon:before {
		content: "";
	}

/* toggle visibility elemnts? like "this is in your cart" and hide add buttons etc
---------------------------- */
.ajaxtogglevis {}
.ajaxtogglevis.ajaxtogglehide {display:none;}
.ajaxtogglevis.ajaxtoggleshow {display:block;}

/* checkout1step address / payment selection toggle styling blocks
=================================================== */

select.selectlarge {
    /* width: auto !important; */
    font-size:1.25rem; /*  1.15em; */
height: auto;
line-height: 1.75;
/* font-weight: 800; */
}

.selectblock {
padding: 25px 20px 25px 0px; /* if not surrounding radio or checkbox then giv eleft padding 80px */
position: relative;
min-height: 100px;
box-sizing: border-box;
border-top: 1px solid #dadcdc;
border-bottom: 1px solid #dadcdc;
margin-bottom:-1px !important;
}
.selectblock.selectedblock {
background: #eee;
/* border-top: 1px solid #dadcdc !important;
border-bottom: 1px solid #dadcdc !important; */
margin-bottom: -1px;
}

.stylecheckbox label, 
.styleradio label {
    float:none;
    display: inline-block;
    margin: 0;
}
.ym-form .ym-fbox-check label {
  display: inline;
}
.stylecheckbox input,
.styleradio input {
    margin: 0;
}
.ym-columnar .ym-fbox-check.stylecheckbox input, 
.ym-columnar .ym-fbox-check.styleradio input,
.ym-columnar .ym-fbox-check.stylecheckbox input + span, 
.ym-columnar .ym-fbox-check.styleradio input + span {
    margin-left: 30% !important;
}
@media screen and (max-width: 760px) {
  .linearize-form.ym-columnar .ym-fbox-check.stylecheckbox input, 
  .linearize-form.ym-columnar .ym-fbox-check.styleradio input,
  .linearize-form.ym-columnar .ym-fbox-check.stylecheckbox input + span, 
  .linearize-form.ym-columnar .ym-fbox-check.styleradio input + span {
      margin-left: 0 !important;
  }
}
/* Checkbox / Radio style?
 https://codepen.io/jestho/pen/WbRjay
========================================= */

.stylecheckbox, .styleradio {
  position: relative;
  cursor: pointer;
  /* padding: 0; */
  margin-bottom:0;
}
/* .stylecheckbox:-moz-selection, 
.styleradio:-moz-selection {
  background: transparent;
}
.stylecheckbox:selection, 
.styleradio:selection {
  background: transparent;
} */


.stylecheckbox input + span, 
.styleradio input + span {
  background: #fff;
  border: 1px solid #323330;
  content: "";
  display: inline-block;
  margin: 0 .5em 0 0;
  padding: 0;
  vertical-align: middle;
  width: 2em;
  height: 2em;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
}
.stylecheckbox input + span:after, 
.styleradio input + span:after {
  content: "";
  display: block;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: -webkit-transform .2s;
  transition: -webkit-transform .2s;
  transition: transform .2s;
  transition: transform .2s, -webkit-transform .2s;
}
@media screen and (min-width: 768px) {
  .stylecheckbox:hover input + span, 
  .styleradio:hover input + span {
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);
  }
}
.stylecheckbox input:active + span, 
.styleradio input:active + span {
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);
}
.stylecheckbox input:focus + span, 
.styleradio input:focus + span {
  box-shadow: 0 0 0 1px #323330;
}
.stylecheckbox input:checked + span:after, 
.styleradio input:checked + span:after {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.stylecheckbox input, 
.styleradio input {
  position: absolute;
  cursor: pointer;
  opacity: 0;
z-index: 10;
width: 32px !important;
height: 32px !important;
}
/* CHECKBOX & RADIO EXPANDED CLICK AREA 
--------------------------------------------
- cannot put on <input> alone as empty so w3c not reliable so use neighbouring elements */
.stylecheckbox input + span + label:after, 
.styleradio input + span + label:after  {
  content: '';
  position: absolute;
margin-left: -0.25em;
margin-top: -0.25em;
  width: 3em;
  height: 3em;
  border: 0px dotted red;
  background: transparent;
/* place above span styled so can click */
  z-index: 10;
  left: -3em;
} 

.stylecheckbox input + span {
  border-radius: 4px;
}
.stylecheckbox input + span:after {
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2NHB4IiBoZWlnaHQ9IjY0cHgiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNjQgNjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTMuNzA3LDMyLjI5MyAxMi4yOTMsMzMuODU0IDI0LjI5Myw0NiAyNS43MDcsNDYgNDkuNzA3LDIxLjg1NCA0OC4yOTMsMjAuMzY2IDI1LDQzLjYyMyAiLz48L2c+PC9zdmc+) no-repeat center;
  background-size: contain;
  width: 2em;
  height: 2em;
}

.styleradio input + span {
  border-radius: 100%;
}
.styleradio input + span:after {
  border-radius: 100%;
  margin: .55em;
  width: .75em;
  height: .75em;
}
.styleradio input:checked + span:after {
  background: black;
}


/* Toast Growl popup from include footer file
=================================================== */

.toast {
  visibility: hidden;
  max-width: 50px;
  height: 50px;
      line-height: 17px;
  /*margin-left: -125px;*/
  margin: auto;
  background-color: #776233;
  color: #fff;
  text-align: center;
  border-radius: 2px;
  position: fixed;
  z-index: 1;
  left: 0;right:0;
  top: 30px;
bottom:auto;
  font-size: 17px;
  white-space: nowrap;
overflow:hidden;
z-index:99999;
}
.toast .timg{
width: 50px;
height: 50px;
  float: left;
  padding-top: 16px;
  padding-bottom: 16px;
  box-sizing: border-box; 
  background-color: #776233;
  -webkit-filter: brightness(75%);
  filter: brightness(75%);
  color: #fff;
}
.toast .tdesc{
  color: #fff;
  padding: 16px;
  overflow: hidden;
white-space: nowrap;
}

.toast.show {
  visibility: visible;

/* animation name | duration |animation delay
so length of show eg settimeout 5000 = stay ani delay + shrink ani delay = 5s */

  /* -webkit-animation: fadein 0.5s, expand 0.5s 0.5s, stay 3s 1s, shrink 0.5s 2s, fadeout 0.5s 2.5s; */
 /* animation: fadein 0.5s, expand 0.5s 0.5s, stay 3s 1s, shrink 0.5s 4s, fadeout 0.5s 4.5s;  */
 -webkit-animation: fadein 0.5s, expand 0.5s 0.5s, stay 3s 1s, shrink 0.5s 2s, fadeout 0.5s 2.5s;
animation: fadein 0.5s, expand 0.5s 0.5s, stay 3s 1s, shrink 0.5s 4s, fadeout 0.5s 4.5s; 
}
@-webkit-keyframes fadein {
  from {top: 0; opacity: 0;} 
  to {top: 30px; opacity: 1;}
}
@keyframes fadein {
  from {top: 0; opacity: 0;}
  to {top: 30px; opacity: 1;}
}
@-webkit-keyframes expand {
  from {min-width: 50px} 
  to {min-width: 300px}
}
@keyframes expand {
  from {min-width: 50px}
  to {min-width: 300px}
}
@-webkit-keyframes stay {
  from {min-width: 300px} 
  to {min-width: 300px}
}
@keyframes stay {
  from {min-width: 300px}
  to {min-width: 300px}
}
@-webkit-keyframes shrink {
  from {min-width: 300px;} 
  to {min-width: 50px;}
}
@keyframes shrink {
  from {min-width: 300px;} 
  to {min-width: 50px;}
}
@-webkit-keyframes fadeout {
  from {top: 30px; opacity: 1;} 
  to {top: -60px; opacity: 0;}
}
@keyframes fadeout {
  from {top: 30px; opacity: 1;}
  to {top: -60px; opacity: 0;}
}



/* HELP: online order section
================================================= */

.onlineorderwrapper {
  margin:1%;
  font-family: Georgia;
}



.flex-container {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    /* -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start; */
    }

@media screen and (max-width: 760px) {
  .flex-container {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.flex-item:nth-child(1) {
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex: 0 0 25%;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    -webkit-align-self: auto;
    -ms-flex-item-align: auto;
    align-self: auto;
    }

.flex-item:nth-child(2) {
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    -webkit-align-self: auto;
    -ms-flex-item-align: auto;
    align-self: auto;
    }

.flex-item:nth-child(3) {
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex: 0 0 25%;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    -webkit-align-self: auto;
    -ms-flex-item-align: auto;
    align-self: auto;
    }


/* Minicartblock - used in right panel sticky on section_onlinewithcart.html
------------------------------------------- */
#orderonline-cartblock {
  height: 100%;
}


#main .onlineorderwrapper a:before {
  content: none !important;
}

.minicartsticky {
    position: -webkit-sticky; /* Safari */
    position: sticky;
    top: 95px;
    box-sizing: border-box;
    overflow-y: auto;
    /* max-height: calc(100vh - 20px); */
}
.minicartblock {
    margin: 0 0 0 4%;
    width: 96% !important;
}
.minicartref  {
  margin: 0 4% 0 0;
  width: 96% !important;
}
.minicartblock,
.minicartref,
.jumbowrap {
    box-sizing: border-box;
    padding: 10px;
    overflow-y: auto; 
}
.minicartblock form,
.minicartref .minicartrefinner,
.jumbowrap .jumboinner  {
    /* padding: 25px; */
}

.minicartgrid,
.minicartgrid #orderonline-cartblock {
    display: grid;

    /* gap between mini cart row items ... standard default was 51px */
    grid-row-gap: 31px;
}
.minicartrows,
.minicarttotals {
    display: grid;
    grid-row-gap: 14px;
}
.minicartrows,
.minicarttotals {
    display: grid;
    grid-template-columns: auto auto;
    grid-column-gap: 20px;
    position: relative;
    justify-content: space-between;
    font-size: 13px;
    /* letter-spacing: 1px; */
    text-transform: uppercase;
}
.minicarttotals {
    grid-template-columns:auto auto fit-content; /* when had "empty cart" text link making 3 <divs> accross was: auto auto auto; */
}
.minicartrows > div,
.minicarttotals > div {
    display: flex;
    align-items: center;
}
.minicartrows > div:nth-child(even) {
   justify-content: right;
}
.minicartgrid > div:not(:last-child):after,
.minicartgrid #orderonline-cartblock > div:not(:last-child):after {
    position: absolute;
    content: "";
    bottom: -25px;
    left: 0px;
    width: 100%;
    height: 1px;
    background-color: #575757;
}
.minicart-mobile-footer {
    position: fixed !important;
    display: flex;
    bottom: 0px;
    left: 0px;
    width: 100%;
    /* height: 60px; */
    align-items: center;
    justify-content: center;
    text-align: center;
    z-index: 999;
}
a.minicart-mobile-button {
  width: 100%;
  height: 60px;
  /* font-family: "Avenir-Roman";
  font-size: 12px; */
  line-height: 60px;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  background-color: #776233;
  color: #fff;
  display: block;
  text-decoration:none;
}

a.minicart-mobile-button:hover {
-webkit-filter: brightness(75%);
filter: brightness(75%);
opacity:1;
text-decoration:none;
}

.minicartrows .prodname, 
.minicartrows .small {
  font-size:13px; 
  line-height:1.2;
}

.minicartrows .prodname {text-transform:none;}

@media screen and (max-width: 760px) {
  .minicartref {
      margin: 0 0 4% 0;
      width: 100% !important;
  }
}



/* Mini Menu Cart items pill 
------------------------------------------- */
#minicart span.items {
    padding: 0 6px;
    margin-left: 2px;
    border: 0px solid #fff;
}




/*** 
The Online ordering Takeaway listings - section.html has check on firstlebvel ID and then NO isotope
***/

/* .notindex .onlineorder, */
.onlineorder { 
  padding: 25px 40px;
	margin: 0 0 1em 0; /* 7px 0 0 0 */
  text-align: left;
  float: none;
}
.onlineorder .titleh4 {
    margin: 0.5em 0 0.5em 0;
}

.onlineorder select, 
.onlineorder option {
    padding-left: 0 !important;
    background: none !important;
    padding-right: 0px !important;
}
.onlineorder select {
	padding: 0px 20px 0px 5px !important;
	padding-right: 20px !important;
	line-height: 25px !important;
	height: 25px;
	background: transparent url("../images/template/dropdown.png") no-repeat scroll 80% 50%  !important;
	/* background-position: right 8px center; */
	width: auto !important;
	font-size: 0.8571em !important;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
	border: 1px solid #323330 !important;
	vertical-align: bottom;
}
.onlineorder option { }



/* HELP: COLOURS ONLINE ORDERS ETC 
================================================= */


/* ==================
Button Colours
======================= */

.dynamicqty .itemsub,
.dynamicqty .itemadd,
.button-square,

.online-button-primary-color,
.ym-button.online-button-primary-color,
.cartbuttons .ym-button,
.onlineorderwrapper .ym-button,
.onlineorder .ym-button, 
.onlineorder button, 
.onlineorder input[type="button"], 
.onlineorder input[type="reset"],
.onlineorder input[type="submit"] {
 margin-left: 0;
 margin-right:0;
 /* border: 1px solid #776233 !important;
 background: #776233 !important; */
}

.dynamicqty .itemsub,
.dynamicqty .itemadd,
.button-square {
border: 1px solid #776233 !important;
background: #776233 !important;
}

.dynamicqty .itemsub:hover,
.dynamicqty .itemadd:hover,
.button-square:hover
/* .online-button-primary-color:hover,
.ym-button.online-button-primary-color:hover,
.cartbuttons .ym-button:hover,
.onlineorderwrapper .ym-button:hover,
#cartForm .ym-button:hover,
#checkoutForm .ym-button:hover,
.onlineorder .ym-button:hover, 
.onlineorder button:hover, 
.onlineorder input[type="button"]:hover, 
.onlineorder input[type="reset"]:hover,
.onlineorder input[type="submit"]:hover,
.onlineorder .ym-button:focus, 
.onlineorder button:focus, 
.onlineorder input[type="button"]:focus, 
.onlineorder input[type="reset"]:focus,
.onlineorder input[type="submit"]:focus  */
{
 background: #fff !important;
 border: 1px solid #776233 !important;
 color: #776233 !important;
}



.online-button-secondary-color,
.ym-button.online-button-secondary-color,

.ym-button.productaddtocart,
.cartbuttons .ym-button.productaddtocart,
#cartForm .ym-button.productaddtocart  {
  /* -moz-border-radius: 0;
  -webkit-border-radius: 0.;
  -khtml-border-radius: 0;
  border-radius: 0; */

  /* background: #ffc100 !important;
  color: #fff !important;
  border-color: #ffc100 !important; */
}
.online-button-secondary-color:hover,
.ym-button.online-button-secondary-color:hover,

.ym-button.productaddtocart:hover,
.ym-button.productaddtocart:focus,
.ym-button.productaddtocart:active,
.cartbuttons .ym-button.productaddtocart:hover,
#cartForm .ym-button.productaddtocart:hover  {
  /* background: #fff!important;
  border: 1px solid #ffc100 !important;
  color: #ffc100 !important; */
  text-decoration:none!important;
}



/* ==================
End Button Colours
======================= */


.onlineorderwrapper,
body.cart #productlist-container {
  /* color:#776233; */
}
.minicartblock,
.minicartref,
.jumbowrap {
  /* border: 1px solid #776233; */
  border: 1px solid #8C8C8C; 
}
.minicartref .minicartrefinner  {
  background: #776233;
  color:#fff;
}
.minicartblock form {
  background: #243956;
  color:#fff;
}
.minicartref h1,
.minicartref .titleh5,
.minicartrows .titleh5 {
color: #ffc100;
}
/* cart etc */
.jumbowrap .jumboinner {
/* background: #fff; */
}
.onlineorder.headersec .titleh5 { 
  background-color: rgba(255,255,255, 0.5);
  cursor: pointer;
  cursor: hand;
  }
.onlineorder.headersec .titleh5,
.onlineorder {
    -moz-transition: background-color .5s ease-in;
    -o-transition: background-color .5s ease-in;
    -webkit-transition: background-color .5s ease-in;
    transition: background-color .5s ease-in;
}
.onlineorder.headersec .titleh5:hover,
.onlineorder.headersec .titleh5.active { 
background-color: #fff;
background-color: rgba(255,255,255, 0.5);
cursor: pointer;
cursor: hand;
}

.onlineorder {
  /* background-color: #fff;
  background-color: rgba(255,255,255, 0.5); 
  border: 1px solid transparent; */
}
.onlineorder:hover {
  /* background-color: transparent;
  background-color: rgba(255,255,255, 0.2);
  border: 1px solid #ffc100; */
}






/* ALLERGIES ALLERGY ICON and REFERENCE
--------------------------- */

/* product list icons per item (.onlineorder) */
.onlineorder .flag-container {position: relative !important;margin-top: .2em;}

.onlineorder-allergies.onlineorder-inverticon .allergyicon,
.onlineorder-allergies.onlineorder-inverticon img.allergyicon,
#productlisttoggle.onlineorder-inverticon .onlineorder .flag-container .allergyicon,
#productlisttoggle.onlineorder-inverticon .onlineorder .flag-container img.allergyicon {
     /* filter:
     Jam yellow: #ffc100
     https://codepen.io/sosuke/pen/Pjoqqp  

     this filter generator is for BLACK icons to get to colour it gave this: filter: invert(73%) sepia(95%) saturate(1992%) hue-rotate(358deg) brightness(106%) contrast(108%);
     so for our WHITE simply changed value for invert to be opposite: filter: invert(27%) sepia(95%) saturate(1992%) hue-rotate(358deg) brightness(106%) contrast(108%);
     */
    -webkit-filter: invert(27%) sepia(95%) saturate(1992%) hue-rotate(358deg) brightness(106%) contrast(108%);
    -moz-filter: invert(27%) sepia(95%) saturate(1992%) hue-rotate(358deg) brightness(106%) contrast(108%);
   -o-filter: invert(27%) sepia(95%) saturate(1992%) hue-rotate(358deg) brightness(106%) contrast(108%);
   -ms-filter: invert(27%) sepia(95%) saturate(1992%) hue-rotate(358deg) brightness(106%) contrast(108%);
     filter: invert(27%) sepia(95%) saturate(1992%) hue-rotate(358deg) brightness(106%) contrast(108%);

     /* pure invert eg white to black 
     ----------
    filter: invert(100%);
    -webkit-filter: invert(1);
    -moz-filter: invert(100%);
   -o-filter: invert(100%);
   -ms-filter: invert(100%);
   */
}

/* flagsreference */
.onlineorder-allergies {
    font-family: arial, verdana, serif;
    font-size: 11px !important;
}
.onlineorder-allergies-list {
    overflow: hidden;
    /* couner side padding to try prevent wrap of wheat icon */
    margin-left: -13px;
    margin-right: -25px;
}
.onlineorder-allergies .allergy {
margin-top: 0.25em;
padding-left:4px;
}
.allergyicon, img.allergyicon {width:25px; ;display:inline-block;} /* was 18.2px before 19 may 2020 @ 7.28pm */
.onlineorder-allergies .allergyicon {vertical-align: bottom;}
.onlineorder.dimmed {color: #ccc; opacity: 0.5;}


/* .... product anchor for mobiles
------------------------------- */

.onlineorder.headersec.headersecanchor {padding-left:5px padding-right:5px;}

.onlineorder.headersec.headersecanchor a,
.onlineorder.headersec.headersecanchor a:hover {text-decoration:none; color:inherit;}

/* ... toggle product online orders
------------------------------ */

#productlisttoggle {}

.onlineorder.headersec { 
  background-color: transparent;
	padding: 0; /* 14px 0 14px 0; */
  border: 1px solid #ffc100;
  line-height: 24px;
}

.onlineorder.headersec .titleh5 { 
    box-sizing: border-box;
    margin: 10px;
    margin-top: 11px;
    position: relative;
    height: 70px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    color:#776233;
}


/* dynamic QTY changer block
------------------------------ */
.dynamicqty{
display:inline-block;
}

.dynamicqty input[type="text"] {
width: 30px !important;
float: none;
display: inline-block;
line-height: 25px !important;
height: 25px;
margin: 0 0.5em;
border-style: none none solid none !important;
border-width: 1px !important;
border-color: inherit !important;
text-align: center;
background: #fff !important;
}
.dynamicqty .itemsub,
.dynamicqty .itemadd,
.button-square {
line-height: 18px !important;
height: 27px;
width: 28px;
text-shadow: none;
color: #fff !important;
font-weight: 400;
border-radius: 0;
margin: 0;
}
.button-square {
  font-size: 0.9em;
}



/* linearize-level-2  */
@media screen and ( max-width: 480px) {
  #productlisttoggle {padding: 0 10px;}
  .onlineorder {
    padding: 20px 20px;
  }
}



/* Growl / Modal notice to trigger
 https://github.com/caroso1222/notyf
---------------------------------------- */
.notyf__wrapper {

    display: flex;
    align-items: center;
    padding-top: 17px;
    padding-bottom: 17px;
    padding-right: 15px;
    border-radius: 3px;
    position: relative;
    z-index: 10;

}
.notyf__message {
    font-size: 1rem;
    font-family: Montserrat,Arial,sans-serif;
    font-weight: 500;
}
