/* ================= General CSS ==================== */

html,body
{

	font-family: 'Open Sans', sans-serif !important;
	font-size: 0.9rem;
    height: 100%;
	padding-top: 2rem !important;
}

.btn:focus, .btn:active {
	outline: none !important;
	box-shadow: none !important;
}

div#content
{
	padding: 20px 20px 20px 20px;
}

h1
{
	margin-top: 20px !important;
	margin-bottom: 20px !important;
}

h3
{
	font-size: 1.4em !important;
	margin-bottom: 0 !important;
}

label
{
	font-weight: bold;
}

/* Footer */

.footer
{
	padding-left: 12px;
	/* position: absolute; */
	/* bottom: 0; */
	width: 100%;
	/* Set the fixed height of the footer here */
	height: 60px;
	line-height: 60px; /* Vertically center the text there */
	background-color: #f5f5f5;
}

footer p
{
	margin-bottom: .25rem;
}


div#contact_button
{
	padding-right: 2rem;
}

#dashboard
{
	padding-top: 0 !important;
}

#dashboard .card-body
{
	padding: 0;
}

form#form_register button.approval_button {
	padding-top: 15px;
	padding-bottom: 15px;
	margin-top: 25px;
	margin-bottom: 10px;
	background-color: #6A215F;
	color: white;
	border: 0;
	font-size: 150%;
}

form#form_register div.button_column
{
	padding-left: 0;
	padding-right: 0;
}

.terms-list
{
	list-style: none;
	margin: 20px 0 0 0;
	padding-left: 0;
}

/* Each statement in its own panel, rather than bullets (the checkbox sat on top of the bullet) */
.terms-list li
{
	margin-bottom: 12px;
	padding: 14px 16px;
	line-height: 1.6;
	background-color: #f8f6f8;
	border: 1px solid #e6dfe5;
	border-radius: 6px;
}

.terms-list li:last-child
{
	margin-bottom: 0;
}

.terms-list .form-check
{
	padding-left: 1.75rem;
}

.terms-list .form-check-input
{
	margin-left: -1.75rem;
	margin-top: 0.35rem;
}

.terms-list .form-check-label
{
	font-weight: normal;
}

.terms-panel
{
	max-width: 650px;
	margin: 25px auto;
	padding: 25px;
	border: 1px solid #ddd;
	border-radius: 4px;
}

.terms-panel .approval-button
{
	margin-top: 25px;
	background-color: #6A215F;
	border-color: #6A215F;
}

.terms-logout
{
	margin-top: 15px;
	text-align: center;
}

/* Login page */

.form-signin
{
	max-width: 330px;
	padding: 15px;
	margin: 0 auto;
}
.form-signin .form-signin-heading,
.form-signin .checkbox {
  margin-bottom: 10px;
}
.form-signin .checkbox {
  font-weight: normal;
}
.form-signin .form-control {
  position: relative;
  height: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 10px;
  font-size: 16px;
}
.form-signin .form-control:focus {
  z-index: 2;
}
.form-signin input[type="email"] {
  margin-bottom: -1px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.form-signin input[type="password"] {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

/* index/index */

button#submit_programme
{
	background-color: #7A99AC;
	border-color: #7A99AC;
}

button.view_repertoire
{
	background-color: #7A99AC;
	border-color: #7A99AC;
	font-size: 85%;
	width: 100%;
	height: 100%;
	padding-left: 5px;
	padding-right: 5px;
}

button.view_responses
{
	background-color: #6A215F;
	border-color: #6A215F;
	font-size: 85%;
	width: 100%;
	height: 100%;
	padding-left: 5px;
	padding-right: 5px;
}

a.download_letter {
	background-color: #6A215F;
	border-color: #6A215F;
	font-size: 85%;
	width: 100%;
	height: 100%;
	color: #fff;
	padding-left: 5px;
	padding-right: 5px;
}

a.download_letter:hover {
	color: #fff;
	background-color: #138496;
	border-color: #138496;
}

a.manage_programme
{
	background-color: #F2238A;
	border-color: #F2238A;
	font-size: 85%;
	width: 100%;
	height: 100%;
}

/* Approver dashboard: bright pink only while the programme is awaiting a response, greyed out (but still a link) otherwise */
a.manage_programme.manage_programme_dimmed
{
	background-color: #DCDDDF;
	border-color: #C9CBCE;
	color: #50555A;
}

a.manage_programme.manage_programme_dimmed:hover,
a.manage_programme.manage_programme_dimmed:focus,
a.manage_programme.manage_programme_dimmed:active
{
	background-color: #C9CBCE;
	border-color: #B5B8BC;
	color: #212529;
}

button.withdraw_repertoire
{
	background-color: #F2238A;
	border-color: #F2238A;
	font-size: 85%;
	width: 100%;
	height: 100%;
	padding-left: 5px;
	padding-right: 5px;
}

button.submit_response
{
	background-color: #28a745;
	border-color: #28a745;
	font-size: 85%;
	width: 100%;
	height: 100%;
	padding-left: 5px;
	padding-right: 5px;
}

div#col_one
{
	padding-left: 0px;
	padding-right: 10px;
	margin-bottom: 15px;
}

div#repertoire_buttons
{
	margin-bottom: 15px;
}

div#submit_a_repertoire div.col
{
	padding-top: 7px;
	padding-bottom: 3px;
}

div#submit_a_repertoire div.card-body
{
	padding: 10px 0 15px 0;
}

div#repertoire_listing_placeholder p
{
	margin-top: 10px;
}

div.candidate_submissions_list div#grid_header > div
{
	padding-right: 6px;
}

div.candidate_submissions_list div#grid_body div.grid_item > div
{
	padding-right: 6px;
}

/* Repertoire */

img.field_complete
{
	position: absolute;
	top: 8px;
	right: 22px;
	font-size: 15px;
	z-index: 9999;
}

button.save_list:disabled
{
	background-color: #7A99AC !important;
	border-color: #7A99AC !important;
}

div.submission_success
{
	background-color: #7A99AC;
	border-color: #7A99AC;
}

div.submission_success h1
{
	color: white;
}

div.submission_success p
{
	color: white;
}

div.submission_success a
{
	color: white;
	text-decoration: underline;
}

div.submission_success a:hover
{
	text-decoration: none;
}

div#submit_repertoire
{
	padding-left: 0;
	padding-right: 0;
}

div#modal-message p
{
	margin-top: 5px;
	margin-bottom: 5px;
}

div.message_box
{
	padding-top: 15px;
}

div.instrument-level-row
{
	padding-top: 15px;
}

div.instrument-level-row div.card-body
{
	padding: 0 14px 0 18px;
}

div.instrument-level-row div.card-body select
{
	margin-bottom: 8px;
}

div.listed-row
{
	padding-top: 15px;
}

div.listed-row .btn
{
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
}

div#repertoire_listed div.repertoire_row
{
	padding: 10px 0 10px 10px;
}

div#repertoire_listed div.data-column
{
	margin-bottom: 5px;
}

div.unlisted-row
{
	padding-top: 15px;
}

div.unlisted-row .btn
{
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
}

div#repertoire_unlisted div.repertoire_row
{
	padding: 10px 0 10px 10px;
}

div#repertoire_unlisted div.data-column
{
	margin-bottom: 5px;
}

div#repertoire_unlisted div.buttons_addremove
{

}

img.repertoire_icon
{
	margin-right: 10px;
}

div.comments-row
{
	padding-top: 15px;
}

div.repertoire_row:nth-of-type(odd){
	background-color: #efefef;
}

div.repertoire_row:nth-of-type(even){
	background-color: #ffffff;
}

div.ui-menu-item-wrapper {
	font-size: 85%;
}

div#listed_works {
	/* max-height: 320px;
	overflow-y: scroll; */
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
}

div#listed_works input {
	font-size: 85%;
}

div#listed_works select {
	font-size: 85%;
}

div#listed_works p {
	font-size: 85%;
}

div#unlisted_works {
	/* max-height: 320px;
	overflow-y: scroll; */
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
}

div#unlisted_works input {
	font-size: 85%;
}

div#unlisted_works select {
	font-size: 85%;
}

div#unlisted_works p {
	font-size: 85%;
}

div#comments .card-body
{
	padding: 0;
}

div#comments textarea
{
	border: 0 !important;
}

p.sublevel
{
	background-color: #fff;
	border: 1px solid rgba(0,0,0,.15);
	min-width: 84%;
	min-height: 35px;
	padding-left: 11px;
	padding-top: 0.6rem;
}

p.sublevel.disabled
{
	background-color: #e9ecef;
}

div#supporting_files
{
	padding-top: 15px;
	padding-bottom: 15px;
}

div#supporting_files div#file_upload_header
{
	margin-left: -18px;
	margin-right: -18px;
	border-left: 0px;
	border-right: 0px;
}

div#supporting_files div.file_upload_item
{
	margin-left: -18px;
	margin-right: -18px;
}

form#submit_form label
{
	font-weight: normal;
}

form#submit_form .form-check
{
	/* padding-left: 5px; */
	padding-top: 10px;
	font-size: 110%;
}

form#submit_form .form-check-label
{
	/* padding-left: 1rem; */
}

/* index/index - approver */

div#repertoire_header
{
	border-left: 1px solid rgba(0,0,0,.15);
	border-right: 1px solid rgba(0,0,0,.15);
	border-bottom: 1px solid rgba(0,0,0,.15);
}

div#repertoire_header div
{
	font-weight: bold;
	padding-top: 5px;
	padding-bottom: 5px;
	border-top: 1px solid rgba(0,0,0,.15);
	border-bottom: 1px solid rgba(0,0,0,.15);
}

div.repertoire_item div {
	padding-top: 10px;
	padding-bottom: 10px;
}

div.repertoire_item:nth-of-type(odd){
	background-color: #efefef;
}

div.repertoire_item:nth-of-type(even){
	background-color: #ffffff;
}

div.repertoire_item
{
	border-left: 1px solid rgba(0,0,0,.15);
	border-right: 1px solid rgba(0,0,0,.15);
	border-bottom: 1px solid rgba(0,0,0,.15);
	font-size: 85%;
}

div#repertoire_buttons
{
	padding-top: 10px;
	margin-bottom: 0;
}

div#repertoire_buttons button
{
	margin-right: 20px;
	text-shadow: 0 -1px 0 rgba(0,0,0,.2);
	-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);
}

div#listed_placeholder div
{
	padding: 16px 15px 16px 32px;
}

div#unlisted_placeholder div
{
	padding: 16px 15px 16px 32px;
}

@media (max-width: 576px)
{
	div#listed_placeholder img.add_button_listed
	{
		display: none;
	}

	div#unlisted_placeholder img.add_button_unlisted
	{
		display: none;
	}

	img.remove_button_listed
	{
		margin-bottom: 10px;
	}

	img.remove_button_unlisted
	{
		margin-bottom: 10px;
	}

	div#repertoire_listed img.add_button_listed
	{
		display: none;
	}

	div#repertoire_unlisted img.add_button_unlisted
	{
		display: none;
	}
}

@media (min-width: 576px)
{
	img#general_add_repertoire_item_listed
	{
		display: none;
	}

	img#general_add_repertoire_item_unlisted
	{
		display: none;
	}

	img.remove_button_listed
	{
		margin-right: 10px;
	}

	img.remove_button_unlisted
	{
		margin-right: 10px;
	}
}

/*
div#repertoire_listed:last-child img.add_button_listed
{
	background-color: red !important;
}
*/

/* Repertoire View */

button#approve_repertoire
{
	margin-bottom: 10px;
	width: 200px;
}

button#decline_repertoire
{
	margin-bottom: 10px;
	width: 200px;
}

button#ask_for_more_info
{
	margin-bottom: 10px;
	width: 200px;
}

select.decline_reason
{
	font-size: 80%;
	margin-bottom: 10px;
}

/* Full diploma level name, e.g. "Piano, ATCL (Associate)" */
span.diploma_level_name
{
	font-weight: bold;
}

span.diploma_level_associate
{
	color: #0B4F9C;
}

span.diploma_level_licentiate
{
	color: #B3141F;
}

span.diploma_level_fellowship
{
	color: #50144B;
}

div.section_header
{
	margin-top: 20px;
	margin-bottom: 10px;
}

/* Comments */

div#comments_header
{
	border-left: 1px solid rgba(0,0,0,.15);
	border-right: 1px solid rgba(0,0,0,.15);
	border-bottom: 1px solid rgba(0,0,0,.15);
}

div#comments_header div
{
	font-weight: bold;
	padding-top: 5px;
	padding-bottom: 5px;
	border-top: 1px solid rgba(0,0,0,.15);
	border-bottom: 1px solid rgba(0,0,0,.15);
}

div.comment_item div {
	padding-top: 10px;
	padding-bottom: 10px;
}

div.comment_item:nth-of-type(odd){
	background-color: #efefef;
}

div.comment_item:nth-of-type(even){
	background-color: #ffffff;
}

div.comment_item
{
	border-left: 1px solid rgba(0,0,0,.15);
	border-right: 1px solid rgba(0,0,0,.15);
	border-bottom: 1px solid rgba(0,0,0,.15);
	font-size: 85%;
}

form#view_form div.comment_item label
{
	padding-top: 10px;
}

textarea#askformoreinfo_comment
{
	margin-bottom: 15px;
}

/* index/index - file upload */

div#fileupload
{
	background: white;
	border-radius: 5px;
	border: 2px dashed rgb(0, 135, 247);
	border-image: none;
	min-height: 100px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 15px;
}

div#file_upload_header
{
	border-left: 1px solid rgba(0,0,0,.15);
	border-right: 1px solid rgba(0,0,0,.15);
	border-bottom: 1px solid rgba(0,0,0,.15);
}

div#file_upload_header div
{
	font-weight: bold;
	padding-top: 5px;
	padding-bottom: 5px;
	border-top: 1px solid rgba(0,0,0,.15);
	border-bottom: 1px solid rgba(0,0,0,.15);
}

div.file_upload_item div {
	padding-top: 10px;
	padding-bottom: 10px;
}

div.file_upload_item:nth-of-type(odd){
	background-color: #efefef;
}

div.file_upload_item:nth-of-type(even){
	background-color: #ffffff;
}

div#response_upload_area div.file_upload_item
{
	border-left: 1px solid #666666;
	border-right: 1px solid #666666;
	border-bottom: 1px solid rgba(0,0,0,.15);
	font-size: 85%;
}

form#view_form div.file_upload_item label
{
	padding-top: 10px;
}

div.file_upload_item.dz-error {
	background-color: #FCB2B0;
}

/* Grid Header */

div#grid_header
{
	border-bottom: 1px solid rgba(0,0,0,.15);
}

div#grid_header div
{
	font-weight: bold;
	padding-top: 5px;
	padding-bottom: 5px;
}

div.grid_item div {
	padding-top: 7px;
	padding-bottom: 7px;
}

/*
div.grid_item button {
	width: 125px;
}
*/

div.grid_item:nth-of-type(odd){
	background-color: #efefef;
}

div.grid_item:nth-of-type(even){
	background-color: #ffffff;
}

/* Approver dashboard: the three button columns (View Programme, Show Activity, Manage Programme)
   share the last quarter of the row on wide screens */
@media (min-width: 1200px)
{
	div.grid_item div.grid_button
	{
		-ms-flex: 0 0 8.333333%;
		flex: 0 0 8.333333%;
		max-width: 8.333333%;
		padding-left: 3px;
		padding-right: 3px;
	}

	/* Leaves room for "Programme" (overrides the form#submissions_form button padding) */
	form#submissions_form div.grid_button .btn
	{
		padding-left: 2px;
		padding-right: 2px;
	}
}

/* Approver dashboard: awaiting a response for over 10 days (warning) or over 15 days (overdue) */
.submission_alert
{
	margin-left: 3px;
	vertical-align: middle;
}

span.submission_alert_overdue
{
	display: inline-block;
	width: 20px;
	height: 20px;
	line-height: 20px;
	border-radius: 50%;
	background-color: #C82333;
	text-align: center;
}

span.submission_alert_overdue img
{
	vertical-align: middle;
	filter: invert(100%); /* the black exclamation mark, in white */
}

/* index/index - comment */

div.repertoire_response_header
{
	padding-top: 15px;
}

div.repertoire_response_header .header_status
{
	font-weight: bold;
}

div.repertoire_response_header .header_date
{
	font-style: italic;
}

div.repertoire_response_body
{
	padding-top: 10px;
}

div.repertoire_response_body ul li
{
	margin-bottom: 10px;
}

div.repertoire_response_letter
{
	padding-top: 0;
	padding-bottom: 0;
}

div.repertoire_response_files
{
	padding-top: 10px;
	padding-bottom: 10px;
}

div.repertoire_response:nth-of-type(odd){
	background-color: #efefef;
}

div.repertoire_response:nth-of-type(even){
	background-color: #ffffff;
}

div.repertoire_response
{
	border-left: 1px solid #666666;
	border-right: 1px solid #666666;
	border-bottom: 1px solid rgba(0,0,0,.15);
	font-size: 85%;
}

div.overdue
{
	background-color: #FB9D9D !important;
}

div.save_progress
{
	margin-bottom: 5px;
}

/* Navigation */

nav#approval_nav img#trinity_college_london_logo
{
	width: 120px;
	height: 34px;
}

li#nav_profile
{
	margin-right: 10px;
}

li#nav_profile div.dropdown-menu
{
	left: -92px;
}

li#nav_profile > a
{
	padding: 0;
}

li#nav_profile button
{
	padding: 0;
}

@media (min-width: 576px)
{
	nav#approval_nav a.navbar-brand
	{
		font-size: 1.2em;
		font-weight: bold;
	}

	nav#approval_nav img#trinity_college_london_logo
	{
		width: 180px;
		height: 51px;
	}

	nav#approval_nav a#site_details
	{
		margin-left: 20px;
	}
}

@media (max-width: 576px)
{
	nav#approval_nav a#site_details
	{
		width: 130px;
		white-space: normal;
	}

	nav#approval_nav a.navbar-brand
	{
		font-size: 0.9em;
		font-weight: bold;
	}
}

/* Records */
div.grid_controls
{
	border-bottom: 1px solid rgba(0,0,0,.15);
}

div.grid_controls div.col
{
	padding-left: 0px;
	padding-right: 0px;
}

/* Page numbers in grey; the current page (the disabled one) in Trinity purple, bold and not faded */
button.records_number
{
	color: #5A6268;
}

button.records_number:disabled
{
	color: #50144B;
	font-weight: bold;
	opacity: 1;
}

/* Admin - Submissions */
div.admin_submissions_list div#grid_header
{
	font-size: 85% !important;
}

div.admin_submissions_list div#grid_header input
{
	font-size: 85% !important;
	height: 27px;
}

div.admin_submissions_list div#grid_header select
{
	font-size: 85% !important;
	height: 27px;
}

div.admin_submissions_list div#grid_body
{
		font-size: 85% !important;
}

/* Admin - Approvers */
div.admin_approvers_list div#grid_header
{
	font-size: 85% !important;
}

div.admin_approvers_list div#grid_header input
{
	font-size: 85% !important;
	height: 27px;
}

div.admin_approvers_list div#grid_header select
{
	font-size: 85% !important;
	height: 27px;
}

div.admin_approvers_list div#grid_body
{
	font-size: 85% !important;
}

ul.ui-autocomplete
{
	z-index: 9999;
}

div.tab-pane
{
	margin-top: 10px;
}

form#approver_edit_form div.list-group
{
	padding-left: 15px;
}

form#approver_edit_form div.list-group p.list-group-item
{
	padding-top: 6px;
	padding-bottom: 6px;
}

form#approver_edit_form div#instrument_buttons
{
	padding-left: 0;
	padding-right: 0;
	text-align: center;
}

form#approver_edit_form button#instrument_add
{
	width: 100%;
	margin-bottom: 10px;
}

form#approver_edit_form button#instrument_remove
{
	width: 100%;
}

form#submissions_form button
{
	padding: 5px 10px 5px 5px;
}

/* Approvers Report */

div.admin_approvers_list table#approvers_report
{
	font-size: 85% !important;
}

/* ================= Admin sidebar and home ==================== */

/* Sized to the longest menu label (labels don't wrap); .col-auto for specificity over bootstrap.css, loaded after this file */
.col-auto.admin_sidebar_col
{
	flex: 0 0 auto;
	width: auto;
	max-width: none;
	padding-left: 8px;
	padding-right: 24px;
}

nav.admin_menu
{
	background-color: #f8f6f8;
	border: 1px solid #e6dfe5;
	border-radius: 8px;
	padding: 8px 4px;
}

div.admin_menu_group + div.admin_menu_group
{
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #e6dfe5;
}

div.admin_menu_heading
{
	font-size: 0.72rem;
	font-weight: bold;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #6c757d;
	padding: 2px 10px 4px 10px;
}

a.admin_menu_link
{
	display: block;
	white-space: nowrap;
	padding: 5px 8px;
	border-radius: 5px;
	color: #343a40;
	text-decoration: none;
	line-height: 1.3;
}

a.admin_menu_link:hover
{
	background-color: #ece4eb;
	color: #50144B;
	text-decoration: none;
}

a.admin_menu_link.active
{
	background-color: #50144B;
	color: #ffffff;
	font-weight: bold;
}

div.admin_menu_note
{
	/* wraps inside the width the links set, instead of widening the menu */
	width: 0;
	min-width: 100%;
	font-size: 0.75rem;
	color: #6c757d;
	padding: 6px 10px 0 10px;
	line-height: 1.3;
}

div.admin_home h5.admin_home_heading
{
	margin: 24px 0 10px 0;
	color: #50144B;
	font-size: 1rem;
	font-weight: bold;
}

a.admin_home_card
{
	height: calc(100% - 16px);
	margin-bottom: 16px;
	border: 1px solid #e6dfe5;
	border-left: 4px solid #E40074;
	border-radius: 8px;
	color: #343a40;
	text-decoration: none;
	transition: box-shadow 0.15s ease-in-out;
}

a.admin_home_card:hover
{
	box-shadow: 0 2px 10px rgba(80, 20, 75, 0.15);
	text-decoration: none;
	color: #343a40;
}

a.admin_home_card div.card-title
{
	font-weight: bold;
	color: #50144B;
	margin-bottom: 6px;
}

a.admin_home_card p.card-text
{
	color: #6c757d;
	margin-bottom: 0;
}

@media (max-width: 767.98px)
{
	.col-auto.admin_sidebar_col
	{
		flex: 0 0 100%;
		max-width: 100%;
		margin-bottom: 16px;
	}
}

/* Admin page title block: small section label, title, one-line description */
div.admin_page_header
{
	margin-bottom: 20px;
	padding-bottom: 14px;
	border-bottom: 1px solid #e6dfe5;
}

div.admin_page_header div.admin_page_kicker
{
	font-size: 0.72rem;
	font-weight: bold;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #E40074;
	margin-bottom: 4px;
}

div.admin_page_header h3
{
	font-size: 1.6em !important;
	color: #50144B;
	margin-bottom: 6px !important;
}

div.admin_page_header p
{
	color: #6c757d;
	margin-bottom: 0;
}

/* View Responses: the submission reference centred in the title bar, the title on the left */
.modal-header .modal_title_centre {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
}

.modal-header {
    position: relative;
}
