/* 
==============================================================================================
Styles for grw_group


Colors:
		
	Greens
	------
	#92b558		146,181,88 		Green 53% Color of the year 2017
	#6f8e3e		111,142,62		Green 40%
	#f3f7ed							Green 95%
		
	
==============================================================================================
*/


/*
==============================================================================================
CSS Custom Properties (Variables)
 - retrieved using the var() function
 - cannot be used in @media statements
 - eg:
		--color1: DarkGray;
		background-color: var(--color1);
==============================================================================================
*/
:root {
	
	--main_color: #6f8e3e;   						/* darker green 40% */
	--main_color_light: #c5d8a6; 
	
	--background_color: white;
	--body_background_color: #fefefe;			/* very pale red */
	--box_shadow_color: #404040;					/* dark grey */
	--error_color: red;
	--info_box_color: #f60;							/* orange shade*/
	--input_border_color: lightgray;
	--menu_background_color: black;
	--menu_bck_hover_color: #6f8e3e; 			/* darker green 40% */
	--menu_dropdown_text_color: black;
	--menu_dropdown_bck_color: lightgray;
	--pg_header_color: #6f8e3e;   				/* darker green 40% */
	--text_color: #262626; 							/* dark grey 15% */
	--text_color2: #9b0d2b							/* gws red */
}



/* 
==============================================================================================
Custom fonts
Uusing a custom font seems to solve the issue of standard web fonts displaying
at a different size in Chrome & Firefox
==============================================================================================
 */
@font-face {
	font-family: "roboto";
	src: url("./fonts/Roboto-Regular.ttf");
}
@font-face {
	font-family: "roboto";
	src: url("./fonts/Roboto-Italic.ttf");
	font-style: italic;
}
@font-face {
	font-family: "roboto";
	src: url("./fonts/Roboto-Light.ttf");
	font-weight: 200;
}
@font-face {
	font-family: "roboto";
	src: url("./fonts/Roboto-LightItalic.ttf");
	font-weight: 200;
	font-style: italic;
}
@font-face {
	font-family: "roboto";
	src: url("./fonts/Roboto-Thin.ttf");
	font-weight: 100;
}
@font-face {
	font-family: "roboto";
	src: url("./fonts/Roboto-ThinItalic.ttf");
	font-weight: 100;
	font-style: italic;
}
@font-face {
	font-family: "roboto";
	src: url("./fonts/Roboto-Bold.ttf");
	font-weight: bold;
}
@font-face {
	font-family: "roboto";
	src: url("./fonts/Roboto-BoldItalic.ttf");
	font-weight: bold;
	font-style: italic;
}



/*
==============================================================================================
General Styles
==============================================================================================
*/

/* general page layout */
/* ------------------- */
body {
	font-size: 100%;
	margin: 0;
	background-color: var(--body_background_color);
	color:  var(--text_color);
	font-family: 'Roboto', sans-serif;
	line-height: 1.5;	
	font-weight: 200;
	font-size: 14pt;
}

* {
   box-sizing: border-box;               /* elements should have padding and border included in size (but not margin) */
}

/* main content div */
.main {
	margin-top: 90px;			/* Add a top margin to avoid content overlay */	
	padding:20px 50px;
}


/* hack to fix when an element is taller than the element containing it,
   and it is floated, it will overflow outside of its container */
/* -------------------------------------------------------------------- */
.row::after {
    content: "";
    clear: both;
    display: table;
}


/* headers */
/* ------- */
.hdr1 {
	text-align: center;
	font-size: 25pt;
	margin-bottom: 20px;
	letter-spacing: 2px;
	font-weight: bold;
	
}

.hdr2 {
	color: var(--text_color2);
	font-style: italic;
	font-weight: bold;
	font-size: 17pt;
}


.h1 {
	font-size: 20pt;
	margin-bottom: 5px;
}
.h2 {
	color: var(--text_color2);
	font-style: italic;
	font-weight: bold;
	font-size: 17pt;
}
.h3 {
	font-weight: bold;
	font-style: italic;
	letter-spacing: 2px;
}




.quote_container {
	display: flex;
	justify-content: center;
}
.quote {
	font-style: italic;
	color: var(--text_color2);
	font-weight: 200;
	font-size: 18pt;
	text-align: center;
	width: 60%;
}



a {
	text-decoration: none;
	color: var(--text_color);
	padding: 5px 20px;
}
a:hover {
/*	color: var(--text_color2);
	font-weight: bold;
	background-color: lightgrey; */
	border-bottom: 4px solid var(--text_color2);
}



/* Modal message box */
.message_box {
	overflow-wrap: break-word;
	background-color: #fefefe;
	margin: auto;
   position: relative;
   width: 350px;
   border-radius: 7px;
   box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

#message {
	z-index: 10;
	padding-top: 110px;
}

#message_hdr {
   background-color: #19c589;
   text-align: center;
   font-size: 1.2em;
   padding: 10px;
   letter-spacing: 4px;
   font-variant: small-caps;
   color: white;
	border-radius: 7px 7px 0 0;
}

#message_content {
	padding: 25px;
}


.message_box button {
	background-color: #19c589;
 	margin: 0px 0px 20px 25px;
}

.message_box button:hover {background-color: black}




/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media screen and (max-width: 950px){
	
	.hdr1 { font-size: 20pt; }
	
	.big_screen { display: none; }	
	
	.toggle_display_bar { display:block; }
		
	.main { 
		margin-top: 120px;
		padding: 20px 10px;
		}
	.main.responsive {
		margin-top: 360px;
	}
	
	a {
		padding: 5px 10px;
	}
	
	
	
	.quote {
		width: 75%;
		font-size: 15pt;
	}
	
	
}


/* mobile phones 0-500px */
/* --------------------- */
@media only screen and (max-width: 500px) {
	
	body {padding: 0px;}
		
}


/* pcs, large screens - minimum width 951px */
/* ---------------------------------------- */
@media only screen and (min-width: 951px) {

	/* hide elements which should only be displayed on small screens */
	.small_screen { display:none; }
	
}





/*
==============================================================================================
Navbar
==============================================================================================
*/

.navbar {
	overflow: hidden;
	background-color: var(--body_background_color);
	position: fixed; 				/* Set the navbar to fixed position */
	top: 0; 							/* Position the navbar at the top of the page */
	width: 100%; 					/* Full width */
/*	box-shadow: 0 2px 8px grey;*/
	padding: 0 20px 0px 20px;
	z-index: 5;						/* make sure stays on top */
}

.navbar_grid {
	display: grid;
	grid-template-columns: 250px auto;
	column-gap: 10px;
	padding: 5px;
}

.navbar_grid div:nth-child(3) {
	grid-row: 2 ;
	grid-column: 1 / span 2;
}

/*
.navbar_grid div {
	background-color: yellow;
}
*/

.navbar_logo {
	height: 50px;
	width: auto;
}

.navbar1 {
	text-align: right;
}

.navbar1 a {
	/*border-right: 1px solid var(--text_color2);*/
	border: 1px solid var(--text_color2);
	font-size: 10pt;
	color: var(--text_color2);
	padding: 0px 10px;
	letter-spacing: 1px;
}

.navbar1 a:last-child {
	border-right: none;
}

.navbar2 {
	display: flex;
	flex-direction: row;
	justify-content: center;		/* horizontal align */
	text-align: center;
	letter-spacing: 1px;
}

/*.navbar2 div:not(:first-child) {*/
.navbar2 div {
	
	padding: 5px 20px;
}
/*
.navbar2 div:hover:not(:first-child) {
	border-bottom: 4px solid var(--text_color2);
}*/
.navbar2 div:hover {
	border-bottom: 4px solid var(--text_color2);
}

.navbar_icon {				/* menu image displayed on small screens */
	display:none;
	background-color: var(--menu_background_color);
}




/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media screen and (max-width: 950px){
	
	.navbar {
		padding: 0 5px 5px 5px;
	}
	.navbar_grid {
		display: block;
	}
	.navbar_logo {
		height: 30px;
	}
	.navbar1 {
		text-align: center;
	}
	.navbar1 a {
		font-size: 9pt;
		padding: 0px 5px;
		letter-spacing: 0px;
	}
	.navbar_icon {				/* menu image displayed on small screens */
		display: block;
	}
	.navbar2 {
		flex-direction: column;
	}
	.navbar2 div:not(:first-child) {
		display: none;
	}
	.navbar2.responsive div {
		display: block;
	}
	.navbar2 div {
		border-bottom: 1px solid white;
		height: 40px;
		line-height: 40px;
		padding: 0px;
		background-color: var(--menu_background_color);
		color: white;
	}
	.navbar2 div:hover {
		border-bottom: none;
		background-color: var(--text_color2);
	}

}




/* 
==============================================================================================
Table styles
==============================================================================================
*/

table {
   border-collapse: collapse;
	cursor:default;
	/*	width: 100%;*/
}
td { 
	word-wrap: break-word;
	word-break: break-word;
	padding-right: 10px;
}

.th_div {
   margin-bottom: 2px;
	font-size: 10pt;
}
.th_div table {
   border-bottom: 2px solid black;
}

.tb_div {
   overflow-y:auto;
	overflow-x:hidden;
	font-size: 10pt;
}
.tb_div tr:hover {
	background-color: var(--main_color);
	color:white;
}

.tf_div {
   margin-top: 2px;
	font-size: 10pt;                /* in case their is a customised footer not in a table */
}
.tf_div table {
   border-top: 2px solid black;
}

.table_icon {								/* delete icon etc used in table rows */
	background-color: var(--background_color);
	cursor: pointer;
}

.table_edit {								/* table row edits - eg allocations matchref */
	margin:0px; 
	padding:1px;
}

.table_row_border td {
	padding-top:5px;
	padding-bottom:5px;
	border-bottom:1px solid Gray;
}

.table_col_stress {						/* used in config, config_text */
	color: blue;
}

.table_header {
	font-size: 20px;
	margin-bottom: 5px;
}



/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media only screen and (max-width: 950px) {
	
	table {
		/*width:95%							/* to allow room for scroll bar */
	}
	
	.tb_div td {							/* put border between rows and space out */
		padding-top:8px;
		padding-bottom:8px;
		border-bottom:1px solid Gray;
	}
	
}




/*
==============================================================================================
 Page
==============================================================================================
*/

























/*
==============================================================================================
Button styles
==============================================================================================
*/

button {
  display: inline-block;
  padding: 5px 15px;                 /* top & Bottom, left & right */    
  font-size: 11pt;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  outline: none;
  color: white;
  background-color: var(--text_color);
  border: none;
  border-radius: 5px;
  box-shadow: 5px 5px 5px var(--box_shadow_color);
  margin: 2px 20px 10px 0;             /* top right bottom left */ 
}

button:hover {background-color: var(--text_color2);}

button:active {
  box-shadow: 2px 2px 2px var(--box_shadow_color); 
  transform: translateY(4px);
}


td button {
	font-size: 8pt; 
	padding: 2px 6px;    
	margin: 0px;
	background-color: black;
}
td button:hover {background-color: red;}


/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media only screen and (max-width: 950px) {
	
	button, input[type=submit], input[type=reset], input[type=button] {
		/*font-size: 10pt;*/
		font-weight: bold;
	}
}




/*
==============================================================================================
Menu navigation bar - load_page.php
==============================================================================================
*/

.menu_container {
   background-color: var(--menu_background_color);
	border-radius: 5px;						/* gives rounded edges to navbar */
	margin: 0 0 10px 0;						/* make some space below navbar */
	height: 40px;								/* must be same as .menu_top_level a line-height */
}

.menu_container .menu_icon {				/* menu image displayed on small screens */
	display:none;
	background-color: var(--menu_background_color);
}

.menu_top_level {
   list-style-type: none;            	/* no bullets or numbering in list */
   padding: 0;
	margin: 0;
}

.menu_top_level > li {
   position: relative;
   float: left;
	border-right: 1px solid white;		/* separater between top level menu items */
}

.menu_top_level li:hover > ul {
   display: inline;							/* On hover, display the next level's menu */
}

.menu_top_level a {
   color: white;								/* top level text colour */
   text-decoration: none;
	padding: 0px 16px;                	/* top&bottom  right&left */
   display: block; 
	line-height: 40px;						/* must be same as menu_container height */
}

.menu_top_level a:hover { 
	background: var(--menu_bck_hover_color);		/* Change background colour when hover on links */ 
}

.menu_level_1 {
   position: absolute;  
   left: 0;
   list-style: none;
   padding: 0;
   display: none;
	box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
	z-index: 1;													/* make sure appears on top of everything else */
}

.menu_level_1 > li {
    position: relative;   
}

.menu_level_1 a {
	color: var(--menu_dropdown_text_color);
   padding: 5px 10px;
   text-align: left;
   font-size: 90%;
	background-color: var(--menu_dropdown_bck_color);
	white-space: nowrap;										/* prevent text wrapping to the next line */
	line-height: normal;										/* remove 40px line height */ 
}

.menu_level_2 {
   top: 0;
   right: -210px;												/* set right edge ...px to right edge of 2nd level menu */
   width: 210px;												/* must set width to minus same value as right */
   list-style: none;											/* hide bullets */
   padding: 5px 0px;
	background-color: var(--menu_dropdown_bck_color);
   display: none;												/* hide until hover on parent */
   position: absolute;										/* to prevent whole screen shifting down */
   box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);	/* nice shadow effect */
   z-index: 1;		
}


/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media screen and (max-width: 900px){
	
	/* make menu stay within container */
	.menu_container::after {
    content: "";
    clear: both;
    display: table;
	}
	
	/* disable height as now verticaly stacked */
	.menu_container {
		height: unset;
	}
	
	/* Make all menu links full width and vertically stacked */
   .menu_top_level li {
		width: 100%;
		display: block;
		}
	
	/* Now show a horizontal divider and center text */
	.menu_top_level li a {	
		text-align: center;
      border-bottom: 1px solid white;
	}
		
   .menu_level_1 {
      width: 100%;
      display: block;
		display: none;						/* hide until hover on parent */
		position: relative;		     	/* makes lower links shift down rather than overlaying them */		
   }

	.menu_level_1 a {
		padding: 0px 10px;
		line-height: 40px;				/* give more spacing for mobiles */
	}

	.menu_level_2 {
		width: 100%;
		right: 0px;
      display: block;
		position: relative;		     	/* makes lower links shift down rather than overlaying them */	
	}

	.menu_level_2 a {
		background-color: #a5f3d8;		/* light green 80% */
	}


	/* display menu icon - used to toggle menu display */
	.menu_container a.menu_icon {display:block;}
	
	/* to toggle menu display */
	.menu_container li a {display:none;}
	.menu_container.responsive li a {display:block;}


}




/* 
==============================================================================================
Modal screens
==============================================================================================
*/


/* modal background */
.modal {
	display: none;				/* hidden by default */
   position: fixed; 			/* stay in place - even if page scrolled */
   z-index: 1; 				/* sit on top */
   padding-top: 100px; 		/* space from top of page to modal content */
   left: 0;						/* cover whole screen */
   top: 0;
   width: 100%; 
   height: 100%; 
   overflow: auto; 			/* enable scroll if needed */
   background-color: rgb(0,0,0); 			/* fallback color */
   background-color: rgba(0,0,0,0.4); 		/* black with 0.4 opacity - 0.0=fully transparent, 1.0=opaque */
}
.modal2 {
	padding-top: 110px; 		/* space from top of page to modal content */
	padding-left: 10px;
}

/* modal wrapper */
.modal_wrapper {
	background-color: #fefefe;   	/* off white */
	margin: auto;						/* centre */
   position: relative;
   border-radius: 10px;
   box-shadow: 10px 10px 5px var(--box_shadow_color);
	animation-name: animatetop;
   animation-duration: 0.6s;
}
.modal_wrapper form {
   padding: 15px 25px;
   font-size: small;
}

/* x icon (&times;) to close modal */
.modal_close {
	color: LightGray;
/*   float: right;
	font-weight: bold;*/
   font-size: 30px;
	position: absolute;
	right: 20px;
}
.modal_close:hover, .modal_close:focus {
   color: Black;
   cursor: pointer;
}

/* modal header */
.modal_header {
	background-color: var(--main_color);
   text-align: center;
   font-size: 1.2em;
   padding: 10px 30px;		/* need to leave space for X close */
   letter-spacing: 4px;
   font-variant: small-caps;
   color: white;
   margin-bottom: 0px;
	border-radius: 10px 10px 0px 0px;
}


.modal_content {
	padding: 20px;
}
.modal_picklist {
	padding: 20px;
}


/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media only screen and (max-width: 950px) {
	.modal {
		padding-top: 0px;
	}
	
	.modal_wrapper {
		width: 100%;
	}
	
	.modal_wrapper form {
		padding: 10px 10px;
   }
}







/* 
==============================================================================================
								* * *   P A G E   S T Y L E S   * * *
==============================================================================================
*/


/*
==============================================================================================
Home Page
==============================================================================================
*/

.home_gallery_container {
	display: grid;
	grid-gap: 30px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: auto;
	max-width: 1400px;
}

.home_gallery {
	margin: 5px;
	border: 1px solid #ccc;
	box-shadow: 0 2px 8px 0 grey;
}

.home_gallery img {
  width: 100%;
  height: auto;
}

.home_gallery_desc {
	padding: 15px;
	text-align: center;
}


/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media screen and (max-width: 950px){
		
	.home_gallery_container {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-gap: 15px;
	}
		
	.home_gallery_desc {
		padding: 5px;
	}

}


/* mobile phones 0-500px */
/* --------------------- */
@media only screen and (max-width: 500px) {
	
	.home_gallery_container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-gap: 15px;
	}
	
}



/*
==============================================================================================
Contact Us Page
==============================================================================================
*/

.contact_grid {
	display: grid;
	grid-template-columns: 100px auto auto;
	grid-gap: 20px;
	max-width: 1000px;
	margin: auto;
}

.contact_grid div {
	display: flex;
	align-items: center;
}

.contact_grid div:first-child {
	grid-column: 3 ;
	grid-row: 1 / span 3;
	justify-content: center;
}

#contact img {
	width: 100%;
	height: auto;
	max-width: 600px;
	
}

.contact_grid div:first-child img {
	box-shadow: 0 2px 8px 0 grey;
}

/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media screen and (max-width: 950px){
		
	.contact_grid {
		display: grid;
		grid-template-columns: 70px auto;
		grid-gap: 10px;
	}

}



/*
==============================================================================================
Online Ordering Page
==============================================================================================
*/

.ordering {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	align-items:flex-start;				/* vertical align */
	justify-content: center;		/* horizontal align */
}

.ordering div {
	padding: 20px 30px;
	margin: 20px;
	box-shadow: 0 2px 8px 0 grey;
	flex: 20%;
}

.ordering_img {
	display: flex;
	justify-content: center;		/* horizontal align */
}

.ordering_img img {
	width: 50%;
	height: auto;
}


/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media screen and (max-width: 950px){
		
	.ordering {
		flex-direction: column;
	}
	.ordering div {
		width: 95%;
	}
	.ordering_img img {
		width: 90%;
	}
	
}


/*
==============================================================================================
 About Us Page
==============================================================================================
*/


/*
==============================================================================================
 Sundry Pages
==============================================================================================
*/

#about {
	
}

#about img, #brochure img, #products img {
	width: 35%;
	height: auto;
	margin: 20px 40px 20px 0px;
	float:left;
	box-shadow: 0 2px 8px 0 grey;
}

#brochure img {
	  box-shadow: 5px 5px 8px 0 gray;
}

.home2_container {
  position: relative;
 width: 80%;
 max-width: 1200px;
 margin: auto;
}

.home2_container img {
	box-shadow: 0 2px 8px 0 grey;
}

.home2_content {
	position: absolute;
  top: 0;
  background: rgb(0, 0, 0); /* Fallback color */
  background: rgba(0, 0, 0, 0.5); /* Black background with 0.5 opacity */
  color: #f1f1f1;
  width: 45%;
  padding: 20px 50px;
  font-weight: bold;
  font-size: 3vw;	/* 1vw = 1% of viewport width */

}
.home2_content div{
	padding: 5px 0px;
	line-height: 1.2;
}

.home2_content div:hover{
	background-color: var(--text_color2);
}


.home3_text {
	position: absolute;
  top: 0;
  right: 0;
  background: rgb(0, 0, 0); /* Fallback color */
  background: rgba(255, 255, 255, 0.5); /* Black background with 0.5 opacity */
  color: var(--text_color2);
  width: 40%;
  padding: 20px 30px;
  font-weight: bold;
  font-size: 2.5vw;	/* 1vw = 1% of viewport width */
  line-height: 1.1;
}

.home3_text ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.home3_text li {
	border-bottom: 1px solid var(--text_color2);
	padding: 10px 0px;
}


.home4_hdr2 {
	text-align:center;
	color: var(--text_color2);
	font-weight: bold;
	font-style: italic;
	font-size: 1.5vw;
	margin-bottom: 10px;
}
.home4_hdr3 {
	text-align:center;
	color: var(--text_color2);
	font-weight: bold;
	font-style: italic;
	font-size: 12pt;
}
.home4_border {
	padding: 0 20px;
	font-style: normal;
}


.home6_container {
  position: relative;
 width: 100%;
 max-width: 1400px;
 margin: auto;
}
.home6_content {
		position: absolute;
  top: 0;
 
  background: rgb(0, 0, 0); /* Fallback color */
  background: rgba(255, 255, 255, 0.5); /* Black background with 0.5 opacity */
  color: var(--text_color2);
  width: 45%;
  padding: 20px 60px;
  font-weight: bold;
  font-size: 2.5vw;	/* 1vw = 1% of viewport width */
  line-height: 1.1;

}
.home6_content ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.home6_content li {
	border-bottom: 1px solid var(--text_color2);
	padding: 10px 0px;
}



/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media screen and (max-width: 950px){
	.home2_container {
		width: 100%;
	}
	.home2_content {
		padding: 20px 25px;
	}
	.home3_text {
		padding: 15px 20px;
	}
}



/* pcs, large screens - minimum width 1200px */
/* ---------------------------------------- */
@media only screen and (min-width: 1200px) {

	.home2_content {
		font-size: 25pt;  /* ie restrict size on large screen */
	}
	
	.home3_text {
		font-size: 20pt;  /* ie restrict size on large screen */
	}
}

