/**
 * @package     Joomla.Site
 * @subpackage  Templates.bootstrap4
 *
 * @copyright   Hugo Fittipaldi (C) 2018. All rights reserved.
 * @license     GNU General Public License version 3 or later; see LICENSE
 */
/* ==========================================================================
 Layout
 ========================================================================== */
.element-invisible {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.red, .star {
  color: #c00;
}
/* ==========================================================================
 Forms
 ========================================================================== */
select, textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], .inputbox {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media screen and (prefers-reduced-motion: reduce) {
  select, textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], .inputbox {
    transition: none;
  }
}
select::-ms-expand, textarea::-ms-expand, input[type="text"]::-ms-expand, input[type="password"]::-ms-expand, input[type="datetime"]::-ms-expand, input[type="datetime-local"]::-ms-expand, input[type="date"]::-ms-expand, input[type="month"]::-ms-expand, input[type="time"]::-ms-expand, input[type="week"]::-ms-expand, input[type="number"]::-ms-expand, input[type="email"]::-ms-expand, input[type="url"]::-ms-expand, input[type="search"]::-ms-expand, input[type="tel"]::-ms-expand, input[type="color"]::-ms-expand, .inputbox::-ms-expand {
  background-color: transparent;
  border: 0;
}
select:focus, textarea:focus, input[type="text"]:focus, input[type="password"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, input[type="number"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="color"]:focus, .inputbox:focus {
  color: #495057;
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, .25);
}
select::placeholder, textarea::placeholder, input[type="text"]::placeholder, input[type="password"]::placeholder, input[type="datetime"]::placeholder, input[type="datetime-local"]::placeholder, input[type="date"]::placeholder, input[type="month"]::placeholder, input[type="time"]::placeholder, input[type="week"]::placeholder, input[type="number"]::placeholder, input[type="email"]::placeholder, input[type="url"]::placeholder, input[type="search"]::placeholder, input[type="tel"]::placeholder, input[type="color"]::placeholder, .inputbox::placeholder {
  color: #6c757d;
  opacity: 1;
}
select:disabled, textarea:disabled, input[type="text"]:disabled, input[type="password"]:disabled, input[type="datetime"]:disabled, input[type="datetime-local"]:disabled, input[type="date"]:disabled, input[type="month"]:disabled, input[type="time"]:disabled, input[type="week"]:disabled, input[type="number"]:disabled, input[type="email"]:disabled, input[type="url"]:disabled, input[type="search"]:disabled, input[type="tel"]:disabled, input[type="color"]:disabled, .inputbox:disabled, select[readonly], textarea[readonly], input[type="text"][readonly], input[type="password"][readonly], input[type="datetime"][readonly], input[type="datetime-local"][readonly], input[type="date"][readonly], input[type="month"][readonly], input[type="time"][readonly], input[type="week"][readonly], input[type="number"][readonly], input[type="email"][readonly], input[type="url"][readonly], input[type="search"][readonly], input[type="tel"][readonly], input[type="color"][readonly], .inputbox[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}
.control-group {
  margin-bottom: 1rem;
}
.control-group.checkbox, .control-group.radio {
  display: -ms-grid;
  display: grid;
  grid-template-areas: "label controls";
  -ms-grid-columns: 20px 1fr;
  grid-template-columns: 20px 1fr;
  align-items: center;
}
.control-group.checkbox .control-label, .control-group.radio .control-label {
  grid-area: controls;
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  justify-self: start;
}
.control-group.checkbox .inputbox, .control-group.radio .inputbox {
  grid-area: label;
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}
.input-mini {
  width: 5em;
}
.input-small {
  width: 7em;
}
.input-medium {
  margin-right: 0.5rem;
}
.input-large {
  width: 15em;
}
.input-xlarge {
  width: 19em;
}
.input-xxlarge {
  width: 37em;
}
/* Forms inline
 ========================================================================== */
.form-inline .inputbox {
  display: inline-block;
  width: auto;
  vertical-align: middle;
}
/* Forms horizontal
 ========================================================================== */
.form-horizontal .inputbox {
  display: inline-block;
  width: auto;
  vertical-align: middle;
}
@media (min-width: 576px) {
  .form-horizontal .control-group {
    display: -ms-grid;
    display: grid;
    grid-template-areas: "label controls";
    -ms-grid-columns: 10rem 30px 1fr;
    grid-template-columns: 10rem 1fr;
    grid-column-gap: 30px;
  }
  .form-horizontal .control-label {
    grid-area: label;
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .form-horizontal .controls {
    grid-area: controls;
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
}
/* ==========================================================================
 Input group
 ========================================================================== */
.input-prepend, .input-append {
  display: flex;
}
.input-prepend > .add-on, .input-append > .add-on {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}
.input-prepend > .add-on input[type="radio"], .input-append > .add-on input[type="radio"], .input-prepend > .add-on input[type="checkbox"], .input-append > .add-on input[type="checkbox"] {
  margin-top: 0;
}
.input-append > input {
  margin-right: -1px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-append > input + .add-on {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-prepend > .add-on {
  margin-right: -1px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-prepend > .add-on + input {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-append.input-prepend > input {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  margin-bottom: 0;
}
.input-append.input-prepend .add-on:last-child {
  margin-left: -1px;
  border-radius: 0 0.25rem 0.25rem 0;
}
/* ==========================================================================
 Lists
 ========================================================================== */
@media (min-width: 576px) {
  .dl-horizontal dt {
    float: left;
    width: 10rem;
    overflow: hidden;
    clear: left;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dl-horizontal dd {
    margin-left: 11.875rem;
  }
}
/* ==========================================================================
 Grid System
 ========================================================================== */
@media (min-width: 576px) {
  .row-fluid {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
  }
  .span1 {
    -ms-flex-preferred-size: 8.33333%;
    flex-basis: 8.33333%;
    max-width: 8.33333%;
  }
  .span2 {
    -ms-flex-preferred-size: 16.66667%;
    flex-basis: 16.66667%;
    max-width: 16.66667%;
  }
  .span3 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
  .span4 {
    -ms-flex-preferred-size: 33.33333%;
    flex-basis: 33.33333%;
    max-width: 33.33333%;
  }
  .span5 {
    -ms-flex-preferred-size: 41.66667%;
    flex-basis: 41.66667%;
    max-width: 41.66667%;
  }
  .span6 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
  .span7 {
    -ms-flex-preferred-size: 58.33333%;
    flex-basis: 58.33333%;
    max-width: 58.33333%;
  }
  .span8 {
    -ms-flex-preferred-size: 66.66667%;
    flex-basis: 66.66667%;
    max-width: 66.66667%;
  }
  .span9 {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%;
  }
  .span10 {
    -ms-flex-preferred-size: 83.33333%;
    flex-basis: 83.33333%;
    max-width: 83.33333%;
  }
  .span11 {
    -ms-flex-preferred-size: 91.66667%;
    flex-basis: 91.66667%;
    max-width: 91.66667%;
  }
  .span12 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  .span1, .span2, .span3, .span4, .span5, .span6, .span7, .span8, .span9, .span10, .span11, .span12 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding-right: 15px;
    padding-left: 15px;
  }
}
/* ==========================================================================
 Navs
 ========================================================================== */
.nav > li > a:focus, .nav > li > a:hover {
  text-decoration: none;
}
/* ==========================================================================
 Navbar
 ========================================================================== */
.nav-stacked {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
  -ms-flex-direction: column !important;
  flex-direction: column !important;
}
.nav-stacked a {
  display: block;
  padding: 0.5rem 1rem;
}
.nav-tabs.nav-stacked {
  border-bottom: 0;
}
