@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700&family=Montserrat:wght@400;700&display=swap');
/* apply a natural box layout model to all elements, but allowing components to change */
html {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: #272727;
}
/* Stop phone number from looking rubbish in iPhones */
a[href^=tel]{
    color:inherit;
    text-decoration:none;
}
/*ensure all text is same font */
body, .pure-g [class*="pure-u"], .genericform input:not([type="submit"]):not([type="file"]):not([type="radio"]):not([type="checkbox"]), .genericform textarea {
	font-family: "Montserrat",sans-serif;
	line-height: 1.5em;
}
p {
	margin-top: 0px;
}
*, *:before, *:after {
	box-sizing: inherit;
}
a, a:active, a:focus {
   outline: 0 /* Stop dotted lines around clicked links */;
}
/* To allow padding within divs */
.pure-g > div {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
/* Ensure images will scale properly and responsively */
img {
	max-width: 100%;
	height: auto;
	display: block;
	width: auto; /* For IE8 */
}
/* Apply class to images that require text-align center */
img.centre {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.floatright {
	float: right;
	margin: 0px 0px 15px 15px;
}
.floatleft {
	float: left;
	margin: 0px 15px 15px 0px;
}
#headercontainer {
	position: relative;
	z-index: 100;
	-webkit-box-shadow: 0px 0px 6px 2px rgba(0,0,0,0.27); 
box-shadow: 0px 0px 6px 2px rgba(0,0,0,0.27);
	background-color: #FFF;
	position: -webkit-sticky;
	position: sticky;
	top: 0px;
}
.contentcontainer, #footer, #homeimages, #menu, .topbar, .brochuredownloadscont, #topnavcont, .dropdown-inner, .navbar {
	max-width: 1600px;
	margin-right: auto;
	margin-left: auto;
	padding: 15px;
}
/* Link transitions */
#footer a:link, #cssmenu > ul > li a, .btn, .dropdowngriditem a, .productteaserimage, img.footerlogo, .productteaserimage-search, .btnproductinfo {
	-o-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-khtml-transition: all 0.2s linear;
	-webkit-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	transition: all 0.2s linear;
	/* Stop flickering in Chrome */
	-webkit-backface-visibility: hidden;
}
.headline {
	font-weight: normal;
	font-size: 48px;
	margin-top: 0px;
	font-family: 'Cinzel', serif;
	width: 100%;
	line-height: 1.3em;
    margin-bottom: 30px;
}
.headlinespaced {
	margin: 50px 0px 50px 0px;
}
.headline2 {
	font-weight: normal;
	font-size: 30px;
	margin-top: 0px;
	text-align: left;
	color: #003399;
}
.centredtext {
    text-align: center;
}
.subheadingone {
	font-weight: normal;
	font-size: 26px;
	margin-top: 0px;
}
.subheadingnews {
	font-weight: normal;
	font-size: 26px;
	margin-top: 0px;
	color: #003399;
}
.subheadingtwo {
	font-weight: normal;
	font-size: 18px;
	margin-top: 0px;
}
.headingdiv {
	padding: 20px 20px 0px 20px;
}
#topnavcont > div {
	display: flex;
  align-self: center;
}
#headertop {
	padding: 0px;
}
#topnavcont {
	padding-top: 30px;
	padding-bottom:  30px;
}
#navcont {
	width: 100%;
	min-height: 15px;
	padding-bottom: 0px;
	padding-top: 10px;
}
.topcontact {
	padding: 0px;
}
.topcontact, .topcontact a:link, .topcontact a:visited {
	color: #222;
	text-decoration: none;
	font-size: 14px;
}
.topcontact a:hover {
	text-decoration: underline;
}
.topcontact span {
	text-wrap:none;
}
.headerphone {
	text-align: right;
}
.topicons {
	justify-content: right;
}
.topicons img {
	display: inline-block;
	margin-left: 25px;
}
#headerbasket {
    position: relative;
    text-decoration: none !important;
    color: #FFF;
    font-size: 11px;
}
#hdrbasketcount {
    position: absolute;
    top: -5px;
    right: -10px;
    background-color: #0085cd;
    border-radius: 200px;
    width: 22px;
    height: 22px;
    text-align: center;
}
#content p {
	line-height: 1.6em;
}
#mainContent {
	padding: 15px 0px 15px 0px;
}
.greybg {
	background-color: #d7d8da;
}
a:link.btn, a:visited.btn, .btn, button.btn, input.btn {
	color: #333 !important;
	border: 1px solid #333 !important;
	padding: 10px 25px !important;
	font-weight: bold !important;
	display: inline-block;
	text-decoration: none !important;
	font-size: 14px;
}
button.btn, input.btn {
    background-color: #FFF !important;
}
a:hover.btn, .btn:hover, button,btn:hover, input.btn:hover {
	background-color: #666 !important;
	color: #FFF !important;
}
a:link.btndark, a:visited.btndark, .btndark {
	background-color: #333 ;
	color: #FFF !important;
	border: none !important;
	padding: 10px 25px !important;
	font-weight: bold !important;
	display: inline-block;
	text-decoration: none !important;
	font-size: 14px;
}
a:hover.btndark, .btndark:hover {
	background-color: #666 !important;
}
a:link.btnviewdetails, a:visited.btnviewdetails, .btnviewdetails {
	background-color: #FFF ;
	color: #666 !important;
	border: 1px solid #666 !important;
	padding: 5px 20px !important;
	font-weight: bold !important;
	display: inline-block;
	text-decoration: none !important;
	font-size: 14px !important;
}
a:hover.btnviewdetails, .btnviewdetails:hover {
	background-color: #666 !important;
    color: #FFF !important;
}
a:link.btngemfinder, a:visited.btngemfinder, .btngemfinder {
	font-size: 20px;
	color: #FFF !important;
	background-color: #0085cd;
	border: 1px solid #0085cd !important;
	font-weight: normal !important;
	padding: 8px 25px !important;
	line-height: 1.2em;
}
.contentcontainer {
	padding-top: 30px;
	padding-bottom: 30px;
}
.contentcontainer a:link, .contentcontainer a:visited {
	color: #272727;
}
.contentcontainer a:hover {
	text-decoration: none;
}
.hometext {
	padding-top: 40px;
	padding-bottom: 40px;
}
.hometext h2 {
	font-size: 18px;
	text-align: center;
	color: #083873;
	max-width: 1000px;
	margin: 0 auto;
	font-weight: normal;
	line-height: 1.6em;
}
.homeboxes {
	padding-top: 30px;
	padding-bottom: 30px;
}
.homeboxcont {
	padding: 20px;
}
.homebox {
	text-align: center;
	position: relative;
	padding-bottom: 10px;
	background-color: #fff;
	border-bottom: solid 4px #083873;
}
.homebox a:link, .homebox a:hover, .homebox a:visited {
	text-decoration: none;
}
.homebox h4 {
	font-size: 18px;
	margin-top: 0px;
	margin-bottom: 10px;
	font-weight: bold;
}
.homebox p {
	color: #000;
	font-size: 14px;
	margin-bottom: 0px;
	padding: 0px 10px 10px 10px;
}
.homebox img {
	box-sizing: border-box;
    display: block;
    margin: 0 auto;
}
.productboxcont {
	padding: 0px 25px 25px 25px;
}
.productbox {
	text-align: center;
	position: relative;
	background-color: #fff;
}
.productbox img {
	box-sizing: border-box;
    display: block;
    margin: 0 auto;
}
#productphoto img {
    width: 100%;
}
.footerlinks > div {
padding: 0px 20px;
}
.subscribeform {
	margin-bottom: 20px;
}
.subscribeform input {
	display: inline-block;
	padding: 10px !important;
}
.btnsubscribe {
	background-color: #000;
	color: #FFF;
	width: 110px;
	text-align: center;
	margin-left: -10px;
	border: 1px solid #000 !important;
}
.contentleft {
	padding-right: 30px;
}
.contentright {
	padding-left: 30px;
}
.largephoto, .homelargephoto {
	position: relative;
	text-align: center;
	width: 100%;
}
.homelargephoto {
	position: relative;
}
.largephoto {
	height: 500px;
}
.largephoto img, .homelargephoto img {
	margin: 0 auto;
}
#footer {
	padding-top: 50px;
	padding-bottom: 50px;
}
#footer a:link, #footer a:visited {
	color: #000;
	font-weight: normal;
	text-decoration: none;
}
#footer a:hover {
	text-decoration: underline;
}
#footer a.pixelconcepts:link, #footer a.pixelconcepts:visited {
	text-decoration: none;
	color: #fd3504;
}
#footer a.pixelconcepts:hover {
	text-decoration: underline;
	color: #fd3504;
}
.footersocial {
	text-align: center;
}
.footersocial img {
	margin: 10px 5px;
	max-width: 35px;
	display: inline-block;
}

/* Responsive Google map */
.google-maps {
	position: relative;
	padding-bottom: 75%; /* This is the aspect ratio */
	height: 0;
	overflow: hidden;
}
.google-maps iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
/* End google map */


/* Cookie bar */
#cookiebarcont {
	position: relative;
	z-index: 3;
}
#cookiebar {
	padding: 10px;
	background-color: #000;
	color: #FFF;
	font-size: 14px;
	text-align: center;
	    position: fixed;
    bottom: 0;
    z-index: 2;
    max-width: 250px;
}
#cookiebar a:link, #cookiebar a:visited {
	color: #FFF;
}
/* Header content */
.logo {
	text-align: center;
	justify-content: center;
}
.logo img {
	margin: 0 auto;
	max-width: 300px;
}
.logo p {
	margin-bottom: 0px;
}
.topbar a:link, .topbar a:visited {
	color: #fff;
}
.headergetintouch table {
	margin: 0 auto;
}
.headergetintouch td {
	font-size: 12px;
	width: 90px;
	font-family: Arial, Helvetica, sans-serif !important;
	color: #666;
	text-align: center;
	margin-left: auto; /* Acts as float right in flex boxes */
}
td.imageicontd {
	width: 60px;
	padding: 0px 10px;
}
.headergetintouch a:link, .headergetintouch a:visited {
	color: #333;
	text-decoration: none;
}

#footercont {
	color: #000;
	font-size: 14px;
	border-top: 1px solid #DDD;
	margin-top: 30px;
}
#footertag {
	text-align: center;
	background-color: #ac1110;
	color: #fff;
	padding: 10px;
}
#footer h4 {
    color: #fff;
    font-size: 16px;
    letter-spacing: 1px;
    margin-bottom: 40px;
    padding-bottom: 25px;
    position: relative;
    text-transform: capitalize;
}
.footerheading {
	font-weight: bold;
	font-size: 16px;
}
img.footerlogo {
    padding-right: 10px;
    height: auto;
    width: 90%;
}
img.footerlogo:hover {
    width: 100%;
}
.generictable td {
	padding: 5px;
	vertical-align: top;
}
.tbheader {  font-family: Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; background-color: #FFCC00}

.tbbody { font-family: Arial, Helvetica, sans-serif; font-size: 10px; font-weight: normal; background-color: #FFFFCC; color: #333333}

.contacticon {
	text-align: center;
	font-size: 24px;
	font-weight: 300;
	padding: 10px;
}
.contacticon a:link, .contacticon a:visited {
	text-decoration: none;
}

/* Tables */
.generictable td {
	padding: 5px;
	vertical-align: top;
	font-size: 16px;
	vertical-align: top;
}
.generictable input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]), .generictable textarea {
	width: 100%;
}
.generictable input#verificationCode, .generictable .fieldformsml {
	max-width: 60px;
	margin-bottom: 10px;
}
.tdwidth {
	width: 150px;
}
.newsteaser {
	padding: 0px 0px 15px 0px;
	margin-bottom: 15px;
}
.imagenews {
	max-width: 370px;
	float: right;
	margin: 0px 0px 15px 15px;
}

.sml {
	font-size: 12px;
}
.contactlargephoto {
	height: 350px;
}

.greybg .producttext .subheadingone {
	color: #fd3504;
}
.producttext, .productphoto, .textabout {
	padding: 25px 25px 0px 25px;
	font-size: 16px;
}

.aboutphoto {
	padding: 15px;
}

.parallax-window {
  height: 480px;
  background: transparent;
}

/* Forms */
.genericform input:not([type="submit"]):not([type="file"]):not([type="radio"]):not([type="checkbox"]), .genericform textarea {
	width: 100%;
	max-width: 450px;
    letter-spacing: normal;
    word-spacing: normal;
    text-rendering: auto;
}
.genericform .formfieldsmall {
	max-width: 100px;
}
.genericform input, .genericform select, .genericform textarea {
	padding: 5px;
	margin: 5px 0px;
}
.genericform textarea {
    margin-top: 0px;
}
.genericform select {
    margin-bottom: 10px;
}
.genericform label {
    margin-right: 20px;
    font-size: 14px;
    white-space: nowrap;
}
.genericformsectionheading {
    font-size: 20px;
    font-weight: bold;
    margin-top: 20px;
    margin-bottom: 10px;
}
input:not([type="file"]), select, textarea {
	padding: 5px;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.3em;
	border: 1px solid #CCC;
	
}
input:focus, select:focus, textarea:focus {
	border: 1px solid #950282;
	-webkit-box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.75);
	box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.75);
}
placeholder {
	color: 999;
	opacity: 1;
}
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
 color: #999;
}
::-moz-placeholder { /* Firefox 19+ */
 color: #999;
}
:-ms-input-placeholder { /* IE 10+ */
 color: #999;
}
:-moz-placeholder { /* Firefox 18- */
 color: #999;
}
.genericform input.formfieldsmall {
	width: 75px !important;
}
.inputtiny, .inputsmall, .inputmedium, .inputlarge, .inputfullwidth, .tablecheckout select {
	margin: 0px 10px 5px 0px;
	padding: 8px;
	border: 1px solid #ddd;
	font-size: 13px;
	display: inline;
}
.inputtiny {
	width: 46px !important;
}
.inputsmall {
	width: 160px !important;
}
.inputmedium {
	width: 240px !important;
}
.inputlarge {
	width: 100%;
	max-width: 1000px !important;
	height: 150px;
	box-sizing: border-box;
}
.inputfullwidth {
	width: 100%;
	max-width: 490px;
	box-sizing: border-box;
}
.inputfloatleft {
	float: left;
	margin-right: 10px;
}
/* Apply stronger colour to placeholder text in forms */
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
 color: #aaa;
}
::-moz-placeholder { /* Firefox 19+ */
 color: #aaa;
}
:-ms-input-placeholder { /* IE 10+ */
 color: #aaa;
}
:-moz-placeholder { /* Firefox 18- */
 color: #aaa;
}
::-moz-placeholder {
 opacity: 1;
}
.error {
    display: block;
    color: #F00;
}
/* End of forms */

.formcont {
	background-color: #083873;
	padding: 30px;
	color: #FFF;
}

/* Product grid */
.product-teaser {
	background-color: #EEE;
	padding: 25px;
	text-align: center;
    font-size: 14px;
}
.productteaserimage {
	background-position: center center;
	background-size: 100%;
	background-repeat: no-repeat;
    margin-bottom: 20px;
}
.productteaserimage:hover {
    background-size: 120%;
}
.productteasertext {
	margin-bottom: 55px;
}
.productteasertext p {
	margin-bottom:  0px;
    font-size: 12px;
}
.productteasertext h3 {
    margin: 0px 0px 2px 0px;
    font-size: 14px;
}
.productteaserbtn {
	position: absolute;
	bottom: 25px;
	left: 0;
	right: 0;
}
/* Home page slider products */
.infiniteslide .productteasertext {
        position: relative;
        padding-bottom: 60px;
        margin-bottom: 20px;
    }
    .infiniteslide .productteaserbtn {
        bottom: 0;
    }
    .infiniteslide .product-teaser-search {
        width: 18%;
        margin: 10px 20px;
        border-radius: 10px;
    }
/* End of product grid */

/* Search page product results */
.product-teaser-cont {
	position: relative;
	/* 5 column grid */
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 40px;	
}
.product-teaser-cont-product-page {
            grid-template-columns: repeat(6, minmax(0, 1fr));
        }
.relatedproductsheading {
    text-align: center;
}
.product-teaser-search {
	padding: 0px;
	text-align: center;
	position: relative;
	width: 100%;
    background-color: #FFF;
    -webkit-box-shadow: 0px 0px 10px 2px rgba(0,0,0,0.2);
    box-shadow: 0px 0px 10px 2px rgba(0,0,0,0.2);
    border-radius: 10px;
}
.productteaserimage-search {
	background-position: center center;
	background-size: 100%;
	background-repeat: no-repeat;
    margin: 10px;
    position: relative;
}
.productteaserimage-search:hover {
	background-position: center center;
	background-size: 115%;
}
.productteasertext-search {
	margin-bottom: 80px;
    padding: 0px 20px;
}
.productteasertext-search p {
	margin-bottom:  0px;
    font-size: 12px;
}
.productteaserprice-search p {
    font-size: 14px;
}
p.stockcode, .infiniteslide p.stockcode {
    font-size: 12px;
    color: #666;
}
.productteasertext-search h3 {
    font-size: 14px;
    margin: 0px 0px 2px 0px;
}
.productteasertext-search .listgemtype, p.listgemtype {
    font-size: 15px;
}
.productteaserbtn-search {
	position: absolute;
	bottom: 25px;
	left: 0;
	right: 0;
}
.searchdropdownboxcont {
	position: relative;
	/* 5 column grid */
	display: grid;
	grid-template-columns: auto auto auto auto auto auto;
    gap: 25px;
}
.searchdropdown select {
	width: 100%;
	font-size:  14px;
	padding: 10px 12px;
	background: url(/images/arrow-down.png) no-repeat 100% 50%;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
}
.searchdropdown {
	position: relative;
	width: 100%;
}
.searchdropdown p {
	font-weight:  bold;
	margin-bottom: 5px;
	font-size:  15px;
}
.searchresultsummary {
	text-align: center;
	padding: 40px 0px 50px 0px;
}
.searchresultsummary div {
	margin: 0px 30px;
	display: inline-block;
}
.pricerangecont {
    margin: 20px 0px;
    text-align: left;
}
.pricerangecont img {
    margin-right: 20px !important;
}
.optionfilter {
    font-size: 14px;
    margin-top: 20px;
}
.filterheading {
    font-weight: bold;
    font-size: 15px;
    cursor: pointer;
}
.filterheading-icon {
    margin-right: 5px;
    transition: transform 0.3s ease;
}
.btn {
    cursor: pointer;
}
.nested-checkbox {
    margin-left: 10px;
}
.nested-name {
    padding-left: 5px;
}
.plus {
    style: 14px;
    cursor: pointer;
}
.view {
    text-decoration: none;
    position: relative;
}
/* Add some basic styles for better presentation */
.itemBox {
    display: inline-block;
    border: 1px solid #ddd;
    padding: 4px;
    margin: 5px;
    background-color: #f9f9f9;
    cursor: pointer; /* Add pointer cursor for better UX */
}
#removeSelected {
    margin-top: 10px;
    padding: 8px;
}
.filterheading {
    background-repeat: no-repeat;
    background-position: right center;
    padding-right: 30px !important;
}
.arrow-down {
    background-image: url(/images/arrow-down.png);
}
.arrow-up {
    background-image: url(/images/arrow-up.png);
}
/* End of Search page product results */

/* Pagination */
.searchresultsummary2 {
    margin-top: 22px;
}
.paginationcont {
    text-align: center;
}
.pagination-controls {
  margin-left: 20px;
  margin-right: 20px;
    margin-bottom: 10px;
}
.pagination-bottom {
  margin-top: 20px;
}
.pagination-container-bottom {
  display: block;
  margin-left: auto;
  margin-right: auto;
    text-align: center;
}
.paginationControls {
    margin-top: 0px;
    margin-bottom: 5px;
    text-align: center;
}

.page-link {
    margin: 0 5px;
    text-decoration: none;
    color: #007bff;
    cursor: pointer;
    text-decoration: none;
    font-size: 18px;
}

.page-link.active {
    font-weight: bold;
    text-decoration: underline;
}

.page-link.disabled {
    color: #cccccc;
    cursor: default;
}
.page-link img {
    display: inline-block;
    max-height: 15px;
}
.page-link.disabled img {
    opacity: 0.3;
}

.page-space {
    margin: 0 5px;
}

.sortdropdown, .pagesizedropdown, .pagination-controls {
  display: inline-block;
}
.sortdropdown{
}
.pagesizedropdown{
  text-align: right;
}
.pagesizedropdown select:first-of-type {
    margin-right: 15px;
}
/* End of pagination */

/* Home page info sections */
.textimageblock {
	text-align: center;
}
.textimageblocktextright, .textimageblocktextleft {
    display: flex;
    justify-content: center;
    align-self: center;
	padding: 0px 100px;
}.textimageblockphotoleft img, .textimageblockphotoright img {
	margin: 0 auto;
}
.textimageblockphotoright {
	padding-left: 0px;
}
.textimageblockphotoleft {
	padding-right: 0px;
}
/* End of home page info sections */

.smltext {
	font-size: 12px;
	line-height: 1.4em;
}

.gemfinder {
	font-size: 26px;
	background-color:  #FFF;
	position:  relative;
	text-align:  center;
	padding: 40px 20px;
	line-height: 1.3em;
	z-index: 2;
	-webkit-box-shadow: 0px 0px 10px 2px rgba(0,0,0,0.2); 
box-shadow: 0px 0px 10px 2px rgba(0,0,0,0.2);
}

/* Search box */
.searchoverlaycont {
  display:none;
  position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:100000;
}
.searchoverlay {
    width:100%;
    height:100%;
	background: rgba(34, 34, 34, .95);
	display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.headingsearch {
	font-size: 26px;
	color: #FFF;
}
.searchoverlay input:not([type="image"]) {
    border: 1px solid #FFF;
    height: 40px;
    padding: 10px;
    vertical-align: bottom;
    width: calc(350px - 42px);
	font-size: 16px;
}
.searchoverlay input[type="image"] {
    background-color: #FFF;
	height: 40px;
	border: none;
	padding: 12px;
}
.searchoverlay form {
	display: inline;
}
.searchoverlay input {
    vertical-align: bottom;
}
a:link.closesearch, a:visited.closesearch {
	text-decoration: none;
	color: #FFF;
	font-weight: bold;
	font-size: 32px;
}
/* end */

.rs-container {
    margin-top: 50px;
}

#contactpagemap {
	padding-bottom: 30%;
	overflow: hidden;
}
.contactpagecontainer {
position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;	
}

/* News blog css */
.newsteasercont {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 60px;	
}
.newsteaser {
	margin-bottom: 40px;
    position: relative;
    padding-bottom: 80px;
}
.newsteaser img {
	margin-bottom: 20px;
}
.newsteaserimage {
	background-position: center center;
	background-size: cover;
}
.newsstorybtn {
    position: absolute;
    bottom: 30px;
    left: 0;
    width: 100%;
}
.newsstorybtn .btn {
    width: 100%;
    text-align: center;
}
a:link.newsteaserheading, a:visited.newsteaserheading {
	color: #000 !important;
	font-size: 26px;
	text-decoration: none;
}
a:hover.newsteaserheading {
	text-decoration: underline;
}
.dateposted {
	font-size: 14px;
	background-color: #EEE;
	padding: 10px;
	color: #000;
}
.recentpostscont {
	padding: 50px 0px;
    background-color: #EEE;
}
.recentposts {
	margin-bottom: 40px;
	padding: 0px 20px;
}
#content .recentposts a:hover {
	color: #FFF;
}
.recentpostsheading {
	font-weight: 300;
	font-size: 28px;
}
.recentsocial img {
	max-width: 40px;
    display: inline-block;
    margin-right: 10px;
}
.recentposts ul {
	padding-left: 0px;
	list-style-type: none;
}
.recentposts a:link, .recentposts a:visited {
    text-decoration: none;
}
.recentposts a:hover {
    color: #0085cd !important;
}
/* End */

/* Team page */
.teamcont, .instructionscont {
    background-color: #EEE;
    padding: 30px;
}
.teamphotoscont {
    text-align: center;
}
.teamphoto {
    display: inline-block;
    padding: 10px;
    vertical-align: top;
}
.teamphoto a:link, .teamphoto a:visited {
    text-decoration: none;
}
.teamphoto img, .staffnamephoto img {
    border-radius: 200px;
    margin-bottom: 10px;
    width: 100%;
    max-width: 150px;
}
.staffsections {
    padding: 20px;
}
.staffnamephoto {
    text-align: center;
}
.staffnamephoto img {
    display: inline-block;
}

  /* Added to cart popup */
#cart-popup-wrapper {
	display: none;
	position: fixed;
	top: 10px;
	right:10px;
	z-index: 30000;
	background-color: #FFF;
	padding: 15px;
	box-shadow: 1px 1px 10px 2px rgba(0, 0, 0, 0.5);
	min-width: 300px;
	max-width: 400px;
}
#cart-popup-wrapper img {
	max-width: 150px;
	float: left;
	margin-right: 10px;
}
#cart-popup-wrapper h2 {
	font-size: 18px;
	margin-top: 0px;
	font-weight: 600;
	margin-bottom: 10px;
}
#cart-popup-wrapper h3 {
	font-size: 16px;
	margin-top: 0px;
	font-weight: 600;
	margin-bottom: 5px;
}
.cart-popup {
	position: relative;
}
.cart-popupclose {
	background-color: #222;
	color: #FFF;
	border: 1px solid #222;
	position: absolute;
	top: 0px;
	right: 0px;
}
button.cart-popup-dismiss {
	font-size: 16px;
	text-decoration: underline;
	background-color: transparent;
	border: none;
}
.cart-popup-footer {
	text-align: center;
	clear: both;
}
.cart-popup-item-descr {
    display: flex;
    align-items: center;
}
/* End of added to cart popup */

.landingpagegrid .dropdowngrid {
    padding: 0px;
}
.landingpagegrid h1 {
    text-align: center;
}
.landingpagegrid .dropdowngrid a:link, .landingpagegrid .dropdowngrid a:visited {
    text-decoration: none !important;
    font-weight: bold;
}

.baskettable th {
    text-align: left;
    padding: 6px;
    font-size: 13px;
    border: 1px solid #CCC !important;
}
.baskettable td {
    border-collapse: collapse;
    font-size: 13px;
}
.basketthumb {
    min-width: 50px;
    max-width: 100px;
    margin: 0 auto;
  }
.basketdeletetd {
    width: 30px;
}
.basketdeletetd img {
    margin: 0 auto;
    width: 20px;
}
.myaccountbox {
    margin-top: 20px;
	border:1px solid #CCC;
	padding:20px;
	margin-right:20px;
}
.myaccountbox img {
    max-width: 120px;
    margin-right: 20px;
}
.myaccountbox td {
    vertical-align: top;
}

/* Checkout pages specific */
.checkoutprogress {
	margin-bottom: 5px;
	margin-top: 20px;
	color: #999;
}
.checkoutprogress td {
	text-align: center;
	font-size: 14px;
	padding: 0px;
}
.checkouttable td {
    vertical-align: top;
    font-size: 14px;
}
.checkouttable tr.bordered {
    border-bottom: 1px solid #CCC;
}
/* End of checkout pages */

.dropdowngriditemsize img {
    
}
.btnblue {
    background-color: #0085cd;
    color: #FFF !important;
    border-color: #0085cd !important;
    margin-top: 50px;
}
.btnblue:hover {
    border-color: #666666 !important;
}



/* New product page code */
input.backtosearch {
    border: none;
    background-color: transparent;
    padding: 0px;
    margin-bottom: 20px;
}
.productpageimagecont {
    position: relative;
}
.videoplayicon {
    position: absolute;
    top: 15px;
    left: 15px;
    pointer-events: none;
}
.videoplayicon img {
    max-width: 50px;
}
.videocont, #productphoto {
    padding-right: 30px;
}
.videocont video {
    width: 100%;
    	height: auto;
}
#productvideo {
    margin-bottom: -7px;
    padding-bottom: 0px;
}
#productphoto {
    position: relative;
}
.playiconoverlay {
    position: absolute;
    top: 15px;
    left: 15px;
    pointer-events: none;
    z-index: 1;
}
.playiconoverlay img {
    max-width: 50px;
    opacity: 0.7;
}
.productimagescont {
    -webkit-box-shadow: 0px 0px 6px 2px rgba(0,0,0,0.27); 
box-shadow: 0px 0px 6px 2px rgba(0,0,0,0.27);
    border-radius: 20px;
    overflow: hidden;
}
img.productimagescontmain {
    width: 100%;
}
.productgallerylinks {
    display: flex;
    justify-content: center;
    background-color: #0185cf;
    border-radius: 0px 0px 20px 20px;
    position: relative;
}
.productgallerylinks > div {
    flex: 1 0 0;
    border-right: 1px solid #FFF;
    text-align: center;
    padding: 15px;
}
.productgallerylinks > div:last-child {
    border-right: none;
}
.productgallerylink a:link, .productgallerylink a:visited {
    color: #FFF;
    text-decoration: none;
    padding: 15px;
    font-size: 12px;
}
.productgallerylink a:hover {
    text-decoration: underline;
}
.productgallerylink img {
    max-height: 15px;
    display: inline-block;
    vertical-align: middle;
    margin-left: 8px;
}
#productgallery {
    aspect-ratio: 1/1;
}
#myVideo {
    display: block;
}
.productinfobox {
    padding: 30px 35px 15px 35px;
    background-color: #f2f2f2;
    margin-top: 30px;
}
.producttitle {
    margin-top: 0px;
    margin-bottom: 4px;
    line-height: 1.2em;
}
.tbproductinfo {
    width: 100%;
    font-size: 14px;
}
.tbproductinfo tr {
    border-top: 1px solid #CCC;
}
.tbproductinfo tr:last-child {
    border-bottom: 1px solid #CCC;
}
.tbproductinfo td {
    padding: 5px 5px 5px 0px;
}
td.productinfostat {
    font-weight: bold;
}
td.productinfolabel {
    width: 170px;
}
.btnproductinfo, a:link.btnproductinfo, a:visited.btnproductinfo, button.btnproductinfo, input.btnproductinfo {
    display: inline-block;
    border-radius: 5px;
    font-weight: bold;
    font-size: 20px;
    border: none;
    color: #FFF;
    background-color: #0185cf;
    text-decoration: none;
    padding: 10px 30px;
    line-height: 1.3em;
    width: 290px;
    margin-right: 15px;
    margin-bottom: 15px;
    text-align: center;
}
a:hover.btnproductinfo, a:hover.btnproductinfo, button:hover.btnproductinfo, input:hover.btnproductinfo {
    background-color: #000;
}
.btnproductinfodark, a:link.btnproductinfodark, a:visited.btnproductinfodark, button.btnproductinfodark, input.btnproductinfodark {
    background-color: #616161;
}
a:hover.btnproductinfodark, a:hover.btnproductinfodark, button:hover.btnproductinfodark, input:hover.btnproductinfodark {
    background-color: #000;
}
.greentext {
    color: green;
}
.productinfopricingstat img {
    display: inline-block;
    vertical-align: middle;
    max-height: 22px;
    margin-right: 15px;
}
.productinfopricingstat a:link, .productinfopricingstat a:visited {
    background-color: transparent;
    color: #272727;
    padding: 0px;
    font-size: 12px;
}
.productinfopricing, .tradepricesapplied {
    margin-bottom: 10px;
    font-size: 12px;
}
.priceexvat, .priceinclvat {
    font-weight: 600;
    font-size: 26px;
    color: #0185cf;
}
.priceinclvat {
    color: #272727;
}
.tradepricesapplied img {
    display: inline-block;
    vertical-align: middle;
}
.productinfopricing > div {
    display: inline-block;
    border-right: 1px solid #272727;
    padding: 0px;
    padding-right: 30px;
    margin-right: 30px;
    height: 100%;
    vertical-align: top;
    white-space: nowrap;
}
.productinfopricing > div:first-child {
}
.productinfopricing > div:last-child {
    border-right: none;
}
.productinfoctacont {
    margin-top: 40px;
}
#productenquiryform {
    margin-top: 30px;
    display: none;
}
#productenquiryform h2.headline {
    font-size: 26px;
    margin-bottom: 15px;
}

/* Accordion */
.accordion {
	overflow: hidden;
    margin-top: 30px;
}
.accordion-section-title {
	font-weight: bold;
    text-align: left;
    color: #000 !important;
    font-size: 16px;
    margin-bottom: 0px;
    padding: 5px 10px;
}
.accordion-section {
	margin-bottom: 0px;
	font-size: 16px;
    border-bottom: 1px solid #CCC;
}
.accordion-section-content {
	margin-top: 10px;
    margin-bottom: 15px;
	display: none;
}
.arrowdown {
	background-image: url(../images/down-arrow.png);
	background-repeat: no-repeat;
	background-position: 20px center;
	padding-left: 60px;
	text-decoration: none !important;
	display: block;
}
.accordion-section .active {
	background-image: url(../images/up-arrow.png) !important;
}
.accordion-section td {
	padding: 5px;
	border-collapse: collapse;
	border: 1px solid #CCC;
}
/* End of accordion styles */

.extraphotocont, .extravideocont {
    position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 40px;	
}
.extraphotocont img {
    border: 1px solid #CCC;
}
.gemlabreportscont a:link, .gemlabreportscont a:visited {
    font-size: 16px;
    text-decoration: none !important;
    margin-left: 56px;
}
.gemlabreportscont a img {
    display: inline-block;
    vertical-align: middle;
    max-height: 22px;
    margin-right: 10px;
}
.smallpara {
    font-size: 14px;
    margin-bottom: 30px;
}
.showmobile {
    display: none;
}

#showsearchfiltercont {
    text-align: center;
    display: none;
}
#searchfiltercont {
    overflow: hidden;
}
#mc_embed_shell {
    position: relative;
    display: none;
    
}
#popupformcont {
    padding: 20px 30px;
    border: 1px solid #ccc;
    background-color: #fff;
}
#closewindow {
    width: 100px;
    position: absolute;
    top: 10px;
    right: 10px;
}
.popup-close {
    display: inline-block;
    padding: 6px 12px;
    background: #444;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    margin-top: 10px;
}
.popup-close:hover {
    background: #222;
}

.imageinfo {
    font-size: 9px;
    position: absolute;
    left: 20px;
      top: -30px;
}

.searchdotscont {
    position: relative;
}
.dot, .dotsmall {
  position: absolute;
  top: -30px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: block;
}

.dotsmall {
  position: absolute;
  bottom: 10px;
  width: 12px;
  height: 12px;
  display: block;
    z-index: 1;
}

.dot-red {
  right: 50px;
  background-color: red;
}

.dot-green {
  right: 15px;
  background-color: green;
}

.videoiconscont {
    position: relative;
    left: 10px;
    z-index: 1;
    float: left;
    margin-top: -30px;
}
.videoiconscont img {
    max-height: 15px;
    display: inline-block;
    margin-right: 5px;
}

.productteaserimage-search video {
    position: absolute;
    top:0;
    left:0;
}

