/*
TT blue: #267aaa;
*/
body {
  /*font-family: 'Karla', sans-serif;*/ }

#treasuretrove {
  /*background-color: #fff;*/
  min-height: calc(100vh - 50px); }

header {
  padding: 8px; }

footer {
  height: 50px;
  width: 100%;
  color: #fff;
  background-color: #673165;
  margin-top: 50px; }
  footer .container {
    height: 100%; }

.footer {
  padding: 10px 5px; }
  .footer a {
    color: #e0e0e0; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Vollkorn", serif;
  color: #673165; }

.light-italic {
  font-style: italic;
  color: #b1b1b1;
  height: 22px; }

.login-logo-container {
  margin-top: 100px;
  margin-bottom: 20px; }

.login-logo {
  height: 30px;
  margin-bottom: 8px; }

.login-title {
  font-family: "Vollkorn", serif;
  font-size: 23px;
  padding-left: 9px;
  color: #07116b; }

/* /////////////////////////////////////////// */
#nav {
  background: #673165;
  margin-top: 5px;
  margin-bottom: 5px;
  border-radius: 4px; }

#nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0 20px;
  float: left; }

#nav:after {
  content: '';
  display: table;
  clear: both; }

#nav ul li {
  float: left;
  padding: 12px 12px 11px;
  border-right: 1px solid #CCC; }

#nav li.nav-current {
  background-color: #798C8D; }

#nav li.nav-current a:hover {
  cursor: default;
  text-decoration: none; }

#nav a:first-child li {
  border-left: 1px solid #CCC; }

#nav a {
  color: #fff;
  font-weight: bold; }

#nav ul:after {
  content: '';
  display: table;
  clear: both; }

#search-container {
  float: right;
  margin: 4px 12px; }

.nav-tabs {
  border-bottom: 1px solid #b78d40;
  margin-bottom: 12px; }
  .nav-tabs > li {
    float: left;
    margin-bottom: -1px; }
    .nav-tabs > li > a {
      margin-right: 2px;
      line-height: 1;
      color: #FFFFFF;
      border: 1px solid #b78d40;
      background-color: #C8A462;
      border-radius: 4px 4px 0 0; }
      .nav-tabs > li > a:hover {
        background-color: #b78d40;
        border-color: #917033 #917033 #b78d40; }
    .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
      color: #ffffff;
      cursor: default;
      background-color: #798C8D;
      border: 1px solid #617172;
      border-bottom-color: transparent; }

.student-button-container {
  margin-bottom: 12px; }

.student-overview {
  font-size: 18px;
  padding-top: 32px;
  color: #267aaa; }

.student-overview .table-bordered th {
  background-color: #DDD;
  border-color: #CCC;
  font-weight: 400; }

.student-section div {
  background-color: #DDD;
  color: #267aaa;
  font-size: 20px;
  padding: 6px 15px 4px;
  margin-bottom: 15px; }

.student-label {
  text-align: right;
  color: #888888; }

.student-data {
  border-bottom: 1px solid #D3DCDE;
  display: inline-block;
  width: 100%; }

.student-data-spans span {
  border-bottom: 1px solid #D3DCDE;
  display: inline-block;
  width: 100%; }

.student-data span:last-child {
  border-bottom: none; }

/* /////////////////////////////////////////// */
.fa-caret-down, .fa-caret-right {
  width: 16px; }

.accordion {
  margin-bottom: 20px; }

.accordion-group {
  margin-bottom: 2px;
  border: 1px solid #777;
  border-radius: 4px;
  background-color: #267aaa; }

.accordion-heading {
  border-bottom: 0;
  color: #ccc; }

.accordion-heading a {
  color: #fff; }

.accordion-heading a.hasbuttons {
  line-height: 30px; }

.accordion-heading:hover {
  cursor: pointer; }

.accordion-heading .accordion-toggle {
  display: inline-block;
  padding: 4px 8px;
  font-size: 16px; }

.accordion-heading button {
  margin-top: 3px;
  margin-right: 6px;
  color: #000;
  border: 1px solid #ccc;
  float: right; }

.accordion-heading button:hover {
  /*color: #fff;*/ }

.accordion-toggle {
  cursor: pointer;
  text-decoration: none;
  font-weight: bold; }

.accordion-toggle:hover {
  color: #fff;
  text-decoration: none; }

.accordion-inner {
  margin: 2px;
  padding: 22px 18px 8px;
  border-top: 0;
  background-color: #ffffff;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
  -webkit-box-shadow: 0 3px 9px 1px rgba(64, 64, 64, 0.5) inset;
  box-shadow: 0 3px 9px 1px rgba(64, 64, 64, 0.5) inset; }

.accordion-inner button:hover {
  cursor: pointer;
  /*background-color: #000;*/
  text-shadow: 0 0 4px rgba(255, 255, 255, 0.6); }

.accordion-inner:after {
  content: '';
  display: table;
  clear: both; }

.accorion-innercontainer {
  width: 100%; }

.helm-well {
  border: 1px solid #dbdbdb;
  margin: 0 0 12px;
  padding: 16px 0 0;
  border-radius: 4px;
  background-color: #eeeeee; }

.btn-delete {
  background-color: #feb900; }

.btn-delete:focus, .btn-delete:active:focus {
  outline-color: #a29e90; }

.btn-delete-inline {
  margin-top: 24px; }

.btn .fa {
  margin-right: 4px; }

.list-complete-list {
  -webkit-transition: all 0.5s;
  transition: all 0.5s; }

.list-complete-enter, .list-complete-leave-to {
  opacity: 0;
  -webkit-transform: scale(0.2);
  transform: scale(0.2); }

.checkbox.well {
  padding: 16px;
  margin-top: 24px; }

#keyworker_change {
  width: 100%;
  padding: 6px 12px;
  margin-top: 26px;
  border-radius: 4px;
  display: none;
  background-color: #FEB900; }

.input-note {
  line-height: 34px;
  color: #cccccc;
  font-weight: 300; }

@media (min-width: 768px) {
  .input-note {
    margin-left: -20px; } }

/*  /////////////////////////////////////  */
.detail-fname, .detail-mname, .detail-lname {
  display: inline-block;
  float: left; }

.detail-fname, .detail-mname {
  width: 26%;
  margin-right: 2%; }

.detail-lname {
  width: 44%; }

.error input {
  background-color: pink;
  border-color: red; }

.error-msg {
  color: red; }

.challenge-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  padding: 0;
  margin: 0; }

.challenge-item {
  width: 100%;
  display: inline-block; }

@media (min-width: 768px) {
  .challenge-item {
    width: 50%; } }

@media (min-width: 992px) {
  .challenge-item {
    width: 33.33%; } }

@media (min-width: 1200px) {
  .challenge-item {
    width: 25%; } }

#absence-table td {
  padding: 5px;
  text-align: center; }

.student-title {
  font-size: 14px;
  margin-left: 8px;
  text-transform: capitalize; }

.absence-student-name {
  width: 15%;
  font-size: 16px; }

.absence-open-modal {
  width: 5%; }

.absence {
  position: relative; }

.absence .fa-close {
  color: red; }

.absence .fa-check {
  color: green; }

.absence-reason {
  display: none;
  background-color: #f5f5f5;
  font-size: 16px;
  font-family: sans-serif;
  color: #333;
  padding: 8px 10px;
  position: absolute;
  z-index: 9999;
  width: 200px;
  border: 1px solid #005d7a;
  -webkit-box-shadow: 3px 3px 3px rgba(4, 4, 4, 0.5);
  box-shadow: 3px 3px 3px rgba(4, 4, 4, 0.5); }

.absence:hover .absence-reason {
  display: inline-block; }

#absence-table .absence-modal-holiday {
  vertical-align: middle;
  color: #777;
  background-color: #eee; }

#absence-table .absence-modal-checkbox {
  vertical-align: middle; }

.vdp-datepicker .form-control[readonly] {
  opacity: unset;
  background-color: #fff; }

.vdp-datepicker input[readonly] {
  color: #333; }

.attendance-button-container {
  margin-top: 12px;
  position: relative;
  border: 1px solid #cccccc;
  float: right;
  padding: 0px 12px 8px;
  border-radius: 4px; }

.attendance-button-label {
  background-color: #f5f5f5;
  position: relative;
  top: -14px;
  font-size: 18px;
  padding: 0 8px; }

.attendance-sub-header {
  text-align: center; }

.attendance-sub-header td:first-child {
  text-align: left;
  font-size: 16px; }

.absence {
  font-size: 28px;
  text-align: center; }

.grouped-dates .form-group {
  display: inline-block;
  width: 100px; }

.grouped-dates .form-group:first-child {
  margin-right: 30px; }

.day-date {
  padding-left: 6px;
  font-size: 12px;
  color: #bbbbbb; }

.table-attendance {
  color: #267aaa; }

.table-attendance-student tr:nth-child(5n-3) {
  border-top: 2px solid #267aaa; }

.form-inline .form-control.attendance-date {
  width: 100px; }

.student-photo img {
  width: 100%;
  height: auto; }

.file-uploads .btn {
  width: 100%; }

.file-uploads-list {
  padding-left: 0;
  list-style: none; }

.file-uploads-list li {
  position: relative;
  background-color: #CCC;
  margin-top: 8px;
  padding: 4px;
  border-radius: 4px; }

.file-uploads-list li span {
  color: #267aaa;
  text-decoration: underline; }

.file-uploads-list li span:hover, .upload-delete:hover {
  cursor: pointer; }

.upload-delete {
  position: absolute;
  right: 4px;
  top: 4px;
  height: 20px;
  width: 20px;
  background-color: #FFF;
  text-align: center;
  border-radius: 50%;
  color: red; }

/* DASHBOARD ///////////////////////////////////////// */
.diary-no-result {
  font-size: 18px;
  color: #267aaa; }

/* REPORTS /////////////////////////////////////////// */
.achievement-date .form-group {
  width: 100px;
  display: inline-block; }

.achievement-date .date-span {
  margin: 0 8px;
  font-weight: 700; }

.table-header-rotated {
  border-collapse: collapse;
  margin-top: 40px; }

.table-header-rotated td {
  width: 30px; }

.table-header-rotated th {
  padding: 5px 10px; }

.table-header-rotated td {
  text-align: center;
  padding: 10px 5px;
  border: 1px solid #ccc; }

.table-header-rotated th.rotate {
  height: 140px;
  white-space: nowrap; }

.table-header-rotated th.rotate > div {
  -webkit-transform: translate(25px, 51px) rotate(315deg);
  transform: translate(25px, 51px) rotate(315deg);
  width: 30px; }

.table-header-rotated th.rotate > div > span {
  border-bottom: 1px solid #ccc;
  padding: 5px 10px; }

.table-header-rotated th.row-header {
  padding: 0 10px;
  border-bottom: 1px solid #ccc; }

.table-header-rotated .no-record {
  background-color: #DDD; }

.table-header-rotated tr:nth-child(2n) {
  background-color: #EEE; }

.table-header-rotated tr:nth-child(2n) .no-record {
  background-color: #D2D2D2; }

.report-no-record {
  font-size: 24px;
  color: #267aaa; }

.nav-list {
  list-style: none;
  padding: 0;
  display: inline-block; }

.nav-list li {
  margin-bottom: 15px; }

.nav-list li a {
  width: 100%;
  text-align: left; }

.table-accredited {
  border-bottom: 1px solid #267aaa; }

.table-accredited .accredited-tr-header td {
  font-size: 16px;
  background-color: #eee;
  border-top: 2px solid #267aaa; }

.accredited-tr-header .accredited-label {
  color: #267aaa;
  font-weight: bold; }

.table-accredited .accredited-tr-footer td {
  border-top: 1px solid #267aaa; }

/* report */
/*
	content: '34';
	display: inline-block;
	position: absolute;
	right: 0px;
	float: right;
	top: 0;
*/
.alphaList {
  padding: 0; }

.alphaList li {
  color: #4297b0;
  font-size: 12px;
  line-height: 24px; }

.alphaList li a {
  color: #267aaa;
  font-size: 14px; }

.student .label {
  background-color: #025b79;
  text-shadow: 1px 1px #025b79; }

.student-equality .label {
  background-color: #159075;
  text-shadow: 1px 1px #12614f; }

.student-nok .label {
  background-color: #94961e;
  text-shadow: 1px 1px #9a9c1f; }

.student-placement .label {
  background-color: #dc8705;
  text-shadow: 1px 1px #c1790a; }

.student-project .label {
  background-color: #bd5238;
  text-shadow: 1px 1px #793423; }

.outputList a:hover, .sortList a:hover {
  text-decoration: none;
  cursor: pointer; }

/* gdpr */
#subsystemGDPR .helm-gdpr .listheader {
  background-color: #267aaa; }

.gdpr-intro {
  font-size: 18px;
  margin-top: 12px;
  color: #267aaa; }

.table-header td {
  font-weight: 700; }

.table-keyworker-header {
  border-top: 2px solid black;
  background-color: #EEEEEE; }

.table-keyworker-header td {
  font-size: 18px; }

.table-project {
  background-color: #EEEEEE; }

.flex-details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  font-size: 12px;
  float: left;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px; }

.details-title {
  color: #89afbb; }

/* FORM BUTTONS //////////////////////// */
.form-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 20px -4px; }

.form-btn-item {
  -webkit-box-flex: 0;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  margin: 4px; }

.form-buttons.jc-flex-start {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start; }

.form-buttons.jc-flex-end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end; }

/* FORM BUTTONS //////////////////////// */
.inputfile {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -1; }

.uploadButtonHolder {
  margin-top: 10px; }

.btn-file {
  position: relative;
  overflow: hidden; }

.btn-file input[type=file] {
  position: absolute;
  top: 0;
  right: 0;
  min-width: 100%;
  min-height: 100%;
  font-size: 100px;
  text-align: right;
  filter: alpha(opacity=0);
  opacity: 0;
  outline: none;
  background: white;
  cursor: inherit;
  display: block; }

.file-upload-label {
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold; }

.tt-fieldset {
  margin-top: 30px; }

.tt-fieldset .alert {
  display: inline-block; }

.documents-fieldset {
  margin-bottom: 70px; }

.documents-fieldset legend {
  margin-bottom: 8px; }

.documents-inner {
  display: inline-block;
  width: 100%;
  background-color: #f7f7f7;
  padding: 12px; }

.documents-inner table {
  table-layout: fixed; }

.documents-inner table th:nth-child(3) {
  width: 20%;
  min-width: 80px; }

.documents-inner table th:nth-child(4) {
  width: 10%;
  min-width: 54px; }

.documents-inner > .form-group {
  padding: 5px; }

@media (min-width: 481px) {
  .max-w-sm {
    max-width: 150px; }
  .max-w-md {
    max-width: 200px; }
  .max-w-lg {
    max-width: 250px; } }

.upload-img-thumbs {
  height: 100px;
  width: auto;
  margin-right: 8px;
  border: 2px solid #d2d2d2;
  border-radius: 4px; }

.list .list-item-middle {
  vertical-align: middle; }

.list-item-btn-delete {
  font-size: 18px;
  color: #d45050; }

.list-item-btn-delete:hover, .list-item-btn-delete:focus {
  color: #a73b28; }

.add-default-img {
  width: 200px;
  margin-bottom: 12px; }

.add-image .default-img {
  text-align: center;
  font-size: 25px;
  color: #267aaa;
  vertical-align: middle;
  width: 40px; }

.img-container {
  height: 100px; }

.existing-img {
  height: 100%;
  width: auto; }

.form-control.datepicker {
  width: 104px; }

.actions-box {
  padding: 20px;
  background-color: #dddddd;
  margin-bottom: 20px; }

.actions-box fieldset {
  margin: 15px 0 20px; }

.actions-box legend {
  font-size: 17px;
  border-bottom-color: #bbbbbb;
  margin-bottom: 15px; }

.required:after {
  content: "*";
  color: red; }

.h-bb {
  border-bottom: 1px solid #673165;
  text-transform: uppercase; }

.pound-before-input label {
  display: block; }

.pound-before-input input {
  width: 148px;
  margin-left: 14px;
  font-size: 16px; }

.pound-before-input span {
  display: inline-block;
  position: relative; }

.pound-before-input span:before {
  position: absolute;
  bottom: 4px;
  content: "\f154";
  font-family: "FontAwesome";
  font-size: 16px; }

.gallery {
  margin: 0 -4px 20px; }

.gallery-image {
  text-align: center;
  padding: 0 4px 16px;
  height: 360px; }

.gallery-image img {
  max-height: 100%;
  max-width: 100%; }

.gallery-thumbnails {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: center;
  align-content: center; }

.gallery-thumbnail {
  -webkit-box-flex: 0;
  -ms-flex: 0 1 25%;
  flex: 0 1 25%;
  padding: 0 4px 8px; }

.gallery-thumbnail-inner {
  width: 100%;
  height: 72px;
  background-size: cover;
  background-position: center; }

.gallery-empty {
  width: 100%;
  height: 200px;
  background-color: #e6e6e6;
  margin-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: center;
  align-content: center; }

.gallery-image-full {
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.8);
  width: 100vw;
  height: 100vh;
  z-index: 1000;
  padding: 30px; }

.gallery-image-full:before {
  content: "\f00d";
  position: absolute;
  color: white;
  font-size: 34px;
  font-family: "FontAwesome";
  top: 0px;
  right: 30px; }

.gallery-image-full div {
  height: 100%;
  width: 100%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat; }

@media (min-width: 768px) {
  .gallery-empty {
    height: 300px; } }

@media (min-width: 768px) and (max-width: 991px) {
  .gallery-thumbnail {
    -ms-flex-preferred-size: 33.33%;
    flex-basis: 33.33%; } }

.dashboard-box {
  border: 1px solid #C5BFB7;
  background-color: #e7e5e1;
  padding: 5px 10px;
  margin-bottom: 20px; }

.dashboard-actions {
  background-color: #673165; }

.dashboard-actions h4 {
  color: white; }

.panel {
  position: relative; }

.panel-title {
  padding-left: 15px; }

.panel-chevron {
  position: absolute;
  top: 8px;
  left: 10px; }

.panel-btn {
  position: absolute;
  top: 8px;
  right: 10px; }

.panel-heading .panel-chevron {
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg); }

.panel-heading.collapsed .panel-chevron {
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg); }

.imported-data-panel {
  margin-bottom: 20px;
  display: none;
  position: fixed;
  top: 50px;
  background-color: white;
  border: 1px solid gray;
  z-index: 999;
  height: 400px;
  overflow: scroll;
  padding: 5px; }

.awesomplete > ul {
  z-index: 3; }

.mt-2 {
  margin-top: 0.5rem !important; }

.mb-2 {
  margin-bottom: 0.5rem !important; }

.mb-3 {
  margin-bottom: 1rem !important; }
