@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr,
acronym, address, big, cite, code, del, dfn, em,
img, ins, kbd, q, s, samp, small, strike, strong,
sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption,
tbody, tfoot, thead, tr, th, td, article, aside, canvas,
details, embed, figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary, time, mark,
audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  box-sizing: border-box;
  line-height: 1;
}
html *, html *:before, html *:after {
  box-sizing: inherit;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: 400;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

html, body {
  background: #222;
  box-sizing: border-box;
  color: #ddd;
  font-family: "Kanit", tahoma, arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  -webkit-text-size-adjust: 100% !important;
}

*, *:before, *:after {
  box-sizing: inherit;
  -webkit-text-size-adjust: 100% !important;
}

h1 {
  font-size: 40px;
}

h2 {
  font-size: 30px;
}

h3 {
  font-size: 24px;
}

h4 {
  font-size: 20px;
}

p {
  margin: auto 0 20px;
}

ul {
  list-style: disc;
  margin-bottom: 20px;
}

li {
  margin: 0 0 5px 40px;
}

a:link, a:hover, a:active, a:visited {
  color: #ddd;
  text-decoration: underline;
}

a:hover {
  color: #eee;
}

img {
  max-width: 100%;
}

hr {
  border: 0;
  border-bottom: 1px solid #555;
  margin: 0 0 20px 0;
}

.thin {
  font-weight: 100;
}

strong, b {
  font-weight: 700;
}

em, i {
  font-style: italic;
}

.mega-text {
  font-size: 40px;
}

.giant-text {
  font-size: 22px;
}

.big-text {
  font-size: 18px;
}

.standard-text {
  font-size: 16px;
}

.small-text {
  font-size: 12px;
}

.micro-text {
  font-size: 10px;
}

.padding-5 {
  padding: 5px;
}

.padding-10 {
  padding: 10px;
}

.padding-20 {
  padding: 20px;
}

.padding-50 {
  padding: 50px !important;
}

.margin-5 {
  margin: 5px;
}

.margin-10 {
  margin: 10px;
}

.margin-20 {
  margin: 20px;
}

.overflow-hidden {
  overflow: hidden;
}

.center {
  text-align: center !important;
}

.left {
  text-align: left;
}

.right {
  text-align: right;
}

.justify {
  text-align: justify;
}

.float-left {
  float: left;
}

.float-right {
  float: right;
}

.clear-both {
  clear: both;
}

.width-25 {
  width: 25%;
}

.width-50 {
  width: 50%;
}

.width-100 {
  width: 100%;
}

.width-auto {
  width: auto !important;
}

.red {
  color: #990000;
}

.green {
  color: #099449;
}

.faded-text {
  color: #777;
}

.uppercase {
  text-transform: uppercase;
}

.monospace {
  font-family: "Courier New", Courier, monospace;
}

.sub-header {
  color: #ccc;
}

.text-label {
  color: #ccc;
  font-size: 14px;
}

.block {
  display: block !important;
}

.inline-block {
  display: inline-block;
}

.inline {
  display: inline;
}

.hidden {
  display: none !important;
}

.border-l {
  border-left: 1px solid #555;
}

.border-r {
  border-right: 1px solid #555;
}

.border-b {
  border-bottom: 1px solid #555;
}

.border-t {
  border-top: 1px solid #555;
}

.no-border {
  border: 0 !important;
}

.lh1 {
  line-height: 1 !important;
}

.flex {
  display: flex;
}

.flex-wrap {
  flex-wrap: wrap;
}

.align-center {
  align-items: center;
}

.justify-center {
  justify-content: center;
}

.space-between {
  justify-content: space-between;
}

.gap-5 {
  gap: 5px;
}

.gap-10 {
  gap: 10px;
}

.gap-20 {
  gap: 20px;
}

.cols {
  display: flex;
  gap: 20px;
  width: 100%;
}
.cols.centered {
  align-items: center;
}
.cols .cols-5 p:last-child, .cols .cols-10 p:last-child, .cols .cols-15 p:last-child, .cols .cols-20 p:last-child, .cols .cols-25 p:last-child, .cols .cols-30 p:last-child, .cols .cols-33 p:last-child, .cols .cols-35 p:last-child, .cols .cols-40 p:last-child, .cols .cols-45 p:last-child, .cols .cols-50 p:last-child, .cols .cols-55 p:last-child, .cols .cols-60 p:last-child, .cols .cols-65 p:last-child, .cols .cols-66 p:last-child, .cols .cols-70 p:last-child, .cols .cols-75 p:last-child, .cols .cols-80 p:last-child, .cols .cols-85 p:last-child, .cols .cols-90 p:last-child, .cols .cols-95 p:last-child, .cols .cols-100 p:last-child {
  margin-bottom: 0;
}
.cols .cols-5 {
  width: 5%;
}
.cols .cols-10 {
  width: 10%;
}
.cols .cols-15 {
  width: 15%;
}
.cols .cols-20 {
  width: 20%;
}
.cols .cols-25 {
  width: 25%;
}
.cols .cols-30 {
  width: 30%;
}
.cols .cols-33 {
  width: 33.3333333333%;
}
.cols .cols-35 {
  width: 35%;
}
.cols .cols-40 {
  width: 40%;
}
.cols .cols-45 {
  width: 45%;
}
.cols .cols-50 {
  width: 50%;
}
.cols .cols-55 {
  width: 55%;
}
.cols .cols-60 {
  width: 60%;
}
.cols .cols-65 {
  width: 65%;
}
.cols .cols-66 {
  width: 66.6666666667%;
}
.cols .cols-70 {
  width: 70%;
}
.cols .cols-75 {
  width: 75%;
}
.cols .cols-80 {
  width: 80%;
}
.cols .cols-85 {
  width: 85%;
}
.cols .cols-90 {
  width: 90%;
}
.cols .cols-95 {
  width: 95%;
}
.cols .cols-100 {
  width: 100%;
}

.padding-b-0 {
  padding-bottom: 0 !important;
}

.margin-b-0 {
  margin-bottom: 0 !important;
}

.margin-l-5, .desktop-margin-l-5 {
  margin-left: 5px;
}

.margin-l-10, .desktop-margin-l-10 {
  margin-left: 10px;
}

.margin-l-20, .desktop-margin-l-20 {
  margin-left: 20px;
}

.margin-t-5, .desktop-margin-t-5 {
  margin-top: 5px;
}

.margin-t-10, .desktop-margin-t-10 {
  margin-top: 10px;
}

.margin-t-20, .desktop-margin-t-20 {
  margin-top: 20px;
}

.margin-r-5, .desktop-margin-r-5 {
  margin-right: 5px;
}

.margin-r-10, .desktop-margin-r-10 {
  margin-right: 10px;
}

.margin-r-20, .desktop-margin-r-20 {
  margin-right: 20px;
}

.margin-b-5, .desktop-margin-b-5 {
  margin-bottom: 5px;
}

.margin-b-10, .desktop-margin-b-10 {
  margin-bottom: 10px;
}

.margin-b-20, .desktop-margin-b-20 {
  margin-bottom: 20px;
}

.margin-b-30, .desktop-margin-b-30 {
  margin-bottom: 30px;
}

.padding-l-5, .desktop-padding-l-5 {
  padding-left: 5px;
}

.padding-l-10, .desktop-padding-l-10 {
  padding-left: 10px;
}

.padding-l-20, .desktop-padding-l-20 {
  padding-left: 20px;
}

.padding-t-5, .desktop-padding-t-5 {
  padding-top: 5px;
}

.padding-t-10, .desktop-padding-t-10 {
  padding-top: 10px;
}

.padding-t-20, .desktop-padding-t-20 {
  padding-top: 20px;
}

.padding-r-5, .desktop-padding-r-5 {
  padding-right: 5px;
}

.padding-r-10, .desktop-padding-r-10 {
  padding-right: 10px;
}

.padding-r-20, .desktop-padding-r-20 {
  padding-right: 20px;
}

.padding-b-5, .desktop-padding-b-5 {
  padding-bottom: 5px;
}

.padding-b-10, .desktop-padding-b-10 {
  padding-bottom: 10px;
}

.padding-b-20, .desktop-padding-b-20 {
  padding-bottom: 20px;
}

.padding-b-30, .desktop-padding-b-30 {
  padding-bottom: 30px;
}

.no-padding {
  padding: 0;
}

.no-margin {
  margin: 0;
}

.mobile-only {
  display: none;
}

.fadeable {
  transition: opacity 0.3s;
}

.warning {
  background: #990000;
  border-radius: 4px;
  color: white;
  line-height: 1;
  padding: 4px 6px;
}

.form-group {
  padding-bottom: 10px;
}
.form-group.form-checkbox {
  align-items: start;
  display: flex;
  flex-flow: row wrap;
}
.form-group.form-checkbox input {
  width: 15px;
}
.form-group.form-checkbox label {
  width: calc(100% - 30px);
}
.form-group.form-checkbox div {
  width: 100%;
}
.form-group span.field-validation-error {
  display: inline-block;
  padding: 4px 0 0 4px;
}
.form-group span.field-validation-error span {
  background: #990000;
  border-radius: 0 5px;
  color: white;
  display: inline-block;
  font-size: 14px;
  line-height: 1;
  padding: 4px 8px;
}

label {
  color: #ccc;
  display: inline-block;
  font-size: 14px;
  padding: 0 0 4px 4px;
  text-align: left;
}

.actions {
  padding: 10px;
  text-align: center;
}

.checkbox-list {
  column-count: 2;
  margin: 0;
}
.checkbox-list li {
  margin: 0;
  list-style-type: none;
}

input[type=text], input[type=tel], input[type=email], input[type=number], input[type=password], input[type=date], input[type=datetime-local], select, textarea {
  background: #292929;
  border: 1px solid #333;
  border-radius: 4px;
  color: #ccc;
  font-family: "Kanit", tahoma, arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  outline: none;
  padding: 8px;
  resize: none;
  transition: border-color 0.5s ease, background-color 0.5s ease;
  width: 100%;
  -webkit-appearance: none;
}
input[type=text].short, input[type=tel].short, input[type=email].short, input[type=number].short, input[type=password].short, input[type=date].short, input[type=datetime-local].short, select.short, textarea.short {
  display: block;
  max-width: 150px;
}
input[type=text]:focus, input[type=tel]:focus, input[type=email]:focus, input[type=number]:focus, input[type=password]:focus, input[type=date]:focus, input[type=datetime-local]:focus, select:focus, textarea:focus {
  border: 1px solid #555;
}
input[type=text].change-alert, input[type=tel].change-alert, input[type=email].change-alert, input[type=number].change-alert, input[type=password].change-alert, input[type=date].change-alert, input[type=datetime-local].change-alert, select.change-alert, textarea.change-alert {
  background: rgba(255, 171, 61, 0.1);
  border-color: rgba(255, 171, 61, 0.4);
}
input[type=text].disabled, input[type=tel].disabled, input[type=email].disabled, input[type=number].disabled, input[type=password].disabled, input[type=date].disabled, input[type=datetime-local].disabled, select.disabled, textarea.disabled {
  border: 1px solid #555;
  opacity: 0.5;
  pointer-events: none;
}
input[type=text].input-validation-error, input[type=tel].input-validation-error, input[type=email].input-validation-error, input[type=number].input-validation-error, input[type=password].input-validation-error, input[type=date].input-validation-error, input[type=datetime-local].input-validation-error, select.input-validation-error, textarea.input-validation-error {
  border-color: #990000;
}

select {
  padding: 12px;
}

textarea {
  line-height: 1.4;
}

.button, .button:link, .button:hover, .button:active, .button:visited {
  background: #222;
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 4px;
  color: #ccc;
  cursor: pointer;
  display: inline-block;
  font-family: "Kanit", tahoma, arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  outline: none;
  padding: 15px 20px;
  text-align: center;
  text-decoration: none;
  -webkit-appearance: none;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.button.full-width, .button:link.full-width, .button:hover.full-width, .button:active.full-width, .button:visited.full-width {
  width: 100%;
}
.button.mini, .button:link.mini, .button:hover.mini, .button:active.mini, .button:visited.mini {
  font-size: 12px;
  padding: 5px 10px;
}
.button.disabled, .button:link.disabled, .button:hover.disabled, .button:active.disabled, .button:visited.disabled {
  background-color: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.5);
  cursor: not-allowed;
  opacity: 0.3;
  pointer-events: none;
}

.button:hover {
  background: rgb(46.75, 46.75, 46.75);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.pop-alert {
  border-radius: 8px;
  box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.4);
  color: white;
  cursor: pointer;
  font-size: 16px;
  font-style: italic;
  left: 30px;
  max-width: 50%;
  padding: 20px;
  position: fixed;
  top: 30px;
  z-index: 10000;
}
.pop-alert.success {
  background: #099449;
}
.pop-alert.failure {
  background: #990000;
}

.checkbox, .radio-button {
  align-items: stretch;
  display: flex;
  font-size: 0;
  justify-content: flex-start;
  margin: 0 0 10px;
}
.checkbox input, .radio-button input {
  height: 0;
  left: -9999px;
  position: absolute;
  width: 0;
}
.checkbox label, .radio-button label {
  background-color: #222;
  border: solid 1px rgba(255, 255, 255, 0.05);
  color: #777;
  font-size: 16px;
  margin: 0;
  padding: 8px;
  position: relative;
  text-align: center;
  transition: background-color 0.15s ease-out;
}
.checkbox label:hover, .radio-button label:hover {
  background: #333;
}
.checkbox .checked, .radio-button .checked {
  background-color: #333;
  border-color: #555;
  color: #ddd;
}

.checkbox {
  flex-flow: column;
}
.checkbox label {
  border-radius: 5px;
}
.checkbox .checked::after {
  color: #777;
  content: "✓ SELECTED";
  font-size: 10px;
  position: absolute;
  right: 5px;
  top: 3px;
}

.radio-button {
  flex-flow: row;
}
.radio-button label {
  flex-grow: 10;
  font-size: 12px;
  text-transform: uppercase;
}
.radio-button label.yes {
  background: rgba(9, 148, 73, 0.5);
  border-color: #099449;
}
.radio-button label.no {
  background: rgba(153, 0, 0, 0.5);
  border-color: #990000;
}
.radio-button label.maybe {
  background: rgba(255, 171, 61, 0.5);
  border-color: #ffab3d;
}
.radio-button label:first-child {
  border-radius: 5px 0 0 5px;
}
.radio-button label:last-child {
  border-radius: 0 5px 5px 0;
}

@media (min-width: 768px) and (max-width: 1325px) {
  .radio-button {
    display: block;
  }
  .radio-button label {
    display: block;
  }
  .radio-button label:first-child {
    border-radius: 5px 5px 0 0;
  }
  .radio-button label:last-child {
    border-radius: 0 0 5px 5px;
  }
}
.table-label {
  padding: 0 20px 10px 20px;
}

.table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}
.table th, .table td {
  overflow: hidden;
  padding: 10px 20px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.table th {
  border-bottom: 1px solid #333;
  color: #777;
  font-size: 12px;
  text-transform: uppercase;
}
.table td {
  border-bottom: 1px solid #333;
}
.table td.actions {
  overflow: visible;
  padding: 5px 10px;
}
.table td .buttons {
  align-items: center;
  display: flex;
  justify-content: end;
}
.table td .buttons .button {
  border-radius: 0 !important;
  font-size: 12px;
  padding: 10px 15px;
  text-transform: uppercase;
}
.table tr.faded td, .table tr.faded * {
  color: rgb(93.5, 93.5, 93.5) !important;
}
.table tr:nth-child(even) td {
  background-color: rgba(255, 255, 255, 0.015);
}
.table .w5 {
  width: 5%;
}
.table .w10 {
  width: 10%;
}
.table .w15 {
  width: 15%;
}
.table .w20 {
  width: 20%;
}
.table .w25 {
  width: 25%;
}
.table .w30 {
  width: 30%;
}
.table .w35 {
  width: 35%;
}
.table .w40 {
  width: 40%;
}
.table .w45 {
  width: 45%;
}
.table .w50 {
  width: 50%;
}

.table-scroll {
  overflow-x: scroll;
  position: relative;
  width: 100%;
}
.table-scroll table {
  table-layout: auto;
}
.table-scroll th, .table-scroll td {
  overflow: visible;
  text-overflow: unset;
  white-space: nowrap;
}
.table-scroll.scroll {
  padding-bottom: 10px;
}
.table-scroll .overlay {
  background: linear-gradient(to right, rgba(34, 34, 34, 0) 50%, rgb(34, 34, 34) 100%);
  bottom: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  width: 50%;
}

.homepage-logo {
  background: url(/images/musiic-logo.svg) center center no-repeat #222;
  border-radius: 10px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.5) inset;
  height: 200px;
}

.band-listing {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
}
.band-listing a.band-listing-item:link, .band-listing a.band-listing-item:hover, .band-listing a.band-listing-item:active, .band-listing a.band-listing-item:visited {
  background: #333;
  border: 1px solid #555;
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  height: 200px;
  margin-bottom: 10px;
  text-decoration: none;
  transition: background-color 300ms;
  width: 49%;
}
.band-listing a.band-listing-item:hover {
  background: #222;
}
.band-listing .band-listing-image {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  flex-grow: 100;
  margin: 10px 10px 0;
  padding: 10px;
}
.band-listing .band-listing-name {
  font-size: 18px;
  padding: 10px;
  text-align: center;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}

header {
  background: #333;
  border-bottom: 1px solid #555;
  display: flex;
  height: 50px;
  left: 0;
  position: fixed;
  right: 200px;
  top: 0;
  z-index: 1;
}
header .system-title {
  align-items: center;
  color: rgba(255, 255, 255, 0.3);
  display: flex;
  flex-grow: 10;
  font-size: 24px;
  justify-content: space-between;
  padding: 0 20px;
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);
}
header .system-title .logo {
  padding-top: 9px;
  margin-left: -4px;
}
header .system-title .logo img {
  filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(50%) contrast(100%);
  height: 40px;
}
header .system-title .account-info {
  align-items: end;
  display: flex;
  flex-direction: column;
  font-size: 12px;
  text-shadow: none;
}
header .system-title .account-info a:link, header .system-title .account-info a:hover, header .system-title .account-info a:active, header .system-title .account-info a:visited {
  color: rgba(255, 255, 255, 0.3);
  text-decoration: none;
}

.sub-header {
  align-items: stretch;
  background: #234461;
  border-bottom: 1px solid #555;
  display: flex;
  height: 75px;
  left: 0;
  position: fixed;
  right: 200px;
  top: 50px;
  z-index: 1;
}
.sub-header.admin {
  background: #990000;
}
.sub-header.admin a:link, .sub-header.admin a:hover, .sub-header.admin a:active, .sub-header.admin a:visited {
  background: #990000;
}
.sub-header a:link, .sub-header a:hover, .sub-header a:active, .sub-header a:visited {
  align-items: center;
  background: #234461;
  border: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.05);
  box-shadow: -3px 0 5px inset rgba(0, 0, 0, 0.5);
  color: white;
  display: flex;
  font-size: 14px;
  justify-content: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: background 0.3s, color 0.3s;
  width: 80px;
}
.sub-header a:link::before, .sub-header a:hover::before, .sub-header a:active::before, .sub-header a:visited::before {
  content: "«";
  margin-right: 5px;
}
.sub-header a:hover {
  background: rgb(30.9431818182, 60.1181818182, 85.7568181818);
  color: white;
}
.sub-header .sub-header-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 20px;
}
.sub-header .sub-header-content .section-title {
  font-size: 18px;
}
.sub-header .sub-header-content .section-sub-title {
  font-size: 12px;
}

.main {
  padding-top: 125px;
  padding-bottom: 100px;
}

.content {
  margin-right: 200px;
}

nav {
  background: #333;
  border-left: 1px solid #555;
  bottom: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 200px;
  z-index: 10;
}
nav .band {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 180px;
  cursor: pointer;
  height: 200px;
  position: relative;
  text-align: center;
}
nav .band .manage-button {
  background: transparent;
  display: block;
  font-size: 14px;
  height: 100px;
  left: 0;
  padding: 5px 10px;
  position: relative;
  right: 0;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
  top: 0;
  z-index: 10;
}
nav .band .manage-button::before {
  background: rgba(0, 0, 0, 0.3);
  border-radius: 50%;
  content: "";
  display: block;
  left: 50px;
  pointer-events: none;
  position: absolute;
  height: 75px;
  top: -37.5px;
  width: 100px;
  z-index: -1;
}
nav .band .band-name {
  align-items: end;
  background-color: rgba(0, 0, 0, 0.9);
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  padding: 5px;
  position: absolute;
  right: 0;
}
nav .band .band-list {
  background-color: #234461;
  border: 1px solid rgb(21.4772727273, 41.7272727273, 59.5227272727);
  position: fixed;
  right: 200px;
  top: 10px;
  width: 200px;
  z-index: 10;
}
nav .band .band-list a:link, nav .band .band-list a:hover, nav .band .band-list a:active, nav .band .band-list a:visited {
  border-bottom: 1px solid rgb(21.4772727273, 41.7272727273, 59.5227272727);
  display: block;
  font-size: 14px;
  overflow: hidden;
  padding: 10px;
  text-decoration: none;
  text-overflow: ellipsis;
  transition: background 0.3s;
  white-space: nowrap;
}
nav .band .band-list a:link:last-child, nav .band .band-list a:hover:last-child, nav .band .band-list a:active:last-child, nav .band .band-list a:visited:last-child {
  border-bottom: 0;
}
nav .band .band-list a:link.current, nav .band .band-list a:hover.current, nav .band .band-list a:active.current, nav .band .band-list a:visited.current {
  background-color: rgb(28.2386363636, 54.8636363636, 78.2613636364);
  font-weight: bold;
}
nav .band .band-list a:link.current::after, nav .band .band-list a:hover.current::after, nav .band .band-list a:active.current::after, nav .band .band-list a:visited.current::after {
  border-bottom: 10px solid transparent;
  border-right: 8px solid rgb(14.7159090909, 28.5909090909, 40.7840909091);
  border-top: 10px solid transparent;
  content: "";
  height: 0;
  left: 0;
  position: absolute;
  right: 0;
  width: 100%;
}
nav .band .band-list a:link.manage, nav .band .band-list a:hover.manage, nav .band .band-list a:active.manage, nav .band .band-list a:visited.manage {
  background-color: rgb(21.4772727273, 41.7272727273, 59.5227272727);
  border-radius: 100px;
  margin: 5px;
  padding: 5px;
}
nav .band .band-list a:hover {
  background-color: rgb(28.2386363636, 54.8636363636, 78.2613636364);
}
nav .band .band-list a:hover.manage {
  background-color: rgb(14.7159090909, 28.5909090909, 40.7840909091);
}
nav.admin .nav-scroll {
  border-top: 0;
  top: 0;
}
nav .nav-scroll {
  border-top: 1px solid #555;
  bottom: 0;
  left: 0;
  overflow-y: scroll;
  position: absolute;
  right: -17px;
  top: 200px;
}
nav .nav-link:link, nav .nav-link:hover, nav .nav-link:active, nav .nav-link:visited {
  align-items: center;
  background-position: center left 10px;
  background-repeat: no-repeat;
  background-size: 24px;
  border-bottom: 1px solid #555;
  display: flex;
  font-size: 14px;
  height: 50px;
  padding-left: 40px !important;
  text-decoration: none;
  transition: background 0.3s;
}
nav .nav-link:link.current, nav .nav-link:hover.current, nav .nav-link:active.current, nav .nav-link:visited.current {
  background-color: #222;
}
nav .nav-link:link.current::after, nav .nav-link:hover.current::after, nav .nav-link:active.current::after, nav .nav-link:visited.current::after {
  border-bottom: 10px solid transparent;
  border-right: 8px solid #555;
  border-top: 10px solid transparent;
  content: "";
  height: 0;
  left: 0;
  position: absolute;
  right: 0;
  width: 100%;
}
nav .nav-link:link.dashboard, nav .nav-link:hover.dashboard, nav .nav-link:active.dashboard, nav .nav-link:visited.dashboard {
  background-image: url(/images/icon-dashboard.svg);
}
nav .nav-link:link.gigs, nav .nav-link:hover.gigs, nav .nav-link:active.gigs, nav .nav-link:visited.gigs {
  background-image: url(/images/icon-gigs.svg);
}
nav .nav-link:link.locations, nav .nav-link:hover.locations, nav .nav-link:active.locations, nav .nav-link:visited.locations {
  background-image: url(/images/icon-map.svg);
}
nav .nav-link:link.contacts, nav .nav-link:hover.contacts, nav .nav-link:active.contacts, nav .nav-link:visited.contacts {
  background-image: url(/images/icon-contacts.svg);
}
nav .nav-link:link.booking, nav .nav-link:hover.booking, nav .nav-link:active.booking, nav .nav-link:visited.booking {
  background-image: url(/images/icon-booking.svg);
}
nav .nav-link:link.email, nav .nav-link:hover.email, nav .nav-link:active.email, nav .nav-link:visited.email {
  background-image: url(/images/icon-email.svg);
}
nav .nav-link:link.notifications, nav .nav-link:hover.notifications, nav .nav-link:active.notifications, nav .nav-link:visited.notifications {
  background-image: url(/images/icon-notification.svg);
}
nav .nav-link:link.contracts, nav .nav-link:hover.contracts, nav .nav-link:active.contracts, nav .nav-link:visited.contracts {
  background-image: url(/images/icon-contracts.svg);
}
nav .nav-link:link.scheduling, nav .nav-link:hover.scheduling, nav .nav-link:active.scheduling, nav .nav-link:visited.scheduling {
  background-image: url(/images/icon-scheduling.svg);
}
nav .nav-link:link.rehearsals, nav .nav-link:hover.rehearsals, nav .nav-link:active.rehearsals, nav .nav-link:visited.rehearsals {
  background-image: url(/images/icon-rehearsal.svg);
}
nav .nav-link:link.polls, nav .nav-link:hover.polls, nav .nav-link:active.polls, nav .nav-link:visited.polls {
  background-image: url(/images/icon-polls.svg);
}
nav .nav-link:link.members, nav .nav-link:hover.members, nav .nav-link:active.members, nav .nav-link:visited.members {
  background-image: url(/images/icon-members.svg);
}
nav .nav-link:link.settings, nav .nav-link:hover.settings, nav .nav-link:active.settings, nav .nav-link:visited.settings {
  background-image: url(/images/icon-settings.svg);
}
nav .nav-link:link.announcements, nav .nav-link:hover.announcements, nav .nav-link:active.announcements, nav .nav-link:visited.announcements {
  background-image: url(/images/icon-announcements.svg);
}
nav .nav-link:link.feedback, nav .nav-link:hover.feedback, nav .nav-link:active.feedback, nav .nav-link:visited.feedback {
  background-image: url(/images/icon-feedback.svg);
}
nav .nav-link:link.bands, nav .nav-link:hover.bands, nav .nav-link:active.bands, nav .nav-link:visited.bands {
  background-image: url(/images/icon-bands.svg);
}
nav .nav-link:link.logs, nav .nav-link:hover.logs, nav .nav-link:active.logs, nav .nav-link:visited.logs {
  background-image: url(/images/icon-logs.svg);
}
nav a:hover {
  background: #222;
}
nav a:hover.band-button {
  background: rgb(8.5, 8.5, 8.5);
}

section {
  padding: 20px;
}
section.mid {
  margin: 0 auto;
  max-width: 800px;
}
section.slim {
  margin: 0 auto;
  max-width: 600px;
}

.container {
  margin: 0 auto;
  max-width: 980px;
  padding: 20px;
}

.fade {
  background: linear-gradient(to bottom, rgba(34, 34, 34, 0) 30%, rgb(34, 34, 34) 80%);
  bottom: 0;
  height: 100px;
  left: 0;
  pointer-events: none;
  position: fixed;
  right: 0;
}

.box {
  margin: 40px auto 10px;
  max-width: 550px;
  padding: 20px;
}
.box .container {
  background: #444;
  border-radius: 5px;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
}
.box .container p:last-child {
  margin-bottom: 0;
}
.box .main {
  padding: 0;
}

.callout {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid #555;
  border-radius: 4px;
  padding: 15px;
  transition: border-color 0.5s ease, background-color 0.5s ease;
}
.callout p:last-child, .callout div:last-child {
  margin-bottom: 0 !important;
}
.callout.alert {
  background: #990000;
  color: white;
}
.callout.change-alert {
  background: rgba(255, 171, 61, 0.1);
  border-color: rgba(255, 171, 61, 0.4);
}
.callout.positive {
  background: rgba(9, 148, 73, 0.2);
  border-color: #099449;
}
.callout.negative {
  background: rgba(153, 0, 0, 0.2);
  border-color: #990000;
}

.no-records {
  background: rgba(255, 255, 255, 0.05);
  border: 1px dashed rgb(72.25, 72.25, 72.25);
  border-radius: 4px;
  color: #777;
  font-style: italic;
  padding: 10px;
  text-align: center;
}

.fake-button {
  background: #222;
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 4px;
  color: #ccc;
  padding: 10px;
  text-align: center;
}

.box-link:link, .box-link:hover, .box-link:active, .box-link:visited {
  background: #333;
  border: 1px solid #555;
  border-radius: 4px;
  display: block;
  padding: 20px;
  text-align: center;
  text-decoration: none;
  transition: background 0.3s;
}

.box-link:hover {
  background: #444;
}

.display-label {
  color: #888;
  font-size: 12px;
  text-transform: uppercase;
}

.ellipsify {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pill {
  background: #333;
  border-radius: 999px;
  font-size: 14px;
  line-height: 1;
  padding: 8px 15px;
}

.status-row {
  background: #444;
  border-radius: 2px;
  color: white;
  display: flex;
  justify-content: space-between;
  line-height: 1;
  margin-bottom: 2px;
  overflow: hidden;
  padding: 2px 3px;
}
.status-row.pending {
  background-color: rgba(255, 125, 0, 0.7);
}
.status-row.complete {
  background-color: rgba(0, 255, 0, 0.2);
}
.status-row span:last-child {
  padding-left: 5px;
}

.gig-icon, .export-icon {
  background-position: center left 5px;
  background-repeat: no-repeat;
  background-size: 18px;
  border-radius: 4px;
  display: inline-block;
  font-size: 12px;
  padding: 5px 10px 5px 27px;
}

.gig-icon {
  background-color: #111;
  color: #999;
}
.gig-icon.private {
  background-image: url(/images/icon-private.svg);
}
.gig-icon.pending {
  background-image: url(/images/icon-pending.svg);
}
.gig-icon.live {
  background-image: url(/images/icon-live.svg);
}

.export-icon {
  border: 1px solid transparent;
  color: white;
}
.export-icon.done {
  background-color: #099449;
  background-image: url(/images/icon-check.svg);
}
.export-icon.pending {
  background-color: #222;
  background-image: url(/images/icon-x.svg);
  border-color: #555;
  opacity: 0.4;
}

.code-block {
  border: 1px solid #555;
  font-family: monospace;
  overflow-x: auto;
  padding: 10px;
}

.logo-display {
  text-align: center;
}
.logo-display img {
  max-width: 200px;
}

.upcoming-message {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid #555;
  border-radius: 4px;
  display: flex;
  margin-bottom: 20px;
  overflow: hidden;
  position: relative;
}
.upcoming-message.soon {
  border-color: #099449;
}
.upcoming-message.soon .flag {
  background: #099449;
  border-radius: 0 0 0 5px;
  color: white;
  display: block;
  font-size: 11px;
  padding: 0 4px;
  position: absolute;
  right: 0;
  text-transform: uppercase;
  top: 0;
}
.upcoming-message .flag {
  display: none;
}
.upcoming-message .date {
  align-items: center;
  background: rgba(0, 0, 0, 0.2);
  border-right: 1px solid #555;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 10px;
  width: 100px;
}
.upcoming-message .date .month {
  font-size: 14px;
  line-height: 1;
  text-transform: uppercase;
}
.upcoming-message .date .day {
  font-size: 40px;
  line-height: 1;
}
.upcoming-message .details {
  align-items: center;
  justify-content: center;
  padding: 15px;
}

.gig-form-block {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid #555;
  border-radius: 4px;
  margin-bottom: 20px;
}
.gig-form-block .gig-form-block-header {
  background: rgba(0, 0, 0, 0.3);
  border-bottom: 1px solid #555;
  font-size: 14px;
  padding: 15px;
  text-align: center;
  text-transform: uppercase;
}
.gig-form-block .gig-form-block-fields {
  padding: 15px;
}

.duration-module .duration-controls {
  align-content: center;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}
.duration-module .duration-controls input {
  border-radius: 0;
  flex-shrink: 2;
  pointer-events: none;
  text-align: center;
}
.duration-module .duration-controls .duration-control:link, .duration-module .duration-controls .duration-control:hover, .duration-module .duration-controls .duration-control:active, .duration-module .duration-controls .duration-control:visited {
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.05);
  display: flex;
  font-size: 12px;
  justify-content: center;
  text-decoration: none;
  min-width: 30px;
}
.duration-module .duration-controls .duration-control:link:nth-child(1), .duration-module .duration-controls .duration-control:link:nth-child(2), .duration-module .duration-controls .duration-control:link:nth-child(3), .duration-module .duration-controls .duration-control:hover:nth-child(1), .duration-module .duration-controls .duration-control:hover:nth-child(2), .duration-module .duration-controls .duration-control:hover:nth-child(3), .duration-module .duration-controls .duration-control:active:nth-child(1), .duration-module .duration-controls .duration-control:active:nth-child(2), .duration-module .duration-controls .duration-control:active:nth-child(3), .duration-module .duration-controls .duration-control:visited:nth-child(1), .duration-module .duration-controls .duration-control:visited:nth-child(2), .duration-module .duration-controls .duration-control:visited:nth-child(3) {
  border-right: 0;
}
.duration-module .duration-controls .duration-control:link:nth-child(6), .duration-module .duration-controls .duration-control:link:nth-child(7), .duration-module .duration-controls .duration-control:link:nth-child(8), .duration-module .duration-controls .duration-control:hover:nth-child(6), .duration-module .duration-controls .duration-control:hover:nth-child(7), .duration-module .duration-controls .duration-control:hover:nth-child(8), .duration-module .duration-controls .duration-control:active:nth-child(6), .duration-module .duration-controls .duration-control:active:nth-child(7), .duration-module .duration-controls .duration-control:active:nth-child(8), .duration-module .duration-controls .duration-control:visited:nth-child(6), .duration-module .duration-controls .duration-control:visited:nth-child(7), .duration-module .duration-controls .duration-control:visited:nth-child(8) {
  border-left: 0;
}
.duration-module .duration-controls .duration-control:hover {
  background: rgb(46.75, 46.75, 46.75);
}

.poll-response {
  border-radius: 4px;
  display: flex;
  flex-wrap: wrap;
  height: 75px;
  overflow: hidden;
}
.poll-response.pending {
  background-color: #444;
}
.poll-response.pending .response {
  background-color: rgb(55.25, 55.25, 55.25);
}
.poll-response.available {
  background-color: #099449;
}
.poll-response.available .response {
  background-color: rgb(7.5382165605, 123.9617834395, 61.1433121019);
}
.poll-response.unavailable {
  background-color: #990000;
}
.poll-response.unavailable .response {
  background-color: rgb(127.5, 0, 0);
}
.poll-response.possible {
  background-color: #ffab3d;
}
.poll-response.possible .response {
  background-color: rgb(188.5, 106.881443299, 0);
}
.poll-response .response {
  align-items: center;
  display: flex;
  font-size: 20px;
  justify-content: center;
  width: 75px;
}
.poll-response .details {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px;
}

.player-notification-summary {
  font-size: 12px;
}
.player-notification-summary .item {
  border-radius: 100px;
  display: inline-block;
  margin: 0 4px 4px 0;
  padding: 2px 8px 2px;
}
.player-notification-summary .item.yes {
  background-color: rgba(9, 148, 73, 0.2);
}
.player-notification-summary .item.no {
  background-color: rgba(153, 0, 0, 0.2);
}

.band-member-list {
  display: flex;
  gap: 5px;
}
.band-member-list.stacked {
  flex-wrap: wrap;
}
.band-member-list.stacked .group {
  align-items: center;
  display: flex;
  gap: 5px;
  width: 100%;
}
.band-member-list.stacked .details {
  flex-grow: 100;
  font-size: 12px;
}
.band-member-list .item {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 100px;
  line-height: 1;
  padding: 4px 10px;
  text-decoration: none;
}
.band-member-list .item.me {
  background: #234461;
  border-color: rgb(48.5227272727, 94.2727272727, 134.4772727273);
}

.popup {
  align-items: center;
  background: rgba(0, 0, 0, 0.8);
  bottom: 0;
  color: white;
  display: flex;
  justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1000;
}
.popup .popup-content {
  background: #222;
  border-radius: 8px;
  margin: 20px;
  max-width: 600px;
  min-width: 300px;
  overflow: hidden;
  padding: 20px;
  position: relative;
}
.popup .popup-content .popup-type {
  bottom: 0;
  font-size: 12px;
  left: 0;
  padding: 2px;
  position: absolute;
  right: 0;
  text-align: center;
}
.popup .popup-content .popup-type.gig-popup {
  background: #234461;
}
.popup .popup-content .popup-type.rehearsal-popup {
  background: #1e462f;
}
.popup .popup-content .popup-type.schedule-entry-popup {
  background: #990000;
}
.popup .popup-content .popup-type.schedule-entry-popup-alt {
  background-color: #333;
}
.popup .popup-content .popup-type.conflict-popup {
  background: #b55809;
}

.dropzone {
  background: #222 !important;
  border: 1px dashed #555 !important;
  border-radius: 4px;
  margin: 0 auto;
  max-width: 500px;
}
.dropzone .dz-message {
  margin: 0 !important;
  padding: 45px 0 !important;
}

.dropzone-warning, .dropzone-error {
  border-radius: 5px;
  color: white;
  margin: 10px;
  padding: 10px;
  text-align: center;
}

.dropzone-warning {
  background-color: #e28e10;
}

.dropzone-error {
  background-color: #c41230;
}

.markdown-preview {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid #555;
  border-radius: 4px;
  padding: 10px;
}

.merge-option:link, .merge-option:hover, .merge-option:active, .merge-option:visited {
  background: #222;
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 4px;
  color: #ccc;
  cursor: pointer;
  display: inline-block;
  font-size: 12px;
  line-height: 1;
  margin: 0 4px 6px 0;
  outline: none;
  padding: 5px;
  text-align: center;
  text-decoration: none !important;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.merge-option:hover {
  background: rgb(46.75, 46.75, 46.75);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.pager {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 10px;
}
.pager .page-button:link, .pager .page-button:hover, .pager .page-button:active, .pager .page-button:visited {
  background: #222;
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 4px;
  color: #ccc;
  font-size: 12px;
  line-height: 1;
  margin: 3px;
  outline: none;
  padding: 8px 4px;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.3s ease, border-color 0.3s ease;
  width: 40px;
}
.pager .page-button:link.current, .pager .page-button:hover.current, .pager .page-button:active.current, .pager .page-button:visited.current {
  background: #234461;
  pointer-events: none;
}
.pager span {
  padding: 0 5px;
}
.pager .page-button:hover {
  background: rgb(46.75, 46.75, 46.75);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.announcement-list {
  margin-bottom: 20px;
}
.announcement-list .announcement {
  background-color: rgba(153, 0, 0, 0.1);
  border: 1px solid #990000;
  border-radius: 8px;
  margin-bottom: 10px;
  padding: 20px;
}
.announcement-list .announcement .close-announcement {
  float: right;
  font-size: 12px;
}

.social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 20px;
}
.social-links .social-link:link, .social-links .social-link:hover, .social-links .social-link:active, .social-links .social-link:visited {
  background-color: none;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  height: 40px;
  overflow: hidden;
  text-indent: 1000%;
  white-space: nowrap;
  width: 40px;
}

.sortable-items .sortable-item {
  align-items: stretch;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid #555;
  border-radius: 8px;
  cursor: move;
  display: flex;
  margin-bottom: 5px;
  overflow: hidden;
}
.sortable-items .sortable-item .sort-number, .sortable-items .sortable-item .sort-label {
  align-items: center;
  display: flex;
  padding: 10px;
}
.sortable-items .sortable-item .sort-number {
  background: rgba(0, 0, 0, 0.3);
  border-right: 1px solid #555;
  font-size: 20px;
  justify-content: center;
  width: 75px;
}
.sortable-items .sortable-item .sort-number.yes {
  background: rgba(9, 148, 73, 0.5);
}
.sortable-items .sortable-item .sort-number.maybe {
  background: rgba(255, 171, 61, 0.5);
}
.sortable-items .sortable-item-placeholder {
  background: rgba(255, 255, 255, 0.05);
  border: 1px dashed #555;
  border-radius: 8px;
  height: 45px;
  margin-bottom: 5px;
  opacity: 0.5;
}

.gig-rule {
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
  display: flex;
  height: 40px;
  margin: 20px 0 30px 0;
  padding-bottom: 1px;
  width: 100%;
}
.gig-rule .month {
  align-items: end;
  display: flex;
  margin: 0 1px;
  width: 8.3333333333%;
}
.gig-rule .month .bar {
  display: flex;
  position: relative;
  transition: height 0.5s;
  width: 50%;
}
.gig-rule .month .bar.last-year {
  background-color: rgba(0, 0, 0, 0.2);
}
.gig-rule .month .bar.this-year {
  background-color: rgba(0, 0, 0, 0.3);
}
.gig-rule .month .bar span {
  display: none;
  bottom: -15px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 10px;
  left: 0;
  line-height: 1;
  position: absolute;
  right: 0;
  text-align: center;
}

.auto-complete {
  position: relative;
}
.auto-complete .auto-complete-results {
  background: #444;
  border: 1px solid #555;
  left: 0;
  max-height: 300px;
  overflow: scroll;
  overflow-x: hidden;
  position: absolute;
  top: 65px;
  width: 100%;
  z-index: 10;
}
.auto-complete .auto-complete-results a:link, .auto-complete .auto-complete-results a:hover, .auto-complete .auto-complete-results a:active, .auto-complete .auto-complete-results a:visited {
  border: 0;
  display: block;
  padding: 5px;
  text-decoration: none;
}
.auto-complete .auto-complete-results a:link *, .auto-complete .auto-complete-results a:hover *, .auto-complete .auto-complete-results a:active *, .auto-complete .auto-complete-results a:visited * {
  pointer-events: none;
}
.auto-complete .auto-complete-results a:hover, .auto-complete .auto-complete-results a.selected:link, .auto-complete .auto-complete-results a.selected:hover, .auto-complete .auto-complete-results a.selected:active, .auto-complete .auto-complete-results a.selected:visited {
  background: #234461;
}

.contract-section {
  background: rgb(46.75, 46.75, 46.75);
  border: 1px solid #555;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
  margin: 0 auto 20px;
  max-width: 650px;
  position: relative;
}
.contract-section h2, .contract-section div, .contract-section p, .contract-section label {
  color: #ddd;
}
.contract-section input {
  background-color: #292929;
  border-color: #333;
  color: #ddd;
}
.contract-section .contract-header {
  background: rgb(54.4, 54.4, 54.4);
  border-bottom: 1px solid #555;
  font-size: 20px;
  padding: 20px;
}
.contract-section .contract-content {
  padding: 20px;
}
.contract-section .contract-controls {
  background: rgb(54.4, 54.4, 54.4);
  border-top: 1px solid #555;
  display: flex;
  font-size: 14px;
  justify-content: space-between;
  padding: 20px;
}
.contract-section .contract-controls .contract-message {
  display: flex;
  justify-content: center;
  width: 100%;
}
.contract-section .contract-controls .contract-sort {
  display: flex;
  gap: 10px;
}
.contract-section .contract-add-section {
  bottom: -10px;
  left: 0;
  position: absolute;
  right: 0;
  text-align: center;
}
.contract-section .contract-add-section .contract-section-options {
  border: 1px solid #555;
  display: none;
  left: 20px;
  position: absolute;
  right: 20px;
  top: 30px;
  z-index: 10;
}
.contract-section .contract-add-section .contract-add-link:link, .contract-section .contract-add-section .contract-add-link:hover, .contract-section .contract-add-section .contract-add-link:active, .contract-section .contract-add-section .contract-add-link:visited {
  background: #222;
  border-bottom: 1px solid #555;
  display: block;
  font-size: 14px;
  padding: 5px;
  text-decoration: none;
}
.contract-section .contract-add-section .contract-add-link:link:last-child, .contract-section .contract-add-section .contract-add-link:hover:last-child, .contract-section .contract-add-section .contract-add-link:active:last-child, .contract-section .contract-add-section .contract-add-link:visited:last-child {
  border-bottom: 0;
}
.contract-section .contract-add-section .contract-add-link:hover {
  background: rgb(46.75, 46.75, 46.75);
}
.contract-section .contract-signature-block {
  background-color: #333;
  border: 1px solid #555;
  margin-bottom: 20px;
  padding: 20px;
}
.contract-section .signature-line {
  border-bottom: 1px solid #555;
  margin-bottom: 10px;
  padding-bottom: 10px;
  text-align: center;
}
.contract-section .contract-signature-rep {
  font-size: 14px;
  text-align: center;
}

.calendar-top-filter, .calendar-filter {
  bottom: 0;
  display: flex;
  gap: 10px;
  left: 0;
  padding: 10px;
  position: fixed;
  right: 200px;
  z-index: 10;
}
.calendar-top-filter .filter-button, .calendar-filter .filter-button {
  display: flex;
  width: 100%;
}
.calendar-top-filter .filter-button.loading, .calendar-filter .filter-button.loading {
  background: url(/images/icon-loading.gif) center center no-repeat;
  background-size: 32px;
}
.calendar-top-filter .filter-button.loading a:link, .calendar-top-filter .filter-button.loading a:hover, .calendar-top-filter .filter-button.loading a:active, .calendar-top-filter .filter-button.loading a:visited, .calendar-filter .filter-button.loading a:link, .calendar-filter .filter-button.loading a:hover, .calendar-filter .filter-button.loading a:active, .calendar-filter .filter-button.loading a:visited {
  opacity: 0.5;
  pointer-events: none;
}
.calendar-top-filter a:link, .calendar-top-filter a:hover, .calendar-top-filter a:active, .calendar-top-filter a:visited, .calendar-filter a:link, .calendar-filter a:hover, .calendar-filter a:active, .calendar-filter a:visited {
  border-radius: 4px;
  color: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  padding: 10px;
  text-decoration: none;
  width: 100%;
}
.calendar-top-filter a:link.off, .calendar-top-filter a:hover.off, .calendar-top-filter a:active.off, .calendar-top-filter a:visited.off, .calendar-filter a:link.off, .calendar-filter a:hover.off, .calendar-filter a:active.off, .calendar-filter a:visited.off {
  background-color: rgba(0, 0, 0, 0.1) !important;
  border-color: rgba(0, 0, 0, 0.2) !important;
  color: rgba(255, 255, 255, 0.4) !important;
}
.calendar-top-filter .gigs, .calendar-filter .gigs {
  background-color: rgba(35, 68, 97, 0.5);
  border: 1px solid #234461;
}
.calendar-top-filter .gigs:hover, .calendar-filter .gigs:hover {
  background-color: rgba(35, 68, 97, 0.8);
}
.calendar-top-filter .schedule-entries, .calendar-filter .schedule-entries {
  background-color: rgba(153, 0, 0, 0.5);
  border: 1px solid #990000;
}
.calendar-top-filter .schedule-entries:hover, .calendar-filter .schedule-entries:hover {
  background-color: rgba(153, 0, 0, 0.8);
}
.calendar-top-filter .rehearsals, .calendar-filter .rehearsals {
  background-color: rgba(9, 148, 73, 0.5);
  border: 1px solid #099449;
}
.calendar-top-filter .rehearsals:hover, .calendar-filter .rehearsals:hover {
  background-color: rgba(9, 148, 73, 0.8);
}
.calendar-top-filter .conflicts, .calendar-filter .conflicts {
  background-color: rgba(255, 171, 61, 0.5);
  border: 1px solid #ffab3d;
}
.calendar-top-filter .conflicts:hover, .calendar-filter .conflicts:hover {
  background-color: rgba(255, 171, 61, 0.8);
}

.calendar-top-filter {
  bottom: 50px;
}
.calendar-top-filter .all {
  background-color: #222;
  border: 1px solid rgba(255, 255, 255, 0.05);
}
.calendar-top-filter .all:hover {
  background-color: rgb(26.35, 26.35, 26.35);
}

.calendar-shadow {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 30%, rgb(0, 0, 0) 80%);
  bottom: 0;
  height: 200px;
  left: 0;
  pointer-events: none;
  position: fixed;
  right: 200px;
  z-index: 10;
}

.calendar .month {
  padding: 10px;
  text-align: center;
  width: 100%;
}
.calendar .week {
  display: flex;
  flex-wrap: wrap;
}
.calendar .day {
  display: flex;
  padding: 2px;
  width: 14.2857142857%;
}
.calendar .day .day-content {
  border: 1px solid #555;
  font-size: 10px;
  width: 100%;
}
.calendar .day .day-content.filler {
  border: 1px dashed #333;
}
.calendar .day.today .day-content {
  background-color: #333;
}
.calendar .day.past {
  opacity: 0.3;
}
.calendar .day .day-number {
  background-color: #333;
  border-bottom: 1px solid #555;
  padding: 3px 5px;
  position: relative;
  width: 100%;
}
.calendar .day .day-number .add-entry:link, .calendar .day .day-number .add-entry:hover, .calendar .day .day-number .add-entry:active, .calendar .day .day-number .add-entry:visited {
  align-items: center;
  background-color: #444;
  bottom: 1px;
  display: flex;
  font-size: 16px;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 1px;
  text-align: center;
  text-decoration: none;
  top: 1px;
  transition: background 0.3s;
  width: 20px;
}
.calendar .day .day-number .add-entry:hover {
  background-color: #222;
}
.calendar .events {
  min-height: 26px;
  padding-top: 3px;
}
.calendar .event {
  padding: 0 3px 3px;
}
.calendar .event a:link, .calendar .event a:hover, .calendar .event a:active, .calendar .event a:hover {
  border-radius: 3px;
  display: block;
  overflow: hidden;
  padding: 3px 5px;
  text-decoration: none;
}
.calendar .event a:link.gig, .calendar .event a:hover.gig, .calendar .event a:active.gig, .calendar .event a:hover.gig {
  background-color: #234461;
}
.calendar .event a:link.pending, .calendar .event a:hover.pending, .calendar .event a:active.pending, .calendar .event a:hover.pending {
  background-color: rgb(43.35, 43.35, 43.35);
  border: 1px solid #555;
  color: rgb(144.5, 144.5, 144.5);
  font-style: italic;
  padding: 2px 4px;
}
.calendar .event a:link.private, .calendar .event a:hover.private, .calendar .event a:active.private, .calendar .event a:hover.private {
  background-image: url(/images/icon-private.svg);
  background-position: left 3px center;
  background-repeat: no-repeat;
  background-size: 12px;
  padding: 3px 5px 3px 18px;
}
.calendar .event a:link.conflict, .calendar .event a:hover.conflict, .calendar .event a:active.conflict, .calendar .event a:hover.conflict {
  background-color: #b55809;
}
.calendar .event a:link.schedule-entry.current-band, .calendar .event a:hover.schedule-entry.current-band, .calendar .event a:active.schedule-entry.current-band, .calendar .event a:hover.schedule-entry.current-band {
  background-color: #990000;
}
.calendar .event a:link.schedule-entry.other-band, .calendar .event a:hover.schedule-entry.other-band, .calendar .event a:active.schedule-entry.other-band, .calendar .event a:hover.schedule-entry.other-band {
  background-color: #b55809;
}
.calendar .event a:link.rehearsal, .calendar .event a:hover.rehearsal, .calendar .event a:active.rehearsal, .calendar .event a:hover.rehearsal {
  background-color: #1e462f;
}
.calendar .event a:hover.gig {
  background-color: rgb(30.9431818182, 60.1181818182, 85.7568181818);
}
.calendar .event a:hover.pending {
  background-color: rgb(35.7, 35.7, 35.7);
}
.calendar .event a:hover.conflict {
  background-color: rgb(166.4247368421, 80.9136842105, 8.2752631579);
}
.calendar .event a:hover.schedule-entry.current-band {
  background-color: rgb(137.7, 0, 0);
}
.calendar .event a:hover.schedule-entry.other-band {
  background-color: rgb(166.4247368421, 80.9136842105, 8.2752631579);
}
.calendar .event a:hover.rehearsal {
  background-color: rgb(25.41, 59.29, 39.809);
}

.selectable-calendar, .respondable-calendar {
  display: flex;
  flex-wrap: wrap;
}
.selectable-calendar .month, .respondable-calendar .month {
  padding: 10px;
  text-align: center;
  width: 100%;
}
.selectable-calendar .selectable-date, .selectable-calendar .respondable-date, .respondable-calendar .selectable-date, .respondable-calendar .respondable-date {
  padding: 5px;
  width: 14.2857142857%;
}
.selectable-calendar .selectable-date .filler, .selectable-calendar .respondable-date .filler, .respondable-calendar .selectable-date .filler, .respondable-calendar .respondable-date .filler {
  background: rgba(255, 255, 255, 0.01);
  border: 1px dashed rgba(255, 255, 255, 0.05);
  border-radius: 4px;
  display: flex;
  min-height: 34px;
  width: 100%;
}
.selectable-calendar .selectable-date .date-content, .selectable-calendar .respondable-date .date-content, .respondable-calendar .selectable-date .date-content, .respondable-calendar .respondable-date .date-content {
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 4px;
  padding: 5px;
}
.selectable-calendar .selectable-date .date-content .day, .selectable-calendar .respondable-date .date-content .day, .respondable-calendar .selectable-date .date-content .day, .respondable-calendar .respondable-date .date-content .day {
  padding: 0 0 5px;
}
.selectable-calendar .selectable-date .day, .selectable-calendar .respondable-date .day, .respondable-calendar .selectable-date .day, .respondable-calendar .respondable-date .day {
  align-items: baseline;
  display: flex;
  font-size: 10px;
  gap: 3px;
  justify-content: center;
  line-height: 1;
  text-transform: uppercase;
}
.selectable-calendar .selectable-date .day strong, .selectable-calendar .respondable-date .day strong, .respondable-calendar .selectable-date .day strong, .respondable-calendar .respondable-date .day strong {
  font-size: 16px;
}
.selectable-calendar .selectable-date .other-response, .selectable-calendar .respondable-date .other-response, .respondable-calendar .selectable-date .other-response, .respondable-calendar .respondable-date .other-response {
  align-items: center;
  border-radius: 4px;
  display: flex;
  font-size: 12px;
  justify-content: space-between;
  line-height: 1;
  margin-bottom: 2px;
  overflow: hidden;
  padding: 4px 8px;
}
.selectable-calendar .selectable-date .other-response.waiting, .selectable-calendar .respondable-date .other-response.waiting, .respondable-calendar .selectable-date .other-response.waiting, .respondable-calendar .respondable-date .other-response.waiting {
  background: #444;
}
.selectable-calendar .selectable-date .other-response.yes, .selectable-calendar .respondable-date .other-response.yes, .respondable-calendar .selectable-date .other-response.yes, .respondable-calendar .respondable-date .other-response.yes {
  background: #099449;
}
.selectable-calendar .selectable-date .other-response.no, .selectable-calendar .respondable-date .other-response.no, .respondable-calendar .selectable-date .other-response.no, .respondable-calendar .respondable-date .other-response.no {
  background: #990000;
}
.selectable-calendar .selectable-date .other-response.maybe, .selectable-calendar .respondable-date .other-response.maybe, .respondable-calendar .selectable-date .other-response.maybe, .respondable-calendar .respondable-date .other-response.maybe {
  background: rgb(188.5, 106.881443299, 0);
}
.selectable-calendar .selectable-date .other-response span, .selectable-calendar .respondable-date .other-response span, .respondable-calendar .selectable-date .other-response span, .respondable-calendar .respondable-date .other-response span {
  font-size: 10px;
  text-transform: uppercase;
}
.selectable-calendar .checkbox, .respondable-calendar .checkbox {
  margin: 0;
}
.selectable-calendar .checkbox .checked:after, .respondable-calendar .checkbox .checked:after {
  content: "";
}

.mini-calendar {
  display: flex;
  flex-wrap: wrap;
}
.mini-calendar .day {
  border: 1px solid #222;
  border-radius: 4px;
  overflow: hidden;
  width: 14.2857142857%;
}
.mini-calendar .day.today {
  background: rgb(41.7613636364, 81.1363636364, 115.7386363636) !important;
  font-weight: bold;
}
.mini-calendar .day.jan, .mini-calendar .day.mar, .mini-calendar .day.may, .mini-calendar .day.jul, .mini-calendar .day.sep, .mini-calendar .day.nov {
  background-color: #515151;
}
.mini-calendar .day.feb, .mini-calendar .day.apr, .mini-calendar .day.jun, .mini-calendar .day.aug, .mini-calendar .day.oct, .mini-calendar .day.dec {
  background-color: #3e3e3e;
}
.mini-calendar .day .entry {
  border-radius: 4px;
  cursor: pointer;
  height: 16px;
  margin-bottom: 2px;
  overflow: hidden;
  position: relative;
}
.mini-calendar .day .entry.gig {
  background-color: #234461;
}
.mini-calendar .day .entry.schedule-entry {
  background-color: #333;
}
.mini-calendar .day .entry.rehearsal {
  background-color: #1e462f;
}
.mini-calendar .day .entry .entry-scroller {
  height: 20px;
  left: 0;
  line-height: 1;
  padding: 3px 4px;
  pointer-events: none;
  position: absolute;
  top: 0;
  white-space: nowrap;
}
.mini-calendar .day-label {
  font-size: 10px;
  overflow: hidden;
  padding: 2px 5px;
  text-align: right;
  white-space: nowrap;
}
.mini-calendar .day-content {
  font-size: 10px;
  min-height: 18px;
  padding: 0 2px;
}

.mini-calendar-band-info {
  align-items: center;
  display: flex;
  gap: 10px;
}
.mini-calendar-band-info .logo {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  height: 36px;
  width: 36px;
}
@media (max-width: 768px) {
  html, body {
    font-size: 14px;
  }
  h1 {
    font-size: 30px;
  }
  h2 {
    font-size: 20px;
  }
  h3 {
    font-size: 18px;
  }
  h4 {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  .cols {
    display: block;
  }
  .cols .cols-5, .cols .cols-10, .cols .cols-15, .cols .cols-20, .cols .cols-25, .cols .cols-30, .cols .cols-33, .cols .cols-35, .cols .cols-40, .cols .cols-45, .cols .cols-50, .cols .cols-55, .cols .cols-60, .cols .cols-65, .cols .cols-66, .cols .cols-70, .cols .cols-75, .cols .cols-80, .cols .cols-85, .cols .cols-90, .cols .cols-95, .cols .cols-100 {
    margin-bottom: 10px;
    width: 100%;
  }
  .cols .cols-5:has(.form-group), .cols .cols-10:has(.form-group), .cols .cols-15:has(.form-group), .cols .cols-20:has(.form-group), .cols .cols-25:has(.form-group), .cols .cols-30:has(.form-group), .cols .cols-33:has(.form-group), .cols .cols-35:has(.form-group), .cols .cols-40:has(.form-group), .cols .cols-45:has(.form-group), .cols .cols-50:has(.form-group), .cols .cols-55:has(.form-group), .cols .cols-60:has(.form-group), .cols .cols-65:has(.form-group), .cols .cols-66:has(.form-group), .cols .cols-70:has(.form-group), .cols .cols-75:has(.form-group), .cols .cols-80:has(.form-group), .cols .cols-85:has(.form-group), .cols .cols-90:has(.form-group), .cols .cols-95:has(.form-group), .cols .cols-100:has(.form-group) {
    margin-bottom: 0;
  }
  .desktop-margin-r-20, .desktop-margin-l-20 {
    margin: 0;
  }
  .desktop-padding-l-5, .desktop-padding-l-10, .desktop-padding-l-20 {
    padding-left: 0;
  }
  .desktop-padding-r-5, .desktop-padding-r-10, .desktop-padding-r-20 {
    padding-right: 0;
  }
  .desktop-only {
    display: none;
  }
  .mobile-only {
    display: initial;
  }
  .mobile-block {
    display: block;
  }
}
@media (min-width: 768px) {
  .desktop-padding-b-0 {
    padding-bottom: 0 !important;
  }
}
@media (max-width: 768px) {
  header {
    right: 50px;
  }
  header .system-title {
    align-items: start;
    flex-direction: column;
    font-size: 20px;
    line-height: -3;
    padding-left: 10px;
  }
  header .system-title .title {
    line-height: 30px;
  }
  header .system-title .account-info {
    flex-direction: row;
    line-height: 24px;
    overflow: hidden;
  }
  header .system-title .account-info .mobile-comma:before {
    content: ", ";
  }
  .sub-header {
    height: 50px;
    right: 50px;
  }
  .sub-header a:link, .sub-header a:hover, .sub-header a:active, .sub-header a:visited {
    font-size: 12px;
    width: 50px;
  }
  .sub-header a:link::before, .sub-header a:hover::before, .sub-header a:active::before, .sub-header a:visited::before {
    content: "";
    margin-right: 0;
  }
  .sub-header .sub-header-content {
    padding-left: 10px;
  }
  .main {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .content {
    margin-right: 50px;
  }
  nav {
    right: 0;
    width: 50px;
  }
  nav .band {
    background-size: 40px;
    height: 50px;
  }
  nav .band .manage-button {
    display: none;
  }
  nav .band .band-name {
    display: none;
  }
  nav .band .band-list {
    right: 50px;
    width: 150px;
  }
  nav .band .band-list a:link, nav .band .band-list a:hover, nav .band .band-list a:active, nav .band .band-list a:visited {
    padding: 5px;
  }
  nav .nav-scroll {
    padding-right: 17px;
    top: 49px;
  }
  nav .nav-link:link, nav .nav-link:hover, nav .nav-link:active, nav .nav-link:visited {
    background-position: center center;
    height: 50px;
    overflow: hidden;
    text-indent: 1000px !important;
    white-space: nowrap;
  }
  section {
    padding: 10px;
  }
  .container {
    padding: 10px;
  }
}
@media (max-width: 768px) {
  .form-group {
    padding-bottom: 10px;
  }
  label {
    font-size: 12px;
  }
  .pop-alert {
    font-size: 14px;
    max-width: 100%;
    padding: 10px;
    right: 30px;
  }
}
@media (max-width: 768px) {
  .poll-response {
    display: block;
    height: auto;
  }
  .poll-response .response {
    align-items: left;
    display: block;
    font-size: 20px;
    text-align: center;
    width: 100%;
  }
  .poll-response .details {
    display: block;
    padding: 10px;
  }
  .poll-response .details .date {
    display: block;
  }
}
@media (max-width: 768px) {
  .calendar-filter, .calendar-top-filter {
    gap: 5px;
    padding: 5px;
    right: 50px;
  }
  .calendar-filter a:link, .calendar-filter a:hover, .calendar-filter a:active, .calendar-filter a:visited, .calendar-top-filter a:link, .calendar-top-filter a:hover, .calendar-top-filter a:active, .calendar-top-filter a:visited {
    font-size: 12px;
    padding: 5px;
  }
  .calendar-top-filter {
    bottom: 35px;
  }
  .calendar-shadow {
    height: 150px;
    right: 50px;
  }
  .calendar .month {
    padding: 5px;
  }
  .calendar .day {
    padding: 1px;
  }
  .calendar .day .day-content {
    font-size: 8px;
  }
  .calendar .day .day-number {
    padding: 1px 2px;
  }
  .calendar .day .day-number .add-entry:link, .calendar .day .day-number .add-entry:hover, .calendar .day .day-number .add-entry:active, .calendar .day .day-number .add-entry:visited {
    font-size: 10px;
    width: 15px;
  }
  .calendar .events {
    min-height: 15px;
    padding-top: 1px;
  }
  .calendar .event {
    padding: 0 1px 1px;
  }
  .calendar .event a:link, .calendar .event a:hover, .calendar .event a:active, .calendar .event a:hover {
    padding: 1px 2px;
  }
  .calendar .event a:link.pending, .calendar .event a:hover.pending, .calendar .event a:active.pending, .calendar .event a:hover.pending {
    padding: 0 1px;
  }
  .calendar .event a:link.private, .calendar .event a:hover.private, .calendar .event a:active.private, .calendar .event a:hover.private {
    background-position: left 1px center;
    background-size: 8px;
    padding: 0 0 0 10px;
  }
  .selectable-calendar .selectable-date {
    padding: 2px;
  }
  .selectable-calendar .selectable-date .filler {
    min-height: 0;
  }
  .selectable-calendar .selectable-date .day {
    gap: 1px;
  }
  .selectable-calendar .selectable-date .day strong {
    font-size: 12px;
  }
  .respondable-calendar .respondable-date {
    width: 100%;
  }
  .respondable-calendar .respondable-date.filler-day {
    display: none;
  }
}/*# sourceMappingURL=site.css.map */