/*@property --promo-border-angle {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}*/

/* keyframes */
@keyframes border-rotate {
    to {
        --promo-border-angle: 360deg;
    } 
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }
    14% {
        transform: scale(1.25);
    }
    28% {
        transform: scale(1);
    }
    42% {
        transform: scale(1.25);
    }
    70% {
        transform: scale(1);
    }
}

@keyframes slideIn {
    0% {
        transform: translateY(1rem);
        opacity: 0;
    }

    100% {
        transform: translateY(0rem);
        opacity: 1;
    }

    0% {
        transform: translateY(1rem);
        opacity: 0;
    }
}

@-webkit-keyframes slideIn {
    0% {
        -webkit-transform: transform;
        -webkit-opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0);
        -webkit-opacity: 1;
    }

    0% {
        -webkit-transform: translateY(1rem);
        -webkit-opacity: 0;
    }
}

@keyframes slideLeft {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}

@-webkit-keyframes slideLeft {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}
  

/* dropdown */
.dropdown-toggle:after {
    vertical-align: middle !important;
}

/*@media (min-width: 768px) {*/
    .dropdown-menu {
        animation-duration: 0.3s;
        -webkit-animation-duration: 0.3s;
        animation-fill-mode: both;
        -webkit-animation-fill-mode: both;
    }
/*}*/

.dropdown-menu {
    -webkit-animation-name: slideIn;
    animation-name: slideIn;
}

.dropdown i.fas.fa-caret-down {
    transition: transform .2s;
}

/* Carousel */
.carousel .active.carousel-item-start, 
.carousel .active.carousel-item-end {
    transition: none;
}

.carousel .carousel-custom-indicators button {
    width: 10px; 
    height: 10px;
    display: inline-block;
    padding: 0;
    border: 1px solid var(--bs-primary);
    background-color: transparent;
    opacity: .75;
    transition: .2s;
    border-radius: 50%;
}

.carousel .carousel-custom-indicators button:hover {
    background-color: var(--bs-primary);
}

.carousel .carousel-custom-indicators button.active {
    background-color: var(--bs-primary);
    opacity: 1;
}

/* HTMX */
.htmx-indicator {
    display: none;
}

.htmx-request .htmx-indicator {
    display: inline-block;
}

.htmx-request.htmx-indicator {
    display: inline-block;
}

.htmx-request > i {
    display: none;
}

/* noUiSlider */
.noUi-base {
    pointer-events: none;
}
.noUi-base .noUi-handle {
    pointer-events: auto;
    cursor: grab;
}

.noUi-horizontal {
    height: 8px;
    border-color: var(--bs-border-color);
}

.noUi-horizontal .noUi-handle {
    width: 22px;
    height: 22px;
    right: -11px;
    top: -8px;
}

.noUi-handle {
    border-radius: 50%;
}

.noUi-handle:after, .noUi-handle:before {
    content: unset;
}

.noUi-connect {
    background: var(--bs-primary);
}

/* TomSelect */
select.tomSelect {
    display: none;
}

/* Tooltips */
*[data-tooltip] {
    position: relative;
}

*[data-tooltip]::before {
    content: " ";
    position: absolute;
    top: -6px;
    left: 50%;
    margin-left: -4px;
    opacity: 0;
    border-width: 4px;
    border-style: solid;
    border-color: rgba(0, 0, 0, 0.8) transparent transparent transparent;
    pointer-events: none;
    transition: .2s;
    z-index: 8;
}

*[data-tooltip]::after {
    content: attr(data-tooltip);
    display: block;
    position: absolute;
    top: -6px;
    left: 50%;
    padding: 4px 6px;
    text-align: center;
    line-height: 1;
    color: var(--bs-white);
    background-color: rgba(0, 0, 0, 0.8);
    opacity: 0;
    border-radius: var(--bs-border-radius);
    pointer-events: none;
    transition: .2s;
    transform: translate(-50%, -100%);
    z-index: 9;
}

*[data-tooltip]:hover::before,
*[data-tooltip]:hover::after {
    opacity: 1;
}