/* Additions for the login and content editor pages (not part of the original template). */
.admin-section{
	position:relative;
	padding:80px 0 90px;
}

.admin-section .alert ul{
	margin:0;
	padding-left:18px;
}

.admin-section .contact-form .form-group label{
	display:block;
	font-weight:600;
	margin-bottom:6px;
}

.admin-section .contact-form .form-group small{
	display:block;
	color:#777777;
	margin-top:4px;
}

.admin-section .contact-form .form-group input[type="checkbox"]{
	display:inline-block;
	width:auto;
	height:auto;
	margin-right:6px;
}

.admin-section .login-box{
	max-width:460px;
	margin:0 auto;
}

.admin-section .team-table img{
	width:56px;
	height:56px;
	object-fit:cover;
}

.admin-section .team-table td{
	vertical-align:middle;
}

.admin-section .team-table .actions{
	white-space:nowrap;
}

.admin-section .team-table .actions form{
	display:inline;
}

.admin-section .team-table .position{
	white-space:nowrap;
}

.admin-section .team-table .position span{
	display:inline-block;
	min-width:22px;
	font-weight:600;
}

.admin-section .team-table .position form{
	display:inline;
}

.admin-section .team-table .badge{
	font-size:12px;
	padding:5px 8px;
}

.admin-section .team-table tr.is-hidden td:not(.actions):not(.position){
	opacity:.5;
}

.admin-section .photo-preview{
	max-width:160px;
	margin-bottom:10px;
}

.admin-section .toolbar{
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	gap:12px;
	margin-bottom:24px;
}

/* Visible field borders: the template's transparent borders assume a grey
   background, and it leaves password/number inputs unstyled. */
.admin-section .contact-form .form-group input[type="text"],
.admin-section .contact-form .form-group input[type="email"],
.admin-section .contact-form .form-group input[type="password"],
.admin-section .contact-form .form-group input[type="number"],
.admin-section .contact-form .form-group textarea{
	display:block;
	width:100%;
	color:#222222;
	font-size:16px;
	background:#ffffff;
	border:1px solid #cccccc;
	border-radius:2px;
	transition:border-color 300ms ease, box-shadow 300ms ease;
}

.admin-section .contact-form .form-group input[type="password"],
.admin-section .contact-form .form-group input[type="number"]{
	height:55px;
	line-height:28px;
	padding:10px 22px;
}

.admin-section .contact-form .form-group input:focus,
.admin-section .contact-form .form-group textarea:focus{
	outline:none;
	border-color:#e1a122;
	box-shadow:0 0 0 3px rgba(225,161,34,0.2);
}

.admin-section .contact-form .form-group input[type="file"]{
	display:block;
	width:100%;
	padding:14px;
	border:1px dashed #bbbbbb;
	border-radius:2px;
	background:#fafafa;
}

.admin-section .contact-form .form-group .is-invalid,
.admin-section .contact-form .form-group .is-invalid:focus{
	border-color:#dc3545;
}

/* Centred submit/cancel row. */
.admin-section .contact-form .form-actions{
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
	gap:16px;
}

/* Team photos come in 3:4 and 1:1; show them all at the 3:4 of the first row. */
.team-block .inner-box .image img{
	aspect-ratio:3/4;
	object-fit:cover;
	object-position:center top;
}
