@media screen and (forced-colors: active), (prefers-contrast: more) {
    /* Targets all placeholders in inputs & textareas */
    ::placeholder,
    ::-webkit-input-placeholder, /* Chrome/Safari/Edge */
    :-moz-placeholder,          /* Firefox 18- */
    ::-moz-placeholder,         /* Firefox 19+ */
    :-ms-input-placeholder {    /* IE 10-11 */
    color: #767676 !important;
    }
}

html,
body{
    height:100%;
    width: 100%;
    font-family: 'Noto Sans TC', 'Open Sans', sans-serif;
    font-size: 20px;
    scroll-behavior: smooth;
    background-color: #FFFFFF;
    overflow: visible;    
}

html.eng,
body.eng{
    font-family: 'Open Sans', sans-serif;
}

html.chi,
body.chi{
    font-family: 'Noto Sans SC', 'Open Sans', sans-serif;
}


/* ============================ GLOBAL ============================ */
*::placeholder {
    color: #767676 !important;
}

.center-self{
    margin-left: auto;
    margin-right: auto;
}

.center{
    text-align: center;
}

.middle{
    display: flex;  
    align-items: center;
    justify-content: center;
}

.show-at-600{
    display: none;
}

.text {
    font-weight: 400;
    font-size: 0.8rem;
    line-height: 23px;
    color: #1A1A1A;
}

.text.bigger-on-mobile {    
}

.text.smaller-on-mobile {    
}

.text.higher-on-mobile {    
}

.text.ultra-big{
    font-size : 1.8rem; 
    line-height: 52px; 
    letter-spacing : 0.06em; 
}

.text.super-big{
    font-size : 1.8rem; 
    line-height: 52px;
}

.text.biggest1{
    font-size : 1.2rem; 
    line-height: 35px; 
}

.text.biggest{
    font-size : 1.2rem; 
    line-height: 26px; 
}

.text.bigger{
    font-size : 1.1rem; 
    line-height: 32px; 
}

.text.big2{
    font-size : 1.05rem; 
    line-height: 30px; 
}

.text.big1{
    font-size : 0.9rem; 
    line-height: 26px; 
}

.text.big{
    font-size : 1rem; 
    line-height: 24px; 
}

.text.small1{
    font-size : 0.8rem; 
    line-height: 23px; 
}

.text.small{
    font-size : 0.8rem; 
    line-height: 20px; 
}

.text.smaller{
    font-size : 0.7rem; 
    line-height: 20px; 
}

.text.wider {
    letter-spacing:0.04em;
}

.text.lower {
    line-height: 21px;
}

.text.strong {
    font-weight: 500;
}

.text.stronger {
    font-weight: 600;
}

.text.bold {
    font-weight: 700;
}

.text.notosansHC {
    font-family: 'Noto Sans SC';
}

.text.roboto {
    font-family: 'Open Sans';
}

.text.roboto-big {
    font-family: 'Open Sans';
    font-weight: 600; 
    font-size: 2.3rem; 
    line-height: 54px; 
    letter-spacing : 0.06em;
}



.dark-blue { 
    color : #006080;
}

.gray { 
    color : #CCCCCC;
}

.red { 
    color : #E23636;
}

.white {
    color: #FFFFFF;
}

.dark-blue-bg{
    background: #006080 !important;
    color: #FFFFFF;
}

.red-bg{
    background: #E23636 !important;
    color: #FFFFFF;
}

.div-form-group .div-input ul li a:active,
.div-form-group .div-input ul li a:focus,
button:active,
button:focus,
input:active,
input:focus,
select:focus,
select:focus{
    outline: none !important;
}

a:hover{
    text-decoration: none !important;
    cursor: pointer;
}

.div-form-group{
    width: 100%;
    margin-top: 20px;
    display: flex;
    flex-direction: column;
}

.div-form-group label{
    margin-bottom: 10px;
}

#form_group .div-form-group .div-input{
    width: 100%;
}



.div-form-group input,
.div-form-group .div-input button{
    width: 100%;
    height: 60px;
    padding: 0px 30px;
    background: #FFFFFF;
    border: 1px solid #CCCCCC;
    box-sizing: border-box;
    border-radius: 5px;

    font-weight: 400;
    font-size: 0.9rem;
    line-height: 26px;
    color: #1A1A1A;
}

.div-form-group input.read-only{
    background:rgba(0, 39, 115, 0.15);
}

.div-form-group .div-input-container{
    width: 100%;
    height: 60px;
    position: relative;
}


.div-form-group input::placeholder{
    color: #888888;
}

.div-form-group .div-input ul li a{
    padding: 17px 30px;
    font-weight: 400;
    font-size: 0.9rem;
    line-height: 26px;
    color: #1A1A1A;
}

.div-form-group .div-input ul li a:hover{
    background: #EBF9FD;
}

.div-form-group .div-input ul li a.disabled{
    color: #CCCCCC;
    opacity: 0.3;
}

.div-group-button {
    margin-top: 4%;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.div-group-button button{
    width: 21.2%;
    height: 54px;
    margin-right: 4%;
    border: 1px solid #006080;
    box-sizing: border-box;
    border-radius: 5px;
    background: #FFFFFF;
}

.div-group-button button.btn-custom{
    width: 200px;
    height : 200px;
    padding-top: 10px;
    padding-bottom: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #F7F7F7;
}

.div-group-button button.btn-custom img{
    height: 70%;
}

.div-group-button button:last-of-type{
    margin-right: 0px;
}

.div-item-group{
    width: 100%;
    margin-top: 1.9091%;
    display: flex;
    flex-direction: row;
}

.div-item-group .div-label{
    /* width: 100px; */
    width: 200px;
    margin-right: 20px;
}

.div-dialog-container{
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0px;
    left: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 100;
}

.vrm-element{
    text-transform: uppercase;
}

.div-timer, 
.div-remaining-time{
    display: none !important;
}

.display-hide{
    display: none;
}

.div-extra-notes{
    margin-top: 20px;
}
/* ============================ END OF GLOBAL ============================ */

.div-header-page{
    width: 100%;
    height: 80px;
    position: relative;
    z-index: 100;
}

.div-header-page .container{
    width: 1200px;
    height: 100%;
    padding: 0px;
    display: flex;
    flex-direction: row;
    position: relative;
}

.div-header-page .div-logo{
    width: 15.8333%;
    margin-top: auto;
    margin-bottom: auto;
}

.div-header-page .div-logo img{
    width: 100%;
}

.div-header-page .div-option{
    display: flex;
    flex-direction: row;
    margin-left: auto;
}

.div-header-page .div-option-mobile{
    display: none;
}

.div-header-page .div-option-language{
    /* height: 26px; */
    /* margin-bottom: 10.757%; */
    margin-bottom: 27px;
    margin-top: auto;
    margin-right: 5px;
    padding-bottom: 1.5px;
    padding-right: 6px;
    border-right: 1px solid #888888;
}

.div-header-page .div-option-language a{
    margin-right: 20px;
    color: #CCCCCC;
}

.div-header-page .div-option-size{
    /* margin-bottom: 11.5538%; */
    margin-bottom: 27px;
    margin-top: auto;
}

.div-header-page .div-option-size a{
    margin-left: 15px;
    color: #CCCCCC;
}

.div-header-page a.active{
    color : #006080;
    font-weight: 500;
}




.div-homepage{
    padding: 0.1px 0px;
}

.div-homepage .img-banner{
    width: 100%;
}

.div-homepage .container{
    width: 1160px;
    /* height: 480px; */
    padding: 2.2917% 1.5625%  4.6875% 1.5625%;
    margin: 1.5625% auto;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
}

.div-homepage hr {
    width: 100%;
    height: 1px;
    margin-top: 1.27278%;
    margin-bottom : 5.4545%;
    background: #006080;
}

.div-homepage .div-homepage-content{
    width : 100%;
    padding: 0px 4.5455%;
}

.div-homepage .div-homepage-content .div-captcha{
    width: 302px;
    margin: 30px auto;
    padding: 20px;
    background: #F9F9F9;
    border: 1px solid #D3D3D3;
    box-sizing: border-box;
    box-shadow: 0px 0px 4px 1px rgba(0, 0, 0, 0.08);
    border-radius: 3px;
}

.div-homepage .div-homepage-content .div-captcha img{
    width: 100%;
}

.div-homepage .div-homepage-content .div-captcha .realperson-text{
    text-align: center;
}

.div-homepage .div-homepage-content .div-captcha input{
    width: 100%;
    height: 40px;
    padding-left: 15px;
    margin-top: 10px;
    background: #FFFFFF;
    border: 1px solid #CCCCCC;
    box-sizing: border-box;
    border-radius: 5px;
}

#captcha-info {
    display: flex;
}

#captcha-info .btn-gp {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#captcha-info .btn-gp button:not(button:last-of-type) {
    margin-bottom: 10px;
}

#captcha_image {
    margin-right: 10px;
}

.div-sitemap hr{
    margin-bottom: 1.2727%;
}

.div-sitemap ul{
    width: 100%;
    padding-top: 0.1px;
    margin-bottom: 12%;
    list-style: none;
}

.div-sitemap ul li{
    margin-top: 2.1818%;
    list-style-position: inline;
}

.div-sitemap ul li::before{
    content: "\2022";  /* Add content: \2022 is the CSS Code/unicode for a bullet */
    color: #006080; /* Change the color */
}

.div-update-appointmentpage .container{
    padding-bottom : 4.1667%;
}

.div-update-appointmentpage hr{
    margin-bottom: 3.6364%;
}

.div-update-appointmentpage .div-homepage-content .div-group-button {
    margin-top: 6%;
}

.div-contactuspage hr{
    margin-bottom: 3.4545%;
}

.div-contactuspage .div-item-group .div-item-text{
    width: 38.1818%;
}




.div-new-appointment{
    padding: 0.1px 0px;
}



.div-new-appointment .div-stage{
    width: 100%;
    height: 200px; /* delete after done */
    margin-bottom: 4.8958%;
    position: relative;
    z-index: 10;
    background: #EBF9FD;
}

.div-new-appointment .div-stage.on-mobile{
    display: none;
}

.div-new-appointment .div-stage .container{
    width: 1200px;
    /* padding: 3.3333% 4.2708% 3.3333% 2.6563%; */
    padding: 3.3333% 0px 3.3333% 0px;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.div-new-appointment .div-stage .div-point-stage{
    width: 72px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
}

.div-new-appointment .div-stage .div-point-stage .div-point{
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #006080;
    border-radius: 30px;
}

.div-new-appointment .div-stage .div-point-stage .div-point-info{
    min-height: 52px;
    margin-top: 6px;
    text-align: center;
    font-size: 0.7rem;
}

.div-new-appointment .div-stage .div-line{
    width: 14.0581%;
    margin: 0px 0.9372%; 
    padding-top: 20px;
}

.div-new-appointment .div-stage .div-line .hr{
    width: 100%;
    border-top: 2px dashed #006080;
}

.div-new-appointment .div-stage .div-point-stage.inactive .div-point,
.div-new-appointment .div-stage .div-point-stage.inactive .div-point-info,
.div-new-appointment .div-stage .div-line .hr.inactive{
    opacity: 0.3;
}

.div-new-appointment .div-stage .div-timer{
    margin-left: 133px;
}

.div-stage .div-timer.new{
    position: absolute;
    top: 10px;
    right: 100px;
}





.div-new-appointment .container{
    width: 1100px;
    padding: 0px;
}


.div-new-appointment hr{
    width: 100%;
    height: 1px;
    margin-top: 1.27278%;
    margin-bottom: 0px;
    background: #006080;
}

.div-new-appointment .div-appointment-content{
    width: 100%;
    padding: 0px 4.5455%;
}

.div-new-appointment .div-appointment-content.full{
    padding: 0px;
}

.div-new-appointment .div-appointment-content .div-form-group{
    width: 100%;
    margin-top: 6%;
}

.div-new-appointment .div-appointment-content .div-form-group.div-input-time{
    margin-top: 6.6667%;
}

.div-new-appointment .div-appointment-content .div-group-button{
    margin-top: 10%;
    margin-bottom: 24.6%;
}

.div-new-appointment .div-appointment-content .div-group-button.shorter{
    margin-top: 5.4545%;
    margin-bottom: 5.4545%;
}


.div-new-appointment .div-appointment-content .div-date-time-container{
    width: 100%;
    margin-top: 1.8182%;
    display: flex;
    flex-direction: row;

}

.div-new-appointment .div-date-time-container .div-calendar-container{
    width: 345px;
    margin-right: 4.5455%;
}

.div-new-appointment .div-date-time-container .div-calendar-container .div-calendar{
    width: 100%;
    padding: 30px 20px;
    margin-bottom: 5.7971%;
}


.div-new-appointment .div-date-time-container .div-calendar-container .div-legend{
    width: 100%;
    display: grid;
    padding-left: 20px;
    grid-template-columns: 37.0435% 59.4203%;
    grid-column-gap: 7.5362%;
    grid-row-gap: 10px;
}

.div-new-appointment .div-date-time-container .div-calendar-container .div-legend .div-legend-item{
    display: flex;
    flex-direction: row;
    align-items: center;
}

.div-new-appointment .div-date-time-container .div-calendar-container .div-legend .div-legend-item .div-box{
    width: 20px;
    height: 20px;
    margin-right: 4px;
    border-radius: 3px;
}

.div-box.div-available{
    background: #006080;
}

.div-box.div-limited{
    background: #FFB320;
}

.div-box.div-closed{
    background: #C5E8F3;
}

.div-box.div-full{
    background: #CCCCCC;
}

.div-box.div-selected{
    background: #B7BD36;
}













.div-new-appointment .div-date-time-container .div-input-datetime-container{
    width: 54.5455%;
    padding-top: 7.4545%;
}











.div-update-appointment{
    padding: 0.1px 0px;
}

.div-update-appointment .div-stage{
    width: 100%;
    height: 200px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #EBF9FD;
    
}

.div-update-appointment .container{
    width: 1000px;
    padding: 0px;
}

.div-update-appointment .container.div-notes{
    width: 1200px;
}

.div-update-appointment.div-update-page .container{
    width: 888px;
}

.div-update-appointment .div-content-box-button{
    width: 100%;
    margin-top: 13.5135%;
    margin-bottom: 4.5045%;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.div-update-appointment .div-content-box-button button{
    width: 47.7477%;
    height: 204px;
    /* padding: 0px 14.5%; */
    padding: 0px 5%;
    background: #B7BD36;
    border-radius: 10px;
    border: 0px;
}

.div-update-appointment .div-content-box-button button:first-of-type{
    margin-right: 4.5045%;
    /* padding: 0px 12.6126%; */
    padding: 0px 5%;
    background: #006080;
}

.div-update-appointment .div-notes{
    text-align: center;
}


.div-update-appointment .div-navigation{
    width: 23.8739%;
    height: 54px;
    margin: 6.7568% auto 22.0721% auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    border: 1px solid #006080;
    box-sizing: border-box;
    border-radius: 5px;
}

.div-update-appointment.div-verification-page .container{
    margin-top: 2.9688%;

} 

.div-update-appointment.div-verification-page .div-group-button{
    margin-top: 6%;
    margin-bottom: 25.4%;
} 

.div-update-appointment.div-verification-page .link-get-code{
    position: absolute;
    bottom: 0px;
    right: 0px;
    padding: 17px 30px;
} 

.div-update-appointment.div-verification-page .link-get-code.disabled{
    cursor: not-allowed;
}

.div-info-page .div-title-section{
    margin-top: 7%;
    margin-bottom: 1.6667%;
}

.div-info-page .div-notes-cancel.mobile{
    display:none;
}

.div-info-page.allinfo .div-item-title:first-of-type{
    margin-top: 7%;
}

.div-info-page .div-link-notes-container{
    min-height: 49px;
    margin-bottom: -1.6667%;
    margin-top: 7%;
}

.div-info-page .div-title-section.div-edit-notes{
    margin-top: 0px;
    margin-bottom: 0px;
    padding: 1.1667% 1.6667%;
    display: flex;
    flex-direction: row;
    background: #FFF8E0;
    text-align: left;
}

.div-info-page .div-title-section.div-edit-notes a{
    margin-left: 1.6667%;
    text-decoration: underline;
}

.div-info-page .div-title-section.div-edit-notes .link-close-notes{
    width: 18px;
    margin-left: auto;
}

.div-info-page .div-title-section.div-edit-notes .link-close-notes img{
    width: 100%;
}

.div-info-page .div-item-title{
    margin-top: 6%;
}   

.div-info-page .div-item-title.two-column{
    display: flex;
    flex-direction: row;
    align-items: center;
}   

.div-info-page .div-item-title.two-column a{
    margin-left: auto;
}

.div-info-page .div-item-content{
    margin-top: 2%;
}

.div-info-page .div-item-group{
    margin-top: 2%;
}

.div-info-page .div-group-button{
    margin-top: 7%;
    margin-bottom: 8%;
}


.div-dialog-container .div-dialog-content{
    width: 560px;
    background: #FFFFFF;
    border-radius: 5px;
    text-align: center;
}

.div-cancel-verification img {
    width: 17.8571%;
    display: flex;
    margin: 8.9286% auto 3.5714% auto;
}

.div-cancel-verification .div-dialog-button-group{
    width: 100%;
    margin-top: 5.3571%;
    margin-bottom: 7.8571%;
}

.div-cancel-verification .div-dialog-button-group button{
    width: 35.7143%;
    height: 50px;
    border: 0px;
    border-radius: 5px;
}

.div-cancel-verification .div-dialog-button-group .btn-cancel{
    margin-right: 3.5714%;
    border: 1px solid #006080;
    box-sizing: border-box;
    background: #FFFFFF;
}

.div-cancel-verification .div-dialog-button-group .btn-confirm{
    background: #E23636;
}

.div-cancel-succeed-page .container {
    text-align: center;
}

.div-cancel-succeed-page .icon-delete{
    width: 16.5%;
    margin-top: 14%;
    margin-bottom: 6%;
}

.div-cancel-succeed-page .div-navigation{
    margin-top: 6%;
    margin-bottom: 18.9%;
}


.div-booking-complete-page .container{
    text-align: center;
}

.div-booking-complete-page .icon-completed{
    width: 16.5%;
    margin-top: 6%;
    margin-bottom: 4%;
}

.div-booking-complete-page .div-item-title{
    margin-bottom: 1.5%;
}

.div-booking-complete-page .div-item-group{
    /* width: 33%; */
    width: 50%;
    margin: 0.5% auto 0px auto;
    text-align: left;
}

.div-booking-complete-page .div-item-group .div-label{
    /* width: 30.303%; */
    width: 40%;
    margin-right: 0px;
}

.div-booking-complete-page .div-item-group .div-item-text{
    /* width: 69.697%; */
    width: 60%;
}

.div-booking-complete-page .div-group-button{
    margin-top: 5%;
    margin-bottom: 10.3%;
}





.div-footer-page{
    width : 100%;
    /* padding: 1.9271% 0px; */
    /* padding: 35px 0px; */
    padding: 1.8229% 0px;
    border-top: 2px solid #006080;
}

.div-footer-page .div-footer-content{
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.div-footer-page .div-footer-content div{
    padding: 0px 10px;
    border-right: 1px solid #888888;
}

.div-footer-page .div-footer-content div:last-of-type{
    border-right: 0px;
}





.div-calendar .div-calendar-name{
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.div-calendar .div-calendar-name .link-prev{
    margin-right: auto;
}

.div-calendar .div-calendar-name .div-month-name{
    margin: 0px auto;
}

.div-calendar .div-calendar-name .link-next{
    margin-left: auto;
}

.div-calendar .div-calendar-name a{
    margin-top: auto;
    margin-bottom: auto;
    display: flex;
    font-size: 1.8rem;
    color: #006080;
}

.div-calendar .div-calendar-name a.disabled{
    color: #CCCCCC;
}

.div-calendar .div-day-names{
    width: 100%;
    margin-top: 20px;
    margin-bottom: 3px;
    display: grid;
    grid-template-columns: repeat(7, 41px);
    grid-column-gap: 3px;
}

.div-calendar .div-day-names div{
    display: flex;
    align-items: center;
    justify-content: center;
}

.div-calendar .div-calendar-dates{
    display: grid;
    grid-template-columns: repeat(7, 41px);
    grid-gap: 3px;
}

.div-calendar .div-calendar-dates a{
    height: 41px;
    display: flex;  
    align-items: center;
    justify-content: center;
    border-radius: 5px;
}

.div-calendar .div-calendar-dates a.closed{
    background: #C5E8F3;
    color: #EBF9FD;
}

.div-calendar .div-calendar-dates a.limited{
    background: #FFB526;
    color: #FFF8E0;
}

.div-calendar .div-calendar-dates a.available{
    background: #006080;
    color: #EBF9FD;
}

.div-calendar .div-calendar-dates a.full{
    background: #CCCCCC;
    color: #F8F8F8;
}

.div-calendar .div-calendar-dates a.inactive{
    color: #006080;
}

.div-calendar .div-calendar-dates#div_calendar_dates a.selected{
    background: #B7BD36;
    color: #006080;
}








.div-header-page .div-nav-mobile{
    width: 100%;
    height: 0px;
    position: absolute;
    top: 0px;
    margin-top: 66px;
    background: #006080;
    transition: all 0.5s;
}

.div-header-page .div-nav-mobile hr{
    width: 100%;
    background: #1A1A1A;
    opacity: 0;
    transition: all 0.1s linear 0.1s;
}

.div-header-page .div-nav-mobile > div{
    width: 99%;
    height: 0px;
    display: flex;
    flex-direction: row;
    align-items: center;
    opacity: 0;
    transition: all 0.1s linear 0.2s;
}

.div-header-page .div-nav-mobile > div img{
    width: 20px;
    margin-right: 12px;
    margin-top: 3px;
}

.div-header-page .div-nav-mobile .div-option-language-mobile .div-option-language{
    height: auto;
    margin: 0px;
    margin-left: auto;
    padding: 0px;
    border-right: 0px;
}

.div-header-page .div-nav-mobile .div-option-language-mobile .div-option-language a{
    color: #008CBA;
}

.div-header-page .div-nav-mobile .div-option-language-mobile .div-option-language a.roboto{
    line-height: 22px;
}

.div-header-page .div-nav-mobile .div-option-language-mobile .div-option-language a:last-of-type{
    margin-right: 0px;
}

.div-header-page .div-nav-mobile .div-option-language-mobile .div-option-language a.active{
    color: white;
}

.div-header-page .div-nav-mobile .div-option-size-mobile .div-option-size{
    margin: 0px;
    margin-left: auto;
    display: flex;
    align-items: center;
}

.div-header-page .div-nav-mobile .div-option-size-mobile .div-option-size a{
    margin: 0;
    margin-right: 20px;
    text-align: center;
    color: #008CBA;
}

.div-header-page .div-nav-mobile .div-option-size-mobile .div-option-size a:last-of-type{
    margin-right: 0px;
}

.div-header-page .div-nav-mobile .div-option-size-mobile .div-option-size a > div{
    width: 40px;
}

.div-header-page .div-nav-mobile .div-option-size-mobile .div-option-size a.active{
    color: white;
}








@media(min-width: 1921px){
    
}


@media(max-width: 1649px){
    .div-new-appointment .div-stage{
        height: auto;
    }
}


@media(max-width: 1439px){

}

@media(max-width: 1365px){
    .div-header-page .container,
    .div-update-appointment .container.div-notes,
    .div-new-appointment .div-stage .container{
        width: 1000px;
    }

    .div-new-appointment .div-stage .div-point-stage{
        width: 120px;
    }
}

@media(max-width: 1199px){
    .div-group-button button{
        width: 40%;    
    }

    .div-header-page .container,
    .div-homepage .container,
    .div-update-appointment .container,
    .div-update-appointment .container.div-notes,
    .div-new-appointment .div-stage .container,
    .div-new-appointment .container{
        width: 950px;
    }

    
}

@media(max-width: 991px){
    html,
    body{
        font-size: 18px;
    }

    .div-header-page .container,
    .div-homepage .container, 
    .div-update-appointment .container,
    .div-update-appointment.div-update-page .container,
    .div-update-appointment .container.div-notes,
    .div-new-appointment .div-stage .container,
    .div-new-appointment .container{
        width: 720px;
    }

    .div-update-appointment.div-update-page .div-content-box-button button{
        padding: 0px 10%;
    }

    .div-new-appointment .div-stage .div-point-stage{
        width: 150px;
    }

    .div-new-appointment .div-stage .div-timer{
        margin-left: 50px;
    }
}

@media(max-width: 767px){
    html,
    body{
        font-size: 20px;
    }

    .text {
        font-size: 0.8rem;
        line-height: 23px;
    }

    .text.ultra-big{
        font-size : 1.2rem; 
        line-height: 35px; 
        letter-spacing : 0.04em; 
    }

    .text.super-big{
        font-size : 1.05rem; 
        line-height: 30px;
        font-weight: 500;
    }

    /*
    .text.biggest1{
        font-size : 1.1rem; 
        line-height: 32px; 
    }
    */
    
    .text.biggest{
        font-size : 1.05rem; 
        line-height: 30px; 
        letter-spacing: 0.04em;
        font-weight: 500;
    }

    .text.bigger{
        font-size: 0.9rem;
        line-height: 26px; 
    }

    .text.big1{
        font-size: 0.8rem;
        line-height: 23px; 
    }

    .text.big2{
        font-size : 0.9rem; 
        line-height: 26px; 
    }

    /*
    .text.bigger-on-mobile {    
        font-size: 0.9rem;
        line-height: 26px;
    }
    */
    
    .text.smaller-on-mobile{
        font-size: 0.6rem;
        line-height: 17px;
    }

    .text.higher-on-mobile{
        line-height: 26px;
    }



    .div-item-group{
        margin-top: 20px;
    }

    .div-group-button button{
        width: 48%;
    }

    .div-header-page .container,
    .div-homepage .container,
    .div-update-appointment .container,
    .div-update-appointment.div-update-page .container,
    .div-update-appointment .container.div-notes,
    .div-new-appointment .div-stage .container,
    .div-new-appointment .container{
        width: 550px;
    }
    
    .div-header-page .div-logo{
        width: 140px;
        margin-left: 6px;
    }

    .div-update-appointment.div-update-page .div-content-box-button button{
        height: 120px;
        padding: 0px 5%;
    }

    
    .div-update-appointment .div-stage{
        height: 150px;
        text-align: center;
    }

    .div-booking-complete-page .div-item-group{
        width: 60%;
    }

    .div-new-appointment .div-appointment-content .div-date-time-container{
        flex-direction: column;
        align-items: center;
    }

    .div-new-appointment .div-date-time-container .div-calendar-container{
        margin-right: 0%;
        margin-left: 0%;
    }

    .div-form-group.div-input-date{
        display: none;
    }













    .div-sitemap ul{
        margin-bottom: 37.0667%;
    }

    .div-contactuspage .div-item-group .div-label{
        width: 80px;
    }

    .div-contactuspage .div-item-group .div-item-text{
        width: 280px;
    }

    .div-footer-page{
        padding: 20px 0px;
    }

    .div-new-appointment .div-stage .container{
        padding-left: 0px;
        padding-right: 0px;
    }

    .div-new-appointment .div-stage .div-timer{
        margin-left: 25px;
    }

    .div-new-appointment .div-stage .div-point-stage .div-point-info{
        font-size: 0.6rem;
    }

    .div-update-appointment.div-info-page .div-item-group .div-item-text{
        min-width: 70%;
        overflow-wrap: anywhere;
    }

    .div-stage .div-timer{
        font-size: 1.5rem;
        top: 0px;
        right: 5%;
    }
}

@media(max-width: 599px){
    .show-at-600{
        display: inline;
    }

    .div-update-appointmentpage .div-homepage-content .div-group-button,
    .div-group-button{
        margin-top: 40px;
        flex-direction: column;   
    }

    .div-group-button button{
        width: 80%;
        height: 50px;
        margin: 0px auto;
    }

    .div-group-button button:nth-of-type(2),
    .div-group-button button:first-of-type{
        order: 2;
    }

    .div-group-button button:last-of-type{
        margin-bottom: 20px;
        margin-right: auto;
        order: 1;
    } 

    .div-group-button button.add-margin-bottom{
        margin-bottom: 20px;
    }

    .div-form-group input,
    .div-form-group .div-input button{
        height: 54px;
        padding: 0px 14px;
    }

    .div-form-group .div-input-container{
        height: 54px;
    }




    .div-header-page .container,
    .div-homepage .container,
    .div-update-appointment .container,
    .div-update-appointment.div-update-page .container,
    .div-update-appointment .container.div-notes,
    .div-new-appointment .container{
        width: 400px;
    }

    .div-header-page{
        height: 66px;
    }

    .div-header-page .div-option{
        display: none;
    }

    .div-header-page .div-option-mobile{
        width: 30px;
        margin-left: auto;
        display: flex;
        align-items: center;
    }

    .div-header-page .icon-setting{
        width: 100%;
    }


    .div-homepage .img-banner{
        height: 220px;
        object-fit: cover;
    }



    .div-update-appointment.div-verification-page .link-get-code{
        padding: 14px;
    }

    .div-info-page .div-title-section.div-edit-notes a.link-goto-cancel{
        display: none;
    }

    .div-info-page .div-title-section.div-edit-notes .span-note{
        width: 80%;
    }

    .div-info-page .div-title-section.div-edit-notes .link-close-notes{
        display: flex;
        align-self: center;
    }

    .div-booking-complete-page .div-item-group{
        width: 80%;
        margin-top: 5px;
    }

    .div-booking-complete-page .icon-completed{
        width: 121px;
        margin-bottom: 19px;
    }

    .div-booking-complete-page .div-item-title{
        margin-bottom: 20px;
    }

    .div-booking-complete-page .div-group-button{
        margin-bottom: 0px;
    }

    .div-dialog-container .div-dialog-content{
        width: 345px;
        padding: 0px 20px;
    }

    .div-cancel-verification img{
        width: 80px;
        margin: 40px auto 20px auto;
    }

    .div-cancel-verification .div-dialog-button-group{
        width: 300px;
        margin-top: 30px;
        margin-bottom: 48px;
        display: flex;
        flex-direction: column-reverse;
    }

    .div-cancel-verification .div-dialog-button-group button{
        width: 100%;
    }

    .div-cancel-verification .div-dialog-button-group .btn-cancel{
        margin-right: 0px;
        margin-top: 10px;
    }


    .div-update-appointment.div-cancel-succeed-page .container{
        padding : 60px 37px 153px 37px;
    }

    .div-cancel-succeed-page .icon-delete{
        width: 120px;
        margin-bottom: 20px;
    }

    .div-cancel-succeed-page .div-navigation{
        width: 300px;
        margin-top: 60px;
        margin-bottom: 0px;
    }

    .div-new-appointment .div-stage{
        display: none;
    }
    .div-new-appointment .div-stage.on-mobile{
        display: block;
    }

    .div-new-appointment .div-stage.on-mobile .container{
        width: 340px;
        padding: 36px 0px;
        display: flex;
        flex-direction: row;
    }

    .div-new-appointment .div-stage.on-mobile .div-img-progress{
        width: 100px;
        height: 100px;
        margin-right: 24px;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .div-new-appointment .div-stage.on-mobile .div-img-progress .img-progress{
        width: 49.5px;
        position: absolute;
    }

    .div-new-appointment .div-stage.on-mobile .div-img-progress .img-progress.top-left{
        top: 0px;
        left: 0px;
    }

    .div-new-appointment .div-stage.on-mobile .div-img-progress .img-progress.top-right{
        top: 0px;
        right: 0px;
    }

    .div-new-appointment .div-stage.on-mobile .div-img-progress .img-progress.bottom-right{
        bottom: 0px;
        right: 0px;
    }

    .div-new-appointment .div-stage.on-mobile .div-img-progress .img-progress.bottom-left{
        bottom: 0px;
        left: 0px;
    }


    .div-new-appointment .div-stage.on-mobile .div-progress-notes{

    }

    .div-new-appointment .div-stage.on-mobile .div-progress-notes .div-remaining-time{
        letter-spacing: 0.06em;
        color: #5AC2E4;
    }

    .div-new-appointment .div-stage.on-mobile .div-progress-notes .div-remaining-time span{
        margin-left: 3px;
        font-size: 0.9rem;
        line-height: 22px;
        color: #5AC2E4;
    }

    .div-new-appointment .container{
        margin-top: 57px;
    }

    .div-header-page.reschedule-page{
        filter: drop-shadow(0px 2px 6px rgba(0, 39, 115, 0.15));
        background: #FFFFFF;
    }

    .div-header-page .div-nav-mobile.active{
        height: 153px;
        padding: 30px 15px;
    }

    .div-header-page .div-nav-mobile.active hr{
        margin: 20px 0px;
        opacity: 0.1;
    }
    
    .div-header-page .div-nav-mobile.active > div{
        height: auto;
        opacity: 1;
    }

    .div-stage.on-mobile .div-progress-notes .text.ultra-big{
        font-size: 1rem;
        letter-spacing: 0px;
    }

}

@media(max-width: 440px){
    .div-header-page .container{
        width: 327px;
    }

    .div-new-appointment hr,
    .div-homepage hr{
        margin-top: 14px;
        margin-bottom: 20px;
    }

    .div-sitemap ul li {
        margin-top: 24px;

    }

    .div-sitemap ul li:first-of-type {
        margin-top: 0px;
    }

    .div-homepage .container{
        width: 100%;
        padding: 23px 15px 60px 15px;
        margin: 0px;
        box-shadow: none;
    }

    .div-homepage .div-homepage-content{
        padding: 0px;
    }

    .div-update-appointment.div-update-page .container{
        width: 100%;
        padding: 30px 15px 69px 15px;
        margin: 0px;
    }

    .div-update-appointment.div-update-page .div-content-box-button{
        margin-top: 0px;
        margin-bottom: 20px;
        flex-direction: column;
        align-items: center;
    }

    .div-update-appointment.div-update-page .div-content-box-button button{
        width: 300px;
        margin: 0px;
        padding: 0px 85px;
    }

    .div-update-appointment.div-update-page .div-content-box-button button:first-of-type{  
        margin-right: 0px; 
        margin-bottom: 20px;
        padding: 0px 75px;
    }

    .div-update-appointment.div-update-page .div-navigation{
        width: 300px;
        height: 50px;
        margin: 40px auto 0px auto;
    }

    .div-update-appointment .container{
        width: 100%;
        padding: 30px 15px 60px 15px;
        margin: 0px;
    }


    .div-contactuspage .div-item-group .div-item-text{
        width: 255px;
    }

    .div-update-appointment.div-verification-page .div-group-button{
        margin-top: 100px;
        margin-bottom: 0px;
    }

    .div-update-appointment.div-info-page .container.div-notes{
        width: 100%;
        padding: 0px;
    }

    .div-info-page .div-link-notes-container{
        min-height: 64px;
        margin-top: 0px;
    }

    .div-info-page .div-title-section.div-edit-notes{
        padding: 12px 15px;
    }

    .div-update-appointment.div-info-page .container{
        padding-bottom: 136px;
    }

    .div-info-page .div-item-title{
        margin-top: 56px;
    }

    .div-info-page .div-item-title.custom{
        margin-top: 60px;
    }

    .div-info-page .div-item-title:first-of-type{
        margin-top: 0px;
    }

    .div-info-page .div-item-content,
    .div-info-page .div-item-group{
        margin-top: 20px;
    }

    .div-item-group .div-label{
        width: 150px;
    }

    .div-info-page .div-group-button{
        margin-top: 70px;
        margin-bottom: 0px;
    }

    .div-info-page .div-title-section{
        margin-top: 40px;
        margin-bottom: 30px;
        padding: 0px 15px;
    }

    .div-info-page .div-notes-cancel{
        display: none;
    }

    .div-info-page .div-notes-cancel.mobile{
        display:flex;
        flex-direction: column;
    }

    .div-update-appointment.div-cancel-succeed-page .div-title-section{
        font-weight: 400;
        color: #006080;
    }

    .div-new-appointment .container{
        width: 100%;
        padding: 19px 15px 60px 15px;
    }

    .div-new-appointment .container.main-container{
        margin-top: 0px;
    }

    .div-new-appointment .container.main-container.longer{
        padding-bottom: 102px;
    }

    .div-new-appointment{
        overflow-x: hidden;
    }

    .div-new-appointment.reschedule-page .container{
        width: 100%;
        padding: 0px 15px 60px 15px;
    }

    .div-new-appointment .div-appointment-content{
        padding: 0px;
    }

    .div-new-appointment .div-appointment-content .div-group-button{
        margin-top: 40px;
        margin-bottom: 0px;
    }

    .div-new-appointment .main-container.longer .div-appointment-content .div-group-button{
        margin-top: 100px;
    }

    .div-new-appointment .div-appointment-content .div-group-button button{
        width: 300px;
    }

    .div-new-appointment .div-appointment-content .div-form-group.no-margin{
        margin-top: 0px;
    }

    .div-new-appointment .div-appointment-content .div-form-group{
        margin-top: 40px;
    }

    .div-update-appointment.div-info-page.allinfo .container{
        padding-bottom: 60px;
    }







    .div-new-appointment .div-appointment-content .div-date-time-container{
        margin-top: 0px;        
    }

    .div-new-appointment .div-date-time-container .div-calendar-container .div-calendar{
        padding: 0px 11px;
    }

    
    .div-calendar .div-day-names{
        margin-bottom: 6px;
        grid-gap: 6px;
    }

    .div-calendar .div-day-names div{
        height: 30px;
        background: #EBF9FD;
    }

    .div-calendar .div-calendar-dates{
        grid-gap: 6px;
    }

    .div-new-appointment .div-date-time-container .div-calendar-container .div-legend {
        padding-left: 11px;
        grid-template-columns: 100px 100px 80px;
        grid-column-gap: 21px;
    }

    .div-new-appointment .div-date-time-container .div-input-datetime-container{
        width: 100%;
        padding-top: 17px;
    }

    .div-new-appointment.reschedule-page .div-appointment-content .div-group-button.shorter{
        margin-top: 142px;
        margin-bottom: 0px;
    }

    .div-calendar .div-calendar-dates a{
        font-size: 0.9rem;
    }

    .div-new-appointment .div-date-time-container .div-calendar-container .div-legend .div-legend-item .div-legend-info{
        line-height: 19px;
    }

    .div-new-appointment .div-appointment-content .div-form-group.div-input-time label{
        letter-spacing: 0.04em;
    }    

    #select_service_type .dropdown-menu.open{
        width: 100%;
    }

    .div-new-appointment .div-stage.on-mobile .div-progress-notes .div-remaining-time{
        letter-spacing: 0px;
    }

    .div-booking-complete-page .div-item-group .div-label{
        margin-right: 15px;
    }

    .div-update-appointment.div-verification-page .link-get-code{
        bottom: 1px;
    }
}

@media(max-width: 359px){
    .div-header-page .container{
        width: 280px;
    }

    .div-homepage .div-homepage-content .div-captcha{
        width: 100%;
    }

    .div-new-appointment .div-stage.on-mobile .container{
        width: 300px;
    }

    .div-new-appointment .div-stage.on-mobile .div-img-progress{
        margin-right: 15px;
    }

    .div-new-appointment .div-stage.on-mobile .div-progress-notes{
        width: 155px;
    }

    .div-new-appointment .div-stage.on-mobile .div-progress-notes .div-remaining-time{
        font-size: 0.7rem;
        letter-spacing: 0px;
    }

    .div-new-appointment .div-stage.on-mobile .div-progress-notes .div-remaining-time span{
        font-size: 0.7rem;
    }


    .div-booking-complete-page .div-item-group{
        width: 95%;
    }
}

