﻿/*#region Switch Toggle*/

/* The switch - the box around the slider */
.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
    min-width: 60px;
}

    /* Hide default HTML checkbox */
    .switch input {
        display: none;
    }

/* The slider */
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #e3e3e3;
    -webkit-transition: .4s;
    transition: .4s;
}

    .slider:before {
        position: absolute;
        content: "";
        height: 26px;
        width: 26px;
        left: 4px;
        bottom: 4px;
        background-color: #ffffff;
        -webkit-transition: .4s;
        transition: .4s;
        box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.5);
    }

input:checked + .slider {
    background-color: #005792 !important;
}

input:focus + .slider {
    box-shadow: 0 0 1px #00add7;
}

input:checked + .slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
}

/* Rounded sliders */
.slider.round {
    border-radius: 34px;
}

    .slider.round:before {
        border-radius: 50%;
    }

/*#endregion*/

/*#region Input Fields*/
.input-lg {
    height: 46px !important;
    padding: 10px 16px !important;
    font-size: 18px !important;
    line-height: 1.3333333 !important;
    border-radius: 6px !important;
}

input, select, textarea {
    max-width: none;
}

    input[type=number]::-webkit-inner-spin-button,
    input[type=number]::-webkit-outer-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

textarea {
    resize: vertical;
}

.form-control {
    border: 1px solid #e3e3e3;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}

    .form-control:focus {
        border: 1px solid #005792 !important;
    }

    .form-control.error {
        border-color: #e34e35;
    }

.fr-box {
    height: auto !important;
}

.input-group-text {
    border: 1px solid #e3e3e3;
    background-color: #ffffff;
}

/*#endregion*/
/*#region Field Markers*/
.required-field:after {
    content: "*";
    color: #e34e35;
    display: inline;
    font-size: 1.2em;
    margin-left: 5px;
    top: 10px;
    line-height: 1em;
    vertical-align: middle;
}

.optional-field:after {
    content: "- optional";
    color: #838383;
    display: inline;
    font-size: 1em;
    margin-left: 5px;
}

.validation-summary-errors {
    display: inline-block;
    width: 100%;
    margin-bottom: 15px;
}

    .validation-summary-errors > ul {
        margin-bottom: 0px;
        padding-left: 0px;
        list-style: none;
        padding: 0px;
    }

/*#endregion*/

/*#region Custom File Picker*/

.custom-file-label::after {
    background-color: #e3e3e3;
    color: #005792;
    margin-right: -1px;
    font-weight: 700;
    height: auto;
    display: flex;
    align-items: center;
}

.custom-file-label {
    white-space: nowrap;
    overflow: hidden;
    border: 1px solid #e3e3e3;
    padding: 10px 30px 10px 16px !important;
    font-size: 18px !important;
    line-height: 1.3333333 !important;
    height: auto;
}

.custom-file-input:focus ~ .custom-file-label {
    border-color: #005792 !important;
    box-shadow: none !important;
}

/*#endregion*/

/*#region Radio Button*/


/* Customize the label (the container) */
.form-radio {
    display: flex;
    align-items: center;
    position: relative;
    padding-left: 0px;
    margin-bottom: 15px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

    .form-radio:last-child {
        margin-bottom: 0px !important;
    }

    .form-radio:focus .radio-display {
        border: 1px solid #005792 !important;
    }

    /* Hide the browser's default radio button */
    .form-radio input {
        position: absolute;
        opacity: 0;
        cursor: pointer;
        height: 100% !important;
        width: 100% !important;
        margin-left: 0px;
        margin-top: 0px;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        cursor: pointer;
    }

        .form-radio input ~ .radio-display {
            cursor: pointer;
        }

        /*Disabled Radio Button*/
        .form-radio input:disabled {
            cursor: default;
            opacity: 0 !important;
        }

            .form-radio input:disabled ~ .radio-display {
                cursor: default;
                opacity: 0.5;
            }

/* Create a custom radio button */
.radio-display {
    position: relative;
    height: 26px;
    width: 26px;
    min-width: 26px;
    min-height: 26px;
    background-color: #ffffff;
    border: 1px solid #e3e3e3;
    border-radius: 50%;
    margin-right: 10px;
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* On mouse-over, add a grey background color */
.form-radio:hover input ~ .radio-display {
    background-color: #ccc;
}

/* When the radio button is checked, add a blue background */
.form-radio input:checked ~ .radio-display {
    background-color: #005792;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.radio-display:after {
    content: "";
    display: none;
}

/* Show the indicator (dot/circle) when checked */
.form-radio input:checked ~ .radio-display:after {
    display: block;
}

/* Style the indicator (dot/circle) */
.form-radio .radio-display:after {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.5);
}

/*#endregion Radio Button*/

/*#region Checkbox*/

/* Customize the label (the container) */
.form-checkbox {
    display: flex;
    align-items: center;
    position: relative;
    padding-left: 0px;
    margin-bottom: 15px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

    .form-checkbox:focus .checkbox-display {
        border: 1px solid #005792 !important;
    }

    /* Hide the browser's default checkbox button */
    .form-checkbox input {
        cursor: pointer;
        position: absolute;
        opacity: 0;
        cursor: pointer;
        height: 100% !important;
        width: 100% !important;
        margin-left: 0px;
        margin-top: 0px;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
    }

        .form-checkbox input ~ .checkbox-display {
            cursor: pointer;
        }

        /*Disabled Check Box*/
        .form-checkbox input:disabled {
            cursor: default;
            opacity: 0 !important;
        }

            .form-checkbox input:disabled ~ .checkbox-display {
                opacity: 0.5;
                cursor: not-allowed;
                border: 1px solid #e3e3e3 !important;
            }

/* Create a custom checkbox button */
input[type="checkbox"] {
    z-index: 1;
}

.checkbox-display {
    
    position: relative;
    height: 26px;
    width: 26px;
    min-width: 26px;
    min-height: 26px;
    background-color: #ffffff;
    border: 1px solid #e3e3e3;
    border-radius: 5px;
    margin-right: 10px;
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* On mouse-over, add a grey background color */
.form-checkbox:hover input ~ .checkbox-display {
    background-color: #ccc;
}

/* When the checkbox button is checked, add a blue background */
.form-checkbox input:checked ~ .checkbox-display {
    background-color: #005792;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.checkbox-display:after {
    content: "";
    display: none;
}

/* Show the indicator (dot/circle) when checked */
.form-checkbox input:checked ~ .checkbox-display:after {
    display: block;
}

/* Style the indicator (dot/circle) */
.form-checkbox .checkbox-display:after {
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23ffffff' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'%3E%3C/path%3E%3C/svg%3E");
}

.form-checkbox label {
    margin-bottom: 0px;
}

/*#endregion Checkbox*/
