.flex {
	display:flex;
	flex-wrap:wrap;
	margin:0px -10px;
}
label > .label {
	color:#333;
	display:block;
	text-align:left;
	padding:0px 0px 5px 0px;
	font-size:1em;
	font-weight:normal;
}
label > .label:after {
	content:':';
}
label.req > .label:after {
	content:'';
}
label.req > .label .req {
	color:#d00;
	display:inline-block;	
}
label.req > .label .req:before {
	content:':';
	color:#000;
	font-style:normal;
}
#issues > div {
	display:flex;
	flex-direction: column;
	cursor:pointer;
	position:relative;
	width:160px;
	margin:10px;
}
form #issues > div {
	width:100px;
}
#issues > div .imgcont {
	flex-grow: 1;
}
#issues > div .imgcont.noimage {
	background:url(../images/noimage.png) no-repeat;
	background-size:cover;
	padding-top:130%;
}
#issues > div .year {
	background:#666;
	padding:4px 5px;
	text-align:center;
	color:#fff;
	transition:background 0.3s ease-in-out;
}
#issues > div.registered .year,#issues > div:hover .year {
	background:#222;
}
#issues > div .form {
	display:none;
}
#issues .imgcont img {
	-webkit-filter: grayscale(1);
  	filter: grayscale(1);	
}
#issues div:hover .imgcont img {
	-webkit-filter: grayscale(0);
  	filter: grayscale(0);	
}
#issues div.registered .imgcont img {
	-webkit-filter: grayscale(0);
  	filter: grayscale(0);	
}
#issues div.registered::after {
	position:absolute;
	top:0;
	right:0;
	width:30px;
	height:30px;
	background:#980001 url(../images/tick.png) no-repeat center center;
	background-size:20px auto;
	content:'';
	padding:5px;
}
@keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    transform: translate3d(0, -4px, 0);
  }
}
.animate {
	animation-name: bounce;
	animation-duration:1s;
    transform-origin: center bottom;
}
body.user-logged-in .not-logged-in {
	display:none;
}
body.user-not-logged-in .logged-in {
	display:none;
}
.user_links {
	float:right;
	margin-left:20px;
	font-size:0.9em;
}
.user_links a,.user_links a:hover,.user_links a:active,.user_links a:visited {
	color:#fff !important;
}
.buttons {
	text-align:right;
}
.buttons .left {
	float:left;
}
.buttons .btn-primary {
	color:#fff !important;
}
.step #issues {
	max-height:534px;
	overflow:auto;
	overflow-x:hidden;
	padding:20px 10px 0px;
	margin-top:-20px;
}
.step {
	padding:10px 0px;	
}
label[data-error]::after {
	color:#d00;
	font-size:0.9em;
	display:block;
	content:attr(data-error);
	font-style:italic;
	margin:3px 0px;
}
.formitem .label {
	font-size:1em;
	font-weight:normal;
	padding:0;
	margin-bottom:3px;
}
.link_up {
	float:right;
	margin-top:-60px;
}
.error,.message {
	background:#d00;
	color:#fff;
	padding:10px 10px;
	margin-bottom:20px;
}
.message {
	background:#57a15a;
}
label .input {
	display:block;
}
.error:empty,.message:empty {
	display:none;	
}
.password_fieldset:disabled {
	display:none;	
}
.formitems label {
	display:block;
	margin-bottom:20px;
}
.formitems label input {
	display:block;	
	width:100%;
}
body.page #TB_ajaxWindowTitle {
	font-size:1.4em;
	padding:15px 15px;
}
body.page #TB_title {
	height:auto;	
}
body.page #TB_ajaxContent {
	margin:0 auto;
}
#TB_ajaxContent .formitems {
	padding:30px;
}
#TB_ajaxContent .formitems.flex {
	justify-content: center;
}
.widget_loginwithajaxwidget {
	max-width:300px;	
}
.lwa-username input,.lwa-password input {
	width:100%;	
}
.lwa-password {
	margin-bottom:20px;	
}
@media (max-width:600px) {
	body.page #TB_window {
		width:100%!important;
		max-width:100vw!important;
		margin:0 !important;
		top:0 !important;
		bottom:0 !important;
		left:0 !important;
		right:0 !important;
	}
	body.page #TB_window #TB_ajaxContent {
		width:auto !important;
	}
	body.page #TB_window .imgcont {
		max-height:100px;
		text-align:center;
		margin-bottom:20px;
	}
	body.page #TB_window .imgcont img{
		max-height:130px;
		width:auto;
		
	}
	body.page #TB_window .flex {
		display:block;
		padding:0;
	}
	body.page #TB_window .flex > div {
		width:auto !important;	
		padding:15px;
	}
}
.loading {
	background:url(../images/loading.gif) no-repeat 50% 50%;
}
.loading > * {
	visibility:hidden;
}
@media (max-width:400px) {
	#issues .needpass {
		display:block;
		width:100%;
	}
	form .input {
		display:block;	
	}
	form label {
		display:block;
		margin-bottom:15px;
	}
	form .input input {
		width:100%;
	}
}