
/* Babble colour classes (cf. all_settings.css) */

.bg-babble-green, .bg-babble-info {
  background-color: var( --babble-green );
}

.bg-babble-orange, .bg-babble-warn {
  background-color: var( --babble-orange );
}

.bg-babble-red, .bg-babble-err {
  background-color: var( --babble-red );
}

/* The bootstrap default is -25 - this displays a bit more information. */
div.row.wider {
  margin-left: -50px;
  margin-right: -50px;
}

button.bigbutton-success {
  height: 200px;
  width: 200px;
  background-color: var( --app-green-light );
}

button.bigbutton-success:hover {
  background-color: var( --babble-green );
}

button.bigbutton-default {
  height: 200px;
  width: 200px;
  background-color: var( --app-grey-d-light-v );
}

@media only screen {
  .printonly {
    display: none;
  }
}

/* Inputs - general */

input[type="checkbox"] {
  margin-top: 8px;
  height: 16px;
  width: 16px;
}

div.input-group {
  border: 1px solid var( --www-grey-light );
  border-radius: 4px;
  color: var( --app-grey-5-dark );
}

/*
  For location modal
  - improves spacing within and around div.input-group
  - ensures input.form-control.locationlock remains behind dropdowns
  START
*/

div.input-group + div.input-group {
  margin-top: 15px;
}

div.input-group + div.form-group {
  margin-top: 15px;
}

div.input-group > div.form-group {
  margin: 20px 0;
}

div.input-group > div.form-group > div.col-xs-9 > input.form-control.locationlock {
  width: 100%;
  z-index: 0;
}

/* END */

div.input-group > input.form-control {
  border: 0;
}

span.input-group-btn > button.btn-default {
  border: 0;
}

.pointer {
  cursor: pointer;
}

/* The next bit may need better naming - it is for flow chart for rules */
html {
  height: 100%;
  font-family: 'Open Sans', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  font-size: 14px;
}

h5 {
    font-size: 1.2857em;
    font-weight: 700;
    line-height: 1.2857em;
    margin: 0;
}

.card {
    font-size: 1em;
    overflow: hidden;
    padding: 0;
    border: none;
    border-radius: 0.2857rem;
    box-shadow: 0 1px 3px 0 var( --app-grey-d-light-v ), 0 0 0 1px var( --app-grey-d-light-v );
}

.card-block {
    font-size: 1em;
    position: relative;
    margin: 0;
    padding: 1em;
    border: none;
    border-top: 1px solid var( --app-grey-transparent-high-v );
    box-shadow: none;
}

.card-img-top {
    display: block;
    width: 100%;
    height: auto;
}

.card-title {
    font-size: 1.2857em;
    font-weight: 700;
    line-height: 1.2857em;
}

.card-text {
    clear: both;
    margin-top: .5em;
    color: var( --app-black-transparent );
}

.card-footer {
    font-size: 1em;
    position: static;
    top: 0;
    left: 0;
    max-width: 100%;
    padding: .75em 1em;
    color: var( --app-black-transparent-high );
    border-top: 1px solid var( --www-black-05pc ) !important;
    background-color: var( --app-white );
}

.card-inverse .btn {
    border: 1px solid var( --www-black-05pc );
}

.profile {
    position: absolute;
    top: -12px;
    display: inline-block;
    overflow: hidden;
    box-sizing: border-box;
    width: 25px;
    height: 25px;
    margin: 0;
    border: 1px solid var( --app-white );
    border-radius: 50%;
}

.profile-avatar {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 50%;
}

.profile-inline {
    position: relative;
    top: 0;
    display: inline-block;
}

.profile-inline ~ .card-title {
    display: inline-block;
    margin-left: 4px;
    vertical-align: top;
}

.text-bold {
    font-weight: 700;
}

.meta {
    font-size: 1em;
    color: var( --app-black-transparent-high );
}

.meta a {
    text-decoration: none;
    color: var( --app-black-transparent-high );
}

.meta a:hover {
    color: var( --app-black-transparent-low );
}

/* End of flow chart work */

body {
  min-height: 100%;
  font-family: 'Open Sans', 'Helvetica Neue', Arial, Helvetica, sans-serif;
}

.panel {
  box-shadow: none;
  margin-top: 20px;
}

/* CONTROLS */

.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-babbleblue,
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-babbleblue {
  color: var( --app-white );
  background-color: var( --babble-blue );
}

.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-babblegreen,
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-babblegreen {
  color: var( --app-white );
  background-color: var( --babble-green );
}

.btn {
	border-radius: 0;
  background-image: none;
  border-color: transparent;
}

.btn-group:not( .bootstrap-select ) > .btn {
	border-radius: 0;
  background-color: var( --babble-blue );
  background-image: none;
  border-color: transparent;
}

.btn-group:not( .bootstrap-select ) > .btn:hover {
	background-color: var( --babble-green );
  background-image: none;
}

.bootstrap-select>.dropdown-toggle.bs-placeholder,
.bootstrap-select>.dropdown-toggle.bs-placeholder:active,
.bootstrap-select>.dropdown-toggle.bs-placeholder:focus,
.bootstrap-select>.dropdown-toggle.bs-placeholder:hover {
  color: #333;
}

/* fix bootstrap select search bar layout bug */
.bs-searchbox > input[type=search] {
  float: none;
}

div.btn-group.btn-group-sticky {
  position: sticky;
  top: 0;

  /*
    the following offset the element from the top while in its stuck location (padding-top)
    and hide content scrolling through the offset across the full element width (width, background-color)
    without the whole sitting correspondingly lower with the element in its usual location (margin-top)
  */
  width: 100%;
  margin-top: -1rem;
  padding-top: 1rem;
  background-color: var( --app-white );
}

.btn-primary.active, .btn-primary:active{
	color: var( --babble-green );
}

/* - specific controls - stuff */

#stuff-recording-format {
  display: flex;
  gap: 4px;
}

/* approximate current checkbox styling - partially override Bootstrap */
#stuff-recording-format > button {
  color: var( --www-grey-mid );
  font-weight: 700;
  text-shadow: none;
  box-shadow: none;
  background-color: transparent;
  border: 1px solid var( --www-grey-mid );
  border-radius: 3px;
}

#stuff-recording-format > button.active {
  background-color: var( --babble-blue );
  border-color: var( --babble-blue );
}

#stuff-recording-format > button.active,
#stuff-recording-format > button:hover {
  color: var( --app-white );
}

#stuff-recording-format > button:hover {
  background-color: var( --babble-blue-dark );
  border-color: var( --babble-blue-dark );
}

/* NAVIGATION */

.nav {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav > li {
  position: relative;
  display: block;
}

.nav > li > a {
  position: relative;
  display: block;
  padding: 10px 15px;
}

.nav > li > a:hover,
.nav > li > a:focus {
  text-decoration: none;
  background-color: var( --app-blue );
}

.nav > li.disabled > a {
  color: var( --app-grey-7-mid );
}

.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
  color: var( --app-grey-7-mid );
  text-decoration: none;
  cursor: not-allowed;
  background-color: transparent;
}

.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
  background-color: var( --www-grey-light-v );
  border-color: var( --app-blue-dark );
}

.nav .nav-divider {
  height: 1px;
  margin: 9px 0;
  overflow: hidden;
  background-color: var( --app-white-near );
}

.nav > li > a > img {
  max-width: none;
}

.nav-tabs {
  border-bottom: 1px solid var( --app-grey-d-light-v );
}

.nav-tabs > li {
  float: left;
  margin-bottom: -1px;
}

.nav-tabs > li > a {
  margin-right: 2px;
  line-height: 1.4286;
  border: 1px solid transparent;
  border-radius: 4px 4px 0 0;
}

.nav-tabs > li > a:hover {
  border-color: var( --www-grey-light-v ) var( --www-grey-light-v ) var( --app-grey-d-light-v );
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover {
  color: var( --app-grey-5-dark );
  cursor: default;
  background-color: var( --app-white );
  border: 1px solid var( --app-grey-d-light-v );
  border-bottom-color: transparent;
}

.nav-tabs.nav-justified {
  width: 100%;
  border-bottom: 0;
}

.nav-tabs.nav-justified > li {
  float: none;
}

.nav-tabs.nav-justified > li > a {
  margin-right: 0;
  margin-bottom: 5px;
  text-align: center;
  border-radius: 4px;
}

.nav-tabs.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}

@media ( min-width: 768px ) {

  .nav-tabs.nav-justified > li {
    display: table-cell;
    width: 1%;
  }

  .nav-tabs.nav-justified > li > a {
    margin-bottom: 0;
  }
}

.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > a:hover {
  border: 1px solid var( --app-grey-d-light-v );
}

@media ( min-width: 768px ) {

  .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid var( --app-grey-d-light-v );
    border-radius: 4px 4px 0 0;
  }

  .nav-tabs.nav-justified > .active > a,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:focus {
    border-bottom-color: var( --app-white );
  }
}

.nav-pills > li {
  float: left;
}

.nav-pills > li > a {
  border-radius: 4px;
}

.nav-pills > li + li {
  margin-left: 2px;
}

.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: var( --app-white );
  background-color: var( --app-blue-dark );
}

.nav-stacked > li {
  float: none;
}

.nav-stacked > li + li {
  margin-top: 2px;
  margin-left: 0;
}

.nav-justified {
  width: 100%;
}

.nav-justified > li {
  float: none;
}

.nav-justified > li > a {
  margin-bottom: 5px;
  text-align: center;
}

.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}

@media ( min-width: 768px ) {

  .nav-justified > li {
    display: table-cell;
    width: 1%;
  }

  .nav-justified > li > a {
    margin-bottom: 0;
  }
}

.nav-tabs-justified {
  border-bottom: 0;
}

.nav-tabs-justified > li > a {
  margin-right: 0;
  border-radius: 4px;
}

.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
  border: 1px solid var( --app-grey-d-light-v );
}

@media ( min-width: 768px ) {

  .nav-tabs-justified > li > a {
    border-bottom: 1px solid var( --app-grey-d-light-v );
    border-radius: 4px 4px 0 0;
  }

  .nav-tabs-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus {
    border-bottom-color: var( --app-white );
  }
}

.tab-content > .tab-pane {
  margin-top: 1.25rem;
  display: none;
}

.tab-content > .active {
  display: block;
}

.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.navbar {
  position: relative;
  min-height: 50px;
  margin-bottom: 40px;
  border: 1px solid transparent;
}

@media ( min-width: 768px ) {

  .navbar {
    border-radius: 4px;
  }
}

@media ( min-width: 768px ) {

  .navbar-header {
    float: left;
  }
}

.navbar-collapse {
  padding-right: 15px;
  padding-left: 15px;
  overflow-x: visible;
  -webkit-overflow-scrolling: touch;
  border-top: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 var( --app-white-transparent-high-v );
          box-shadow: inset 0 1px 0 var( --app-white-transparent-high-v );
}

.navbar-collapse.in {
  overflow-y: auto;
}

@media ( min-width: 768px ) {

  .navbar-collapse {
    width: auto;
    border-top: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
  }

  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }

  .navbar-collapse.in {
    overflow-y: visible;
  }

  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-right: 0;
    padding-left: 0;
  }
}

.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}

@media ( max-device-width: 480px ) and ( orientation: landscape ) {

  .navbar-fixed-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: 200px;
  }
}

.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
  margin-right: -15px;
  margin-left: -15px;
}

@media ( min-width: 768px ) {
  .container > .navbar-header,
  .container-fluid > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
}

.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}

@media ( min-width: 768px ) {
  .navbar-static-top {
    border-radius: 0;
  }
}

.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}

@media ( min-width: 768px ) {
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
}

.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}

.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}

.navbar-brand {
  float: left;
  height: 50px;
  padding: 15px;
  font-size: 18px;
  line-height: 20px;
}

.navbar-brand:hover,
.navbar-brand:focus {
  text-decoration: none;
}

.navbar-brand > img {
  display: block;
}

@media ( min-width: 768px ) {

  .navbar > .container .navbar-brand,
  .navbar > .container-fluid .navbar-brand {
    margin-left: -15px;
  }
}

.navbar-toggle {
  position: relative;
  float: right;
  padding: 9px 10px;
  margin-top: 8px;
  margin-right: 15px;
  margin-bottom: 8px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
}

.navbar-toggle:focus {
  outline: 0;
}

.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}

.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}

@media ( min-width: 768px ) {

  .navbar-toggle {
    display: none;
  }
}

.navbar-nav {
  margin: 7.5px -15px;
}

.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 20px;
}

@media ( max-width: 767px ) {

  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
  }

  .navbar-nav .open .dropdown-menu > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
  }

  .navbar-nav .open .dropdown-menu > li > a {
    line-height: 20px;
  }

  .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-nav .open .dropdown-menu > li > a:focus {
    background-image: none;
  }
}

@media ( min-width: 768px ) {

  .navbar-nav {
    float: left;
    margin: 0;
  }

  .navbar-nav > li {
    float: left;
  }

  .navbar-nav > li > a {
    padding-top: 6px;
    padding-bottom: 6px;
  }
}

.navbar-form {
  padding: 10px 15px;
  margin: 8px -15px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 var( --app-white-transparent-high-v ), 0 1px 0 var( --app-white-transparent-high-v );
          box-shadow: inset 0 1px 0 var( --app-white-transparent-high-v ), 0 1px 0 var( --app-white-transparent-high-v );
}

@media ( min-width: 768px ) {

  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }

  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }

  .navbar-form .form-control-static {
    display: inline-block;
  }

  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }

  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto;
  }

  .navbar-form .input-group > .form-control {
    width: 100%;
  }

  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }

  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }

  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0;
  }

  .navbar-form .radio input[type="radio"],
  .navbar-form .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }

  .navbar-form .has-feedback .form-control-feedback {
    top: 0;
  }
}

@media ( max-width: 767px ) {

  .navbar-form .form-group {
    margin-bottom: 5px;
  }

  .navbar-form .form-group:last-child {
    margin-bottom: 0;
  }
}

@media ( min-width: 768px ) {

  .navbar-form {
    width: auto;
    padding-top: 0;
    padding-bottom: 0;
    margin-right: 0;
    margin-left: 0;
    border: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}

.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  margin-bottom: 0;
  border-radius: 4px 4px 0 0;
}

.navbar-btn {
  margin-top: 8px;
  margin-bottom: 8px;
}

.navbar-btn.btn-sm {
  margin-top: 10px;
  margin-bottom: 10px;
}

.navbar-btn.btn-xs {
  margin-top: 14px;
  margin-bottom: 14px;
}

.navbar-text {
  margin-top: 15px;
  margin-bottom: 15px;
}

@media ( min-width: 768px ) {

  .navbar-text {
    float: left;
    margin-right: 15px;
    margin-left: 15px;
  }

  .navbar-left {
    float: left !important;
  }

  .navbar-right {
    float: right !important;
    margin-right: -15px;
  }

  .navbar-right ~ .navbar-right {
    margin-right: 0;
  }

  .navbar-default > .container {
    padding: 0;
  }

  .topnav-logo-container {
    position: absolute;
    margin: 0;
    padding: 20px;
    top: 0px;
  }

  .topnav-shortcut-container {
    position: absolute;
    margin: 0;
    padding: 20px;
    top: 0;
    right: 0;
  }

  .topnav-shortcut-container > form {
    padding: 0;
    margin: 0;
  }

  .topnav-main-menu {
    width: 100%;
    text-align: center;
    display: flex;
    align-items: end;
    justify-content: center;
    float: none;
    flex-wrap: wrap;
    padding-top: 75px;
  }
}

.navbar-default {
  color: var( --babble-green );
  border-color: var( --app-white );
  background-color: var( --app-white );
  background-image: none;
  font-family: Raleway, sans-serif;
  font-weight: 600;
  box-shadow: 0 2px 5px rgba(0,0,0,.075);
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #ddd;
}

.navbar-default .navbar-brand {
  color: var( --babble-blue );
}

.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: var( --babble-green );
  background-color: transparent;
}

.navbar-default .navbar-text {
  color: var( --babble-blue );
}

.navbar-default .navbar-nav > li > a {
  color: var( --babble-blue );
}

.navbar-default .navbar-nav > li > a:focus {
  color: var( --babble-blue );
  background-color: transparent;
}

.navbar-default .navbar-nav > li > a:hover {
  color: var( --babble-green );
  background-color: transparent;
}

.navbar-default .navbar-nav > li > a.active ,
.navbar-default .navbar-nav > li > a:hover {
  color: var( --babble-green );
  background-color: transparent;
}

.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
  color: var( --www-grey-light );
  background-color: transparent;
}

.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: transparent;
}

.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  color: var( --app-grey-5-dark );
  background-color: transparent;
}

@media ( max-width: 767px ) {

  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: var( --babble-blue );
  }

  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: var( --babble-green );
    background-color: transparent;
  }

  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: var( --app-grey-5-dark );
    background-color: transparent;
  }

  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: var( --www-grey-light );
    background-color: transparent;
  }
}

.navbar-default .navbar-link {
  color: var( --babble-blue );
}

.navbar-default .navbar-link:hover {
  color: var( --babble-green );
}

.navbar-default .btn-link {
  color: var( --babble-blue );
}

.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
  color: var( --babble-green );
}

.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: var( --www-grey-light );
}

.navbar-inverse {
  background-color: transparent;
  border-color: var( --app-black-near );
}

.navbar-inverse .navbar-brand {
  color: var( --app-grey-9-mid );
}

.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
  color: var( --app-white );
  background-color: transparent;
}

.navbar-inverse .navbar-text {
  color: var( --app-grey-9-mid );
}

.navbar-inverse .navbar-nav > li > a {
  color: var( --app-grey-9-mid );
}

.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
  color: var( --babble-green );
  background-color: transparent;
}

.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
  color: var( --babble-green );
  background-color: transparent;
}

.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
  color: var( --app-grey-4-dark-v );
  background-color: transparent;
}

.navbar-inverse .navbar-toggle {
  border-color: var( --babble-green );
}

.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background-color: transparent;
}

.navbar-inverse .navbar-toggle .icon-bar {
  background-color: var( --app-white );
}

.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: var( --app-black-near );
}

.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
  color: var( --app-white );
  background-color: transparent;
}

@media ( max-width: 767px ) {

  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
    border-color: var( --app-black-near );
  }

  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: transparent;
  }

  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color: var( --app-grey-9-mid );
  }

  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
    color: var( --babble-green );
    background-color: transparent;
  }

  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: var( --babble-green );
    background-color: transparent;
  }

  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: var( --app-grey-4-dark-v );
    background-color: transparent;
  }
}

.navbar-inverse .navbar-link {
  color: var( --app-grey-9-mid );
}

.navbar-inverse .navbar-link:hover {
  color: var( --babble-green );
}

.navbar-inverse .btn-link {
  color: var( --app-grey-9-mid );
}

.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
  color: var( --babble-green );
}

@media ( min-width: 767px ) {
  #moneysection > .container {
    padding: 0;
  }
}

.funds-panel {
  margin-top: 20px;
}

#moneysection h4 {
  font-weight: 400;
} 

/*
makes an element inline
*/
.inline {
	display: inline;
}

@media ( min-width: 900px ) {

	.wide-modal{
		width : 800px;
	}
}

/*
Fixed an issue which meant long modals wouldn't scroll after being stacked
*/
.scroll-container {
    overflow-y: scroll;
}

.panel-default > .panel-heading {
  background-color: transparent;
  background-image: none;
}

.panel-heading {
  font-size: 18px;
}

.table {
  width: 100%;
}

.colheadings {
  border-bottom: 1px solid #eee;
  font-weight: bold;
}

#ruletable > table.table {
  table-layout: fixed;
}

.table > tbody > tr.success {
  background-color: var( --app-green-light );
  border-left: 5px solid var( --app-green-light );
  border-right: 5px solid var( --app-green-light );
}

.table > tbody > tr.success > td {
  background-color: var( --app-green-light );
  border: 0;
}

.table > tbody > tr > td {
  word-wrap: break-word;
  border-top: 0;
  border-bottom: 0;
}

.pagination > li > a {
  border: 0;
  color: var( --babble-green );
}

.pagination > .active > a,
.pagination > .active > a:focus {
  background-color: var( --app-green-light );
  background-image: none;
  border: 0;
  color: var( --babble-green );
}

/* device table */

#devices-messages ~ div.btn-group {
  z-index: 1036; /* selectpicker dropdown z-index is 1035 */
}

#devices {
  position: relative;
}

#devices > thead > div {
  position: absolute;
  right: 0;
  display: inline-block;
}

#devices > thead > div > label {
  margin: 0.5rem;
  font-weight: 400;
}

td#devices_heading {
  border: 1px solid transparent;
}

/* invoice table */

table.babble-invoice-table > thead > tr {
    border-radius: 0;
    background-color: var( --babble-blue );
    background-image: none;
    border-color: transparent;
    font-weight: unset;
    color: var( --app-white );
}

table.babble-invoice-table > tbody > tr:nth-child( 2n ){
    color: var( --babble-blue );
}

/* direct debit */

#money-dd-direct-debit-ddlogo {
  margin-right: 25px;
  width: 160px;
}

/* rule colours */

.textblock-navy {
  background-color: #001F3F !important;
  color: hsla( 210deg 100% 75% / 100% ) !important;
}

.textblock-blue {
  background-color: #0074D9 !important;
  color: hsla( 208deg 100% 85% / 100% ) !important;
}

.textblock-aqua {
  background-color: #7FDBFF !important;
  color: hsla( 197deg 100% 20% / 100% ) !important;
}

.textblock-teal {
  background-color: #39CCCC !important;
  color: #111 !important;
}

.textblock-olive {
  background-color: #3D9970 !important;
  color: hsla( 153deg 43% 15% / 100% ) !important;
}

.textblock-green {
  background-color: #2ECC40 !important;
  color: hsla( 127deg 63% 15% / 100% ) !important;
}

.textblock-lime {
  background-color: #01FF70 !important;
  color: hsla( 146deg 100% 20% / 100% ) !important;
}

.textblock-yellow {
  background-color: #FFDC00 !important;
  color: hsla( 52deg 100% 20% / 100% ) !important;
}

.textblock-orange {
  background-color: #FF851B !important;
  color: hsla( 28deg 100% 20% / 100% ) !important;
}

.textblock-red {
  background-color: #FF4136 !important;
  color: hsla( 3deg 100% 25% / 100% ) !important;
}

.textblock-fuchsia {
  background-color: #F012BE !important;
  color: hsla( 314deg 88% 21% / 100% ) !important;
}

.textblock-purple {
  background-color: #B10DC9 !important;
  color: hsla( 292deg 88% 82% / 100% ) !important;
}

.textblock-maroon {
  background-color: #85144B !important;
  color: hsla( 331deg 74% 70% / 100% ) !important;
}

.textblock-gray {
  background-color: #AAA !important;
  color: #111 !important;
}

.textblock-silver {
  background-color: #DDD !important;
  color: #111 !important;
}

.textblock-black {
  background-color: #111 !important;
  color: white !important;
}

.textblock-white {
  background-color: #FFF !important;
  color: #111 !important;
}

.table > tbody > tr.textblock-orange.success > td {
  background-color: #FF851B !important;
  color: hsla( 28deg 100% 20% / 100% ) !important;
}

.table > tbody > tr.textblock-navy.success > td {
  background-color: #001F3F !important;
  color: hsla( 210deg 100% 75% / 100% ) !important;
}

.table > tbody > tr.textblock-blue.success > td {
  background-color: #0074D9 !important;
  color: hsla( 208deg 100% 85% / 100% ) !important;
}

.table > tbody > tr.textblock-aqua.success > td {
  background-color: #7FDBFF !important;
  color: hsla( 197deg 100% 20% / 100% ) !important;
}

.table > tbody > tr.textblock-teal.success > td {
  background-color: #39CCCC !important;
  color: #111 !important;
}

.table > tbody > tr.textblock-olive.success > td {
  background-color: #3D9970 !important;
  color: hsla( 153deg 43% 15% / 100% ) !important;
}

.table > tbody > tr.textblock-green.success > td {
  background-color: #2ECC40 !important;
  color: hsla( 127deg 63% 15% / 100% ) !important;
}

.table > tbody > tr.textblock-lime.success > td {
  background-color: #01FF70 !important;
  color: hsla( 146deg 100% 20% / 100% ) !important;
}

.table > tbody > tr.textblock-yellow.success > td {
  background-color: #FFDC00 !important;
  color: hsla( 52deg 100% 20% / 100% ) !important;
}

.table > tbody > tr.textblock-red.success > td {
  background-color: #FF4136 !important;
  color: hsla( 3deg 100% 25% / 100% ) !important;
}

.table > tbody > tr.textblock-fuchsia.success > td {
  background-color: #F012BE !important;
  color: hsla( 314deg 88% 21% / 100% ) !important;
}

.table > tbody > tr.textblock-purple.success > td {
  background-color: #B10DC9 !important;
  color: hsla( 292deg 88% 82% / 100% ) !important;
}

.table > tbody > tr.textblock-maroon.success > td {
  background-color: #85144B !important;
  color: hsla( 331deg 74% 70% / 100% ) !important;
}

.table > tbody > tr.textblock-gray.success > td {
  background-color: #AAA !important;
  color: #111 !important;
}

.table > tbody > tr.textblock-silver.success > td {
  background-color: #DDD !important;
  color: #111 !important;
}

.table > tbody > tr.textblock-black.success > td {
  background-color: #111 !important;
  color: white !important;
}

.table > tbody > tr.textblock-white.success > td {
  background-color: #FFF !important;
  color: #111 !important;
}

/* Account Page */

#accountsection {
  font-family: 'Open Sans', Helvetica, Arial, sans-serif;
  font-size: 1.2rem;
}

#account_messages {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

#accountsection .panel {
  border: none;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

#accountsection .panel > .panel-heading {
  font-size: 1.5rem;
  font-family: 'Montserrat', sans-serif;
  color: white;
  background: var(--babble-violet);
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

#accountsection .panel > .panel-body {
  padding: 20px;
  background: var(--babble-violet-tint);
  margin-bottom: 50px;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
}

#accountsection .field-name {
  text-align: end;
  color: var(--babble-violet);
  font-weight: bold;
  margin-bottom: 1rem;
  padding: 5px 20px 5px 0;
}

#accountsection .field-value {
  border-bottom: 1px solid #ccc;
  min-height: 1.8rem;
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 10px;
  padding: 0;
  border-radius: 3px;
}

#accountsection .field-value.error {
  border-bottom: 1px solid var(--babble-red);
}

#accountsection .field-value > input {
  border: none;
  width: 100%;
  padding: 5px 30px 5px 15px;
  border-radius: 3px;
}

#accountsection .field-value > .fa-edit {
  color: var(--babble-blue-50pc);
  position: absolute;
  right: 5px;
  cursor: text;
}

#accountsection .field-toggle {
  padding-left: 0;
  text-align: start;
}

#accountsection .panel-body .button-container {
  padding: 0;
}

#accountsection .provider-status {
  padding: 5px 30px 5px 15px;
  border-bottom: 1px solid #ccc;
}

.login-providers i.fa-check-circle {
  color: var(--babble-green);
  font-size: 1.5rem;
  margin-right: 15px;
}

.login-providers i.fa-times-circle {
  color: var(--www-grey-light);
  font-size: 1.5rem;
  margin-right: 15px;
}

#accountpage .modal {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.2rem;
}

#accountpage .modal-header {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom: 1px solid #ccc;
}

#accountpage .modal-header > h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--babble-blue);
}

#accountpage .modal-header .close {
  color: #000;
}

#accountpage .modal-content {
  border-radius: 25px;
  padding: 1rem;
}

#accountpage .modal-footer {
  border-top: 1px solid #ccc;
  padding: 1rem 0 0;
}

.btn.btn-pill.btn-default.bstackclose {
  box-shadow: none;
  border: 1px solid #ddd;
}

#account_add_login_loading div,
#account_update_details_loading div {
  text-align: center;
  margin: 1rem 0;
}

#account_add_login_loading i.fa-spinner,
#account_update_details_loading i.fa-spinner {
  font-size: 3rem;
  color: var(--babble-blue);
}

@media (max-width: 767px) {
  #account_messages {
    margin: 0 20px;
  }
  #accountsection .panel {
    margin: 0 20px 20px;
  }
}

/* account section input elements */

.toggle-switch-label {
  position: relative;
  display: inline-block;
  margin: 0;
  width: 83px;
  height: 34px;
  border-radius: 25px;
}

.toggle-switch {
  position: absolute;
  opacity: 0;
  width: 0 !important;
  height: 0 !important;
}

.toggle-switch-background {
  background-color: var(--www-grey-light);
  width: 83px;
  height: 34px;
  border-radius: 25px;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  color: #000;
  padding: 0 1rem;
  transition: background-color 0.4s;
}

.toggle-switch-on {
  opacity: 0;
}

.toggle-switch-knob {
  background-color: #fff;
  position: absolute;
  left: 4px;
  top: 4px;
  width: 26px;
  height: 26px;
  border-radius: 20px;
  transition: var( --transition-slow );
}

.toggle-switch-label > .toggle-switch:checked ~ div.toggle-switch-knob {
  left: 53px;
}

.toggle-switch-label > .toggle-switch:checked ~ div span.toggle-switch-on {
  opacity: 1;
}

.toggle-switch-label > .toggle-switch:checked ~ div span.toggle-switch-off {
  opacity: 0;
}

.toggle-switch-label > .toggle-switch:checked ~ .toggle-switch-background {
  background-color: var(--babble-green);
}

input#newsletter_toggle:focus-visible ~ .toggle-switch-background {
  outline: 2px solid var(--www-grey-dark);
}

#accountpage .checkbox-label {
  grid-template-columns: 2em auto;
  display: grid;
  gap: 0.5rem;
  font-weight: 700;
  accent-color: var(--babble-blue);
}

#accountpage input[type="checkbox"] {
  margin: 0;
  height: unset;
  width: unset;  
}

#accountpage .btn-pill {
  width: 12rem;
  padding: 0.55rem 0.8rem;
  border-radius: 2rem;
  font-size: 1.2rem;
  transition: background-color 0.4s, border-color 0.4s;
}

#accountpage .btn-pill.btn-default {
  border: 1px solid var(--www-grey-light);
}

.btn-violet {
  color: #fff;
  background-color: var(--babble-violet-btn);
  border: 1px solid var(--babble-violet-btn);
}

button.btn.btn-violet[disabled] {
  opacity: 1;
  color: #fff;
  background-color: var(--www-grey-light);
  border: 1px solid var(--www-grey-light);
}

.btn.btn-violet:not([disabled]):hover,
.btn.btn-violet:not([disabled]):focus {
  color: #fff;
  background-color: var(--babble-violet);
  border-color: var(--babble-violet);
}

#account_merge_validation_message {
  color: #ff0000;
}

/* fix to prevent scrollbar causing reflows on console */
html {
  width: 100dvw;
}

body {
  overflow-x: hidden;
}

