/*
https://webideas.wiki.zoho.com/Operations/Embedding-Fonts.html
*/

/* 
font-family: 'Roboto', sans-serif;
*/

:root {
	--white: #FFFFFF;
	--mobileMenuBars: #ffffff;
	--mobileMenuColorBackground: #ffffff;
	--mobileMenuColourHover: #393939;
	--mobileMenuColorText: #000000;
	--mobileMenuColourTextHover: #ffffff;
	--main-font: 'Roboto', sans-serif;
	--heading-font: 'Roboto', sans-serif;
}

body {
	font-size: 1em;
	margin: 0px;
	font-family: var(--main-font);
	color: var(--white);
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	background-color:#1c0144;
	background-image: url('header_grid_background.png');
}
p,li {line-height:140%;}

footer {
  margin-top: auto;
}

/**************** header *****************************/

.header {
	position:fixed;
	background-image:url('header_grid_background.png');
	width:100%;
	z-index: 10;
	transition: all 1s ease;
}
.banner {
	width:1200px;
	margin:auto;
}
.main {padding-top:203px;color: var(--white);}

/** offset for targets to allow for header **/
:target::before {
  content: "";
  display: block;
  height: 152px; /* fixed header height*/
  margin: -152px 0 0; /* negative fixed header height */
}

.logo	{
	width:255px;
	float:left;
	margin:8px 0;
	transition: margin 1s ease;
}
.topRight {
	width:calc(100% - 255px);
	float:right;
	padding-top: 30px;
	text-align:right;
	transition: all 1s ease;
	color: var(--white);
}

.logo img {max-width:100%;transition: max-width 1s ease;}
.topRight img {vertical-align:middle}
.topRight a {text-decoration:none;cursor:default;color:#0c0c0c;font-size: 1.625rem;}
.topRight a:hover {color:#0c0c0c;}

.shrink .logo {margin-top:6px;margin-bottom:5px;}
.shrink .logo img {max-width:70%;}
.shrink .topRight {padding-top:10px;}


	
/**************** nav - topnav *************************/
.topnav {background-color: transparent;}
.topmenu{
	width:1200px;
	margin:auto;
	background-color: transparent;
	height:40px;
}
html .mlddm {display:flex;justify-content:space-between;}

/* top level */
.mlddm li a, .mlddm li a#buttonnohover {	
		padding: 0 10px;
		line-height: 40px;
		color: #000000;
		font-size: 0.938rem;
}
.mlddm li a:hover, .mlddm li a#buttonhover,
.mlddm li a.selected, .mlddm li a.selected#buttonnohover,
.mlddm li a.selected:hover, .mlddm li a.selected#buttonhover	{color:#999999;}

.mlddm>li:first-child>a {padding-left:0;}
.mlddm>li:last-child>a {padding-right:0;}

/**************** nav - wide menu *************************/
@media (min-width:768px){
	nav {background-color: var(--white);}
}
.topnav {
	width:1200px;
	margin:auto;
	position:relative;
}
.topmenu{
   height:50px;
}
.topnav .topmenu > ul {
    display: flex !important;
    justify-content:space-between;
}
.topnav .topmenu > ul li.top-level {line-height:50px;padding: 0;vertical-align:middle;}
.topnav .topmenu a {text-decoration:none;}
.topnav .topmenu > ul li.top-level>a {color: #393939;padding: 0 9px;font-size:1rem;}
.topnav .topmenu > ul li.top-level>a:hover,
.topnav .topmenu > ul li.top-level:hover,
.topnav .topmenu > ul li.top-level:hover a {background-color:#393939;color: #ffffff;}
.topnav .topmenu > ul .mega-menu{
	width:100%;
	background-color: #393939;
	position: absolute;
	top: 50px;
	left: 50%; 
	margin-left: -600px;
	padding: 30px;
	column-count: 4;
	-webkit-column-count: 4;
	-moz-column-count: 4;
	column-gap: 2em;
	-webkit-column-gap: 2em;
	-moz-column-gap: 2em;
	border-bottom:2px solid #ffffff;
}
.topnav .topmenu .mega-menu li {padding:3px 0 3px 10px;display:block;}
.topnav .topmenu .mega-menu > li {
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	break-inside: avoid;
	}
.topnav .topmenu li:nth-of-type(2) .mega-menu > li {
	border-left:1px solid #ffffff;
	margin-bottom:20px;
}
.topnav .topmenu .mega-menu > li > a{color:#fff;font-weight:700;}
.topnav .topmenu > ul li.top-level:hover .mega-menu li a:hover {color:#ebd697;}
.topnav .topmenu .mega-menu li > ul {padding:0;}
.topnav .topmenu .mega-menu > li > ul li a{font-size:0.875rem;color:#ffffff;padding-left:20px;}    
.topnav .topmenu .mega-menu li > ul > li ul{padding:0;}
.topnav .topmenu .mega-menu > li > ul li > ul li a{font-size:0.875rem;color:#ffffff;padding-left:40px;} 

.topnav .topmenu > ul .small-menu{
	background:#393939;
	position: absolute;
	padding: 16px 20px;
    opacity: 1;
    visibility: hidden;
    z-index: 10000;
    transition-delay: 300ms;
    -webkit-transition-delay: 300ms;
    -moz-transition-delay: 300ms;
    -ms-transition-delay: 300ms;
}
.topnav .topmenu > ul li .small-menu  li {
    float: none;
    display: block;
    padding:4px 0 8px;
}
.topnav .topmenu > ul li:hover .small-menu {
    visibility: visible
}
.topnav .topmenu .small-menu > li > a {color:#2a2628;font-weight:700;padding-right:8px;}
.topnav .topmenu .small-menu > li > a:hover {border-left:2px solid #ac0d04;padding-left:6px;padding-right:0;}


/* top level */
.mlddm li a, .mlddm li a#buttonnohover {	
		padding: 0 10px;
		line-height: 40px;
		color: #000000;
		font-weight:  normal;
		font-size: 0.938rem;
}
.mlddm li a:hover, .mlddm li a#buttonhover,
.mlddm li a.selected, .mlddm li a.selected#buttonnohover,
.mlddm li a.selected:hover, .mlddm li a.selected#buttonhover	{color:#999999;}

.mlddm>li:first-child>a {padding-left:0;}
.mlddm>li:last-child>a {padding-right:0;}

/* drop down list */
	.mlddm ul {border-left:1px solid #ffffff;border-right:1px solid #ffffff;}
	.mlddm ul li a {	
		line-height: 40px;
		padding: 0 16px 0 6px;
		border-bottom:1px solid #ffffff;
		text-align:left;
		height:auto;
		background-color: #000000;	
		color:#ffffff; 
		font-size:0.875rem;
	}
	.mlddm ul li a:hover,
	.mlddm ul li a.selected,
	.mlddm ul li a:hover.selected,
	.mlddm .hsub:hover, .mlddm .selectedhsub:hover	{color: #000000;background-color:#dedede;}

	
/**************** nav - mobile header *************************/

/* hamburger menu positioning & style */

.slicknav_btn {right:16px;}

.slicknav_icon-bar {background-color:var(--mobileMenuBars);}
.slicknav_icon-bar:nth-child(1) {width:18px;}
.slicknav_icon-bar:nth-child(2) {width:23px;}
.slicknav_icon-bar:nth-child(3) {width:18px;}

.slicknav_menutxt {display: none;}

.slicknav_menu {background-color:transparent;padding:0;}
.slicknav_nav {z-index:10000000;}
.slicknav_nav {font-size:1.750em;width: 100%;}
.slicknav_nav .slicknav_arrow	{background-color:transparent;font-size:1.5em;}
.slicknav_nav .slicknav_row	{padding: 12px 20px;} /* row is for subs that are parents */
.slicknav_nav a					{padding: 12px 20px;font-size:1.125rem;}

/* first level */
li.slicknav_collapsed.slicknav_parent > a .slicknav_arrow	{color:var(--mobileMenuColorText);}
li.slicknav_parent.slicknav_open > a .slicknav_arrow			{color:var(--mobileMenuColourTextHover);}
li.slicknav_collapsed.slicknav_parent:hover > a .slicknav_arrow {color:var(--mobileMenuColourTextHover);}

.slicknav_nav > li:nth-of-type(1)	{border-top:none;}
.slicknav_nav > li:not(:last-child) {}
.slicknav_nav > li 						{background-color:var(--mobileMenuColorBackground);}
.slicknav_nav a 							{color: var(--mobileMenuColorText);background-color: var(--mobileMenuColorBackground);}
.slicknav_nav a:hover					{background-color: var(--mobileMenuColourHover);color: var(--mobileMenuColourTextHover);}
.slicknav_row:hover, 
li.slicknav_collapsed .slicknav_row:hover a	{background-color: var(--mobileMenuColourHover);color: var(--mobileMenuColourTextHover);}
.slicknav_nav li.slicknav_open,
.slicknav_nav li.slicknav_open > a,
.slicknav_nav li.slicknav_open > a a,
.slicknav_nav li.slicknav_open > a:hover 		{background-color: var(--mobileMenuColourHover);color: var(--mobileMenuColourTextHover);border:none;}

/* second level */
ul li ul li.slicknav_collapsed.slicknav_parent > a .slicknav_arrow	{}

.slicknav_nav ul li 						{border-bottom: 1px solid #333333;}
.slicknav_nav ul li a 					{color:var(--mobileMenuColorText);}	
.slicknav_nav ul li a 					{padding: 12px 20px 12px 30px;}
.slicknav_nav ul li .slicknav_row	{padding: 12px 20px 12px 30px;}

.slicknav_nav ul li.slicknav_parent.slicknav_open,
.slicknav_nav ul li.slicknav_parent.slicknav_open > a,
.slicknav_nav ul li.slicknav_parent.slicknav_open > a a,
.slicknav_nav ul li.slicknav_parent.slicknav_open > a:hover 	{color:#ffffff;}

/* third levels */
.slicknav_nav ul li ul li 					{background-color:var(--mobileMenuColorBackground);}
.slicknav_nav ul li ul li a 				{color:var(--mobileMenuColorText);}
.slicknav_nav ul li ul li a 				{padding-left: 60px;}
	
.slicknav_nav ul li .slicknav_arrow	{}
.slicknav_nav ul li.slicknav_parent.slicknav_open  .slicknav_arrow:before {content:"-";}


/* overrides */

.slicknav_nav li:nth-child(even) 	{}
.slicknav_nav ul li:nth-child(even) {}
.slicknav_nav ul li ul li:nth-child(even) {}
.slicknav_nav .slicknav_item a, .slicknav_nav .slicknav_parent-link a {font-size: 1.125rem;}
.slicknav_nav .slicknav_row {padding: 12px 20px;}
.slicknav_nav .slicknav_arrow {background-color: transparent;width: 44px;}
.slicknav_nav .slicknav_row:hover, li.slicknav_collapsed .slicknav_row:hover a {
		background-color: var(--mobileMenuColourHover);
		color: var(--mobileMenuColourTextHover);
	}

	
/**************** footer *****************************/

.footer			{background-color:#000000;color:#ffffff;}
.footerInfo		{width:1200px;margin:auto;padding:20px 0 30px 0;}
.footerInfo .sideBySide-Col2 {text-align:right;}
.footerInfo p 	{margin-bottom:18px;line-height:160%;}
.footerInfo	a 	{color:#ffffff;text-decoration:none;}

.socialMedia {padding-top:10px;}

.footerBase				{width:1200px;margin:auto;padding: 10px 0;color: #ffffff;line-height:140%;}
.footerLeft				{width:66%;float: left;font-size:0.563em;}
.footerRight			{width:33%;float: right;text-align:right;font-size:0.563em;}
.footerBase a 			{font-size: 0.563rem;color:#ffffff;}
.footerBase a:hover	{color:#dedede;}

/**************** content *****************************/

/* layout */

.middleHome	{padding:28px 0;width:1200px;margin:auto;}
.middle		{padding: 0 0 32px 0; width:1200px;margin:auto;}
.crumb		{padding: 16px 0 16px 3px;font-size:0.813em;color:#999999;}
.crumb a    {color:#999999;font-size:1em;}
.crumb a:hover {color:#325678;}
.colourRow	{background: #f0f0f0;}
.center {text-align:center;}
.bgCenter {background-position: center;}

.pageImage {margin-bottom: 24px;}

/* general */
a 			{color: var(--white);font-size:1em;}
a:hover	{color: #999999;}
a img		{border:0;}

h1, h2, h3, h4, h5 {}
h1 {font-size: 2.000rem;color: var(--white);font-weight: 400;margin: 24px 0;}
h2 {font-size: 1.125em;color:var(--white);font-weight:400;}
h3 {font-size: 1.000em;color:var(--white);font-weight:400;}
h4 {font-size: 1.000em;color:var(--white);font-weight:400;}
h5 {font-size: 1.000em;color:var(--white);font-weight:400;margin-top:0;}

.submissionInList h2 a {color:#ffffff;text-decoration:none;}
.submissionInList h2 a:hover {color:#999999;}

.introText {font-size:1.125rem;}

p, ul, li		{margin-top:0;}
.formRequired	{color:#cc0000;font-size:0.625rem;}

.linkButton,
.dataForm .button {
	display:inline-block;
	padding:8px 18px;
	background-color: #29293b;
	color:#ffffff;
	text-decoration: none;
	border-radius:5px;
	text-align:center;
	font-weight:500;
	transition: ease 0.3s;
}
.linkButton:hover,
.dataForm .button:hover {
	background-color: #e3b43a;
	color:#29293b;
}

.topBanner .linkButton {background-color: #8e2836;}
.topBanner .linkButton:hover {background-color: #fff;color:#e3b43a;}

.dataForm input[type=text],
.dataForm select {
    padding:8px;
}

/* admin */
#adminPanel{background-color:#eee;padding:10px;color:#000000;}
#adminPanel h1{color: #000;}
#adminPanel .tableMenu{background-color:#fff;}
#adminPanel .tableData{background-color:#eee;color:#000}
#adminPanel .tableData li, .tableMenu li{}
#adminPanel .tableData li, .tableMenu li{padding-bottom:4px;}
#adminPanel .tableData a, .tableMenu a{color:#000;}
#adminPanel .tableData a:hover, .tableMenu a:hover{color:#900;}
#adminPanel .tableHeader{background-color:#eee;color:#000}
#adminPanel .formDescription{color: #000;}
#adminPanel a {color:#000000}

.adminMenu {float:right;}

.tab {color: #000;}
.tabBody {color: #000;}
.tabBody a, .tabBody p, .tabBody h1, .tabBody h2, .tabBody h3 {
    color: #000000;
}
.tabBody a:hover {
    color: #a93333;
}

/*** Catalogue ***/

.homepageCatFeed {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	column-gap: 32px;
	row-gap: 32px;
}
.categoryHome {width: 100%;}

.categoryBrowse {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	column-gap: 32px;
	row-gap: 32px;
	margin-bottom: 32px;
}

.productBrowse {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	column-gap: 32px;
	row-gap: 32px;
}

a.productLink {
	background-color: var(--white);
	border-radius: 16px;
	color: #000;
	text-decoration:none;
	text-align:left;
}
a.productLink:hover {background-color: #ebd697;}

.productBox {padding: 24px;}
.productBox h2 {text-align:left;margin-bottom: 16px;margin-top: 0;color:#000000;}

.productBox .productThumb {
	max-width: 128px;
	float: right;
	margin-left: 32px;
	margin-bottom: 32px;
}
.productBox img {border-radius: 16px;width: 128px;border: 1px solid #000;}

/**************** home *****************************/

@media (max-width:660px){.highlightBox {width:100%;}}
@media (max-width:560px) {.highlightBox h2 span {display:block;}.supportRow {padding-top:35px;padding-bottom:30px;background-size:cover;}}

.highlightBox {text-align:center;}

/********** Contact Form Rework ******************/

.dataForm input[type="text"], 
.dataForm textarea {
  padding: 10px 6px;
  border-radius: 6px;
  border: 1px solid #bbbcbd;
  -webkit-appearance: none;
}
.dataForm .button {
  display: inline-block;
  padding: 10px 24px;
  background: #04257d;
  border: 2px solid #04257d;
  color: #ffffff;
  text-decoration: none;
  font-size: 0.750rem;
  transition: ease 0.3s;
  min-width: 125px;
}
.dataForm .button:hover {
  background: #ffffff;
  color: #04257d;
}