/* CSS Document */

.member-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

.member-box {
	display: flex;
	justify-content: center;
}

.member {
	display: grid;
	grid-template-rows: 6fr 4fr;
}

.member-image {
	max-width: 180px;
	display: flex;
	align-items: center;
}

.member-description {
	max-width: 180px;
}

@media only screen and (max-width: 800px){
	.member-grid {
		grid-template-columns: 1fr 1fr 1fr;
	}
}

@media only screen and (max-width: 600px){
	.member-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media only screen and (max-width: 400px){
	.member-grid {
		grid-template-columns: 1fr;
	}
}

body {
	margin: 0; 
	font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
}

h1, h2 {
	font-style:oblique;
	font-weight:bold;  
	line-height: 1;
}

.side-menu-item {
	display: flex;
    font-size: 1.2em;
    border-top: black;
    padding: 8px 8px 8px 8px;
    height: 30px;
    align-items: center;
	border-style: solid;
    border-width: 0 0 2px 0;
	border-color: black;
	font-weight: bold;
}

.side-menu-item:hover {
	background: #f9f9f9;
}

#side-menu  > a {
	color: red;
	text-decoration: none;
}

#content {
	grid-area: content;
	font-size: 1em;
    line-height: 1.2em;
	padding-left: 5px;
	padding-right: 5px;
	/*font-family: Georgia;*/

}

#side-menu {
	z-index: 50;
	top: 76px;
	left: -240px;
	position: fixed;
	background: white;
	height: 100vh;
	transition: left 0.5s ease;
	min-width: 240px;
}

@media screen and (min-width: 1024px) {
  #side-menu {
    box-shadow: 2px 0px 5px 0px #aaaaaa;
	height: auto;
  }
}	



#side-menu.visible {
	opacity: 1;
	left: 0;
	box-shadow: 0 -0.1875rem 0.3125rem 0.1875rem #575757;
}	

#side-menu.hidden {}	

@media screen and (min-width: 1024px) {
  #side-menu {
    z-index: 0;
	top: 0;
	left: 0;
	position: inherit;
	grid-area: side;
	min-width: 200px;
  }
}

@media screen and (min-width: 1024px) {
  #page {
    grid-template-areas: "left head head right" "left side content right";
	grid-template-columns: auto 200px 824px auto;
	grid-template-rows: 76px auto;
	display: grid;
  }
}

.fixed-header {
	width: 100%;
	z-index: 100;
	position: fixed;
	top: -1px;
	left: 0px;
	box-shadow: 0 4px 8px rgba(57, 63, 72, 0.4);
}

@media screen and (min-width: 1024px) {
  .fixed-header {
    display: none;
  }
}

@media screen and (min-width: 1024px) {
  .header {
    z-index: 1;
  }
}

.out-left, .out-right {
	background-color: lightgray;
}

.out-left {
	grid-area: left;

}

.out-right {
	grid-area: right;
}

@media screen and (max-width: 1023px) {
  .out-left, .out-right {
    display: none;
  }
}

#grey-overlay {
	z-index: -1;
	position: fixed;
	height: 100vh;
	width: 100%;
	opacity: 0;
	background-color: rgba(57, 63, 72, 0.8);
	transition: opacity 0.5s ease;
}

#grey-overlay.visible {
	opacity: 0.5;
	z-index: 1;
}

@media screen and (min-width: 1024px) {
  #grey-overlay {
    display: none;
  }
}

.header {
  height: 60px;	
  background: white;
  padding-top: 8px;
  padding-bottom: 8px;	
  width: 100%;  
  display: grid;
  grid-area: head;
  grid-template-areas: "menu logo";
  grid-template-columns: 80px auto;
}

@media screen and (min-width: 1024px) {
  .header {
	grid-template-areas: "logo";
	grid-template-columns: auto;
  }
}

.menu {
  grid-area: menu;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 1024px) {
  .menu {
    display: none;
  }
}

.logo {
  grid-area: logo;
  display: flex;
  align-items: center;
}

@media screen and (min-width: 1024px) {
  .logo {
    padding-left: 8px;
  }
}

.logo-ref {
	max-width: 95%;
	max-height: 60px;
	display: flex;
	align-items: center;
}

.logo-image {
  max-width: 95%;
  max-height: 60px;
}

#main {
  padding-right: 5px;
  padding-left: 5px;
  margin-left: 8px;
}

#page {
	min-height: 100vh;
}

@media screen and (min-width: 1024px) {
  #content {
	padding-left: 12px;
	max-width: 1024px;
  }
}

