@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,700);
@media only screen and (min-width: 768px) {
    /* For desktop: */
  .col-1 {width: 8.33%;}
  .col-2 {width: 16.66%;}
	.col-3 {width: 25%;}
  .col-4 {width: 33.33%;}
  .col-5 {width: 41.66%;}
  .col-6 {width: 50%;}
  .col-7 {width: 58.33%;}
  .col-8 {width: 66.66%;}
  .col-9 {width: 75%;}
  .col-10 {width: 83.33%;}
  .col-11 {width: 91.66%;}
  .col-12 {width: 100%;}

	.not-active {
		pointer-events: all;
		cursor: default;
	}
	
	/* Vertical definitions */
	.hmenu,	.hmenu ul, .hmenu ul li,	.hmenu ul li a,	.hmenu #menu-button {
		margin: 0;
		padding: 0;
		border: 0;
		list-style: none;
		line-height: 1;
		display: block;
		position: relative; 
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box; 
		box-sizing: border-box;
	}

	
/*
">" is the child selector
"" is the descendant selector

The difference is that a descendant can be a child of the element, or a child of a child of the element or a child of a child of a child ad inifinitum.
A child element is simply one that is directly contained within the parent element:
*/

	.hmenu:after, .hmenu > ul:after {
		content: ".";
		display: block;
		clear: both;
		visibility: hidden;
		line-height: 0;
		height: 0;
	}

  .hmenu > ul > li > ul {
    visibility: hidden;
  }

	.hmenu #menu-button {
		display: none;
	}

	.hmenu {
		font-family: 'Open Sans', Helvetica, sans-serif;
		background: linear-gradient(to bottom, white, var(--bgcolour));
	}

/* for the level 1 menu text and spacing */
	.hmenu> ul > li > a {
		padding: 18px 1px 28px 25px; /* top, right,bottom, left */
		text-decoration: none;
		font-size: 13px;
		font-weight: 700;
    color: #000000; 
		text-transform: uppercase;
		letter-spacing: 1px;
		display: block;
	}

/* Text/menu on hover */
  .hmenu > ul > li:hover > a, .hmenu > ul > li > a:hover, .hmenu > ul > li.active > a {
    color: #ffffff;
    background: rgba(0, 0, 0, 0.2); /* opacity */
  }
/* pads after the top level menu items */
  .hmenu > ul > li.has-sub > a {
    padding-right: 70px;  /* Between text and arrow */
  }
/* Arrow control 1st level (top) */
	.hmenu > ul > li.has-sub > a::before {
		content: "";
		position: absolute;
		width: 0;
		height: 0;
		border: 6px solid transparent;
		border-left-color: #000000;
		right: 17px;
		top: 17px;
	}
/* sub menu (level 2) */	
	.hmenu > ul > li.has-sub.active > a::after, .hmenu ul ul {
		font-size: 16px;
		opacity: 0;
		margin-left: 15.95em; 
		margin-top: -6.00em;  /* This pads the first level menu ! */
		padding-top: 1px;
/* CSS3 transitions allows you to change property values smoothly (from one value to another), over a given duration.	*/ 
		-webkit-transition: top 1.2s ease, opacity 0.3s ease-in;
		-moz-transition: top 1.2s ease, opacity 0.3s ease-in;
		-ms-transition: top 1.2s ease, opacity 0.3s ease-in;
		-o-transition: top 1.2s ease, opacity 0.3s ease-in;
		transition: top 1.2s ease, opacity 0.3s ease-in;
	}

	.hmenu.align-right ul ul {
		text-align: right;
	}

/* set sub menu (level 2) arrow */
	.hmenu > ul > li > ul::after {
		content: "";
		position: absolute;
		width: 0;
		height: 0;
		border: 5px solid transparent;
		border-right-color: #ffffff;
		top: 2.5em;
		left: -9px;
	}

	.hmenu.align-right > ul > li > ul::after {
		left: auto;
		right: 20px;
	}

	.hmenu > ul > li > ul {
	  top: 420px;
		Left: 600px;
	}

	.hmenu > ul > li:hover > ul {
		top: 5px;
		left: 0;
		opacity: 1;
		visibility: visible;
	}

	.hmenu.align-right > ul > li:hover > ul {
		left: auto;
		right: 0;
	}

/* set sub menu level 3 arrow 
.hmenu ul ul ul::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-right-color: #ffffff;
  top: 11px;
  left: -4px;
}

.hmenu.align-right ul ul ul::after {
  border-right-color: transparent;
  border-left-color: #ffffff;
  left: auto;
  right: -4px;
}

.hmenu ul ul ul {
  padding-top: 0;
  padding-left: 6px;
}

.hmenu.align-right ul ul ul {
  padding-right: 6px;
}

.hmenu ul ul > li:hover > ul {
  left: 180px;
  top: 0;
  opacity: 1;
}

.hmenu.align-right ul ul > li:hover > ul {
  left: auto;
  right: 100%;
  opacity: 1;
}
*/

/* Puts the box around the level 1 sub menu */
	.hmenu ul ul li a {
		text-decoration: none;
		font-weight: 400; 
		padding: 7px;  /* for some reason the padding causes a space in issue on level 1 */
		width: 180px;
		color: #777777;
		background: #ffffff;
		box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1), 1px 1px 1px rgba(0, 0, 0, 0.1), -1px 1px 1px rgba(0, 0, 0, 0.1); 
	}
/* Hover level 1 sub menu */
	.hmenu ul ul li:hover > a, .hmenu ul ul li.active > a {
		color: #000000;
	}
	.hmenu ul ul li:first-child > a {
		border-top-left-radius: 3px;
		border-top-right-radius: 3px;
	}
	.hmenu ul ul li:last-child > a {
		border-bottom-left-radius: 3px;
		border-bottom-right-radius: 3px;
	}
	.hmenu > ul > li > ul::after {
		position: absolute;
		display: block;
	}
	.hmenu ul ul li.has-sub > a::after {
		content: "";
		position: absolute;
		width: 0;
		height: 0;
		border: 4px solid transparent;
		border-left-color: #777777;
		right: 17px;
		top: 14px;
	}
	.hmenu.align-right ul ul li.has-sub > a::after {
		border-left-color: transparent;
		border-right-color: #777777;
		right: auto;
		left: 17px;
	}
	.hmenu ul ul li.has-sub.active > a::after,
	.hmenu ul ul li.has-sub:hover > a::after {
		border-left-color: #333333;
	}
	.hmenu.align-right ul ul li.has-sub.active > a::after,
	   .hmenu.align-right ul ul li.has-sub:hover > a::after {
		border-right-color: #333333;
		border-left-color: transparent;
	}	
}
