
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: local('Montserrat-Regular'), url('../web.assets/fonts/Montserrat-Regular.woff2') format('woff2'), url('../web.assets/fonts/Montserrat-Regular.woff') format('woff');;
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  src: local('Montserrat-Medium'), url('../web.assets/fonts/Montserrat-Medium.woff2') format('woff2'), url('../web.assets/fonts/Montserrat-Medium.woff') format('woff');;

}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: local('Montserrat-SemiBold'), url('../web.assets/fonts/Montserrat-SemiBold.woff2') format('woff2'), url('../web.assets/fonts/Montserrat-SemiBold.woff') format('woff');

}
@font-face {
  font-family: 'Montserrat';
  font-style: bold;
  font-weight: 700;
  src: local('Montserrat-Bold'), url('../web.assets/fonts/Montserrat-Bold.woff2') format('woff2'), url('../web.assets/fonts/Montserrat-Bold.woff') format('woff');

}


:root {
  --refcolor: #00a651;
  --bghover: #e9e9e9;
}

html {
  box-sizing: border-box;
  scroll-behavior:smooth;
}
*, *:before, *:after {
  box-sizing: inherit;
}
body {

    margin: 40px;
    font-size: 15px;
    font-family: 'Montserrat', Arial;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;    
}

.timeout {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: #ffffff;
    opacity: 0.3;
    z-index: 10;
    left: 0;
}


#cookielayer{
    position: absolute;
    width: 310px;
    font-size: 13px;
    text-align: left;
    left: calc(50% + 70px);
    border: solid 1px #262626;
    border-radius: 15px;
    padding: 15px;
    background: #303030;
    color: #d5d5d5;
    z-index: 100;
    bottom: 35px;
    display: none;
    -webkit-animation: fadein 1s;
    /* Safari, Chrome and Opera > 12.1 */
    -moz-animation: fadein 1s;
    /* Firefox < 16 */
    -ms-animation: fadein 1s;
    /* Internet Explorer */
    -o-animation: fadein 1s;
    /* Opera < 12.1 */
    animation: fadein 1s;   

}

#cookielayer #arrow {
    width: 0;
    height: 0;
    border: 15px solid transparent;
    border-top: 15px solid #303030;
    position: absolute;
    bottom: -25px;  
}

#showcookienotice{
    cursor: pointer;
    margin-left: 10px;
}

.cookienoticeactive{
    display: block !important;
}



#confirmdiv{
    text-align: left;
    padding: 10px 30px;
    width: 60%;
    margin: auto;
    display: none;
    -webkit-animation: fadein 1s;
    /* Safari, Chrome and Opera > 12.1 */
    -moz-animation: fadein 1s;
    /* Firefox < 16 */
    -ms-animation: fadein 1s;
    /* Internet Explorer */
    -o-animation: fadein 1s;
    /* Opera < 12.1 */
    animation: fadein 1s;      
}



label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    font-size: 13px;
}

.timeoutmess {
    position: absolute;
    z-index: 11;
    background: white;
    padding: 20px;
    top: 40%;
    left: calc(50% - 150px);
    width: 300px;
    text-align: center;
    box-shadow: 0 1px 8px 0 rgb(0 0 0 / 14%);
    border: solid 1px gray;
    border-radius: 4px;
    font-family: 'Montserrat', Arial;
    font-weight: 500;
}

div.calendarcontainer {
    font-family: Montserrat, Arial;
    background: #fff;
    width: 100%;
    font-size: 12px;
    color: #181818;
    position: relative;
    margin-top: 15px;
    min-height: 335px;

}

#appointment_right_selected_date {

    min-height: 20px;
    margin-top: 20px;
}



#username {
    font-weight: 500;
    color: gray;
    font-size: 17px;
    max-width: 420px;
    font-weight: 600;
}

.appointment_hrslot{
    padding: 14px;
    border: solid 2px var(--bghover);
    border-radius: 3px;
    margin-bottom: 8px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    -webkit-animation: fadein 1s;
    /* Safari, Chrome and Opera > 12.1 */
    -moz-animation: fadein 1s;
    /* Firefox < 16 */
    -ms-animation: fadein 1s;
    /* Internet Explorer */
    -o-animation: fadein 1s;
    /* Opera < 12.1 */
    animation: fadein 1s;    
}

#pic {
    min-height: 80px;
    font-size: 30px;
    max-width: 400px;
    background-color: #f3f3f3 !important;
    color: gray;
    width: fit-content;
    min-width: 80px;
    border-radius: 75px;
    margin: auto;
    margin-bottom: 18px;
    background-size: contain !important;
    font-weight: 300;
    line-height: 80px;
    border:solid 1px lightgray;
}


.slot_confirmed{
    border-color: var(--refcolor);
    background: #fbfbfb;
}

.appointment_hrslot:hover{
    border-color: var(--refcolor);
    background: #fbfbfb;
}
.appointment_hrslot:active{
    background: #fbfbfb;
}

.calendar-row {
    height: 50px;
}

.topcontainer {
    min-height: 0px !important;
    margin-bottom: 15px !important;
    padding: 20px;
    line-height: 1.5;
    max-width: 600px !important;

}



#cancel_link{

    width: fit-content;
    text-decoration: none;
    color: white;
    background: red;
    padding: 8px 20px;
    font-weight: 500;
    border-radius: 30px;
    margin: 9px auto;
    display: block;    

}

#reschedulelink {
    width: fit-content;
    text-decoration: none;
    color: white;
    background: var(--refcolor);
    padding: 8px 20px;
    font-weight: 500;
    border-radius: 30px;
    margin: 9px auto;
    display: block;    
}

#reschedulelink:active,#reschedulelink:hover{
    opacity: 0.9;
}

div.appointment_container {

    border: 1px solid rgb(220 220 220);
    border-radius: 5px;
    box-shadow: 0 1px 8px 0 rgb(0 0 0/14%);
    margin: auto;
    max-width: 900px;
    font-family: Montserrat, Arial;
    overflow: hidden;
    min-height: 620px;
    height: fit-content;
    text-align: center;
    background: #ffffff;
    -webkit-animation: fadein 2s;
    /* Safari, Chrome and Opera > 12.1 */
    -moz-animation: fadein 2s;
    /* Firefox < 16 */
    -ms-animation: fadein 2s;
    /* Internet Explorer */
    -o-animation: fadein 2s;
    /* Opera < 12.1 */
    animation: fadein 2s;

}

#footer {

    text-align: center;
    font-family: Montserrat, Arial;
    margin: 25px;
    font-size: 13px;
    color: gray;
    font-weight: 500;
    position: relative;

}

#footer img {

    width: 20px;
    position: relative;
    top: 5px;
    margin-right: 4px;

}

#footer a {

    color: gray;
    text-decoration: none;
    

}



div#appointment_left {
    display: inline-block;
    float: left;
    border-right: solid 1px rgb(0 0 0 / 7%);
    padding: 30px 20px 24px 20px;
    min-height: 548px;
    max-width: 450px;
    width: calc(50% - 20px);
    -webkit-animation: fadein 1s;
    /* Safari, Chrome and Opera > 12.1 */
    -moz-animation: fadein 1s;
    /* Firefox < 16 */
    -ms-animation: fadein 1s;
    /* Internet Explorer */
    -o-animation: fadein 1s;
    /* Opera < 12.1 */
    animation: fadein 1s;       

}

div#appointment_left_cal {
    min-height: 281px;
    margin-top: 3px;
    position: relative;
    -webkit-animation: fadein 2s;
    /* Safari, Chrome and Opera > 12.1 */
    -moz-animation: fadein 2s;
    /* Firefox < 16 */
    -ms-animation: fadein 2s;
    /* Internet Explorer */
    -o-animation: fadein 2s;
    /* Opera < 12.1 */
    animation: fadein 2s;       
}

div#appointment_right {
    display: inline-block;
    padding: 20px;
    text-align: left;
    width: 50%;
    -webkit-animation: fadein 1s;
    /* Safari, Chrome and Opera > 12.1 */
    -moz-animation: fadein 1s;
    /* Firefox < 16 */
    -ms-animation: fadein 1s;
    /* Internet Explorer */
    -o-animation: fadein 1s;
    /* Opera < 12.1 */
    animation: fadein 1s;       
}

table.calendar {
    width: 98%;
    border-spacing: 5px !important;
    border-collapse: inherit;
}


#notimeav{

    padding: 12px 18px;
    width: fit-content;
    top: 150px;
    position: relative;
    border-radius: 4px;
    font-size: 14px;
    box-shadow: 0 1px 8px 0 rgb(0 0 0/14%);
    font-weight: 500;        
}

#notimeav img{
    width: 22px;
    position: relative;
    top: 6px;
    margin-right: 10px;
}

.loader {

    position: absolute;
    left: calc(50% - 50px);
    z-index: 10;
    top: 115px;
}

#appointment_right_body img.loader {
    margin-top:85px;
}

#errdiv{
    margin-bottom: 20px;
    font-size: 13px;
}

#selmonth {
    margin: 20px;
    pointer-events: none;
    display: contents;
}

#selmonthbefore {
    margin-right: 15px;
    background: white;
    height: 30px;
    width: 30px;
    border-radius: 30px;
    line-height: 30px;
    font-size: 20px;
    position: relative;
    top: 3px;
    display: inline-block;
        color: #7b7b7b;
        pointer-events: all;
        cursor: pointer;

}

#selmonthafter {
    margin-left: 15px;
    background: white;
    height: 30px;
    width:30px;
    border-radius: 30px;
    line-height: 30px;
    font-size: 20px;
    position: relative;
    top: 3px;
    display: inline-block;   
        color: #7b7b7b; 
        cursor: pointer;
}


#selmonthbefore:hover,#selmonthafter:hover{
    background: var(--bghover);
}

#appointment_title {

    margin: 20px;
    font-weight: 700;
    font-size: 1.3rem;
    max-width: 410px;

}



td.calendar-day {

    background: white;
    vertical-align: top;
    border-spacing: 5px;
    text-align: center;

}

td.calendar-day-np {

    font-size: 11px;
    background: white;
    vertical-align: top;
    border-spacing: 5px;
    padding: 10px;
    text-align: center;


}

td.calendar-day-head {
    text-align: center;
    padding: 5px;
    border: none;
    text-transform: uppercase;
    font-size: 13px;
}




div.day-number {
    padding: 0px;
    font-size: 15px;
    margin: 0px;
    display: inline-block;
    box-sizing: unset;
}

.available_day {
    cursor: pointer;
    padding: 7px;
    line-height: 30px;
    width: 30px;
    height: 30px;
    border-radius: 30px;
    font-weight: 500;
}

.available_day:hover:not(.day-selected) {
    background: var(--bghover);
}

.unavailable_day {
    color: #acacac;
    padding: 7px;
    line-height: 30px;
    width: 30px;
    height: 30px;
}

.day-selected {
    background: var(--refcolor);
    color: #ffffff;
    border-radius: 30px;
    font-weight: 600;
}




.calappointment {
    clear: both;
    display: block;
    float: left;
    color: #181818;
    font-size: 12px;
    margin: 2 0 2 0;
    width: 100%;
    padding: 1 2 1 7;
}



.tzbtn {
    font-size: 15px;
    border: none;
    cursor: pointer;
    background: #ffffff;
    font-family: 'Montserrat';
    padding: 0px;
    left: -6px;
    position: relative;
    top: -2px;
    z-index: 1;
    min-height: 37px;
    color: #181818;
}

.tzbtn:hover {
    opacity: 0.7;
}

.tzbtn::before {
    content: url(globe.png);
    transform: scale(0.6);
    display: inline-block;
    position: relative;
    top: 9px;
    opacity: 0.7;
}



#appointment_right_body {
    text-align: center;
    position: relative;
    margin-top: 40px;
    height: 410px;
    overflow: auto;
    padding-right: 20px;
    left: 0px;
    width: 105%;

}

#confirm {
    text-align: center;
    margin-top: 40px;
}

#confirm button{
    padding: 12px 22px;
    font-size: 17px;
    text-transform: uppercase;
    font-family: 'Montserrat', Arial;
    font-weight: 500;
    border: none;
    border-radius: 40px;
    background: var(--refcolor);
    color: white;
    cursor: pointer;   
    margin-bottom: 45px;
}

#confirm button:hover{
    opacity: 0.9;
}


#appointment_selected_time{
    display: block;
    margin-top: 10px;
}

#appointment_selected_time img{
    margin-left: 5px
}

#appointment_selected_date img,#appointment_right_selected_date img,#appointment_selected_time img{
    height:21px;
    position:relative;    
    top: 5px;
    margin-right: 5px;
}

#searchtz {
    box-sizing: border-box;
    background-position: 14px 12px;
    background-repeat: no-repeat;
    font-size: 14px;
    padding: 12px 18px;
    border: none;
    border-bottom: 1px solid #ddd;
    position: sticky;
    top: 0;
    width: 365px;
    outline: none;
    font-family: 'Montserrat';
    margin: unset;

}

#timezonelabel {
    font-size: 13px;
    font-weight: 600;
    margin-top: 10px;
    font-size: 13px;
}



.dropdown {
    position: relative;
    display: inline-block;
}


#bgoverlay {
    position: absolute;
    background-color: transparent;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}


#phonetype {
    width: auto;
    position: relative;
    top: -51px;
    margin-bottom: -51px;
    float: right;
    padding: 5px 10px;
    margin-right: 10px;
    border-width: 0px;
    border-color: #fff;
    font-weight: 600;
    color: gray;
    border-left: solid lightgray 1px;
    border-radius: 0;   
    background: rgb(255 255 255 / 14%);
}

#phonetype:hover{
    border-color: lightgray;
}


.dropdown-content-body {

    overflow: auto;
    height: 204px;

}

#phone{
    padding-left: 42px !important;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #ffffff;
    min-width: 365px;
    width: 365px;
    max-height: 245px;
    height: 245px;
    z-index: 1;
    text-align: left;
    font-size: 14px;
    border-radius: 7px;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
    top: 5px;
}

.dropdown-content a span {
    float: right;
}

.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

.dropdown-content a:hover {
    background-color: var(--bghover);
}
 
.show {
    display: block;
}



.guestmail {
    padding: 3px 7px;
    margin: 4px;
    background: #f5f5f5;
    border: solid 1px lightgray;
    border-radius: 3px;
    font-size: 13px;
    font-weight: 500;
    line-height: 14px;
    white-space: nowrap;
    display: inline-block;
    height: 31px;

}


.guestmailx{
    cursor: pointer;
    font-size: 1.6rem;
    position: relative;
    top: 5px;
    left: 3px;        
}

.guestmailx:hover{
    color: var(--refcolor);
}



input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fff;
  margin: 0;
  margin-right: 6px;
  font: inherit;
  color: currentColor;
  width: 1.15em;
  height: 1.15em;
  border: 2px solid lightgray;
  border-radius: 3px;
  transform: translateY(-0.2em);
  display: grid;
  place-content: center;
}

input[type="checkbox"]::before {
  content: "";
  width: 1em;
  height: 1em;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
  transform: scale(0);
  transform-origin: bottom left;
  transition: 120ms transform ease-in-out;
  background-color: var(--refcolor);
}

input[type="checkbox"]:checked::before {
  transform: scale(1);
}





input,select,textarea,#guests {
    padding: 10px;
    font-family: Montserrat,Arial;
    outline: none;
    border: solid 2px lightgray;
    border-radius: 3px;    
    font-size: 15px;
    margin-bottom: 15px;
    width: 100%;
}



textarea:focus,input:focus,#guests:focus {
    border-color: var(--refcolor);
}

input[type="checkbox"]:focus {
 border-color:lightgray;
}


div#backform{
    text-align: center;
    margin-top: 5px;
}


#appointment_selected_date_cont{
    margin: 30px;
    text-align: center;
    font-weight: 600;
}


div#backtocal{
    text-align: center;
    display: none ;
}

div#backtocal img {
    width: 50px;
}

div#backform img {
    width: 50px;
}

div#backtocal img:active{
    opacity:0.5;
}
div#backform img:active{
    opacity:0.5;
}


@keyframes fadein {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@-moz-keyframes fadein {

    /* Firefox */
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@-webkit-keyframes fadein {

    /* Safari and Chrome */
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@-o-keyframes fadein {

    /* Opera */
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}



@media only screen and (max-width: 930px) {
body {
    margin: 10px;
    background: #ffffff;
}
div#appointment_container,div.topcontainer {
    border: none !important;
    border-bottom: solid 1px rgb(0 0 0 / 7%) !important;
    border-radius: 0px !important;
    box-shadow: unset !important;
}

}
@media only screen and (max-width: 800px) {

#appointment_right{
    display: none;
    width: 100% !important;
    padding: 15px !important;
    float: unset !important;
}

#searchtz{
    width: 100%;
}

.dropdown-content{
    left: -15px;
}


#confirmdiv {
    width: 100%;
    margin: unset;
     
}

.dropdown-content-body {
    width: 350px !important;
}

#cookielayer{
    left: unset;
    right: 10px;
}

#cookielayer #arrow{
    display: none;
}

#appointment_left {    
    border-right: none !important;
    width:100% !important;
    padding: 30px 0px !important;
    float: unset !important;
    max-width: unset !important;
}

#appointment_title,#username{
    max-width: unset;
}

#appointment_right_body {
    padding-right: 25px !important;
    }

}
