/* 
==============================================================================================
Styles for bookings system


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: #f3f7ed;			/* green 95% */
	--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% */
	
}



/* 
==============================================================================================
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: lighter;
}
@font-face {
	font-family: "roboto";
	src: url("../fonts/Roboto-LightItalic.ttf");
	font-weight: lighter;
	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 {
	padding: 10px 20px 20px 20px; 
	font-size: 100%;
   max-width: 1200px;
	color:  var(--text_color);
	background-color: var(--body_background_color);
	margin: auto;									/* centre horizontally */
	font-family: 'Roboto', sans-serif;
}

* {
   box-sizing: border-box;               /* elements should have padding and border included in size (but not margin) */
}

.outer_wrapper {
	border-radius: 10px;
	box-shadow: 10px 10px 5px var(--box_shadow_color);
	padding: 10px 15px 5px 15px;
	background-color: var(--background_color);
	border: 1px solid gainsboro;
}

.main_div {
	margin-top: 10px;
   margin-bottom: 5px;
   padding: 0px 10px 0px 10px;
   overflow: auto;
	min-height: 460px;
	width:100%;
}

.footer {
    padding: 5px;
    width: 100%;
	 font-size:small;
	 color: var(--main_color);
}


/* headers */
/* ------- */
.h1 {
	font-size: 20pt;
	margin-bottom: 5px;
}
.h2 {
	color: var(--main_color);
	font-style: italic;
	font-weight: bold;
	font-size: 15pt;
}
.h3 {
	font-weight: bold;
	font-style: italic;
	letter-spacing: 2px;
}


/* sundry tags */
/* ----------- */
fieldset{
   border: solid 1px var(--main_color);
   border-radius: 5px;
}

hr {                                     
   color: var(--main_color); 
	margin: 0px 0px 5px 0px;
}

div {
	word-break: break-word;
}

textarea {
  resize: none;
}


.li_indent {
	margin-left: 30px;
}


/* 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;
}


/* bar to hide/display div */
/* ----------------------- */
.toggle_display_bar {
	padding: 10px 16px;
	width: 90%;
	margin: 5px auto 10px auto;
	display: none;
}


/* info box, info text */
/* ------------------- */
.info_box {
	border: 1px solid; 
   padding: 5px 5px; 
   margin-bottom: 5px;
   border-radius: 5px;
   font-style: italic;
   font-size: small;
   color: var(--info_box_color);
}
.info {
	font-size: small;
	font-style: italic;
	color: var(--info_box_color);
	font-weight: normal;
	letter-spacing: normal;
}


/* search box */
/* ---------- */
.srch_box {
   background-image: url('../images/search.png');
   background-size: 25px 25px;
   background-position: left center;
   background-repeat: no-repeat;
   width: 200px;
   font-size: 16px; 
   padding: 5px 10px 5px 30px;
   border: 1px solid #ddd; 				/* Add a grey border */
   margin-bottom: 5px;
	margin-top: 2px;
	margin-right: 20px;
}
.srch_box_float {
	float: left;
	margin-right:20px;
}


/* message box */
/* ----------- */
#message {
	z-index: 10;				/* make absolutely sure always on top */
	padding-top: 110px;
}
.message_box {
	overflow-wrap: break-word;
   max-width: 350px;
}



/* flex box */
/* ----------- */
.flex_box {
	display: flex;
	flex-wrap: wrap;
}




/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media screen and (max-width: 950px){
	
	.big_screen { display: none; }	
	
	.toggle_display_bar { display:block; }
	
	#menu_form input[type=text] { width: 100% }
	
	.main_div { padding: 0px; }
	
	.srch_box { width: 150px; }
	
	.srch_box_float {
		float: none;
	}

}


/* 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; }
	
}




/*
==============================================================================================
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(--main_color);}

button:active {
  box-shadow: 2px 2px 2px var(--box_shadow_color); 
  transform: translateY(4px);
}


/*
form button {
	background-color: var(--main_color);
}

form button:hover {
	background-color: black;
}
*/

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;
	}
}




/*
==============================================================================================
Email form
==============================================================================================
*/
#email_modal .modal_wrapper {
	max-width: 700px;
}

.email_grid {
	display:	grid;									
	grid-template-columns: 70px auto;
	align-items: center;
	row-gap:	10px;
}
.email_grid button { margin-right: 0px; }


#email_modal input[type=text]  {
	width: 100%;
	max-width: 400px;
	padding: 5px 10px;
}

#email_modal textarea {
	width: 100%;
	max-width: 100%;
	padding: 5px 10px;
}

#email_modal input, #email_modal button {
	margin-bottom: 0px;
}


/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media only screen and (max-width: 950px) {
	
	.email_grid {						
		grid-template-columns: auto;
		row-gap:	0px;
	}
	#email_modal input, #email_modal button {
		margin-bottom: 10px;
	}
	
}




/*
==============================================================================================
Form styles
==============================================================================================
*/

input, select, textarea {
   padding: 3px 10px;
  	border: 1px solid var(--input_border_color);
	border-radius: 5px;
	color: blue;
	margin-bottom:8px;
}

input::placeholder {
  	color: gray;
}

input[readonly], :disabled, textarea[readonly] {
	background-color: AliceBlue;
}


/* form buttons */
input[type=submit], input[type=reset], input[type=button]{
	background-color: black;
   color: white;
   padding: 5px 15px;
	font-size: 11pt;	
   cursor: pointer;
   box-shadow: 5px 5px 5px var(--box_shadow_color);
   outline: none;
   border: none;
   border-radius: 5px;
	margin-right: 20px;
}
input[type=submit]:hover, input[type=reset]:hover, input[type=button]:hover{
	 background-color: var(--main_color);
}
input[type=submit]:active, input[type=reset]:active, input[type=button]:active{
	box-shadow: 2px 2px 2px var(--box_shadow_color); 
	transform: translateY(4px);
}


/* text info for radio buttons */
.radio_info {
	font-size: small;
	font-style: italic;
	margin-left: 25px;
}


/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media only screen and (max-width: 950px) {
	
	.input_small_scr {
		width: 95%;
	}
	
}


/*
==============================================================================================
Login screen - index.php
==============================================================================================
*/

.login_grid {
	display:	grid;										/* CSS grid layout */
	padding: 5px;
}

.login_logo {
	grid-column: 1;
	display: flex;										
	align-items: center;								/* center vertically */
}

.login_logo img {									
	height: 20px;
	width: auto;
}

.login_hdr {											/* system name */
	grid-column: 2;
	display: flex;
	align-items: center;
	justify-content: right;
	font-size: 25px;
	letter-spacing: 4px;
}

.login_bar {
	grid-column: 1 / span 2;	
	border-top: 5px solid var(--main_color);
   margin-bottom:50px;
}

.login_form_container {											
	grid-column: 1 / span 2;	
	display: flex;
	justify-content: center;						/* horizontal align */
}

.login_div {
	background-color: var(--background_color);
   border-radius: 5px;
	box-shadow: 10px 10px 5px var(--box_shadow_color);
	min-width: 300px;
	max-width: 350px;
}

.login_div form {
   padding: 15px 25px;
   font-size: 100%;
}

.login_form_hdr {
   background-color: var(--main_color);
   text-align: center;
   font-size: 20px;
   padding: 15px;
   letter-spacing: 4px;
   font-variant: small-caps;
   color: white;
   margin-bottom: 0px;
	border-radius: 5px 5px 0px 0px;
}

.login_input {
   width: 100%;
   padding: 5px 10px;
   display: inline-block;
   border: 1px solid var(--input_border_color);
}

.login_div input[type=submit] {
   background-color: var(--main_color);
   color: white;
   padding: 5px 20px;
   cursor: pointer;
   box-shadow: 5px 5px 5px var(--box_shadow_color);
   outline: none;
   border: none;
   border-radius: 5px;
}

.login_div input[type=submit]:hover {
    opacity: 0.8;
}

.login_errors {
	color: var(--error_color);
}



/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media only screen and (max-width: 950px) {

	.login_logo img {
		height: 15px;
	}
	.login_hdr {
		font-size: 20px;
		letter-spacing: 2px;
	/*	justify-content: left;
		grid-column: 1;*/
	}
	.login_div { min-width: 0px; }

}




/*
==============================================================================================
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;
   }
}




/* 
==============================================================================================
Help modal
==============================================================================================
*/

#help_modal { z-index: 2; }

#help_modal .modal_wrapper {
	max-width: 850px;
	padding-bottom: 20px;
}

#help_modal .modal_content {
	height: 430px;
	overflow: auto;
}

#help_modal li {					/* li elements which are a descendent of id=help_modal */
	margin-bottom: 10px;
}

#help_modal li > li{
	margin-left: 40px;
}

#help_modal button {
	font-size: 10pt;
	padding: 5px 10px;
	margin: 0px;
}

#help_modal li > button {
	font-size: 9pt;
	padding: 3px 7px;
	margin: 0px 5px 0px 2px;
	box-shadow: 3px 3px 3px var(--box_shadow_color);
}

#help_modal ol {
	padding:15px;
}
#help_modal ol li ul {
	padding:10px;
}

.help_modal_grid {
	display:	grid;										
	grid-template-columns: auto auto;
	gap: 20px;	
}



/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media only screen and (max-width: 950px) {
	
	.help_modal_grid {
		grid-template-columns: auto;		/* 1 column */
	}
	#help_modal ul {					/* ul elements which are a descendent of id=help_modal */
		padding-left: 20px;			/* reduce indent for small screens */
	}
}




/*
==============================================================================================
Page header - load_page.php
==============================================================================================
*/
.pg_hdr_grid {
	display:	grid;										/* CSS grid layout used for header */
	grid-template-columns: 35px auto auto;		/* 3 columns with width specified for 1st column */
}

.pg_hdr_item {
	padding: 5px;
   display: flex;										/* CSS flexbox layout used for grid items */
	align-items: center;								/* center vertically */
}

.pg_hdr_item1 {
	grid-column: 1;
	justify-content: left;
}

.pg_hdr_item1 img {									/* icon image */
	height: 20px;
	width: auto;
}

.pg_hdr_item2 {										/* system name ie Personal Health Record */
	grid-column: 2;
	letter-spacing: 5px;
	font-size: 20px;
}

.pg_hdr_item3 {										/* user fullname */
	grid-column: 3 ;
	font-size: 20px;
	justify-content: right;
}


/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media only screen and (max-width: 950px) {
	
	.pg_hdr_grid {
		grid-template-columns: 25px auto;		/* 2 columns with width specified for 1st column */
	}
	
	.pg_hdr_item {
		padding: 2px;
	}

	.pg_hdr_item1 img {
		height: 15px;
		width: auto;
	}
	
	.pg_hdr_item2 {
		letter-spacing: 3px;
	}
	
	.pg_hdr_item3 {
		grid-column: 1 /span 2 ;				/* spans 2 columns ie whole width */
		font-size: 15px;
		justify-content: left;
		display: none;
	}

}




/* 
==============================================================================================
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;
	}
	
}




/* 
==============================================================================================
								* * *   P A G E   S T Y L E S   * * *
==============================================================================================
*/



/*
==============================================================================================
Generic page styles
==============================================================================================
*/
.pg_2col_grid {
	display:	grid;										/* CSS grid layout used for header */
	grid-template-columns: 280px auto;			/* 2 columns with width specified for 1st column */
}

.pg_2col_grid_col1 {
	grid-column: 1;
}

.pg_2col_grid_col2 {									
	grid-column: 2;
	border-left: 1px solid black;
	padding-left: 20px;
}


/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media only screen and (max-width: 950px) {
	
	.pg_2col_grid {
		grid-template-columns: auto;			/* 2 columns with width specified for 1st column */
	}
	.pg_2col_grid_col2 {									
		grid-column: 1;
		border: none;
		padding: 0px;
	}
	
}



/*
==============================================================================================
Help - product information page
==============================================================================================
*/

.help_info_grid {
	display:	grid;										/* CSS grid layout */
	grid-template-columns: auto 125px auto;
}


.help_info_col1 {
	grid-column: 1;
	grid-row: 1 /span 4;
	padding-right: 20px;
}


.help_info_chart {
	grid-column: 2 / span 2;
	grid-row: 1;
	margin:auto;
}

.help_info_icon {
	display: flex;
	align-items: center;
	justify-content: center;
}

.help_info_icon img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: 50px;
}

.xhelp_info_icons img {
	
	margin: auto;
}

.help_info_icon_txt {
	display: flex;
	align-items: center;
	padding: 10px;
}


/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media only screen and (max-width: 950px) {

	.help_info_grid {
		grid-template-columns: 60px auto;
	}

	.help_info_col1 {
		grid-column: 1 / span 2;
	}
	.help_info_features_txt {
		grid-row: 2;
	}
	.help_info_chart {
		grid-column: 1 / span 2;
		grid-row: 3;
	}
	
	

	.help_info_img img {
		height: 30px;
		margin: 0px;
	}
}

/*
==============================================================================================
Home page - home.php
==============================================================================================
*/

.home_grid {
	display: grid;
	column-gap: 30px;
	row-gap: 10px;
	grid-template-columns: 350px auto;
	grid-template-rows: 40px auto;  
	height:380px;
}

.home_logo img{
	float: right;
}

.home_col1 { 
  grid-row: 1 / span 2;
  padding-right: 20px;
}

#home_bk_btn {
	padding: 50px 50px;
	font-size: 15pt;
	background-color: var(--main_color);
}
#home_bk_btn:hover {
	background-color: var(--text_color);
}


@media only screen and (max-width: 950px) {
	.home_grid {
		grid-template-columns: auto;
		grid-template-rows: auto;  		
		height: fit-content;
		grid-gap: 0px;
	}
	.home_logo {
		grid-row: 1;
	}
	.home_logo img {
		float:left;
		width: 120px;
	}
	.home_col1 {
		/*grid-row: 2;*/
	}
	.home_hdr {
		font-size: 13pt;
	}
	#home_bk_btn {
	padding: 30px 30px;
	
	}
}






/*
==============================================================================================
Menu access - menu_access.php
==============================================================================================
*/
.menu_access_grid {
	display:	grid;										/* CSS grid layout used for header */
	grid-template-columns: 300px auto;			/* 2 columns with width specified for 1st column */
}

.menu_access_col1 {
	grid-column: 1;
}

#menu_access_col2 {									
	grid-column: 2;
	border-left: 1px solid black;
	padding-left: 20px;
}


/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media only screen and (max-width: 950px) {
	
	.menu_access_grid {
		grid-template-columns: auto;
	}
	#menu_access_col2 {									
		grid-column: 1;
		border: none;
		padding: 0px;
	}
	
	
}
	
	






/*
==============================================================================================
Users - users.php
- grid is for add/edit modal
==============================================================================================
*/
.user_grid {
	display:	grid;		
	grid-template-columns: 100px 100px auto;
	column-gap: 15px;
	row-gap:	10px;
}

.user_id {
	grid-row: 1;
	width: 50px;
}

.user_grp {
	max-width: 200px;
}

.user_name {
	grid-column: 1 / span 2;
	max-width: 150px;
}

.user_email {
	grid-column: 1 / span 3;
}

.user_note {
	grid-column: 1 / span 3;
}

.user_anal {
	max-width: 150px;
}


/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media only screen and (max-width: 950px) {
	
	.user_grid {
		grid-template-columns: auto;
		row-gap:	0px;
	}
	.user_grid input {
		width: 100%;
	}
	.user_email, .user_name, .user_note {
		grid-column: 1;
	}
}




/*
==============================================================================================
Bookings - booking.php
==============================================================================================
*/

.bk_booked {
	color: white;
	background-color: red;
	display: inline-block;
	width: 60px;
	padding: 2px 5px;
	text-align: center;
}

.bk_grid {
	display:	grid;
	column-gap: 25px;	
	grid-template-columns: auto 450px;
}

.bk_chart {
	width: 98%;
	height: 200px;
}

#bk_act_date {
	display: flex;
}

.bk_srch_div {
	margin-right:40px;
	display: inline-block;
}
.bk_btn_div {
	display: inline-block;
}

/* height of calendar table */
#calendar_div .tb_div {
	height:300px;
}

#bk_history_srch { margin-right: 40px; }

.bk_rule_modal {
	max-height: 380px;
	overflow: auto;
}


/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media only screen and (max-width: 950px) {
	
	.bk_grid {
		grid-template-columns: auto;
		font-size: small;
	}
	
	.bk_chart {
		grid-column: 1;
		height:200px;
		
	}

	#booking_div .tb_div {
		height:unset;
	}
	
	#bk_act_date {
		display: block;
	}
	
	.bk_srch_div {
		margin-right:10px;
	}
	
	#bk_add_new_btn {
		padding: 7px 20px;
		background-color: var(--main_color);
	}
	#bk_add_new_btn:hover { background-color: var(--text_color); }
	
	#calendar_div .tb_div {
		height:unset;
	}
	
	#bk_history_srch { margin-right: 100%; }
	
	.bk_rule_modal {
		max-height: unset;
		
	}
}




/*
==============================================================================================
Booking Statistics - bk_stats.php
==============================================================================================
*/

.bk_stats_options {
	display:flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.bk_stats_options div {
	margin-right: 20px;
}

.bk_stats_charts {
	height:300px;
	float:left;
}
.bk_stats_dow {
	width:20%;
	padding-right:30px;
}
.bk_stats_tod {
	width:30%;
	padding-right:30px;
}
.bk_stats_user{
	width:45%;
}

/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media only screen and (max-width: 950px) {
	
	.bk_stats_dow, .bk_stats_tod, .bk_stats_user {
		width:90%;
	}
}




/*
==============================================================================================
Activities - act.php
==============================================================================================
*/

.act_flex {
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.act_flex > div {
	padding: 20px;
	width:45%;
}

.act_flex textarea {
	width: 100%;
	height: 200px;
}


/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media only screen and (max-width: 950px) {
	
	.act_flex > div {
		width:95%;
	}
}




/*
==============================================================================================
Activity calendar - act_cal.php
==============================================================================================
*/

.act_chart {
	
	width: 98%;
	height:250px;
}

.act_cal_grid {
	display:	grid;
	column-gap: 30px;
	row-gap: 10px;	
	grid-template-columns: auto auto;
}



/* mobiles, small screens - 0px to 950px */
/* ------------------------------------- */
@media only screen and (max-width: 950px) {
	
	.act_cal_grid {
		grid-template-columns: auto;
	}
}


