/* LAYOUT */
html,
body {
  padding: 0;
  margin: 0;
}

.no-gutter > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

.flex-center {
  margin: auto;
}
.right {
  float: right;
}

.bg-subtle-red {
  background-color: #d47e7e !important;
}

.modal-body {
  position: relative;
  overflow-y: auto;
  max-height: 600px;
  padding: 15px;
}

@media (min-width: 767px) {
  .pull-right-lg {
    float: right;
  }
}
@media (max-width: 767px) {
  .pull-right-lg {
    margin-top: 1rem;
  }

  .align-sm-center {
    text-align: center;
  }

  .fit-sm {
    width: 100%;
  }
  .mar-1-sm {
    margin-bottom: 1rem;
  }

  .spaced .btn {
    margin: 0.2rem 0 0.2rem 0;
  }
}
.mar-1-top {
  margin-top: 1rem;
}

@media (max-width: 576px) {
  .spinner-col {
    margin-bottom: 1rem;
  }

  .fit-xm {
    width: 100%;
  }

  .file-browser .row {
    margin: 0.75rem 0 0.75rem 0;
  }
  #file-browser-iframe {
    padding: 0;
  }
}
@media (min-width: 576px) {
  html {
    min-height: 100.1%;
  }
}

.fit {
  width: 100%;
}
.fit-height {
  height: 100%;
}
.nopadding {
  padding: 0 !important;
  margin: 0 !important;
}

.uppercase {
  text-transform: uppercase;
}

.spaced {
  margin: 0.5rem 0 0.5rem 0;
}
.spaced-bottom {
  margin: 0 0 1rem 0;
}

.invisible {
  visibility: hidden;
}

.file-browser {
  font-size: 1.25rem;
}
.file-browser i {
  font-size: 1.5rem;
}

/* Main body container */
.main {
  padding: 1rem;
  margin-bottom: 1rem;
}

.header {
  z-index: 20;
  padding: 0.25rem;
  margin: 0 0 0.5rem 0;
}
.logo,
.logo-title {
  display: block;
  width: 75%;
  padding: 0.25rem;
  margin: auto;
}
.logo {
  max-width: 32rem;
}
.logo-footer {
  display: block;
  max-width: 100%;
  padding: 0.5rem;
  margin: auto;
}

.sub-nav {
  margin-bottom: 2rem;
}
.sub-nav button {
  margin-bottom: 0.5rem;
}
.dash-nav strong {
  font-size: 1.5rem;
}
.dash-nav .item,
.dash-nav .item i {
  margin: 2.5rem 0.5rem 0.5rem 0.5rem;
}
.dash-nav .item a {
  color: #0058a1;
}
.dash-nav a:hover {
  text-decoration: none;
}
.dash-nav .item.dash-red a:hover,
.dash-nav .item.dash-red a:active {
  color: red;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}
.dash-nav .item a:hover,
.dash-nav .item a:active {
  color: #f9bc00;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}

.left-panel {
  display: none;
}
.left-panel a,
.header a,
.header span {
  text-decoration: none !important;
  font-size: 1.3rem;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}

.header .breadcrumbs a,
.header .breadcrumbs span {
  font-size: 1rem;
}
.header .breadcrumbs .active span {
  color: #f9bc00;
}
.header .breadcrumbs {
  margin-top: 0.25rem;
}
.breadcrumbs {
  list-style: none;
  overflow: hidden;
  padding-left: 0;
}

.breadcrumbs li {
  float: left;
  font-size: 1.3rem;
  margin-left: 0.2rem;
}

.custom-nav {
  display: block;
  float: right;
}
.custom-popup-nav li a {
  font-size: 1.5em;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}
.custom-popup-nav li:hover > a,
.custom-popup-nav li.selected > a {
  text-decoration: none;
}

.menu-hamburger .fa {
  font-size: 2.2em !important;
}
.menu,
.menu-blur {
  display: none;
  width: 350px !important;
  top: 0;
  bottom: 0;
  right: 0;
  position: fixed;
  height: 100vh;
}
.figures,
.popup-pannel {
  display: none;
}
.popup-pannel {
  left: 0;
  top: 8vh;
  right: 0;
  bottom: 10vh;
  position: fixed;
}
.menu,
.popup-pannel {
  z-index: 4000;
}
.popup-pannel .row {
  margin: 1rem 0 1rem 0;
}
.file-browser-popup iframe {
  height: 50vh;
}
.project-adder-popup .results-container {
  height: 50vh;
  overflow-y: auto;
}
.checkout-popup .overflow-y {
  height: 60vh;
}
.overflow-y {
  overflow-y: auto;
}
.menu .btn-close {
  font-size: 3em;
}
.menu-blur {
  z-index: 199;
  opacity: 0.2;
  filter: alpha(opacity=60);
}
.menu-overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 0.7;
  z-index: 150;
  display: none;
}

.vertical-list {
  margin-top: 2rem;
  padding: 0;
  list-style: none;
  font-size: 1.5rem;
}
.vertical-list .item {
  padding: 1rem 1rem;
  margin: 0.5rem 0;
}
.vertical-list.list-thin .item {
  padding: 0.25rem 0.25rem;
}
.vertical-list.list-thin .item div {
  margin: 0.1rem;
}
.vertical-list .item.small {
  font-size: 1rem;
}
.vertical-list .item.small label {
  font-size: 0.65rem;
}
.vertical-list .item:hover {
  cursor: pointer;
}
.no-hover {
  cursor: default !important;
}
.vertical-list div {
  margin: 0.2rem 0.2rem;
}
@media (min-width: 576px) {
  .vertical-list div {
    margin: 0.5rem 0.5rem;
  }
}
.vertical-list .right {
  float: right;
  text-align: right;
}
.vertical-list div.right form {
  float: right;
  margin-left: 0.5rem;
}
.vertical-list .roles,
.vertical-list .location {
  font-size: 0.8rem;
  margin: 0;
}
.vertical-list .item .right {
  min-width: 15rem;
}

#reserve-popup-container {
  position: fixed;
  display: none;
  top: 25%;
  left: 0;
  width: 100%;
  margin: auto;
  z-index: 100;
}
#reserve-popup {
  margin: auto;
  padding: 2rem;
}

.section-standard {
  margin-bottom: 2rem;
}

.form-standard .row input,
.form-standard .row button,
.form-standard .row select,
.form-standard .row textarea {
  margin: 0.5rem 0;
}
.form-standard .left-labels label {
  padding: 1rem 0rem;
  margin-bottom: 0;
}

footer p {
  text-align: center;
}

/* COLOURS */

/*
    WHITE:  #FFFFFF
    BLACK:  #000000
    BLUE:   #0058A1
    GREY:   #919295
    YELLOW: #F9BC00
*/

html,
body {
  color: #919295;
}

.main {
  border-left: 1px #919295 solid;
  border-right: 1px #919295 solid;
}
@media (max-width: 576px) {
  .main {
    border: 0;
  }
}
h2,
h3 {
  color: #0058a1;
}

.help-block {
  color: red;
}

.blue-large {
  font-size: 28pt;
  color: #0058a1;
}
.red-large {
  font-size: 28pt;
  color: red;
}

.header {
  background-color: #0058a1;
  color: #ffffff;
  border-bottom: 2px solid #ffffff;
}

hr {
  border: 0;
  border-top: 1px solid #919295;
}

.overline {
  padding: 0 1rem;
  margin: auto;
  border-top: 1px solid #919295;
}
.overline-first {
  padding: 0 1rem;
  margin: auto;
}
.overline.spaced {
  padding-top: 1rem;
}

footer p {
  color: #919295;
}

.logo {
  background-color: #ffffff;
}

.left-panel a,
.header a {
  color: #ffffff;
}
.left-panel a:hover,
.header a:hover {
  color: #f9bc00;
}

.custom-popup-nav li a {
  color: #ffffff;
}
.custom-popup-nav li:hover > a,
.custom-popup-nav li.selected > a,
.menu .fa-times:hover {
  color: #f9bc00;
}

.menu {
  border: 1px solid #ffffff;
  color: #ffffff;
}
.menu .btn-close {
  color: #ffffff;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}
.menu-blur {
  background-color: #0058a1;
}
.menu-overlay {
  background-color: #000000;
}
.popup-container {
  background-color: white;
  border: 1px solid #919295;
}

.vertical-list .item {
  border: 1px solid #919295;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
  -webkit-transition: border-color 0.2s;
  transition: border-color 0.2s;
}
.vertical-list .item:hover {
  border: 1px solid #f9bc00;
}
.vertical-list a:hover {
  color: #f9bc00;
}

.vertical-list .item .name {
  color: black;
}

.vertical-list .item.titleitem,
.vertical-list .item.titleitem:hover {
  border: 0;
  border-bottom: 1px solid #919295;
  color: black;
}

#reserve-popup {
  background-color: white;
  border: 1px solid #a2a3a5;
}

.view-header {
  color: black;
  text-align: center;
  font-size: 2rem;
}
h2.view-header {
  font-size: 1.2rem;
}

/* buttons */
.btn {
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
}
.btn-default {
  background-color: #919295;
  color: white;
}
.btn-default:hover {
  background-color: #a2a3a5;
}
.btn-primary,
.bg-primary {
  background-color: #0058a1 !important;
}
.btn-danger {
  background-color: #dc3545;
}
.btn-warning {
  background-color: #f9bc00;
}

.fa-red {
  color: #dc3545;
}
.fa-blue {
  color: #0058a1;
}
.fa-yellow {
  color: #f9bc00;
}

.file-browser .selected {
  color: #f9bc00;
}

.item-success {
  background-color: rgb(75, 189, 75);
}
.item-success:not(.item-rush) {
  color: white;
}
.item-rush {
  background-color: rgb(241, 230, 72);
}
.item-in-house {
  color: rgb(255, 100, 100);
}
.item-success .fas {
  color: white;
}
.comment-overflow {
  overflow: auto;
  max-height: 4em;
  max-width: 100%;
}

.bg-engeo {
  background-color: #0058a1;
  color: #ffffff;
}

.bg-review {
  background-color: #dacf75;
  color: #ffffff;
}

.bg-pending {
  background-color: #e38fb2;
  color: #ffffff;
}

.text-review {
  color: #5018fb;
}

.text-pending {
  color: #e38fb2;
}

.text-awaiting-review {
  color: #dacf75;
}

.btn-disabled,
.btn-disabled[disabled] {
  opacity: 0.4;
  cursor: default !important;
  pointer-events: none;
}

.btn-storage {
  background-color: #5018fb;
  color: #ffffff;
}
