@font-face {
    font-family: ProximaNova;
    src: url("../fonts/proximaNova/ProximaNova-Regular.ttf");
}
@font-face {
    font-family: ProximaNova;
    src: url("../fonts/proximaNova/ProximaNova-Semibold.ttf");
    font-weight: 300;
}
@font-face {
    font-family: ProximaNova;
    src: url("../fonts/proximaNova/ProximaNova-Bold.ttf");
    font-weight: bold;
}
@font-face {
    font-family: Roboto;
    src: url("../fonts/roboto/Roboto-Medium.ttf");
}
html{
    width: 100%;
}

body{
    font-family: "ProximaNova", sans-serif;
    background-color: #fbfcfd;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

/* width */
::-webkit-scrollbar {
    width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
    background: #f1f1f1; 
    border-radius: 50px;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: #888; 
    border-radius: 50px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: #555; 
}

.navbar{
    background-color: #fff;
}
.navbar-container{
}

.logo-text{
    font-size: 1.5rem!important;
    line-height:3rem;
}

.home-left{
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}

@media only screen and (max-width: 767px){
    .navbar-container{
        /* justify-content: space-between; */
    }

    .home-left{
        border-right: none;
    }
}

/* WEEKEND */
/* [data-calendar-theme=light] .vanilla-calendar-day__btn_weekend, [data-calendar-theme=light] .vanilla-calendar-day__btn_holiday{
    color: #000;
} */

/* TODAY */
[data-calendar-theme=light] .vanilla-calendar-day__btn_today {
    --tw-bg-opacity: 1;
    background-color: rgb(241 245 249 / var(--tw-bg-opacity));
    color: #06b6d4 !important;
}
/* SELECTED */
[data-calendar-theme=light] .vanilla-calendar-day__btn_selected, [data-calendar-theme=light] .vanilla-calendar-day__btn_selected:hover {
    --tw-bg-opacity: 1;
    /* background-color: rgb(6 182 212 / var(--tw-bg-opacity));
    color: #fff; */
    background-color: var(--primary-color, rgb(0, 105, 255)) !important;
    color: var(--primary-text-color, #ffffff) !important;
    font-weight: 700 !important;
}

/* disabled */
[data-calendar-theme=light] .vanilla-calendar-day__btn_disabled {
    color: #cbd5e1 !important;
    background-color: var(--primary-color-level4, rgba(0, 105, 255, 0)) !important;
}

[data-calendar-theme=light] .vanilla-calendar-day__btn_prev, [data-calendar-theme=light] .vanilla-calendar-day__btn_next {
    color: #cbd5e1 !important;
    background-color: var(--primary-color-level4, rgba(0, 105, 255, 0)) !important;
}

[data-calendar-theme=light] .vanilla-calendar-day__btn{
    width: 44px;
    height: 44px;
    padding: 1px 0 0;
    border-radius: 50%;
    font-size: 16px;

    background-color: var(--primary-color-level4, rgba(0, 105, 255, 0.065));
    color: #0060e6;
    font-weight: 700;
}

[data-calendar-theme=light] .vanilla-calendar-day__btn:hover{
    background-color: var(--primary-color-level4, rgba(0, 105, 255, 0.165));
}

.vanilla-calendar-arrow {
    /* background-color: rgb(241 245 249 / var(--tw-bg-opacity)) !important;
    padding: 1px;
    border-radius: 50%; */
}

.vanilla-calendar-day{
    margin: 2px 0;
}

@media only screen and (max-width: 767px){
    [data-calendar-theme=light] .vanilla-calendar-day__btn{
        width: auto;
        height: auto;
    }
}

.error:before {
    background: transparent;
    top: 50%;
    left: 50%;

    transform: translate(-49.7%, -50%);
}
.error:after {
    background: transparent;
    top: 50%;
    left: 50%;

    transform: translate(-50.8%, -50%);
}

@media only screen and (max-width: 767px){
    .error-resp{
        font-size: 5rem;
    }
}


.top-container{
    margin-top: 6rem !important;
}

.main-card{
    min-height: 550px;
}

.time-button-container{
    display: block;
    overflow-x: visible;
    position: relative;
}

.time-button-container.selected{
    display: flex;
    width: 100%;

    transition: all 300ms ease;
}
.time-button-container.in{
    width: 200% !important;

    transition: all 300ms ease;
}

/* Time button */
.time-button{
    width: 100%;
    height: 52px;
    border: 1px solid rgba(0, 105, 255, 0.5);
    color: rgb(0, 105, 255);
    background-color: #fff;
    border-radius: 4px;
    padding: 13px 10px;
    font-weight: 700;
    display: inline-block;
    position: relative;

    transition: all 400ms ease;
}
.time-button:hover{
    border: 2px solid var(--primary-color, rgb(0, 105, 255));
}
.time-button:disabled{
    background-color: #e9ecef;
    border:  #e9ecef !important;
    color: #fff;
}
.time-button .text-container{
    position: relative;
    margin-right: auto;
    margin-left: auto;
}
.time-button .text-container .text-wrapper{
    line-height: 10px;
}

.time-button.selected-button{
    width: 50%;
    border: transparent;
    color: #fff;
    background-color: rgb(0 0 0/60%);
    cursor: default;

    transition: all 400ms ease;
}

.time-button.selected-multiple-button{
    border: transparent !important;
    color: #fff !important;
    background-color: rgba(0, 105, 255, 1) !important;
    cursor: pointer;

    transition: all 400ms ease;
}

.time-button.existing{
    border: 1px solid rgba(0, 105, 255, 0.5);
    color: rgb(0, 105, 255);
    background-color: antiquewhite;
    cursor: pointer;
}

/* Next button */
.next-button{
    display: inline-block;
    width: 50%;
    height: 52px;
    border: 1px solid rgba(0, 105, 255, 0.9);
    color: #fff;
    background-color: rgba(0, 105, 255, 0.9);
    border-radius: 4px;
    padding: 13px 10px;
    font-weight: 700;
    position: relative;

    transition: all 400ms ease;
}
.next-button:hover{
    border: 1px solid rgba(0, 105, 255, 1);
    background-color: rgba(0, 105, 255, 1);
}
.next-button .text-container{
    position: relative;
    margin-right: auto;
    margin-left: auto;
}
.next-button .text-container .text-wrapper{
    line-height: 10px;
}

.next-button.in{
    position: absolute !important;
    /*transform: translateX(40px) !important;*/

    transition: all 400ms ease;
}


/* HTML: <div class="ribbon">Your text content</div> */
.ribbon {
    font-size: 28px;
}
.ribbon {
    --f: .3em; /* control the folded part */
    
    position: absolute;
    top: 0;
    right: 0;
    line-height: 1.5;
    padding-inline: 1lh;
    padding-bottom: var(--f);
    border-image: conic-gradient(#0008 0 0) 51%/var(--f);
    clip-path: polygon(
      100% calc(100% - var(--f)),100% 100%,calc(100% - var(--f)) calc(100% - var(--f)),var(--f) calc(100% - var(--f)), 0 100%,0 calc(100% - var(--f)),999px calc(100% - var(--f) - 999px),calc(100% - 999px) calc(100% - var(--f) - 999px));
    transform: translate(calc((1 - cos(45deg))*100%), -100%) rotate(45deg);
    transform-origin: 0% 100%;
    background-color: #3a7636; 
}
.ribbon span{
    font-size: 80%;
    font-weight: 600;
    color: #fff;
}

.fw-300{
    font-weight: 300;
}

.time-container{
    min-height: 100%;
    max-height: 500px;
    padding: 1rem 1rem 1rem 3px;
    overflow-y: scroll;
    overflow-x: hidden;
}

@media only screen and (max-width: 767px){
    .time-container{
        max-height: 100%;
        /* padding: 1px 3px; */
        overflow-y: hidden;
    }
}

.btn-google-light {
    color: rgba(0, 0, 0, 0.54);
    font-size: 14px;
    background-color: #FFFFFF;
    border-color: #FFFFFF;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 2px 5px rgba(0, 0, 0, 0.075) !important;
    font-family: "Roboto";
}
.btn-google-light:hover {
    color: rgba(0, 0, 0, 0.54);
    background-color: #FFFFFF;
    border-color: #FFFFFF;
    box-shadow: inset 0 5px 0 rgba(255, 255, 255, 0.15), 0 2px 10px rgba(0, 0, 0, 0.075) !important;
}
.btn-check:focus + .btn-google-light, .btn-google-light:focus {
    color: rgba(0, 0, 0, 0.54);
    background-color: #FFFFFF;
    border-color: #FFFFFF;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(208, 211, 213, 0.5);
}
.btn-check:checked + .btn-google-light, .btn-check:active + .btn-google-light, .btn-google-light:active, .btn-google-light.active, .show > .btn-google-light.dropdown-toggle {
    color: rgba(0, 0, 0, 0.54);
    background-color: #EEEEEE;
    border-color: #EEEEEE;
}
.btn-check:checked + .btn-google-light:focus, .btn-check:active + .btn-google-light:focus, .btn-google-light:active:focus, .btn-google-light.active:focus, .show > .btn-google-light.dropdown-toggle:focus {
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(208, 211, 213, 0.5);
}
.btn-google-light:disabled, .btn-google-light.disabled {
    color: rgba(0, 0, 0, 0.54);
    background-color: #F5F8FA;
    border-color: #F5F8FA;
}
.btn-google-light img {
    height: 18px;
    margin-right: 24px;
}

@media only screen and (max-width: 767px){
    .navbar-responsive{
        background-color: #fff;
        border-radius: 15px;
        padding-left: 15px;
        padding-right: 15px;
        box-shadow: -5px 10px 20px #6c757d50;
    }
}

.list-table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
}
.list-table tr th,
.list-table tr td {
    border-right: 1px solid #dee2e6 !important;
    border-bottom: 1px solid #dee2e6 !important;
}
.list-table tr th:first-child,
.list-table tr td:first-child {
    border-left: 1px solid #dee2e6 !important;
}
.list-table tr th {
    border-top: 1px solid #dee2e6 !important;
}
  
/* top-left border-radius */
.list-table tr:first-child th:first-child {
    border-top-left-radius: 0.25rem !important;
}
  
/* top-right border-radius */
.list-table tr:first-child th:last-child {
    border-top-right-radius: 0.25rem !important;
}
  
/* bottom-left border-radius */
.list-table tr:last-child td:first-child {
    border-bottom-left-radius: 0.25rem !important;
}
  
/* bottom-right border-radius */
.list-table tr:last-child td:last-child {
    border-bottom-right-radius: 0.25rem !important;
}

.list-table.dataTable th{
    font-size: 0.8rem;
    color: #adb5bd !important;
}

table tr td.separator{
    margin-left: 3px;
    margin-right: 3px;
    width: 10%;
}

table tr td.row-separator{
    margin: 0;
    padding: 0;

    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, .1);
}

.payment-table tr td{
    padding: 0.5rem;
}

.payment-account-wrapper{
    padding: 1rem;
    font-weight: bolder !important;
}

.payment-schedule-container{
    min-height: 300px;
    max-height: 500px;
    overflow-y: scroll;
    overflow-x: hidden;
    padding-right: 1rem;
}

.payment-schedule-container .item{
    box-shadow: -2px 2px 2px #6c757d50;
}

.box-shadow{
    box-shadow: -5px 5px 5px #6c757d50;
}

.image-input-wrapper {
    width: 120px;
    height: 120px;
    border-radius: 0.475rem;
    background-repeat: no-repeat;
    background-size: cover;
}

.required:after {
    content: "*";
    position: relative;
    font-size: inherit;
    color: #F1416C;
    padding-left: 0.25rem;
    font-weight: bold;
}

.card-footer.white-footer{
    padding-bottom: 3rem;
    background-color: #fff;
    border-top: none;
    border-bottom-right-radius: 1rem;
    border-bottom-left-radius: 1rem;
}

.fv-plugins-message-container.valid-feedback, .fv-plugins-message-container.invalid-feedback{
    display: block;
    font-weight: 400;
}

.overlay{
    position:absolute;
    left:0;
    right:0;
    top:0;
    bottom:0;
    z-index:10000;
    background-color: rgba(0,0,0,0.5);
    border-radius: .35rem;
}