/* 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;
}

#calendar-app {
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-width: 1180px;
    padding-bottom: 60px;
    background: #000;
}

#calendar-app h4{
    letter-spacing: 12px;
    text-transform: uppercase;
    text-align: center;
}

#calendar-app h2 {
    text-align: center;
}

#calendar-app .datePick {
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    width: fit-content;
    position: relative;
}

#calendar-app .datePick span {
    font-size: 20px;
    font-weight: bold;
}

#calendar-app .datePick .dash {
    height: 1px;
    width: 70%;
    margin: 10px 0;
    background: white;
}

#calendar-app .datePick .date-nav{
    position: absolute;
    top: calc(50% - 30px);
    font-size: 40px;
    cursor: pointer;
}

#calendar-app .datePick .date-nav.prev{
    left: -30px;
}

#calendar-app .datePick .date-nav.next{
    right: -30px;
}

#calendar-app .datePick .date-nav.next img {
    transform: rotate(180deg);
}

#calendar-app .interactive-plane{
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
}

#calendar-app .interactive-plane .book-sidebar{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 250px;
    width: 25%;
    background: #1a2125;
    margin: 1px 1.5px;
    position: relative;
    min-height: 960px;
}

#calendar-app .tile-section {
    display: flex;
    flex-direction: row;
    width: 75%;
    position: relative;
}

#calendar-app .time-labels {
    min-width: 120px;
    margin: 0 1px;
}

#calendar-app .tile-col .tile:first-child {
    height: 60px;
}

#calendar-app .interactive-plane-content.tile-col .tile-col {
    width: 100%;
    margin: 0 0.5px;
}

#calendar-app .interactive-plane-content.tile-col{
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
}

#calendar-app .tile {
    margin: 1px;
    width: 100%;
    text-align: center;
    background: #1a2125;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 35px;
    position: relative;
    min-width: 35px;
}

#calendar-app .tile.trans {
    background: transparent;
}

#calendar-app .tile[data-state="avalible"] {
    background: #393c3f;
    cursor: pointer;
}

#calendar-app .tile.active[data-state="avalible"]{
    background: #ff6f00;
}

#calendar-app .tile[data-state="free"]{
    background: #393c3f;
}

#calendar-app .tile.active[data-state="avalible"]::before{
    content: '';
    background-image: url('../images/aim.png');
    background-size: 30px;
    width: 100%;
    height: 100%;
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
    filter: contrast(0) brightness(0);
}

#calendar-app .tile[data-state="booked"]::before {
    content: '';
    background-image: url('../images/orange_bag.png');
    background-size: 16px;
    width: 100%;
    height: 100%;
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
}

#calendar-app .tile[data-state="booked"]{
    background-color: white;
}

#calendar-app .single-line{
    margin-bottom: 4px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    height: 25px;
}

#calendar-app .single-line > div {
    display: flex;
    justify-content: center;
    align-items: center;
}

#calendar-app .single-line img{
    width: 14px;
    margin: 5px;
    filter: contrast(0) brightness(2);
}

#calendar-app .single-line span.date-booking {
    width: 100px;
}

#calendar-app .single-line span {
    padding: 0 5px;
}

#calendar-app .single-line span.price{
}

#calendar-app .single-line span.hours {
    border-left: 2px solid white;
}

#calendar-app .single-line .remove-day-book{
    font-size: 20px;
    cursor: pointer;
}

#calendar-app .select-list-title{
    font-weight: bold;
    text-align: center;
    padding: 10px;
    font-size: 14px;
    text-transform: uppercase;
}

#calendar-app .select-list{
    min-height: 100px;
    margin: 5px;
    border-bottom: 1px solid white;
    padding: 5px;
}

#calendar-app .add-services-title{
    text-align: left;
    padding: 10px 0;
    font-size: 17px;
    text-transform: uppercase;
}

#calendar-app .add-services{
    min-height: 150px;
    margin: 5px;
    border-bottom: 1px solid white;
    padding: 5px;
}

#calendar-app .total {
    margin: 10px;
    font-size: 20px;
    text-align: center;
    display: flex;
    justify-content: space-between;
}

#calendar-app .total .sum-number span{
    font-weight: bold;
}

#calendar-app .total span {
}

#calendar-app .table-tips .tile.tips{
    width: 70px;
}

#calendar-app .table-tips{
    display: none;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin: 10px;
}

#calendar-app .table-tips span {
    margin: 0 10px;
}

#calendar-app .table-tips > div{
    display: flex;
    justify-content: center;
    align-items: center;
}

#calendar-app .table-tips .chosen {
    display: flex;
    justify-content: center;
    align-items: center;
}

#calendar-app .book-form {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 10px;
}

#calendar-app .book-form input {
    width: 100%;
    background: transparent;
    border: unset;
    border-bottom: 1px solid white;
    min-height: 30px;
    color: white;
    font-size: 18px;
    padding: 5px;
    margin-bottom: 13px;
    font-weight: bold;
}

#calendar-app .book-form input:-webkit-autofill,
#calendar-app .book-form input:-webkit-autofill:hover,
#calendar-app .book-form input:-webkit-autofill:focus,
#calendar-app .book-form input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
    -webkit-text-fill-color: #fff !important;
}

#calendar-app .rules {
    font-size: 12px;
    margin: 12px 0;
    color: #e0e1e2;
    display: flex;
    align-items: center;
}

#calendar-app .rules input[type="checkbox"] {
    width: 20px;
    margin-right: 5px;
}

#calendar-app .sendBtn {
    width: 100%;
    height: 40px;
    background: transparent;
    border: 1px solid white;
    margin: 10px 0;
    color: white;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 16px;
    position: relative;
    cursor: pointer;
}

#calendar-app .sendBtn::before{
    transition: .5s;
    content: '';
    position: absolute;
    width: 10px;
    height: 15px;
    top: 5px;
    left: -5px;
    background: #1a2125;
    transform: skew(10deg, 10deg);
}

#calendar-app .sendBtn::after{
    content: '';
    position: absolute;
    width: 10px;
    height: 15px;
    bottom: 5px;
    right: -5px;
    background: #1a2125;
    transform: skew(10deg, 10deg);
}

#calendar-app .loading {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #000000b5;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
}

#calendar-app .loading img {
    width: 100px;
}

#calendar-app .tile-section-scroll {
    z-index: 999999999999;
}

#calendar-app .tile-section::-webkit-scrollbar-track,
#calendar-app .tile-section-scroll::-webkit-scrollbar-track
{
    background-color: #1a2125;
}

#calendar-app .tile-section::-webkit-scrollbar,
#calendar-app .tile-section-scroll::-webkit-scrollbar
{
    width: 12px;
    background-color: #F5F5F5;
}

#calendar-app .tile-section::-webkit-scrollbar-thumb,
#calendar-app .tile-section-scroll::-webkit-scrollbar-thumb
{
    background-color: #393c3f;
    border: 2px solid #192024;
}

#calendar-app .mobile-gorizontal-indicator{
    display: none;
}

#calendar-app .info-float {
    position: absolute;
    bottom: -55px;
    right: 0;
    height: 55px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#calendar-app .table-tips-float{
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: -55px;
    height: 55px;
    left: 0;
}

#calendar-app .table-tips-float .chosen{
    display: flex;
    justify-content: center;
    align-items: center;
}

#calendar-app .table-tips-float .chosen .tile.tips{
    width: 70px
}

#calendar-app .table-tips-float .chosen span{
    margin: 0 10px;
}

/* Preloader */
#preloader {
    position: fixed;
    display: none;
    left: 0;
    top: 0;
    z-index: 999;
    width: 100%;
    height: 100%;
    overflow: visible;
    background: rgba(0, 0, 0, 0.8);
}

.lds-visible {
    visibility: visible;
    opacity: 1;
    transition: opacity 2s linear;
}

.lds-hidden {
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s 2s, opacity 2s linear;
}

.lds-roller {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
    top: 50%;
    left: 50%;
    transform: translatey(-50%);
}

.lds-roller div {
    animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    transform-origin: 40px 40px;
}

.lds-roller div:after {
    content: " ";
    display: block;
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fff;
    margin: -4px 0 0 -4px;
}

.lds-roller div:nth-child(1) {
    animation-delay: -0.036s;
}

.lds-roller div:nth-child(1):after {
    top: 63px;
    left: 63px;
}

.lds-roller div:nth-child(2) {
    animation-delay: -0.072s;
}

.lds-roller div:nth-child(2):after {
    top: 68px;
    left: 56px;
}

.lds-roller div:nth-child(3) {
    animation-delay: -0.108s;
}

.lds-roller div:nth-child(3):after {
    top: 71px;
    left: 48px;
}

.lds-roller div:nth-child(4) {
    animation-delay: -0.144s;
}

.lds-roller div:nth-child(4):after {
    top: 72px;
    left: 40px;
}

.lds-roller div:nth-child(5) {
    animation-delay: -0.18s;
}

.lds-roller div:nth-child(5):after {
    top: 71px;
    left: 32px;
}

.lds-roller div:nth-child(6) {
    animation-delay: -0.216s;
}

.lds-roller div:nth-child(6):after {
    top: 68px;
    left: 24px;
}

.lds-roller div:nth-child(7) {
    animation-delay: -0.252s;
}

.lds-roller div:nth-child(7):after {
    top: 63px;
    left: 17px;
}

.lds-roller div:nth-child(8) {
    animation-delay: -0.288s;
}

.lds-roller div:nth-child(8):after {
    top: 56px;
    left: 12px;
}

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

/*tablet*/
@media screen and (max-width: 768px){
    #calendar-app .interactive-plane .book-sidebar {
        min-height: unset;
    }
    #calendar-app .interactive-plane {
        align-items: unset;
    }
    #calendar-app .info-float, #calendar-app .table-tips-float {
        display: none;
    }
    #calendar-app .tile-section::-webkit-scrollbar {
        display: none;
    }
    #calendar-app .tile-section-scroll{
        width: 12px;
        background: #924d4d;
        position: absolute;
        z-index: 12;
        overflow: scroll;
        max-height: 100%;
        left: 35px;
        overflow-x: hidden;
    }
    #calendar-app {
        min-width: 100%;
    }
    #calendar-app .tile-section {
        width: auto;
        margin: 0 50px;
        max-height: 500px;
        overflow: scroll;
        order: 1;
        position: relative;
    }
    #calendar-app .tile-col .tile:first-child {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        height: 60px;
        z-index: 1;
    }
    #calendar-app .tile.trans {
        position: -webkit-sticky;
        position: sticky;
        top: 60px;
        background: #131619;
        z-index: 1;
    }
    #calendar-app .tile-section-scroll {
        display: none;
    }
    #calendar-app .interactive-plane {
        flex-direction: column;
    }
    #calendar-app .interactive-plane .table-tips {
        display: flex;
        order: 2;
        flex-direction: column;
        align-items: flex-start;
        margin: 20px 50px;
        font-size: 12px;
        width: auto;
    }
    #calendar-app .interactive-plane .table-tips .info {
        margin: 10px 0;
    }
    #calendar-app .interactive-plane .table-tips .info span{
        margin: 0;
    }
    #calendar-app .interactive-plane .book-sidebar {
        width: auto;
        margin: 0 50px;
        order: 3;
    }
    #calendar-app .interactive-plane .book-sidebar {
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;
    }
    #calendar-app .interactive-plane .book-sidebar > div {
        flex: 1;
        margin: 20px 25px;
        width: 100%;
    }
    #calendar-app .add-services {
        border-bottom: unset;
    }
    #calendar-app .datePick {
        margin: 20px;
    }
    #calendar-app .select-list .list {
        font-size: 1.6vw;
    }
}

/*mobile*/
@media screen and (max-width: 500px){
    #calendar-app {
        width: 100%;
    }
    #calendar-app .tile-section {
        width: calc(100% - 30px);
        margin: 15px;
    }
    #calendar-app .interactive-plane .book-sidebar {
        width: calc(100% - 30px);
        margin: 15px;
    }
    #calendar-app .interactive-plane {
        flex-direction: column;
    }
    #calendar-app .table-tips {
        flex-direction: column;
        align-items: baseline;
    }
    #calendar-app .table-tips > div {
        margin: 5px 15px;
    }
    #calendar-app .time-labels {
        min-width: 70px;
    }
    #calendar-app .tile {
        min-width: 28px;
        font-size: 11px;
    }
    #calendar-app .table-tips > div {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: wrap;
    }
    #calendar-app .table-tips .chosen {
        margin: 10px 5px;
    }
    #calendar-app .interactive-plane .table-tips{
        margin: 15px 15px;
    }
    #calendar-app .interactive-plane .table-tips .info{
        margin: 10px 20px;
    }
    #calendar-app .interactive-plane .book-sidebar {
        flex-direction: column;
    }
    #calendar-app .add-services{
        border-bottom: 1px solid white;
    }
    #calendar-app .tile-section-scroll {
        top: 15px;
        left: 10px;
    }
    #calendar-app .tile-col .tile:first-child {
        height: 35px;
    }
    #calendar-app .tile.trans {
        top: 35px;
    }
    #calendar-app .select-list .list{
        font-size: 11px;
    }
    #calendar-app .total span {
        font-size: 16px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #calendar-app .total{
        font-size: 18px;
    }
    #calendar-app .mobile-gorizontal-indicator.active {
        height: 350px;
        display: flex;
        transition: .5s;
        width: 40px;
        background: linear-gradient(90deg, rgba(2,0,36,0) 0%, rgba(1, 0, 15, 0.37) 50%, rgba(0, 0, 0, 0.64) 100%);
    }
    #calendar-app .mobile-gorizontal-indicator{
        display: flex;
        position: absolute;
        top: 15px;
        right: 0;
        height: 100%;
        z-index: 10;
        justify-content: center;
        align-items: center;
        padding: 10px;
        transition: .5s;
        background: transparent;
        width: 0;
    }
    #calendar-app .mobile-gorizontal-indicator img {
        transform: rotate(180deg);
    }
    #calendar-app .interactive-plane .book-sidebar > div {
        margin: 0;
    }
}

@media screen and (max-width: 1090px){
    #calendar-app {
        min-width: unset;
    }
} 