

/* #region Autocomplete Floating Labels */

.text_box_floating_label {
    color: rgba(var(--bs-body-color-rgb),.65);
    transform: scale(.85) translateY(-0.65rem) translateX(0.15rem);
}


.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label {
    transition-property: transform !important;
    transition-duration: .35s !important;
    transform: scale(.85) translateY(-0.67rem) translateX(0.15rem);
}


.float_success.input-group-text,
.float_success > input,
.float_success > select {
    border-color: var(--bs-success-border-subtle) !important;
    background: var(--bs-success-bg-subtle) !important;
    color: var(--bs-success-text-emphasis) !important;
}

.float_success.dollar_sign:before,
.float_success > .form-control-plaintext ~ label::after,
.float_success > .form-control:focus ~ label::after,
.float_success > .form-control:not(:placeholder-shown) ~ label::after,
.float_success > .form-select ~ label::after {
    background: var(--bs-success-bg-subtle) !important;
    color: var(--bs-success-text-emphasis) !important;
}

.float_primary.input-group-text,
.float_primary > input,
.float_primary > select {
    border-color: var(--bs-primary-border-subtle) !important;
    background: var(--bs-primary-bg-subtle) !important;
    color: var(--bs-primary-text-emphasis) !important;
}

.float_primary.dollar_sign:before,
.float_primary > .form-control-plaintext ~ label::after,
.float_primary > .form-control:focus ~ label::after,
.float_primary > .form-control:not(:placeholder-shown) ~ label::after,
.float_primary > .form-select ~ label::after {
    background: var(--bs-primary-bg-subtle) !important;
    color: var(--bs-primary-text-emphasis) !important;
}

.float_warning.input-group-text,
.float_warning > input,
.float_warning > select {
    border-color: var(--bs-warning-border-subtle) !important;
    background: var(--bs-warning-bg-subtle) !important;
    color: var(--bs-warning-text-emphasis) !important;
}

.float_warning.dollar_sign:before,
.float_warning > .form-control-plaintext ~ label::after,
.float_warning > .form-control:focus ~ label::after,
.float_warning > .form-control:not(:placeholder-shown) ~ label::after,
.float_warning > .form-select ~ label::after {
    background: var(--bs-warning-bg-subtle) !important;
    color: var(--bs-warning-text-emphasis) !important;
}

.float_danger.input-group-text,
.float_danger > input,
.float_danger > select {
    border-color: var(--bs-danger-border-subtle) !important;
    background: var(--bs-danger-bg-subtle) !important;
    color: var(--bs-danger-text-emphasis) !important;
}

.float_danger.dollar_sign:before,
.float_danger > .form-control-plaintext ~ label::after,
.float_danger > .form-control:focus ~ label::after,
.float_danger > .form-control:not(:placeholder-shown) ~ label::after,
.float_danger > .form-select ~ label::after {
    background: var(--bs-danger-bg-subtle) !important;
    color: var(--bs-danger-text-emphasis) !important;
}


.float_secondary.input-group-text,
.float_secondary > input,
.float_secondary > select {
    border-color: var(--bs-secondary-border-subtle) !important;
    background: var(--bs-secondary-bg-subtle) !important;
    color: var(--bs-secondary-text-emphasis) !important;
}

.float_secondary.dollar_sign:before,
.float_secondary > .form-control-plaintext ~ label::after,
.float_secondary > .form-control:focus ~ label::after,
.float_secondary > .form-control:not(:placeholder-shown) ~ label::after,
.float_secondary > .form-select ~ label::after {
    background: var(--bs-secondary-bg-subtle) !important;
    color: var(--bs-secondary-text-emphasis) !important;
}


.form-floating > select option {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
}


.wrap_text {
    white-space: pre-wrap;
    text-align: start;
}



.tall_input {
    height: 51px;
    /*font-size: 14px;*/
}
/*

@media (min-width: 576px) {
    .tall_input {
        font-size: unset;
    }

    MAKING THIS UNSET UNSETS THE BOOTSTRAP FONT SIZE...

}*/






.skinny_button {
    width: 100px;
}


.dollar_sign {
    display: inline-block;
    position: relative;
}

    .dollar_sign input {
        padding-left: 21px !important;
    }

    .dollar_sign:before {
        position: absolute;
        content: "$";
        left: 12px;
        top: 22px;
    }




.autocomplete_selected_section {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    height: 51px;
}

.floating_input_group_button {
    width: 51px;
}

.autocomplete_selected_text {
    margin: 0px 0px -20px 0px;
    transition: margin linear 200ms;
}

.autocomplete_selected_text.centered {
    margin: 0px 0px 0px 0px;
}


@media (min-width: 768px) {

    .floating_input_group_button {
        width: 56px;
    }

    .autocomplete_selected_section {
        height: 58px;
    }

    .tall_input {
        height: 58px;
    }


    .dollar_sign:before {
        top: 25.7px;
    }



}

/* #endregion Autocomplete Floating Labels */




.input_group_not_first_element {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}


.input_group_not_last_element {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}


.input_group_last_element {
    border-top-right-radius: 0.375rem !important;
    border-bottom-right-radius: 0.375rem !important;
}


.input_group_first_element {
    border-top-left-radius: 0.375rem !important;
    border-bottom-left-radius: 0.375rem !important;
}





input[type=file]::file-selector-button {
    visibility: hidden;
    width: 0px !important;
    margin: 0px !important;
    padding: 0px !important;
}



.render_off_screen {
    position: absolute;
    left: -3500px;
}





.ui-widget-content {
    background: var(--bs-body-bg) !important;
    color: var(--bs-secondary-text-emphasis) !important;
}

.ui-widget-header {
    background: var(--bs-dark-bg-subtle) !important;
    color: var(--bs-dark-text-emphasis) !important;
}

.ui-state-hover {
    cursor: pointer;
    background: var(--bs-info) !important;
}



.ui-timepicker-viewport a {
    background: var(--bs-secondary-bg-subtle) !important;
    color: var(--bs-secondary-text-emphasis) !important;
}


.ui-timepicker-viewport a.ui-state-hover {
    cursor: pointer;
    background: var(--bs-info-bg-subtle) !important;
    color: var(--bs-info-text-emphasis) !important;
}




input[type="range"].vertical_slider {
    margin-block-end: 20px;
    writing-mode: vertical-lr;
    direction: rtl;
}

/* 
    Original source:
    https://www.w3schools.com/howto/howto_css_custom_checkbox.asp
*/


/* Customize the radio_button_label */
.radio_button_label {
    display: block;
    position: relative;
    padding: 16px 16px 24px 62px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}


/* Hide the browser's default radio button */
input.radio_button {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* Create a custom radio button */
.checkmark {
    position: absolute;
    top: 38%;
    left: 19px;
    height: 25px;
    width: 25px;
    background-color: #eee;
    border-radius: 50%;
}

/* On mouse-over, add a grey background color */
.radio_button_label:hover input ~ .checkmark {
    background-color: #ccc;
}

/* When the radio button is checked, add a blue background */
.radio_button_label input:checked ~ .checkmark {
    background-color: #2196F3;
}


/* Create the indicator (the dot/circle - hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the indicator (dot/circle) when checked */
.radio_button_label input:checked ~ .checkmark:after {
    display: block;
}

/* Style the indicator (dot/circle) */
.radio_button_label .checkmark:after {
    top: 9px;
    left: 9px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: white;
}





.join_button {
    background-color: rgb(25, 135, 84);
    color: rgb(255, 255, 255);
    border-color: rgb(9, 49, 30);
    box-shadow: rgb(5, 27, 17) 0px 5px 0px;
    padding: 4px 14px;
    text-decoration: none;
}


.join_button_disabled {
    padding: 4px 14px;
    text-decoration: none;
    font-size: 48px;
    cursor: not-allowed;
    border-radius: 12px;
    border-style: dashed;
}



#payment_pane_container {
    width: 100%;
    white-space: nowrap;
    position: relative;
    overflow: hidden;
}

#payment_selection_pane {
    display: inline-block;
    width: 100%;
}


#payment_confirmation_pane {
    position:absolute;
    display: inline-block;
    width: 100%;
}

#payment_pane_container {
    transition: height 0.5s ease-in-out;
}

#payment_pane_container div {
    -webkit-transition: -webkit-transform 0.5s ease-in-out;
    -moz-transition: -moz-transform 0.5s ease-in-out;
    -o-transition: -o-transform 0.5s ease-in-out;
    transition: transform 0.5s ease-in-out;
}

#payment_pane_container.show_confirmation div {
    transform: translateX(-100%);
}


