/* LA custom buttons */

.btn {
  transition: background-color .1s linear, border-color .1s linear, color .1s linear, opacity .1s linear;
}
.btn.btn-purple {
  color: #fff !important;
  background: #58276E;
  border-color: #58276E;
  font-weight: 500;
}
.btn.btn-purple--light {
  color: #fff !important;
  background: #B573D8;
  border-color: #B573D8;
  font-weight: 500;
}
.btn.btn-purple:active {
  background: #491F5A !important;
  border-color: #491F5A !important;
}
.btn.btn-orange {
  color: #333 !important;
  background: #FCB10B !important;
  border-color: #FCB10B !important;
  font-weight: 500;
}
.btn.btn-orange:active {
  background: #FF9900 !important;
  border-color: #FF9900 !important;
}
.btn.btn-orange--light {
  color: #333 !important;
  background: #FEF0CF !important;
  border-color: #CCC !important;
  font-weight: 500;
}
.btn.btn-orange--light:active {
  border-color: #adadad !important;
}
.btn.btn-orange--light-borderless {
  color: #333 !important;
  background: #FEF0CF !important;
  border: none !important;
  font-weight: 500;
}
.btn:disabled {
  opacity: .3;
}


/* LA custom checkbox and radio buttons */

input[type=checkbox],
input[type=radio] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}
.checkbox label.la-checkbox,
.la-radio {
  padding: 0 0 6px;
}
.la-radio {
  display: inline-block;
  position: relative;
  padding: 4px 20px 8px;
  font-weight: normal;
  cursor: pointer;
}
input[type=checkbox] + .la-checkbox::before,
input[type=radio] + .la-radio::before {
  content: ' ';
  display: inline-block;
  line-height: 20px;
  position: absolute;
  margin: 0;
  padding: 1px;
  border: none;
  font-family: FontAwesome;
  font-size: 18px;
  cursor: pointer;
  opacity: .6;
}
input[type=checkbox] + .la-checkbox::before {
  content: ' ';
  margin: 1px 0 0;
  border: 2px solid #555;
  border-radius: 3px;
  width: 16px;
  height: 16px;
  transition: background-color .1s linear, border-color .1s linear;
}
input[type=checkbox]:checked + .la-checkbox::before {
  content: ' ';
  border: 2px solid #2d87fb;
  background-color: #2d87fb;
  opacity: 1;
}
input[type=checkbox]:focus + .la-checkbox::before {
  border-color: #2d87fb;
  opacity: 1;
}
input[type=checkbox]:disabled + .la-checkbox::before {
  opacity: .4;
}
input[type=checkbox] + .la-checkbox .la-checkbox__mark {
  position: absolute;
  top: 0;
  left: 2px;
  margin: 0;
  padding: 0;
  width: 12px;
  height: 12px;
}
input[type=checkbox] + .la-checkbox .la-checkbox__mark svg {
  stroke-width: 2px;
}
input[type=checkbox] + .la-checkbox .la-checkbox__mark svg path {
  stroke-dashoffset: 30;
  stroke-dasharray: 30;
  transition: stroke-dashoffset .3s linear;
}
input[type=checkbox]:checked + .la-checkbox .la-checkbox__mark svg path {
  stroke-dashoffset: 0;
}

input[type=radio] + .la-radio .la-radio_outer-circle {
  width: 16px;
  height: 16px;
  position: absolute;
  border: 2px solid rgba(0,0,0,.4);
  left: 0;
  top: 8px;
  border-radius: 50%;
}
input[type=radio]:checked + .la-radio .la-radio_outer-circle {
  border: 2px solid #2d87fb;
}
input[type=radio] + .la-radio .la-radio_inner-circle {
  width: 8px;
  height: 8px;
  position: absolute;
  background-color: #2d87fb;
  left: 4px;
  top: 12px;
  border-radius: 50%;
  -ms-transform: scale(0);
  transform: scale(0);
  transition: transform .3s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}
input[type=radio]:checked + .la-radio .la-radio_inner-circle {
  width: 8px;
  height: 8px;
  position: absolute;
  background-color: #2d87fb;
  left: 4px;
  top: 12px;
  border-radius: 50%;
  -ms-transform: scale(1);
  transform: scale(1);
}
label span {
  vertical-align: top;
}
input[type=checkbox] + .la-checkbox span,
input[type=checkbox] + .la-checkbox div {
  padding-left: 24px;
}
input[type=radio] + .la-radio span:last-child {
  padding-left: 4px;
}
input[type=checkbox] + .la-checkbox span {
  display: inline-block;
}


/* LA custom input and select */

.la-input {
  width: 100%;
  max-width: 100%;
  padding: 6px 25px 6px 12px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
select.la-input {
  border: 1px solid #ccc;
  border-radius: 4px;
}
select.la-input::-ms-expand {
  display: none;
}
.la-select {
  height: 34px;
}
.la-select--inline {
  display: inline-block;
}
.la-select select {
  min-width: 118px;
  height: 100%;
  background: #FFFFFF;
}
.la-select select.input-sm {
  height: 30px;
  padding: 0 25px 0 12px;
}
.la-select select.form-control {
  width: 100%;
}
.la-select::after {
  content: '';
  float: right;
  position: relative;
  margin: 0;
  margin-top: calc(-36px / 2);
  margin-right: 8px;
  padding: 0;
  border-width: 4px;
  border-style: solid dashed dashed dashed;
  border-color: #989898 transparent transparent transparent;
  pointer-events: none;
}


/* LA custom clearfix */

.la-clearfix {
  clear: both;
}


/* LA custom flex */

.la-flex {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}


/* LA custom carousel */

.la-login__carousel--slide-fade .carousel-inner .item {
  transition: transform .6s ease-in-out, opacity .3s ease-in-out;
}
.la-login__carousel--slide-fade .carousel-inner .item,
.la-login__carousel--slide-fade .carousel-inner .item.left,
.la-login__carousel--slide-fade .carousel-inner .item.right {
  opacity: 0;
}
.la-login__carousel--slide-fade .carousel-inner .active {
  opacity: 1;
}
.la-login__carousel--slide-fade .carousel-inner .active.left,
.la-login__carousel--slide-fade .carousel-inner .active.right {
  opacity: 0;
}
.la-login__carousel--slide-fade .carousel-inner .next {
  opacity: 1;
}


/* LA custom error validation */

.help-block {
  margin: 0;
}
.has-error .form-control,
.has-error .form-control:focus {
  border-color: #df0000;
}
.has-error .checkbox,
.has-error .checkbox-inline,
.has-error .control-label,
.has-error .help-block,
.has-error .radio,
.has-error .radio-inline,
.has-error.checkbox label,
.has-error.checkbox-inline label,
.has-error.radio label,
.has-error.radio-inline label {
  color: #df0000;
}


/* LA custom flash messages */

.la-flash-notice {
  color: #517334;
}
.la-flash-error {
  color: #df0000;
}
.la-flash-notice i,
.la-flash-error i {
  padding-right: 8px;
}


/* LA custom obfuscator */

.la-obfuscator {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,0.7);
  transition: opacity .3s linear;
}
.la-obfuscator__spinner {
  position: absolute;
  top: calc(50% - 21px);
  left: calc(50% - 21px);
}


/* LA custom dialog */

@media all and (max-width: 480px) {
  .modal-footer .btn {
    display: block;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
  }
  .modal-footer .btn:last-child {
    margin-top: 15px;
  }
  .modal-footer .btn + .btn {
    margin-left: 0;
  }
}