/**
* CSS for common style across web pages 
*
* @version 2.0
*/
:root
{
	--primary_color: #adb96e;
	--dark_primary: #7d893e; /*first digits for ea. color reduced by 3*/
	--dark: #42413c;
	--light_color: #fff;
}	

*{
	margin:0;
	padding:0;
	box-sizing:border-box;
}

.req::before
{
	content:'*';
	color:#ff0000;
	display:inline;
}

.text-primary
{
	color:var(--dark_primary);
}

body
{
	font-family: Arial, Helvetica, sans-serif;
	background-color: var(--dark);
	margin: 0;
	padding: 10px 10px;
	color: #000;
	font-size:14px;
}

label
{
	font-weight:bold;
	display:block;
	font-size:14px;
	margin-bottom:5px;
}

.box
{
border:#666 solid 1px;
}

.hidden
{
	display:none;
}

.tableSpacer{
	height:.25rem;
}

/* ~~ Element/tag selectors ~~ */
ul, ol, dl 
{ 
	/* Due to variations between browsers, it's best practices to zero padding and margin on lists. For consistency, you can either specify the amounts you want here, or on the list items (LI, DT, DD) they contain. Remember that what you do here will cascade to the .nav list unless you write a more specific selector. */
	padding: 0;
	margin: 0;
}

p
{
	margin-top: 0;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-right: 5px;
	padding-left: 5px;
}

a
{
	color: var(--dark);
	font-size:.8rem;
}

a img
{ 
	/* this selector removes the default blue border displayed in some browsers around an image when it is surrounded by a link */
	border: none;
}

a:hover, a:active, a:focus 
{ 
	/* this group of selectors will give a keyboard navigator the same hover experience as the person using a mouse. */
	text-decoration: none;
}

header
{
	max-width:1280px;
	width:85%;
	margin: 0 auto;
}

input
{
	text-align:left;
	border-radius:10px;
	padding:5px;
	margin-bottom:15px;
	border: 1px #333 solid;
	transition:box-shadow .2s;
}

input:focus
{
	outline-style:none;
	box-shadow:0 0 2pt 1pt var(--primary_color);
}

textarea
{
	text-align:left;
	border-radius:10px;
	padding:5px;
	margin-bottom:15px;
	border: 1px #333 solid;
	transition:box-shadow .2s;
}

textarea:focus
{
	outline-style:none;
	box-shadow:0 0 2pt 1pt var(--primary_color);
}


/* Select Styling */
select
{
	margin-bottom:10px;
	width:100%;
	padding:5px;
}

select:focus
{
	outline-color:var(--primary_color);
	border-color:var(--primary_color);
}

select:active,
select:hover
{
	border-color:var(--primary_color);
	outline-color:var(--primary_color);
}

#header 
{
	background-color: var(--dark);
	padding: 0;
}

#header .headerImage
{
	max-width:1280px;
	min-height:370px;
	margin-bottom:15px;
	background: url('../images/gorillabanner4.jpg') no-repeat center center/cover;
}

#header .headerLabel 
{	
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	justify-content:flex-end;
	padding:10px 20px 10px 20px;
	background-color: var(--dark);
	background: url('../images/gorillabanner4.jpg') no-repeat top center/cover;
	background-origin:border-box;
	text-align:left;
	margin-bottom:15px;
	border:4px solid var(--primary_color);
	position: relative;
}

#header .headerLabel::before 
{	
	content:"";
	background-color:var(--dark);
	opacity:.7;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

#header .headerLabel *
{
	z-index:5;
	position:relative; /*has to be here for z-index to work: positioned elements are drawn on top of non-positioned elements*/
	text-align:right;
}

#header .headerLabel h1
{
	color:#FFF;
	font-size:25px;
	margin:0;
	padding:0;
	display:inline;
	margin-bottom:5px;
}

#header .headerLabel h2
{
	color:#CCC;
	font-size:22px;
	margin:0;
	padding:0;
	display:inline;
	margin-bottom:5px;
}

#header .headerLabel h3
{
	color:var(--primary_color);
	font-size:10px;
	font-style:italic;
	margin:0;
	display:block;
	padding-left:0;
	margin-bottom:5px;
}

/* ~~this fixed width container surrounds the other divs~~ */
.container 
{
	width:85%; 
	max-width:1280px;
	background-color:var(--dark); /*#FFF;*/
	margin: 0 auto;
	display:flex;
}

/* Content */
.content
{
	background-color:var(--light_color);
	border-radius:0 0 10px 10px;
	flex-grow:1;
	width:5px;
}

.content p
{
	padding:15px;
}

.block
{
	padding: 10px;
	background:#efefef;
	border-radius:10px;
}

.block h3
{
	font-size:1rem;
	padding:0;
	margin:5px;
	margin-bottom:10px;
}

.block h4
{
	font-size:.9rem;
	padding:0;
	margin-bottom:20px;
}

/* Button Styling */
.btn,
.submit
{
	display:block;
	margin-bottom:5px;
	text-decoration:none;
	background-color:var(--primary_color);
	color:var(--dark);
	padding:10px;
	border-radius:10px;
	font-weight:bold;
	cursor:pointer;
	border:none;
	font-size:.8rem;
	transition: background .3s,color .3s;
}

.fullBtn
{
	text-align:center;
	width:100%;
}

.btn:hover,
.submit:hover
{
	background-color:var(--dark);
	color:var(--primary_color);
}

.btn:focus
{
	outline-style:none;
}

.btnSelected
{
	background-color: var(--dark) !important;
	color: var(--primary_color) !important;
}

/* Standard Submit Form */
.submitForm
{
	width:auto;
	margin:30px;
	text-align:left;
	display:flex;
	flex-direction:column;
	align-items:center;
}

.submitForm .label
{
	text-align:left;
}

.errorMsg,
.successMsg
{
	font-size:11px;
	color:#cc0000;
	margin: 10px 0 5px 0;
}

.successMsg
{
	color:#00cc00;
}

.error,
.success
{
	font-size:12px;
	background: #333;
	color:#ff7659;
}

.success
{
	background: #333;
	color:var(--primary_color);
}

.notification
{
  position: absolute;
  z-index: 100;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
  line-height: 2.5;
  overflow: hidden; 
  box-shadow:0 0 5px black;
  overflow-wrap:break-word;
  box-sizing: border-box;
}

/* Sidebar Styling */
#sidebar
{
	margin-right:5px;
	flex:0 0 150px;
}

#sidebarLanding.sidebarItemSelect,
#sidebarChangePW.sidebarItemSelect,
#sidebarHome.sidebarItemSelect,
#sidebarRequest.sidebarItemSelect,
#sidebarUsers.sidebarItemSelect,
#sidebarLogin.sidebarItemSelect
{
	background-color: var(--dark);
	color: var(--primary_color);
	border-left:3px solid var(--primary_color);
	padding:10px 7px 10px 10px;
}

/* ~~ This grouped selector gives the lists in the .content area space ~~ */
.content ul, .content ol 
{ 
	padding: 0 15px 15px 40px; /* this padding mirrors the right padding in the headings and paragraph rule above. Padding was placed on the bottom for space between other elements on the lists and on the left to create the indention. These may be adjusted as you wish. */
}

/* ~~ The navigation list styles (can be removed if you choose to use a premade flyout menu like Spry) ~~ */

li:hover
{
	cursor: pointer;
}
ul.nav 
{
	list-style: none; /* this removes the list marker */
}
ul.nav li 
{
	margin-bottom:1px;
	min-width:100px;
}
ul.nav a, ul.nav a:visited 
{ 
	/* grouping these selectors makes sure that your links retain their button look even after being visited */
	padding: 10px;
	display: block; /* this gives the link block properties causing it to fill the whole LI containing it. This causes the entire area to react to a mouse click. */
	text-decoration: none;
	background-color:var(--primary_color);/*#C6D580;*/
	color:var(--dark);
	font-weight:bold;
	border-radius:0 5px 0px 5px;
	transition: background .3s,color .3s,border .15s;
}
ul.nav a:hover, ul.nav a:active 
{ 
	/* this changes the background and text color for both mouse and keyboard navigators */
	background-color: var(--dark);
	color: var(--primary_color);
	border-left:3px solid var(--primary_color);
	padding:10px 7px 10px 10px;
}

/* Styling to simulate dropdown list for user management */
ul li ul
{
	list-style: none;
	visibility: hidden;
	opacity: 0;
	position: relative;
	left: 55px;
	display: none;
}

ul li:hover > ul,
ul li ul:hover
{
	visibility: visible;
	opacity: 1;
	display: block;
}

.pageTitle 
{
	padding:15px 5px;	
	text-align:center;
	background-color:var(--primary_color);
}

/* Session Timeout */
.sessionTimeoutLabel
{
	background-color:#FFF;
	padding:10px 5px;
	border:3px solid var(--primary_color);
	width:100%;
}

.sessionTimeoutLabel h4
{
	margin-top:5px;
	padding:0px 5px;
	margin-bottom:1rem;
}

.sessionTimeoutLabel a
{
	display:inline-block;
	text-decoration:none;
}

@media(max-width:900px)
{
	#dataManagement
	{
		display:grid;
		grid-template-areas:
		'daily'
		'weekly'
		'chimps'
		'communities'
		'observers';
	}
}

/* Footer */
.footer
{
	padding: 10px 0;
	background-color: #CCC49F;
	position: relative;/* this gives IE6 hasLayout to properly clear */
	clear: both; /* this clear property forces the .container to understand where the columns end and contain them */
}

.text-center
{
	text-align:center;
}

/* ~~ miscellaneous float/clear classes ~~ */
.fltrt 
{  
	/* this class can be used to float an element right in your page. The floated element must precede the element it should be next to on the page. */
	float: right;
	margin-left: 8px;
}
.fltlft 
{ 
	/* this class can be used to float an element left in your page. The floated element must precede the element it should be next to on the page. */
	float: left;
	margin-right: 8px;
}
.clearfloat 
{ 
	/* this class can be placed on a <br /> or empty div as the final element following the last floated div (within the #container) if the #footer is removed or taken out of the #container */
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}

th, td 
{ 
	/* Some defaults for table elments */
	text-align: left;
	padding: 5px;
	font-size: 14px;
}