body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  font: 14px/1.35em Arial, Helvetica, sans-serif;
  background: #ffffff;
  color: #555555;
}

a {
    text-decoration: none;
}

.navbar {
  margin-bottom: 0;
}

.nav>li.navbar-text {
    margin: 10px;
}

.nav-link.active {
  font-weight: bold;
}

.menu {
  background-color: #eeeeee;
  padding-left: 12px;
  padding-right: 12px;
  padding-bottom: 10px;
  margin-bottom: 20px;
}

.nav-underline>.nav-item>.nav-link {
  padding: 0;
}

.btn-toolbar {
  margin-bottom: 10px;
}

#header form {
    display: block;
    float: left;
    border-left: 1px solid #85a13b;
    border-right: 1px solid #65811b;
}

#header form label {
    display: block;
    padding: 5px;
    float: left;
}


#main-content {
}

#main-content input[type="text"], #main-content input[type="email"], #main-content textarea {
    width: 400px;
}

#main-content textarea {
    height: 150px;
}

#main-content .compact input[type="text"] {
    width: 100px;
}

#breadcrumbs {
    margin-top: 10px;
    font-size: 90%;
}

#sidebar-content {
    text-align: center;
}

#sidebar-content ul {
    text-align: left;
}

.btn-xs {
  --bs-btn-padding-y: 0;
  --bs-btn-padding-x: .25rem;
  --bs-btn-font-size: .75rem;
}

.btn-default {
  background-color: rgba(0,0,0,0);
  --bs-btn-border-color: #3e6222;
}

.padder {
    padding: 0 10px;
}

.box {
    border: 1px solid #c2d199;
    padding: 0 10px;
    margin: 10px 0 0 0;
}

.box h4 {
    margin-top: 10px;
}

.left {
    float: left;
    margin: 0 10px 10px 0;
}

.right {
    float: right;
    margin: 0 0 10px 10px;
}

.clear {
    clear:both;
}

.center {
  text-align: center;
}

.center-margin {
  margin: 0 auto;
}

footer {
  margin-top: auto;
  padding: 10px;
    text-align: center;
    color: #999999;
    font-size: 80%;
}

table.financial {
    border-collapse: separate;
    border-spacing: 0px;
    margin-bottom: 10px;
}

.financial tr th, .schedule tr th {
    border-bottom: 1px solid #aaa;
    padding-right: 15px;
}

.financial tr td {
    border-bottom: 1px solid #ccc;
    border-left: none;
    padding: 1px;
    padding-right: 15px;
}

.financial tr th.title, .schedule tr th.title {
    font-size: 1.17em;
    text-align: left;
    padding-top: 20px;
}

.financial tr td.no-border {
  border: none;
}

.schedule>tbody>tr>td {
    padding-top: 1px;
    padding-bottom: 1px;
}

.schedule>tbody>tr.continued>td {
  border-bottom: none;
}

.schedule>tbody>tr.continuation>td {
  border-top: none;
}


h3 {
  margin: 30px 0 10px 0;
  font-size: 1.17em;
  font-weight: bold;
}

.pure-table {
  margin-bottom: 20px;
}

.values tr td, .values tr th {
  padding-right: 20px;
  padding-bottom: 10px;
  vertical-align: top;
}

.amount {
	text-align: right;
  white-space: nowrap;
}

.flag {
  text-align: center;
}

.bold {
  font-weight: bold;
}

.total {
  font-weight: bold;
}

.financial tr.total td, .financial tr.final td {
    border-bottom: 1px solid #aaa;
}

.action, .action td {
  background-color: #ffff99 !important;
}

.white, .white td {
  background-color: #ffffff !important;
}

.faded, .faded td, .faded a {
  color: #bbbbbb !important;
}

tr.done, tr.done td {
  background-color: #ddd !important;
}

.adult, .adult td {
  background-color: #CCFFCC !important;
}

.aw, .aw td, .ADULT-W, .ADULT-W td {
  background-color: #99FF99 !important;
}

.as, .as td, .ADULT-S, .ADULT-S td {
  background-color: #99FF99 !important;
}

.ADULT-F, .ADULT-F td {
  background-color: #FF69B4 !important;
}

.tw, .tw td, .TEEN-W, .TEEN-W td {
  background-color: #99CCFF !important;
}

.ts, .ts td, .TEEN-S, .TEEN-S td {
  background-color: #99CCFF !important;
}

.child, .child td {
  background-color: #FF99CC !important;
}

.cw, .cw td, .CHILD-W, .CHILD-W td {
  background-color: #CC99FF !important;
}

.cs, .cs td, .CHILD-S, .CHILD-S td {
  background-color: #CCCCFF !important;
}

.vd, .vd td {
  background-color: #CCCCCC !important;
}

.pk, .pk td {
  background-color: #FF9999 !important;
}

.AAA, .AAA td, .AAA-F, .AAA-F td, .AAA-S, .AAA-S td {
  background-color: gold !important;
}

.CREW, .CREW td, .CREW-F, .CREW-F td, .CREW-S, .CREW-S td {
  background-color: gold !important;
}

.ARTIST, .ARTIST td, .ARTIST-F, .ARTIST-F td, .ARTIST-S, .ARTIST-S td {
  background-color: #CCCCCC !important;
}

.TRADE-S, .TRADE-S td, .TRADE-W, .TRADE-W td {
  background-color: #FF80D1 !important;
}

th.sort-header {
  cursor:pointer;
  }
th.sort-header::-moz-selection,
th.sort-header::selection {
  background:transparent;
  }
table th.sort-header:after {
  content:'';
  float:right;
  margin-top:7px;
  border-width:0 4px 4px;
  border-style:solid;
  border-color:#404040 transparent;
  visibility:hidden;
  }
table th.sort-header:hover:after {
  visibility:visible;
  }
table th.sort-up:after,
table th.sort-down:after,
table th.sort-down:hover:after {
  visibility:visible;
  opacity:0.4;
  }
table th.sort-up:after {
  border-bottom:none;
  border-width:4px 4px 0;
  }

.no-wrap, .no-wrap * {
    white-space: nowrap;
}

#invoice {
  width: 680px;
  margin: 0 auto;
  color: #000000;
}

#invoice h1, #invoice h2 {
  text-align: center;
}

.pure-button {
    padding: 3px 10px;
}

td .progress {
    width: 300px;
    margin-bottom: 0px;
}

.drow {
    border-bottom: 1px solid #ccc;
}

.dcell {
    display: inline-block;
    min-width: 300px;
}

.wide {
  width: 90%;
}

input[type=number] { 
    width: 70px;
}

.form-table {
    width: 100%;
}

.form-table input[type=text], .form-table input[type=email], .form-table textarea {
    width: 100%;
}

.form-table ul {
    list-style-type: none;
    padding-left: 0px;
}

.form-table li label {
    font-weight: normal;
}

.form-table th, .form-table td {
    padding: 5px;
    vertical-align: top;
}

.form-table tr.low td {
    padding-top: 0px;
}

.form-table th {
    white-space: nowrap;
}

.helptext {
  font-style: italic;
}

img.artist {
    float: left;
    margin-right: 30px;
    margin-bottom: 30px;
    box-shadow: 2px 2px 5px #333333;
}

.errorlist {
  font-weight: bold;
  color: #f00;
}

table.narrow {
    width: auto !important;
}

table.centred tr td, table.centred tr th {
  text-align: center;
  vertical-align: middle;
}

[v-cloak] { display:none; }

table.tight>tbody>tr>td, table.tight>tbody>tr>th {
  padding: 8px 0px
}

table.tight>tbody>tr>td>button {
  padding: 6px 2px;
  min-width: 50px;
}

table.tight>tbody>tr>td>input {
  margin: 5px auto;
  max-width: 98%;
}

table.schedule label {
  font-weight: normal;
  margin-bottom: 0;
}

div.spacer {
    height: 40px;
}

div.map {
    background-image:url('/static/img/mapgrey.png');
    background-repeat:no-repeat;
    background-size:100% 100%;
    height: 350px;
    margin-top: 5px;
    border-radius: 3px;
    margin-bottom: 10px;
}

div.map table {
  table-layout: fixed;
  height: 100%
}

div.map table.table > tbody > tr > td {
  text-align: center; 
  vertical-align: middle;
  width: 17%;
  border: none;
  padding: 1px;
}

a.area {
  margin-bottom: 5px;
}

.logentry > .panel-heading, .logentry > .panel-body {
  padding: 0px 15px;
}

.logentry {
  margin-bottom: 5px;
}

h3.success {
  color: green;
}

.log-area {
  color: #000;
}

.ticket {
  page-break-inside: avoid;
}

.code {
  font-family: "Lucida Console", Monaco, monospace;
}

.day {
  border: 1px solid #999;
  position: relative;
  background-image: url("/static/img/hour.png");
  background-repeat: repeat-both;
  z-index: 10;
  height: 1000px;
  margin-bottom: 50px;
}

.slot {
  border: 1px solid #0074d9;
  border-radius: 4px;
  margin-right: 1px;
  position: absolute;
  background-color: #dddddd;
  z-index: 20;
  width: 10%;
  overflow: hidden;
}

.stage {
  background-color: #ffccdd;
}

.bar {
  background-color: #ddccff;
}

.kids {
  background-color: #ffddcc;
}

.field {
  background-color: #ddffdd;
}

.activity {
  background-color: #ffffcc;
}

.teen {
  background-color: #ccddff;
}

.order-summary {
  display: inline-block;
  background-color: #eee;
  border: 1px solid #999999;
  border-radius: 4px;
}

.programme {
  font-size: 150%;
  line-height: normal;
  max-width: 500px;
}

.programme-slot {
  page-break-inside:avoid;
}

.programme-slot h3, .programme-slot h2 {
  margin-top: 5px;
}

.programme-slot h5 {
  margin-bottom: 2px;
}
