html,
body {
  height: 100%;
  max-height: calc(100% - 48px);
}

textarea {
  resize: none;
}

div#itineraryinvoicepayment-payment_method > label {
  display: block;
}

option:disabled {
  background-color: #e74c3c;
}

.navbar-brand {
  padding: 2px 0;
}

.navbar-nav > li.active > a {
  background-color: rgba(0, 0, 0, 0.15) !important;
}

.wrap {
  min-height: 100%;
  height: auto;
  margin: 0 auto -60px;
  padding: 0 0 60px;
}

.wrap > .container {
  padding: 70px 15px 20px;
}

.footer {
  margin: 0 -15px;
  height: 60px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  padding-top: 20px;
}

.jumbotron {
  text-align: center;
  background-color: transparent;
}

.jumbotron .btn {
  font-size: 21px;
  padding: 14px 24px;
}

.not-set {
  color: #c55;
  font-style: italic;
}

/* add sorting icons to gridview sort links */
a.asc:after,
a.desc:after {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: "Glyphicons Halflings";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  padding-left: 5px;
}

a.asc:after {
  content: /*"\e113"*/ "\e151";
}

a.desc:after {
  content: /*"\e114"*/ "\e152";
}

.sort-numerical a.asc:after {
  content: "\e153";
}

.sort-numerical a.desc:after {
  content: "\e154";
}

.sort-ordinal a.asc:after {
  content: "\e155";
}

.sort-ordinal a.desc:after {
  content: "\e156";
}

.grid-view th {
  white-space: nowrap;
}

.hint-block {
  display: block;
  margin-top: 5px;
  color: #999;
}

.error-summary {
  color: #a94442;
  background: #fdf7f7;
  border-left: 3px solid #eed3d7;
  padding: 10px 20px;
  margin: 0 0 15px 0;
}

.bold {
  font-weight: bold;
}

input [type="text"],
input [type="tel"],
input [type="number"],
input [type="email"],
select {
  padding: 10px;
}

input.wide {
  width: 100%;
}

.align-right {
  text-align: right;
}

.align-center {
  text-align: center;
}

.align-left {
  text-align: left;
}

.dashboard-item {
  box-sizing: border-box;
  padding: 1px;
  border-radius: 5px;
  margin-bottom: 15px;
}

.dashboard-item > div {
  margin: 0;
}

.dashboard-item > .contents {
  padding: 5px 10px 2.5px;
  color: #fff;
  font-weight: bold;
}

.dashboard-item > .contents > span {
  font-size: 3em;
  float: right;
}

.dashboard-item > .viewDetails > span {
  font-size: 1.5em;
}

.redText {
  color: #d43f3a;
}

.greenText {
  color: #2ecc71;
}

.btn-warning > .viewDetails {
  /* COLOR MUST MATCH THE BACKGROUND COLOR OF THIS TILE */
  color: #e67e22;
}

.btn-success > .viewDetails {
  /* COLOR MUST MATCH THE BACKGROUND COLOR OF THIS TILE */
  color: #2ecc71;
}

.btn-primary > .viewDetails {
  /* COLOR MUST MATCH THE BACKGROUND COLOR OF THIS TILE */
  color: #2980b9;
}

.btn-danger > .viewDetails {
  /* COLOR MUST MATCH THE BACKGROUND COLOR OF THIS TILE */
  color: #e74c3c;
}

.dashboard-item > .viewDetails {
  cursor: pointer;
  background-color: #fff;
  height: 40px;
  box-sizing: border-box;
  padding: 5px 10px;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
}

.dashboard-item > .viewDetails:hover {
  background-color: rgba(255, 255, 255, 0.85);
}

.dashboard-item > .viewDetails > .fa {
  margin-top: 10px;
}

.center-text {
  text-align: center;
}

table.table tr.rest-day {
  background: repeating-linear-gradient(
      45deg,
      transparent,
      transparent 10px,
      rgba(64, 128, 101, 0.5) 10px,
      rgba(64, 128, 101, 0.5) 20px
    ),
    linear-gradient(to bottom, #fff, #fff);
}

/* Itinerary Accommodation Availability Table */
.state-available,
.state-booked {
  color: #fff;
  background-color: rgba(39, 174, 96, 1);
}

.state-unavailable {
  color: #fff;
  background-color: rgba(192, 57, 43, 1);
}

.state-designated::before {
  content: "\25B6  DESIGNATED";
  display: block;
  font-size: 1.2em;
  font-weight: bold;
  border-bottom: 1px solid #fff;
  margin-bottom: 5px;
}

.state-designated {
  border: 2px solid #fff;
}

/* The accomm has an email and we're awaiting response */
.state-pending {
  background-color: rgba(241, 196, 15, 1);
  color: #000;
}

/* The accomm doesn't have an email so we need to telephone them */
.state-telephone {
  background-color: rgba(41, 128, 185, 1);
  color: #fff;
}

[class^="state"] a {
  font-weight: bold;
}

.state-telephone a {
  color: #fff;
}

/* The accomm doesn't have an email, but it does have a URL */
.state-url {
  background-color: rgba(211, 84, 0, 1);
  color: #fff;
}

/*  */
tr[class^="state-"] > td:first-of-type > i {
  width: 25px;
  border-right: 2px solid;
  margin-right: 5px;
}

.popover {
  max-width: 100%; /* Max Width of the popover (depending on the container!) */
}

.panel-heading {
  font-weight: bold;
  font-size: 1.2em;
}

.infographic {
  font-size: 2em !important;
}

ul.itinerary-accommodation-dates > li {
  padding: 5px 15px;
  box-sizing: border-box;
}

div.mock-pdf {
  border: 1px solid #ccc;
  margin-bottom: 50px;
  padding: 25px;
}

table.invoice-payment td {
  padding: 2.5px 10px;
}

div.mock-pdf h3,
table#itinerary-stints thead tr,
div.itinerary-price {
  background-color: #63b3f8;
  color: #fff;
  margin-top: 0;
  padding: 10px 40px;
}

div.itinerary-price .form-group {
  margin-bottom: 0;
}

div.mock-pdf table td {
  vertical-align: top;
}

.tab-panel {
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 25px;
}

/* Mobile size */
@media (max-width: 767px) {
  body {
    max-height: calc(100% - 64px);
  }

  footer,
  footer p,
  footer small {
    margin-bottom: 5px;
    text-align: center !important;
  }
}

.fa-counter-spin {
  -webkit-animation: spin-counter 2s infinite linear;
  -moz-animation: spin-counter 2s infinite linear;
  -o-animation: spin-counter 2s infinite linear;
  animation: spin-counter 2s infinite linear;
}
@-moz-keyframes spin-counter {
  0% {
    -moz-transform: rotate(359deg);
  }
  100% {
    -moz-transform: rotate(0deg);
  }
}
@-webkit-keyframes spin-counter {
  0% {
    -webkit-transform: rotate(359deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
  }
}
@-o-keyframes spin-counter {
  0% {
    -o-transform: rotate(359deg);
  }
  100% {
    -o-transform: rotate(0deg);
  }
}
@-ms-keyframes spin-counter {
  0% {
    -ms-transform: rotate(359deg);
  }
  100% {
    -ms-transform: rotate(0deg);
  }
}
@keyframes spin-counter {
  0% {
    transform: rotate(359deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

table.enquiry-info {
  margin-top: 15px;
  text-align: center;
  width: 100%;
}

table.enquiry-info span {
  width: 100%;
  display: inline-block;
  overflow: auto;
}

table.enquiry-info th {
  text-align: center;
}

div.delivery-route-pdf div.panel {
  padding: 25px;
  margin-bottom: 50px;
}

div.delivery-route-pdf .grid-view .summary {
  display: none;
}

div.accommodation-booking-email th,
div.accommodation-booking-email td,
div.accommodation-enquiry-email th,
div.accommodation-enquiry-email td {
  text-align: center;
}

div.popover * {
  color: #000;
}

div.popover-title {
  font-weight: bold;
}

/* Fix the size of our popover used to inform the user about accomm email requirement */
div.accommodation-availability div.popover-content,
div.itinerary-accommodation-booking div.popover-content {
  max-width: 315px;
}

div.btn-group.force-child-btn-half {
  width: 100%;
}

div.btn-group.force-child-btn-half > .btn {
  width: 50%;
}

button.generate-report-btn {
  color: #337ab7;
  background: none;
  padding: 0;
}

@media (min-width: 768px) {
  #custom-email-content .modal-dialog {
    width: 1200px !important;
    margin: 30px auto;
  }
}
