/* ============================================================
   1. FONTS
   ============================================================ */

@font-face {font-family: "MontserratRegular";src: url("/library/fonts/Montserrat-Regular.otf") format("opentype");}
@font-face {font-family: "MontserratRegular";src: url("/library/fonts/Montserrat-Regular.otf") format("opentype");}
@font-face {font-family: "MontserratBold";src: url("/library/fonts/Montserrat-Bold.otf") format("opentype");}
@font-face {font-family: "UbuntuRegular";src: url("/library/fonts/Ubuntu-Regular.otf") format("opentype");}
@font-face {font-family: "UbuntuBold";src: url("/library/fonts/Ubuntu-Bold.otf") format("opentype");}
@font-face {font-family: "AvenirLTStdMedium";src: url("/library/fonts/AvenirLTStd-Medium.otf") format("opentype");}
@font-face {font-family: "FontAwesome"; src: url("/library/fonts/FontAwesome.otf") format('opentype'); }
@font-face {font-family: "MoonBold"; src: url("/library/fonts/Moon-Bold.otf") format('opentype'); }


/* ============================================================
   2. RESET & BASE
   ============================================================ */

* { padding: 0px; margin: 0px; }
body {font-family: "MontserratRegular", Arial, sans-serif;font-weight: normal;font-style: normal;font-size: 100%; }
li { list-style-type: none; }
td, th { vertical-align: top; text-align: left; }
b, strong { font-weight: normal; font-family: "MontserratBold"; }
p { margin: 0px 0px 10px 0px; line-height: 1.5; }
a { color: #000000; text-decoration: none; }
fieldset { border: none; }
input, textarea, select { font-family: sans-serif; font-size: 100%; padding: 10px; border: 1px solid grey; box-sizing: border-box; }
input[type=button], input[type=submit], button { cursor: pointer; background: #f8bd00; color: #ffffff; border: none; padding: 10px 20px 10px 20px; font-size: 100%; }
.hidden { display: none; }
iframe { max-width: 100%; height: auto; }
img {border: none;max-width: 100%;height: auto;}
img.left { margin: 5px 5px 5px 0px; }
img.right { margin: 5px 0px 5px 5px; }
h1,h2,h3,h4,h4,h5,h6 { font-size: 100%; font-weight: normal; font-style: normal; }
table { border-spacing: 0px; }
td, th { padding: 0px; }

li { list-style-type: none; vertical-align: top; }


/* ============================================================
   3. TYPOGRAPHY â€” HEADINGS
   ============================================================ */

h1 { font-size: 184%; text-transform: uppercase; margin: 0px 0px 0px 0px; text-align: center;font-family:MontserratBold; margin: 0px 0px 40px 0px; }
h2, .surv_standard .titletxt, .payment #paymentform h2 {font-size: 144%;text-transform: uppercase;margin: 0px 0px 0px 0px;text-align: center;font-family:MontserratBold;padding-bottom: 20px;padding-top: 20px;}
.payment #paymentform h2 { padding-top: 40px; }


/* ============================================================
   4. FORM ELEMENTS
   ============================================================ */

select {
	display: inline-block;
	color: #444;
	line-height: normal;
	width: 100%;
	max-width: 100%;
	padding: 10px 20px 10px 10px !important;
	box-sizing: border-box;
	margin: 0;
	border-radius: 0;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	background-image : url(/images/XZjgI8vz9Ep3uoQVN2MN00b009.png);
	background-repeat: no-repeat;
	background-position: right 10px center;
}

.formbuilder .field_group>.input>.description { text-align: center; padding: 20px 0px; font-size: 90%; max-width: 550px; margin: 0px auto;  }

.formbuilder .field { clear: both; padding: 10px 0px 0px 0px; }
.formbuilder .label { float: left; width: 200px; text-align: right; padding: 10px 10px 0px 0px; box-sizing: border-box; }
.formbuilder .input { float: left; width: 450px; max-width: 660px; }
.formbuilder .field_group>.input { width: 100%; max-width: none; float: none; }
.formbuilder input, .formbuilder textarea, .formbuilder select { max-width: 100%; width: 100%; }
.formbuilder .field_section .label, .formbuilder .field_group>.label
   { float: none; width: auto; text-align: center; font-size: 120%; padding: 30px 0px 10px 0px; border-bottom: solid #e4e4e4 1px; }

.formbuilder .radio input {width: 30px;}

@media(max-width:500px){
	.formbuilder .label { float: none; width: 100%; text-align: left; }
	.formbuilder .input { width: 100%; }
}


/* ============================================================
   5. LAYOUT â€” STRUCTURE
   ============================================================ */

/*.layoutheader { max-width: 1170px; margin: 20px auto 20px auto; padding: 0px 0px 0px 0px; }
 .layouttopmenu { width: 100%; height: 58px; background: #f8bd00; clear: both; } */
.layoutmiddle { max-width: 1080px; margin: 20px auto 95px auto; clear: both; padding: 0px 20px 0px 20px; box-sizing: border-box; }
.layoutspacer { clear: both; }
.layoutcredits { max-width: 1040px; margin: 0px auto 0px auto; }

.section16 .layoutleft, .section17 .layoutleft {display: none;}
.section16 .layoutcontent, .section17 .layoutcontent { width: 100%; float: none; }


/* ============================================================
   6. LAYOUT â€” HEADER
   ============================================================ */

/* .layoutheader .layoutheader_inner { display: flex; justify-content: space-between;}
.layoutheader .headertitle {  padding: 45px 0px 20px 160px; margin: 0px 56px 0px 0px;}
.layoutheader .headertitle p { margin: 30px 0px 0px 0px; font-size: 140%; line-height: 1; }
.layoutheader .fhflogo.v2 {margin: 0px 0px 0px 0px;} */


/* new header */

.layoutheader .logos, .layoutheader .bottom-container{display: block !important;}

.layoutheader {border-bottom: none; padding: 0; position: fixed; left: 0; width: 100%; top: 0; background-color: white; z-index: 9999; transition: all .3s ease-in-out; }
.scroll .layoutheader .logos ul li{max-width: 120px; transition: .5s ease-in-out;}
.layoutheader .layoutheader_inner{all:unset}

.layoutheader .logos{ max-width: 1400px; margin: 0 auto; padding: 10px 20px;}
.scroll .layoutheader .logos{padding: 0px 20px;}
.layoutheader .logos ul{display: flex; justify-content: space-between; align-items: center; gap:20px}
.layoutheader .logos ul li{max-width: 200px; width: 100%;}
.layoutheader .logos ul li img{max-width: 100%; height: auto;}
.layoutheader .logos ul li:not(.link1) img{ filter: grayscale(100%); transition: .5s ease-in-out;}
.layoutheader .logos ul li:hover img{filter: none;}

.layoutheader .bottom-container {background-color: #F8BD01; padding: 0px 20px; box-shadow: 0 4px 4px -1px rgba(0, 0, 0, 0.2);}
.layoutheader .bottom-container>.items{max-width: 1400px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; height: 50px;}
.layoutheader .bottom-container .nav_simple ul{ display: flex; gap:15px;}
.layoutheader .bottom-container .nav_simple ul li{padding: 15px 0;}
.layoutheader .bottom-container .nav_simple ul li a{border-bottom: none;}
.layoutheader .bottom-container .nav_simple ul li a{ font-weight: 500; transition: .2s ease-in;}
.layoutheader .bottom-container .nav_simple ul li a:hover { border-bottom: 1px solid black; }

.layoutheader .bottom-container .util_container .items { display: flex; align-items: center;justify-content: space-between; gap: 20px;} 

.layoutheader .bottom-container .util_sitesearchbar input[type=text]{display: none;}
.layoutheader .bottom-container .util_sitesearchbar button{background: none; border: none; padding: 0;}
.layoutheader .bottom-container .util_sitesearchbar button i{display: inline-block; color: black; font-size: 18px; cursor: pointer;}
.layoutheader .bottom-container .util_sitesearchbar button:hover i{color: #b88c02;}

.layoutheader .bottom-container .util_container .nav_linklist .links { display: flex; align-items: center; gap:15px}
.layoutheader .bottom-container .util_container .buttons a { color: white; background-color: #000000; padding: 8px 10px; border-radius: 0.3em;}
.layoutheader .bottom-container .util_container .buttons a:hover{border-bottom: none; background-color: #b88c02;; } 

.layoutheader .bottom-container .util_container .nav_linklist i { display: inline-block; color: black; font-size: 100%; padding: 3px;}
.layoutheader .bottom-container .util_container .nav_linklist a:hover i{ color:#b88c02; }

.layoutheader .bottom-container .util_container .shop_basketlink a{display: flex; justify-content: center; align-items: center; gap:5px; font-size: 18px;}
.layoutheader .bottom-container .util_container .shop_basketlink a:hover i{color: #b88c02;}

.layoutheader .spacer{display: none !important;}

@media ( min-width: 1150px )
{
    .layoutheader .layoutheader_inner .nav_simple .toggle { display: none; }
    body{padding-top: 180px;}
	.menu63, .menu64, .menu65, .menu110 {display: none; }
}

@media ( max-width: 1150px )
{
    .layoutheader { position: relative; }
    .layoutheader .bottom-container{padding: 0px 20px; position: relative;}
    .layoutheader .bottom-container>.items{flex-direction: row-reverse; justify-content: end; gap:20px; }
    .layoutheader .bottom-container .util_container .nav_linklist:not(.buttons){display: none;}

    .layoutheader .bottom-container .nav_simple.toggleoff ul { display: none; }
    .layoutheader .bottom-container .nav_simple.toggleon ul {display: block; background-color: white; position: absolute; left: 0; width: 100%; top: 50px; padding: 20px 0px; box-shadow: 0 4px 4px -1px rgba(0, 0, 0, 0.2); }
    .layoutheader .bottom-container .nav_simple.toggleon ul li {padding: 5px 0px;margin: 0px auto;text-align: center;}
    .layoutheader .bottom-container .nav_simple.toggleon ul li a { border: none; }

    .layoutheader .bottom-container .nav_simple .toggle {display: block !important; position: relative; z-index: 10; color: black; width: 32px; cursor: pointer;}
	.layoutheader .bottom-container .nav_simple .toggle i{font-size: 34px;}

	.menu63, .menu64, .menu65 {display: none;}
}

@media ( max-width: 600px )
{
    .layoutheader .logos{padding: 10px;}
    .layoutheader .logos ul{gap:8px}
    .layoutheader .logos ul .link1 {min-width: 120px;}
    .layoutheader .bottom-container {padding: 0px 10px;}

} 


@media ( max-width: 450px )
{
	.layoutheader .bottom-container>.items{gap:15px}
	.layoutheader .bottom-container .util_container .items {gap:10px;}
	.layoutheader .bottom-container .util_container .nav_linklist .links{gap:5px;}
}

@media ( max-width: 400px )
{
	.layoutheader .bottom-container .util_sitesearchbar, .layoutheader .bottom-container .util_container .shop_basketlink{display: none;}
}



/* ============================================================
   7. LAYOUT â€” TOP MENU & NAVIGATION
   ============================================================ */

/* .layouttopmenu_inner { max-width: 1170px; height: 58px; margin: 0px auto 0px auto; padding: 0px 20px 0px 20px; line-height: 58px; }
.layouttopmenu .util_sitesearchbar {position: relative;float: left;margin: 0px 20px 0px 0px;}
.layouttopmenu .util_sitesearchbar input[type="text"] {width: 350px;height: 34px;border: none;border-radius: 20px;padding: 0px 50px 0px 18px;font-family:MontserratBold;font-size:95%;color:#000000;box-sizing: border-box;}
.layouttopmenu .util_sitesearchbar input[type="text"]::placeholder { font-family:MontserratBold;font-size:95%;color:#000000;opacity:1; }
.layouttopmenu .util_sitesearchbar input[type="image"] {width: 33px;height: 34px;padding: 0;border: none;position: absolute;right: 0;top: 12px;}
.layouttopmenu .nav_simple, .layouttopmenu .headercustomerlinks { float: left; }
.layouttopmenu .headercustomerlinks.loggedout { margin: 0px 0px 0px 55px; }
.layouttopmenu .headercustomerlinks.loggedin { margin: 0px 0px 0px 0px; }
.layouttopmenu .nav_simple li, .layouttopmenu .headercustomerlinks li { float: left; margin: 0px 40px 0px 0px; font-family:MontserratBold; font-size: 100%; text-transform: uppercase; }
.layouttopmenu .headercustomerlinks li:last-of-type { margin: 0px 0px 0px 0px; }

.layouttopmenu .headercustomerlinks li:last-of-type a { color: white; background-color: #000000; display: block; padding: 0px 10px; }

.layouttopmenu .searchlink { display: none; }

.layouttopmenu .shop_basketlink {cursor: pointer;width: 39px;float: left;background-image: url(/images/bPMNDWaGI1ZuMj3gHUtS01100y.png);background-size: 39px 36px;background-position: center center;background-repeat: no-repeat;}
.layouttopmenu .shop_basketlink a {text-align: center;width: 28px;margin:0px 0px 0px 0px;display: block;}
.layouttopmenu .shop_basketlink .items {color: #ffffff;font-family: MoonBold;font-size: 113%;display:inline-block;margin: 0px 0px 0px 0px;position: relative;bottom: 10px;} */






/* ============================================================
   8. LAYOUT â€” LEFT SIDEBAR
   ============================================================ */

.layoutleft .shop_supplierdropdown, .layoutleft .nav_dropdown { font-size: 90%; padding: 0px 0px 20px 0px; }


/* ============================================================
   9. LAYOUT â€” FOOTER
   ============================================================ */

.layoutfooter { width: 100%; background: #424242; clear: both; border-top: solid #ffffff 50px; }
.layoutfooter_inner { max-width: 1025px; margin: 0px auto 0px auto; padding: 70px 20px 125px 20px; color: #ffffff; overflow: auto; }
.layoutfooter .surv_standard { float: left; width: 370px; font-family: MontserratRegular; }
.layoutfooter .surv_standard .titletxt { text-transform: uppercase; font-size: 131%; margin: 0px 0px 7px 0px; }
.layoutfooter .surv_standard .label { display: none; }
.layoutfooter .surv_standard .input {  float: none;width: auto;max-width: unset;}
.layoutfooter .surv_standard input, .layoutfooter>.util_container .surv_standard textarea { background: #292929; color: #ffffff; border: none; width: 100%; padding: 10px; margin: 9px 0px 0px 0px; font-family: MontserratRegular; font-size: 90%; box-sizing: border-box; }
.layoutfooter .surv_standard input::placeholder, .layoutfooter>.util_container .surv_standard textarea::placeholder { color: #ffffff;opacity:1; }
.layoutfooter .surv_standard textarea { height: 160px; resize: none;}
.layoutfooter .surv_standard input[type="submit"] { width: auto; padding: 10px; cursor:pointer; }

.layoutfooter .footerright {float: left;margin: 20px 0px 0px 105px;}
.layoutfooter .footerright .footertext { max-width: 420px; }
.layoutfooter .footerright .footertext p {font-family: AvenirLTStdMedium;font-size: 163%;line-height: 60px;margin: 0px 0px 0px 0px;}
.layoutfooter .footerright .footertext a { color: #f8bd00; }
.layoutfooter .footerright .footerlinks {width: 545px;margin: 65px 0px 0px 0px;}
.layoutfooter .footerright .footerlinks .content { float: left; margin: 5px 0px 0px 0px; }
.layoutfooter .footerright .footerlinks .content a { font-family:UbuntuBold; font-size: 106.5%; text-transform: uppercase; color: #ffffff; }
.layoutfooter .paymentmethods {float: right;}
.layoutfooter .paymentmethods .imageleft {float: left;}
.layoutfooter .paymentmethods .imageright {float: right;}
.layoutfooter .paymentmethods .imagebottom {clear: both;}

.layoutcredits {max-width: 1280px;color: #ffffff;background: #424242;margin: 0px auto 0px auto;padding: 0px 20px 0px 20px;font-family:UbuntuRegular;font-size: 90%;}
.layoutcredits a { color: #ffffff; }
.layoutcredits .copyright { margin: -45px 0px 0px 0px; }
.layoutcredits .beachshore {margin: -17px 0px 0px 0px;float: right;color: #9a9b8f; }
.layoutcredits .beachshore a { color: #9a9b8f; }


/* ============================================================
   10. RESPONSIVE â€” LAYOUT, HEADER, FOOTER
   ============================================================ */

@media( min-width: 1080px )
{
	.layoutleft {float: left;width: 280px;padding: 0px 20px 0px 0px;box-sizing: border-box;}
	.layoutcontent { width: 760px; float: right; }
	.layoutmiddle { margin-top: 85px; }

	.layoutleft .nav_dropdown { display: none; }

	.layoutleft .shop_categorylist {text-align:left;}
	.layoutleft .shop_categorylist .titletxt { display: none; font-size: 100%; background: #f8bd00; padding: 10px 15px 10px 15px; margin: 0px 0px 90px 0px; }
	.layoutleft .shop_categorylist li {text-align: left; font-family:MontserratBold; text-transform: uppercase; margin: 0px 0px 18px 0px;}
	.layoutleft .shop_categorylist li.selected a { color: #f8bd00; }
	.layoutleft .shop_categorylist li a.empty { color: #aaaaaa; }
	/* .layoutheader .layoutheader_inner .util_textbox:nth-child(2) { width: 35%;} */
}

@media( max-width: 1080px )
{
	.layoutleft .shop_categorylist li  { display: none; }
	.layoutleft .nav_dropdown { font-size: 90%; padding: 0px 0px 20px 0px; }
}


@media( max-width: 1079px )
{
	.layoutleft .nav_simple { display: none; }
}

/* @media ( max-width: 1200px )
{
	.layouttopmenu .util_sitesearchbar input[type="text"] {width: 250px;}
	.layouttopmenu .headercustomerlinks.loggedout {margin: 0px 0px 0px 35px;}
} */

/* @media( max-width: 1210px )
{
	.layoutheader { max-width: 100%; }
	.layoutheader .headertitle { padding: 0px 0px 20px 50px; margin-right: 0; }
	.layoutheader .fhflogo.v2 {  height: auto; }
	.layoutheader .fhflogo.v2 img {width:auto;}

    .layouttopmenu .util_container {max-width: 900px;}
    .layouttopmenu .util_container .util_sitesearchbar {margin-right: 20px;}
    .layouttopmenu .util_container .nav_simple li, .layouttopmenu .util_container .headercustomerlinks li { margin-right: 20px; }
    .layouttopmenu .util_container .headercustomerlinks.loggedout { margin-left: 30px;} 
} */

@media( max-width: 1060px ){
	/* .layoutheader .fhflogo.v2 {width:auto;} */
	/* .menu104, .menu105, .menu106 { display: block; } */
	/* .shop_basketlink, .headercustomerlinks { display: none; } */
}

/* @media(max-width: 1060px){
	.layoutheader .headertitle p {margin-top: 10px;}

	.layouttopmenu {position:relative;}
    .layouttopmenu .nav_simple { left: 0px; top: 180px; margin: 0px; padding: 0px; width: 100%; }
    .layouttopmenu .nav_simple .toggle {display: block;width: 40px;height: 40px;cursor: pointer;position: absolute;right: 20px;top: 7px;left: auto;z-index: 1;}
    .layouttopmenu .nav_simple .toggle:after { background-image: none; color:#000000;content:"\f0c9"; font-family: "FontAwesome"; font-size: 45px;line-height: 1em; }
    .layouttopmenu .nav_simple li { background-color: rgba(40,40,40,0.9);clear: left;padding: 0px 0px 0px 0px; width: 100% !important; margin: 0px; left: 0px; }
    .layouttopmenu .nav_simple li a { background-color: rgba(40,40,40,0.9) !important; line-height: 65px; height: 65px; display: block; padding: 0px 0px 0px 0px;color: #ffffff;text-align: center;}
    .layouttopmenu .nav_simple.toggleoff ul { display: none !important; }

    .layouttopmenu .nav_simple.toggleon { height: 100%; }
    .layouttopmenu .nav_simple.toggleon ul {background-color: rgba(40,40,40,0.9); margin: 0px 0px 0px 0px;}

    .layouttopmenu .nav_simple li.selected a {border: none;color: #f8bd00;}

    .layouttopmenu .util_container .shop_basketlink {position: absolute;margin-left: 0 !important;right: 265px;}
    .layouttopmenu .util_container .headercustomerlinks {position: absolute;margin-left: 0 !important;right: 90px;} 
} */

@media(max-width: 1080px)
{
    .layoutfooter .surv_standard {width:100%; max-width: 380px;float: none;margin: 0px auto 0px auto; }
    .layoutfooter .footerright {max-width: 380px;float: none;margin: 40px auto 0px auto;}
	.layoutfooter .footerright .footerlinks { width: 100%; }
	.layoutfooter .paymentmethods {float: none;clear: both; max-width: fit-content; margin: auto; padding-top: 40px;}
}

/* @media( max-width: 900px )
{
    .layoutheader .headertitle {padding-left: 20px;}
    .layoutheader .headertitle img {max-width:400px;width:100%;}
    .layoutheader .headertitle p {font-size: 110%;}
}

@media(max-width: 730px){
    .layoutheader .headertitle { width: 75%;box-sizing: border-box;}
    .layoutheader .headertitle p {font-size: 100%;}
	
	.layouttopmenu .util_container .util_sitesearchbar { display: none; }
    .layouttopmenu .util_container .searchlink {display: block;position: absolute;right: 323px;top: 11px;} 
}

@media(max-width: 615px){
	.layoutheader .fhflogo.v2 {display:none;}
	.layoutheader .headertitle {width:90%;}	
	.layoutheader .headerlogo {float: none; text-align: center;}
} */

@media(max-width: 500px)
{
	.layoutfooter_inner { padding-bottom: 80px; }
    .layoutfooter .footerright .footertext p { font-size: 140%; line-height: 2; }
	/* .layouttopmenu .util_sitesearchbar input[type="text"] {width: 270px;} */
}

@media(max-width: 400px)
{
	.layoutfooter .footerright .footerlinks .content a { font-size: 95%;}
    .layoutfooter .footerright .footertext p { font-size: 120%; }
}

/* @media(max-width: 400px){
    .layoutheader .headertitle { padding-left: 10px;}
    .layoutheader .headertitle p {font-size: 90%;margin-top: 5px;}
} */

@media(max-width: 375px)
{
    .layoutfooter .footerright .footertext p { font-size: 115%; }
	/* .layouttopmenu .util_sitesearchbar input[type="text"] {width: 200px;} */
}

/* @media(max-width: 380px){
    .layoutheader .headertitle p {font-size: 80%;}
     .layouttopmenu .util_container .searchlink { display: none;} 
} */

@media( max-width: 559px )
{
    .home .shop_categorylist li { width: 50%; }
	/* .layoutheader .layoutheader_inner { flex-direction: column; align-items: center;} */
}

@media(max-width:500px){
	.layoutcredits { padding-bottom: 40px;}
	.layoutcredits .copyright { margin: 0px 0px 10px 0px; }
	.layoutcredits .beachshore { float: none; margin: 0px 0px 0px 0px; }
}


/* ============================================================
   11. CONTENT PAGES
   ============================================================ */

.std_contentpage a { font-weight: normal; font-family: "MontserratBold"; }
.std_contentpage a:hover { text-decoration: underline;  }

.std_contentpage .pagecontent h2 { padding: 0px 0px 20px 0px; }
.std_contentpage .pagecontent h3 { padding: 0px 0px 10px 0px; font-family: "MontserratBold"; }

.std_contentpage .surv_standard {margin: 0px 0px 60px 0px;}

/* Suppliers forms */
.societycommision { margin: 0px 0px 100px 0px;}

.util_sitesearch #result_report { text-align: center; padding: 0px 0px 30px 0px; }
.util_sitesearch form {margin: 0px auto;width: 375px;}
.util_sitesearch form input[type="text"] { float: left; width: 280px; height: 38px; border-right: none; }
.util_sitesearch form input[type="submit"] { float: left; height: 38px; width: 25%; padding: 10px 10px 10px 10px; text-align: center; }
.util_sitesearch .include .result { padding: 20px 0px 0px 0px; }
.util_sitesearch .include .result .title { padding: 10px 0px 10px 0px; color: #f8bd00; font-size: 110%; }
.util_sitesearch .include .result .description { padding: 0px 0px 10px 0px; }
.util_sitesearch .url { word-break: break-all; /* For webkit browsers */ word-break: break-word; }

@media( max-width:600px )
{
    .util_sitesearch form { width: 100%; box-sizing: border-box; }
	.util_sitesearch form input[type="text"] {width: 75%;}
	.util_sitesearch form input[type="submit"] {width: 25%;}
}

.memb_loginbox { max-width: 100%; width: 550px; margin: 0px auto 0px auto; }
.memb_loginbox .errors { color: #ff0000; margin: 0px 0px 20px 0px; }
.memb_loginbox .fieldemail { display: block; padding-bottom: 10px; }
.memb_loginbox .forgotpw, .memb_loginbox .register { display: block; padding: 20px 0px 0px 155px; }
.memb_loginbox .login { padding: 20px 0px 0px 155px; }
.memb_loginbox .label { width: 150px; display: inline-block; }
.memb_loginbox .input { width: 390px; display: inline-block;  }
.memb_loginbox .input input { width: 100%; padding: 10px; margin: 9px 0px 0px 0px; font-family: MontserratRegular; font-size: 90%; box-sizing: border-box; }
.memb_loginbox .input input::placeholder { font-family: MontserratRegular; font-size: 90%; }

.memb_loginbox .status { margin: 0px 0px 10px 0px; }

.memb_account { max-width: 100%; text-align: center; }
.memb_account p { text-align: center; }
.memb_account .label { text-align: left; width: 145px; }
.memb_account .input { max-width: 100%; width: 450px; box-sizing: border-box; }
.memb_account .input input { width: 100%; box-sizing: border-box; }
.memb_account textarea {width: 100%;box-sizing: border-box;}
.memb_account .buttons { clear: both; padding: 20px 0px 0px 0px; }

.memb_account .text ul { padding: 20px 0px 0px 0px; }
.memb_account .text ul li { padding: 10px 0px 0px 0px; }

/* Your downloads */

.downloads .pagecontent { text-align: center; }
.downloads table { width: 100%; }
.downloads .shop_downloads { padding: 20px 0px 0px 0px; }
.downloads .shop_downloads table td, .downloads .shop_downloads table th { padding: 5px; border-bottom: solid #f8e092 1px; }
.downloads .shop_downloads table .download { text-align: right; }
.downloads .shop_downloads .nodownloads { text-align: center; }

/* Your downloads */

.yourdownloadlinks ul { text-align: center; padding-top: 20px;}

.yourdownloads table { width: 100%; }
.yourdownloads .shop_downloads table .download { text-align: right; }
.yourdownloads .shop_downloads table td, .yourdownloads .shop_downloads table th { padding: 5px; border-bottom: solid #f8e092 1px; }


/* ============================================================
   12. SHOP â€” HOME PAGE
   ============================================================ */

.home .pagetitle { display: none; }
.home .layoutleft { display: none; }

.home .shop_productlist h2, .home .shop_categorylist h2, .home .shop_supplierlist h2, .basket h1
	{ display: block; width: 100%; max-width: 270px; margin: 0px auto 35px auto; padding: 22px 35px 22px 35px; border: 1px solid #000000; letter-spacing: 2px; }

@media(max-width:400px){
	.home .shop_productlist h2, .home .shop_categorylist h2, .home .shop_supplierlist h2, .basket h1
	{ box-sizing: border-box;}
}

.home .shop_productlist {margin-bottom: 50px;border-bottom: solid #f8bd00 10px;}
.home .shop_productlist li { box-sizing: border-box; height: 350px;  }
.home .shop_productlist li:first-child, .home .shop_productlist li:nth-child(6) { margin-left: 0px; }
.home .shop_productlist li .image { background: #f8e092; padding: 5px; margin-bottom: 10px; }
.home .shop_productlist li .image img { margin: 0px auto 0px auto; }
.home .shop_productlist li .price { font-family: MontserratBold; font-size: 124%; color: #f8bd00; padding-top: 5px; }
.home .shop_categorylist {clear: both;}
.home .shop_categorylist h2 { margin-bottom: 35px; }
.home .shop_categorylist li {padding: 0px 20px 0px 20px;float: left;width: 25%;box-sizing: border-box;}
.home .shop_categorylist li .image {display: block;text-align: center;}
.home .shop_categorylist li .name {text-transform: uppercase;min-height: 80px;text-align: center;padding: 10px 0px 0px 0px;display: none;}

@media( min-width: 1080px )
{
	.home .shop_productlist ul { height: 500px }
	.home .shop_productlist li { float: left; width: 230px; margin-left: 20px; }
	.home .shop_productlist li:nth-child(6) { margin-bottom: 30px; }
}

@media( min-width: 550px ) and ( max-width: 1079px )
{
	.home .shop_productlist ul { height: 1700px; }
	.home .shop_productlist li { float: left; width: 50%; }
	.home .shop_productlist li:nth-child(2n+1) { padding-right: 10px; }
	.home .shop_productlist li:nth-child(2n+2) { padding-left: 10px; }
}

@media( min-width: 820px ) and ( max-width: 1079px )
{
    .home .shop_categorylist li {width: 33%;}
}

@media( min-width: 560px ) and ( max-width: 819px )
{
    .home .shop_categorylist li { width: 50%; }
}

@media(max-width: 600px)
{
    .shop_categorylist li { width: 100%; }
}


/* ============================================================
   13. SHOP â€” PRODUCT LISTS
   ============================================================ */

/*
.shop_productlist { margin: 60px 0px 60px 0px; }
.shop_productlist li { display: block; width: 33.33%; height: 325px; box-sizing: border-box; float: left; padding: 0px 0px 50px 20px; }
.shop_productlist li .image { display: block; height: 170px; text-align: center; background: #f8e092; }
.shop_productlist li .image img, .shop_categorylist li .image img  { display: block; margin: 0px auto 0px auto; max-width: 100%; }
.shop_productlist li .price { margin: 5px 0px 0px 0px; font-family: MontserratBold; font-size: 124%; color: #f8bd00; }
.shop_productlist li .name, .shop_categorylist .name { display: block; text-align: left; margin: 10px 0px 0px 0px; font-family: MontserratBold; font-size: 93.8%; }
.shop_productlist li .name { min-height: 190px; }
.shop_productlist li .supplier, .shop_product li .supplier, .shop_categorylist li .supplier { font-size: 90%; margin: 10px 0px 0px 0px; }
*/

.layoutleft .shop_categorylist li {text-align: left;font-family:MontserratBold;text-transform: uppercase;margin: 0px 0px 18px 0px;width: 50%;float: left;box-sizing: border-box;padding: 0px 5px 0px 5px;}


.shop_productlist li .image img { display: block; }
.shop_productlist li .addbutton, .shop_productlist li .buybutton { padding: 20px 0px 0px 0px; }
.shop_productlist li .addbutton a, .shop_productlist li .buybutton a { padding: 5px 10px 5px 10px; background-color: #000000; font-size: 90%; color: #ffffff; }
.shop_productlist li .addbutton a:hover, .shop_productlist li .buybutton  a:hover { text-decoration: none; background-color: #f8bd00; color: #000000; }

.shop_category .shop_productlist li, .shop_supplier .shop_productlist li
	{ display: block; clear: both; border-top: solid #f8e092 2px; padding: 10px 0px 0px 0px; }
.shop_category .shop_productlist li .image, .shop_supplier .shop_productlist li .image
	{ display: block; width: 120px; text-align: center; float: left; padding: 0px 10px 10px 0px; min-height: 120px; }
.shop_category .shop_productlist li .price, .shop_supplier .shop_productlist li .price
	{ font-family: MontserratBold; font-size: 124%; color: #f8bd00; float: right; text-align: right; width: 100px; min-height: 120px; }
.shop_category .shop_productlist li .name, .shop_supplier .shop_productlist li .name
	{ display: block; text-align: left; font-family: MontserratBold; font-size: 95%; }
.shop_category .shop_productlist li .supplier, .shop_supplier .shop_productlist li .supplier
	{ font-size: 90%; padding: 5px 0px 0px 0px; }


.shop_category .shop_productlist li {display: block;clear: both;border-top: solid #f8e092 2px;padding: 10px 0px 0px 0px;}
.shop_category .shop_productlist li .image {display: block;width: 120px;text-align: center;float: left;padding: 0px 10px 10px 0px;min-height: 120px;}
.shop_category .shop_productlist li .price { font-family: MontserratBold; font-size: 124%; color: #f8bd00; float: right; text-align: right; width: 100px; min-height: 120px; }
.shop_category .shop_productlist li .name { display: block; text-align: left; font-family: MontserratBold; font-size: 95%; }
.shop_category .shop_productlist li .supplier { font-size: 90%; padding: 5px 0px 0px 0px; }


/* ============================================================
   14. SHOP â€” SINGLE PRODUCT
   ============================================================ */

.shop_product h1 {text-transform: none; /* 23px; */ font-size: 143%;}
.shop_product .image { margin: 0px 0px 20px 0px; border-top: solid #f8e092 5px; border-bottom: solid #f8e092 5px; }
.shop_product .image img { display: block; margin: 5px auto 5px auto; }
.shop_product .details { margin: 0px 0px 0px 0px;  }
.shop_product .details .code * { display: inline-block; margin: 0px 5px 20px 0px; }
.shop_product .supplier { margin: 0px 0px 20px 0px; }
.shop_product .supplier .label { display: none; }
.shop_product .description { margin: 0px 0px 20px 0px; }
.shop_product .listprice { padding: 10px 0px 5px 0px; }
.shop_product .price { margin: 0px 0px 20px 0px; font-family: MontserratBold; font-size: 124%; color: #f8bd00; }
.shop_product .quantity { margin: 0px 0px 20px 0px; }
.shop_product .quantity select, .shop_product .addtobasket input[type="sumbit"] {width: 139px;}


/* ============================================================
   15. SHOP â€” BASKET & CHECKOUT
   ============================================================ */

.shop_basket table { width: 100%; }
.shop_basket td { padding: 5px; vertical-align: middle; }
.shop_basket th { padding: 5px; border-bottom: 1px solid black; border-top: 1px solid black; background-color: #ffffff; vertical-align: middle; }
.shop_basket .price, .shop_basket .quantity, .shop_basket .total, .shop_basket .remove { text-align: right; }
.shop_basket td.total, .shop_basket th.total { white-space: nowrap; }
.shop_basket select { padding: 5px 20px 5px 5px !important; width: auto; }
.shop_basket h2 { padding: 60px 0px 20px 0px; }
.shop_basket .field_group>.input, .shop_basket .field_textarea { max-width: 650px; margin: 0px auto 0px auto; }
.shop_basket .discount { text-align: center;}
.shop_basket .buttons { text-align: center; padding: 60px 0px 0px 0px; clear: both; }
.shop_basket .buttons input[type=button], .shop_basket .buttons input[type=submit] { display: inline-block; margin: 0px 10px 0px 0px; }
.shop_basket .contact, .shop_basket .billing, .shop_basket .shipping { width: 33.3%; float: left; }
.shop_basket .contact h2, .shop_basket .billing h2, .shop_basket .shipping h2, .shop_basket .notes h2, .shop_basket .payment h2 { text-align: left; }
.shop_basket .notes { clear: both; }
.shop_basket .payment { clear: both; max-width: 400px; margin: 0px auto;}
.shop_basket .paymentgateways { padding: 0px 0px 20px 0px; }
.shop_basket .message { color: #ff0000; padding: 0px 0px 20px 0px; text-align: center; }
.shop_basketpage .booksdirect { background-color: #f8bd00; text-align: center; margin: 0px 0px 20px 0px; padding: 20px; }

.discount { clear: both; }


/* ============================================================
   16. COMPONENTS â€” ANNOUNCEMENTS
   ============================================================ */

/* Christmas Announcement */

.announcement {
	background-color: #f8bd00;
	text-align: center;
	padding-bottom: 5px;
	margin-bottom: 60px;
}

.announcement-dec {
	background-color: #f8bd00;
	text-align: center;
	padding-bottom: 5px;
	margin-bottom: 60px;
}

.announcement-dec:hover {
	background-color: #db0606;
	transition: 1s;
}


/* ============================================================
   17. COMPONENTS â€” NEWSLETTER & STOCKLIST SIGNUP
   ============================================================ */

/* Stocklist */

.stocklist {
	margin-top: -90px;
	background-color: #38594a;
	text-align: center;
	padding: 5px;
	margin-bottom: 50px;
}

.stocklist .link a{
	color: #ffffff;
}

/* Really useful bulletin */

.rub, .stocklist { background: none; display: block;margin: 50px 0px !important;padding: 50px 20px;float: left;border: solid #f8bd00 5px;max-width: 100%;width: 100%;margin: 0px auto;position: relative;}
.rub p { text-align: center; }
#newsletter, #stocklist { position: absolute; top: -30px; }
.rub p { text-align: center; }
.rub .formbuilder, .stocklist .formbuilder { display: flex; justify-content: space-between; }
.rub .formbuilder .field_text, .stocklist .formbuilder .field_text { width: 300px; }
.rub .formbuilder .input, .stocklist .formbuilder .input { float: none; width: 100%; max-width: 100%; }
.rub .formbuilder .label, .stocklist .formbuilder .label { float: none; width: 100%; text-align: center; padding: 20px 0px 10px 0px;}

.rub .buttons, .stocklist .buttons { width: fit-content; margin: 20px auto 0px auto; }
.rub .buttons input[type=submit]:hover, .stocklist .buttons input[type=submit]:hover { opacity: 0.8; }


@media ( max-width: 1280px )
{
	.rub, .stocklist {max-width: 93%; }
}
@media ( max-width: 1006px )
{
	.rub .formbuilder, .stocklist .formbuilder { flex-wrap: wrap;  }
	.rub .formbuilder .field_text, .stocklist .formbuilder .field_text { width: 49%; }
	.rub .formbuilder .field_text:last-of-type, .stocklist .formbuilder .field_text:last-of-type  { width: 100%; }
}
@media ( max-width: 550px )
{
	.rub, .stocklist {max-width: 80%; margin: 0px auto; }
}
@media ( max-width: 480px )
{
	.rub .formbuilder .field_text, .stocklist .formbuilder .field_text { width: 100%; }
	.rub .formbuilder .label, .stocklist .formbuilder .label { text-align: left; padding: 10px 0px; }
}


/* ============================================================
   18. COMPONENTS â€” SHIPPING METHOD
   ============================================================ */

/* Shipping */

.shippingmethod { margin: 0px auto; width: fit-content; }
.shippingmethod ul { padding-top: 30px; }
.shippingmethod ul li { background-color: #f8bd00; border-radius: 5px; padding: 10px; margin-bottom: 20px; transition: all .3s ease-in-out; }
.shippingmethod ul li:hover { box-shadow: 0 0 5px black; filter: brightness(90%); }
.shippingmethod ul li:last-child { margin: 0px;  }


/* ============================================================
   19. COMPONENTS â€” VIDEO
   ============================================================ */

/* Really Useful video on home page */

.reallyusefullink {padding-top: 20px; padding-bottom: 50px; }
.reallyusefulvideo { margin: 0px auto 0px auto; max-width: 900px; }
.reallyusefulvideo video { max-width: 100%; height: auto; }
.russtatic img {display: block; margin: auto; width: 50%;}

@media(max-width: 800px)
{
.russtatic img {width: 100%;}
}


/* ============================================================
   20. SECTION-SPECIFIC â€” MAPS (section79)
   ============================================================ */

/* Maps */

li[onclick="cmsutil_redirect('/folding-maps-451')"] .level2 { display: none;}

.section79 ul.subcategories { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; list-style: none; padding: 0; margin: 0; }
.section79 ul.subcategories li { background: #fff; border-radius: 12px; padding: 15px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); transition: transform 0.2s ease, box-shadow 0.2s ease; }
.section79 ul.subcategories li:hover { transform: translateY(-4px); box-shadow: 0 6px 18px rgba(0,0,0,0.15); }
.section79 .layoutleft img { width: 100px; } 
.section79 .shop_category .shop_productlist li .image { display: none; }
.section79 .shop_category .shop_productlist li .price { min-height: 100%; }
.section79 .layoutleft .shop_categorylist .level2 { display: none; }
.section79 .shop_category .shop_productlist li { padding-bottom: 20px; }

.section79 .shop_category .subcategories .products { font-size: 80%; font-weight: normal; color: #595959; padding-top: 5px; }

/* Home maps banner */

.mapshome { display: block; background-color: #ff7043; padding: 40px 20px; margin-bottom: 40px; text-align: center; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.mapshome h2 { margin: 0; padding-top: 0px; font-size: 2rem; color: #333; }
.mapshome h2 a { text-decoration: none; color: inherit; }
.mapshome h2 a:hover, .mapshome .link a:hover { text-decoration: underline; }
.mapshome .link { margin-top: 20px; }
.mapshome .link a { display: inline-block; background-color: #1a237e; color: #fff; padding: 12px 24px; border-radius: 8px; font-weight: 600; text-decoration: none; transition: background-color 0.2s ease, transform 0.2s ease }
.mapshome .link a:hover { background-color: #3949ab; transform: translateY(-2px); }
