/* BTN GROUP BLOCK */
.btn-group.btn-group-block {
    display: flex;
}

.btn-block+.btn-block {
    margin-top: 0;
}

.btn-group-block .btn {
    flex: 1;
}

.mw-20 {
    max-width: 20%;
}

.mw-15 {
    max-width: 15%;
}

.mw-25 {
    max-width: 25%;
}

.mw-30 {
    max-width: 30%;
}

.toggle.btn {
    width: 100%!important;
}

.form-group {
    position: relative;
}

.text-hr-line {
    min-height: 1px;
    position: relative;
    text-align: center;
    margin-bottom: .5rem;
}

.text-hr-line::before {
    left: 0;
    top: 52%;
    right: 0;
    height: 1px;
    content: "";
    position: absolute;
    background: #e5e5e5;
}

.text-hr-line>span {
    padding: 0 10px;
    background: #fff;
    position: relative;
    display: inline-block;
}



/* INVALID */
select.is-invalid~.input-group-prepend .input-group-text,
form.was-validated select:invalid~.input-group-prepend .input-group-text,
.is-invalid-group .input-group-prepend .input-group-text,
select.is-invalid~.input-group-append .input-group-text,
form.was-validated select:invalid~.input-group-append .input-group-text,
.is-invalid-group .input-group-append .input-group-text {
    border-color: #dc3545;
    background-color: #ffe3e1;
}

.is-invalid-group+.invalid-feedback {
    display: block!important;
}

/* LABEL */
label .required {
    color: #007bff;
    text-decoration: none;
}

/* FIELDSET */
fieldset {
    border: 1px solid #ced4da;
    border-radius: .25rem;
    padding: .375rem .75rem;
    margin-bottom: 1rem;
}

fieldset legend {
    font-size: 1.1em !important;
    font-weight: bold !important;
    text-align: left !important;
    width: auto;
    padding: 0 .75rem;
    border-bottom: none;
}

/* SELECT2 */

/* CLEAR BUTTON */
.select2-container--bootstrap4 .select2-selection__clear {
    position: absolute!important;
    top: 50%;
    transform: translateY(-50%);
    right: 30px;
    margin: 0;
    border-radius: 50%;
    background-color: transparent;
    float: none;
    padding-left: 0;
    width: 1rem;
    height: 1rem;
    line-height: 1;
    text-align: center;
}

.select2-container--bootstrap4 .select2-selection__clear:after {
    font-family: "Font Awesome 5 Pro";
    content: "\f00d";
    font-weight: 300;
    color: #dc3545;
    line-height: 1;
    font-size: 18px;
}

.select2-container--bootstrap4 .select2-selection__clear:hover {
    background-color: rgb(255 255 255 / 10%);
    color: red;
}

.select2-results__option .select2-checkbox {
    min-height: 20px;
    padding-left: 20px;
}

.select2-results__option .select2-checkbox .custom-control-input {
    width: 20px;
    height: 20px;
}

.select2-results__option .select2-checkbox .custom-control-label {
    cursor: pointer;
}

.select2-results__option .select2-checkbox+span {
    margin-left: 10px;
}

.select2-results__option .select2-checkbox .custom-control-label::before {
    width: 20px;
    height: 20px;
    top: 50%;
    left: -20px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.select2-results__option .select2-checkbox .custom-control-label::after {
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    left: -20px;
}

/* INPUT LOADING */
.input-loading-spinner {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 0.75rem;
    z-index: 3;
    display: block;
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    pointer-events: none;
}

.input-group .input-loading-spinner {
    right: 12%;
}

.input-loading-spinner:before {
    position: absolute;
    display: block;
    content: "";
    z-index: 12;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #FFF;
}

.input-loading-spinner:after {
    position: absolute;
    display: block;
    content: "";
    z-index: 11;
    width: 12px;
    height: 12px;
    border-radius: 200px 0 0;
    background: linear-gradient(45deg, rgba(0, 0, 0, 0) 0, #459ad7 50%, #459ad7 100%);
    animation: loading 0.5s linear infinite;
}

.autocomplete-container {
    position: relative;
}

@keyframes loading {
  0% {
    transform-origin: 100% 100%;
    transform: rotate(0deg);
  }
  100% {
    transform-origin: 100% 100%;
    transform: rotate(360deg);
  }
}

/* AUTOCOMPLETE */
.ui-autocomplete {
    z-index: 215000000 !important;
}
.autocomplete-container.loading .form-control-lg {
    padding-right: 3.5rem;
}
.autocomplete-container .form-control-lg+.spinner-border {
    width: 1.9rem;
    height: 1.9rem;
    border-width: .25em!important;
    right: 1rem;
}
.ui-menu.ui-widget-content {
    max-height: 15rem;
    border-radius: .25rem;
    border-top-right-radius: 0;
    overflow: auto;
    border-top-left-radius: 0;
    border: 1px solid #c5c5c5;
}

.ui-menu .ui-autocomplete-row:hover {
    background-color: #005EB8;
}

.ui-menu .ui-autocomplete-row:hover span {
    color: #fff;
}
.ui-autocomplete-row {
    padding: 0px 5px;
}


.ui-autocomplete-row span {
    width: 100%;
    -ms-flex-item-align: center!important;
    align-self: center!important;
    font-size: .9rem;
}

.ui-autocomplete-row .img-div {
    padding:0;
    width: 30px;
}

.ui-autocomplete-row .img-div .thumbnail-container {
    padding: 0;
    border-radius: 0;
}

.ui-autocomplete-row .img-div .thumbnail-container .thumbnail {
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
}

.ui-autocomplete-row .img-div.ui-state-active {
    border: 0;
    margin:0;
    background-color: transparent;
}

.ui-autocomplete-row span.ui-state-active {
    background-color: transparent;
    margin:0;
    border:0;
    color: #333;
}

.ui-autocomplete-row span strong {
    background-color: yellow;
    font-weight: bold;
}

.ui-menu .ui-autocomplete-row:hover span strong {
    color: #333;
}

.ui-front {
    z-index: 999;
}

.ui-menu .ui-menu-item-wrapper {
    padding: 0;
}

.ui-menu .ui-menu-item-wrapper.ui-state-active {
    border-color:transparent;
}

.ui-menu-item {
    padding: .3rem .5rem .3rem .5rem;
}

.ui-menu .ui-menu-item:hover {
    background-color: #007bff;
    color: #f8f9fa;
}

.ui-menu-item span {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
}

.ui-widget {
    font-family: unset;
}

/* INLINE DATERANGE */
.inline-picker {
    position: relative;
    background: #fff;
    cursor: pointer;
    height: calc(1.5em + .75rem + 2px);
    padding: .375rem .75rem;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    width: 100%;
}

.inline-picker .caret-icon {
    position: absolute;
    top: 50%;
    right: .75rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

/* NEW LOADER */
.loading .circle-wrap,
.loading .progress-wrap {
    display: block;
}

.input-group .circle-wrap {
    border-radius: .25rem;
}

.circle-wrap,
.progress-wrap {
    display: none;
    position: absolute;
    z-index: 10;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 20;
    background-color: rgba(255,255,255,.6);
    width: 100%;
    height: 100%;
}

.progress-wrap .progress-container {
    width: 50%;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.progress-wrap .progress-container .progress {
    height: 2rem;
}

.progress-wrap .progress-container .progress-text {
    text-align: center;
    color: #333333;
    font-size: 0.9rem;
}

.circle-wrap .circle {
    width: 40px;
    height: 40px;
    position: relative;
    left: 50%;
    top: 50%;
    margin-left: -20px;
    margin-top: -20px;
}

.circle-wrap.circle-wrap-mini .circle {
    width: 26px;
    height: 26px;
    margin-left: -13px;
    margin-top: -13px;
}

.circle-wrap .preloader-spinner {
    position: absolute;
    width: 46px;
    height: 46px;
    left: -3px;
    top: -3px;
    border: solid 1px transparent;
    border-top-color: #D2EF2B;
    border-left-color: #D2EF2B;
    border-radius: 50%;
    -webkit-animation: loading-spinner .4s linear infinite;
    animation: loading-spinner .4s linear infinite;
    -webkit-animation: loading-spinner .4s linear infinite;
    animation: loading-spinner .4s linear infinite;
}
.circle-wrap.circle-wrap-mini .preloader-spinner {
    width: 31px;
    height: 31px;
}

.circle-wrap .circle .mask,
.circle-wrap .circle .fill {
  width: 40px;
  height: 40px;
  position: absolute;
  border-radius: 50%;
}

.circle-wrap.circle-wrap-mini .circle .mask,
.circle-wrap.circle-wrap-mini .circle .fill {
    width: 26px;
    height: 26px;
}

.circle-wrap .circle .mask {
  clip: rect(0px, 40px, 40px, 20px);
}

.circle-wrap.circle-wrap-mini .circle .mask {
  clip: rect(0px, 26px, 26px, 13px);
}


.circle-wrap .circle .mask .fill {
  clip: rect(0px, 20px, 40px, 0px);
  background-color: #0BAAE2;
}

.circle-wrap.circle-wrap-mini .circle .mask .fill {
  clip: rect(0px, 13px, 26px, 0px);
  background-color: #0BAAE2;
}

.circle-wrap .circle .mask.full,
.circle-wrap .circle .fill {
 
  /*transform: rotate(126deg);*/
}

.circle-wrap .inside-circle {
    color: #ffffff;
    width: 35px;
    height: 35px;
    border-radius: 50%; 
    background: transparent;
    line-height: 35px;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
    font-weight: 500;
    font-size: 8px;
}

.circle-wrap.circle-wrap-mini .inside-circle {
    width: 20px;
    height: 20px;
}

@-webkit-keyframes loading-spinner {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
        transform: rotate(0)
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes loading-spinner {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
        transform: rotate(0)
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

/* BTN */
.btn:not(.toggle):not(.toggle-handle):not(.toggle-on):not(.toggle-off) {
    position: relative;
}

.btn .spinner-border {
    width: 1.5rem;
    height: 1.5rem;
    border-width: .20em;
}

.btn-sm .spinner-border {
    width: 1.2rem;
    height: 1.2rem;
    border-width: .15em;
}

.btn-lg .spinner-border {
    width: 2rem;
    height: 2rem;
    border-width: .25em;
}


.btn .spinner-border {
    display: block!important;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0!important;
    margin: auto;
}

.thumbnail-container {
    display: block;
    width: 100%;
    position: relative;
    padding: 5px;
    margin: 0;
    line-height: 1.42857;
    background-color: #fff;
    /*border: 1px solid transparent;*/
    border-radius: 3px;
    color: #222;
}

.thumbnail-container:before {
    content: '';
    padding-bottom: 100%;
    display: block;
}

.thumbnail-container .thumbnail {
    position: absolute;
    overflow: hidden;
    display: block;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    text-align: center;
    z-index: 1;
    color: inherit!important;
    text-decoration: none!important;
}

.thumbnail-container .thumbnail>img {
    width: auto;
    height: 100%;
    text-indent: -9999px;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: auto;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1;
}

.thumbnail-container .thumbnail.thumbnail-initials {
    background-color: #efefef;
}

.thumbnail-container .thumbnail.thumbnail-initials span {
    position: absolute;
    font-weight: 800;
    color: #cca512;
    font-size: 1.3rem;
    font-weight: 600;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* BUTTON LABELED */
.btn-label {
    border: 1px solid transparent;
    position: relative;
    padding-left: 42px;
    white-space: nowrap;
}

.btn-label.btn-default {
    border: 1px solid #e4e4e4;
}
.btn-label.btn-default i {
    color: #007bff;
    background-color: #ffffff;
    border: 1px solid #e4e4e4;
}

.btn-label i {
    color: #fff;
    background: #00985f;
    position: absolute;
    top: -1px;
    left: -1px;
    text-align: center;
    display: block;
    z-index: 1;
    height: 38px;
    width: 41px;
    line-height: 38px;
    font-size: 20px;
    padding-right: 0px;
    border-top-left-radius: .25rem;
    border-bottom-left-radius: .25rem;
    border: 1px solid transparent;
}

.btn-label.btn-sm i {
    height: 31px;
    width: 34px;
    line-height: 31px;
    font-size: 17px;
    padding-right: 0px;
    border-top-left-radius: .2rem;
    border-bottom-left-radius: .2rem;
}

/* PRICE CONTAINER */

.price-container {
    min-height: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: .5rem;
}

.price-container .price {
    color: #e0001a;
    font-size: 24px;
    font-weight: bold;
    white-space: nowrap;
    letter-spacing: -1px;
    line-height: 1;
}

.price-container .price sup {
    font-size: 65%;
    line-height: 0;
    position: relative;
    margin-left: -.2rem;
    vertical-align: baseline;
}

.price-container .old-price {
    letter-spacing: -1px;
}

/* FLOATING LABEL */
.form-group .has-float-label {
    display:block;
    position:relative;
    width:100%;
}
.form-group .has-float-label label,.form-group .has-float-label>span{
    position:absolute;
    cursor:text;
    font-size:75%;
    opacity:1;
    -webkit-transition:all .2s;
    transition:all .2s;
    top:-.5em;
    left:.75rem;
    z-index:3;
    line-height:1;
    padding:0 3px;
    background:#fff;
    font-weight:normal;
}
.form-group .has-float-label>span{/*For select2-bootstrap dropdown set top,left margin 0*/
    top:0;
    left:0;
}
.form-group .has-float-label label::after,.form-group .has-float-label>span::after{
    content:" ";
    display:block;
    position:absolute;
    background:#fff;
    height:2px;
    top:50%;
    left:-.2em;
    right:-.2em;
    z-index:-1;
}
.form-group .has-float-label .form-control::-webkit-input-placeholder{
    opacity:1;
    -webkit-transition:all .2s;
    transition:all .2s;
}
.form-group .has-float-label .form-control::-moz-placeholder{
    opacity:1;
    transition:all .2s;
}
.form-group .has-float-label .form-control:-ms-input-placeholder{
    opacity:1;
    transition:all .2s;
}
.form-group .has-float-label .form-control::placeholder{
    opacity:1;
    -webkit-transition:all .2s;
    transition:all .2s;
}
.form-group .has-float-label .form-control:placeholder-shown:not(:focus)::-webkit-input-placeholder{
    opacity:0;
}
.form-group .has-float-label .form-control:placeholder-shown:not(:focus)::-moz-placeholder{
    opacity:0;
}
.form-group .has-float-label .form-control:placeholder-shown:not(:focus):-ms-input-placeholder{
    opacity:0;
}
.form-group .has-float-label .form-control:placeholder-shown:not(:focus)::placeholder{
    opacity:0;
}
.form-group .has-float-label .form-control:placeholder-shown:not(:focus)+*{
    font-size:100%;
    color: #939498;
    opacity: 1;
    top:.3em;
}
.input-group .form-group .has-float-label{
    -webkit-box-flex:1;
    -webkit-flex-grow:1;
    -ms-flex-positive:1;
    flex-grow:1;
    margin-bottom:0;
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -webkit-flex-direction:column;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-pack:center;
    -webkit-justify-content:center;
    -ms-flex-pack:center;
    justify-content:center;
}
.form-group .has-float-label .form-control:placeholder-shown:not(:focus) + * {
    margin-top: 6px;
}

.form-group-icon  i.form-group-icon {
    color: #939498;
    position: absolute;
    top: 0;
    padding: .65rem;
}

.form-group-icon .has-float-label .form-control {
    padding: .375rem .75rem .375rem 2rem;
}

.form-group.form-group-icon .has-float-label .form-control:placeholder-shown:not(:focus)+*{
    left: 2rem;
}

/* FILE INPUT */
.fileinput.disabled {
    opacity: .5;
    pointer-events: none;
}
.fileinput .img-thumbnail {
    position: relative;
        display: block;
}
.fileinput.input-group {
    /*display: inline-block;*/
}
.fileinput .form-control[data-trigger="fileinput"] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.fileinput .img-thumbnail .fileinput-new.fileinput-element {
    text-align: center;
}
.fileinput .img-thumbnail .fileinput-new.fileinput-element i {
    font-size: 5em;
    line-height: 10rem;
    color: #cca512;
}

.fileinput .img-thumbnail .fileinput-new.fileinput-element.fileinput-logo i {
    font-size: 3em;
}
.thumbnail .fileinput-new.fileinput-element {
    text-align: center;
}
.thumbnail .fileinput-new.fileinput-element i {
    font-size: 5em;
    margin-top: 0.5em;
    color: #B7A776;
}
.fileinput {
    margin-bottom: 0;
    display: inline-block;
    width: 100%;
}
.fileinput.input-group>* {
    position: relative;
    z-index: 2;
}
.fileinput .form-control {
    padding-top: 7px;
    padding-bottom: 5px;
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
    cursor: text;
}
.form-control .fileinput-filename {
    vertical-align: bottom;
}
.fileinput-filename {
    vertical-align: middle;
    display: inline-block;
    overflow: hidden;
}
.fileinput.input-group>.btn-file:not(.input-group-addon) {
    z-index: 1;
    width: 100%;
}
.input-group-addon {
    border-radius: 0px;
    border: 1px solid #173643;
    background-color: transparent;
    height: 30px;
    padding: 3px 7px;
}
.colorpicker-element .input-group-addon i {
    border: 1px solid #173643;
}
.input-group-addon:not(:first-child) {
    border-left: 0;
}
.fileinput.input-group>* {
    position: relative;
    z-index: 2;
}
.fileinput .btn {
    vertical-align: middle;
}
.btn-file {
    overflow: hidden;
    position: relative;
    vertical-align: middle;
}
.fileinput-exists .fileinput-new,
.fileinput-new .fileinput-exists,
.fileinput-cropper .fileinput-preview img.cropper-hidden {
    display: none;
}

.fileinput:not(.fileinput-cropper) .fileinput-preview img {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    position: absolute;
    max-width: 100%;
    max-height: 100%;
}

.btn-file>input {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    opacity: 0;
    filter: alpha(opacity=0);
    font-size: 23px;
    height: 100%;
    width: 100%;
    direction: ltr;
    cursor: pointer;
}
.fileinput .thumbnail {
    border-radius: 0px;
    padding: 5px;
    margin-bottom: 0px;
}
.fileinput.fileinput-img .btn-file {
    padding: 0.375rem .75rem;
    line-height: 1;
    font-size: 17px;
}
.fileinput.fileinput-img .fileinput-remove {
    padding: 5px;
    border: 0px;
    line-height: 1.15;
    font-size: 17px;
}
.fileinput-buttons {
    margin-top: 5px;
}
.attendee-container {
    margin-top: 2rem;
}
.fileinput .fileinput-element {
    width: 100%;
    height: 150px;
    position: relative;
    background: #efefef;
}

.fileinput-cropper .cropper-buttons a:first-child{
    border-top-left-radius: 0;
}

.fileinput-cropper .cropper-buttons a:last-child{
    border-top-right-radius: 0;
}

.fileinput-cropper .fileinput-element {
    height: 250px;
}

.fileinput .fileinput-element.fileinput-logo {
    height: 100px;
}

.fileinput .progress {
    width: 100%;
    z-index: 11;
    position: absolute;
    height: 100%;
}

.fileinput .fileinput-element .initials {
    font-size: 5rem;
    font-weight: 800;
    color: #cca512;
    line-height: 2;
}

.load-container {
    min-height: 100px;
    position: relative;
}

.load-container.bordered {
    border: 1px solid #ced4da;
    border-radius: .25rem;
}

.filters-container,
.results-container {
    position: relative;
}

.fade-scale {
  transform: scale(0);
  opacity: 0;
  -webkit-transition: all .25s linear;
  -o-transition: all .25s linear;
  transition: all .25s linear;
}

.fade-scale.in {
  opacity: 1;
  transform: scale(1);
}