/* Default CSS Document for GreasyPaws */

/* global css */
html, body {
	margin:0;
}

* {
  box-sizing:border-box;
}

*:before, *:after {
  box-sizing:inherit;
}
/* end of global css */

/* top banner */
div#banner {
	background-image:url("/images/banner.jpg");
	background-size:auto 82px;
	height:82px;
	width:100%;
}
/* end of top banner */

/* menu */
div#menu {
	width:100%;
	height:1.4em;
	background-color:#2c3968;
	color:#fff;
}

nav.menu a {
  text-decoration:none;
}

nav.menu {
	height:100%;
}

nav.menu input[type="checkbox"] {
	display:none;
}
label.hamburger {
	float:right;
	display:none;
	position:relative;
	right:1rem;
	width:26px;
	height:100%;
	cursor:pointer;
}
label.hamburger > div {
	position:relative;
	top:calc(50% - 2px);
	height:4px;
	background:#FFF;
	box-shadow:0 8px #FFF, 0 -8px #FFF;
}

nav.menu > ul {
	max-width:32rem;
	padding:0 1rem;
	display:flex;
}
nav.menu ul {
	list-style-type:none;
	margin: 0;
	padding: 0;
	height:100%;
}
nav.menu > ul > li {
	border-left:#fff solid 4px;
	padding-left:6px;
	flex:1;
}
nav.menu ul li {
	line-height:1.4em;
}
nav.menu > ul > li:nth-child(1) {
	border-left:none;
	padding-left:0;
}
nav.menu > ul li {
	position:relative;
}
nav.menu > ul li a {
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	display:block;
	color:#FFF;
	width:100%;
}

.sub-menu {
	position:absolute;
	width:200%;
	top:100%;
	left:0;
	display:none;
	z-index:1;
}
.sub-menu li {
	padding:0.5rem 0;
	background:#2c3968;
	opacity:0;
	transform-origin:bottom;
	animation:enter 0.2s ease forwards;
	margin-top:-1px;
}
.sub-menu li a {
	padding:0 0.75rem;
}

nav.menu > ul li:hover > .sub-menu,
nav.menu > ul li button:focus ~ ul.sub-menu {
	display:block;
}

nav.menu button {
	padding:0;
	border-radius:0;
	font-size:inherit;
	color:inherit;
	background-color:inherit;
	border:0;
	width:100%;
	text-align:left;
}

@media screen and (max-width: 600px) {
	nav.menu {
		position:relative;
	}
	label.hamburger {
		display:block;
	}
	nav.menu > #mobile-menu:checked ~ label.hamburger .pointer,
	nav.menu > label.hamburger:hover .pointer {
		box-shadow:none;
	}
	nav.menu > #mobile-menu:checked ~ ul {
		display: block;
	}
	nav.menu > ul {
		display:none;
		background:#2c3968;
		flex-direction:column;
		justify-content:center;
		height:100vh;
		animation:fade 0.2s ease-out;
	}
	nav.menu > ul > li {
		font-size:1.1rem;
		padding:.4em 0;
		flex:0;
		opacity:0;
		animation:enter 0.3s ease-out forwards;
	}
	nav.menu > ul > li {
		border-left:none;
		padding-left:0;
	}
	nav.menu > ul > li:nth-child(1) {
		padding-top:1em;
	}
	x-nav.menu > ul > li:hover {
		z-index: 1;
	}
	#mobile-menu:checked ~ ul,
	nav.menu:hover > ul {
		display:block;
	}
	.sub-menu {
		width:100%;
		transform:translateY(-50%);
		position:relative;
	}
	nav.menu > ul li:hover > .sub-menu,
	nav.menu > ul li button:focus ~ ul.sub-menu {
		display:inline;
	}
}

@keyframes enter {
	from {
		opacity: 0;
		transform: scaleY(0.98) translateY(10px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}
@keyframes fade {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
/* end of menu */

div#header {
	background-color:#2c3968;
	color:#fff;
	text-align:center;
	font-size:1.1em;
	height:1.2em;
	margin-bottom:6px;
}

div#footer {
	background-color:#2c3968;
	padding:0 10px;
	height:20px;
	color:#fff;
	font-weight:600;
}

.right {
	float:right;
}

select {
	width:100%;
	background-color:#fff;
	color:#000;
	border:#2c3968 2px solid;
}

select>option {
	background-color:#2c3968;
	color:#fff;
	border-radius:10px;
}

button,
input[type="button"],
input[type="submit"] {
	background-color:#2c3968;
	color:#fff;
	font-family:inherit;
	font-size:18px;
	padding:0.6em 1.2em;
	border:none;
	border-radius:20px;
	overflow:hidden;
	cursor:pointer;
}

h1, h2 {
	color:#2c3968;
}

/* decrease padding on h1, h2, h3 & h4 to avoid occasional extra scrollbar on reports */
h1.section, h2.section, h3.section, h4.section {
	padding:2px;
}

div.notice:empty {
	display:none;
}

div.notice {
	border:2px solid #2c3968;
	padding:5px;
	margin-bottom:1em;
}

div.notice p:first-child {
	margin-top:0;
}

div.notice p:last-child {
	margin-bottom:0;
}

.warning {
	background-color:#fcc;
}

.info {
	background-color:#ffc;
}

.success {
	background-color:#cfc;
}

p.warning,
p.info,
p.success {
	border:2px solid #CCC;
}

div.row {
	display:grid;
	grid-auto-flow:column;
	grid-gap:4px;
}

div.section {
	background-color:#cef;
	padding:2px;
	/* display:inline-grid; */
	border:12px outset #2c3968;
	border-radius:14px;
	grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
}

.part2 { grid-template-columns:repeat(2,minmax(320px,1fr)); }
.part3 { grid-template-columns:repeat(3,minmax(320px,1fr)); }
.part4 { grid-template-columns:repeat(4,minmax(320px,1fr)); }

div.section table {
	width:98%;
}

div.section table tr th {
	text-align:right;
	vertical-align:top;
}

div.section table tr td {
	text-align:left;
	vertical-align:top;
}

div.tiles > div {
	background-color:#cef;
	padding:0 6px;
	display:inline-block;
	border:12px outset #2c3968;
	border-radius:14px;
	margin:3px 3px 3px 0;
	vertical-align:top;
}

div.tiles > div ul {
	list-style-type:none;
	margin:0;
	padding:0;
}

div.tiles > div ul li {
	font-size:1.1em;
	margin:0 8px;
	padding:8px;
}

div.tiles a {
	text-decoration:none;
	color:#00f;
}

div.tiles a:hover,
div.tiles a:active {
	text-decoration:none;
	color:#00c;
}

div.tiles div ul li:hover {
	background-color:#fff;
}

div.tiles > div > h1 + ul,
div.tiles > div > h2 + ul {
	margin-top:-12px;
}

img.limit-size {
	max-width:100%;
}

div#banner img {
	max-height:82px;
}

/* form fields */
input[type="text"] {
	width:100%;
}
/* end of form fields */
