/* ============================================================
   web-booking  —  訂課相關   〔積木說明〕
   訓練專長、訂課行事曆(FullCalendar)、上方固定條、選課/包課彈跳視窗、側邊錨點
   （由 all.css 拆分；純樣式區塊，改這裡不影響其他積木）
   ============================================================ */

/* 訓練專長 */
.pt-expertise {
    max-width: 1200px;
    margin: auto;
}

.pt-expertise h2 {
    text-align: center;
    background: #444;
    border-radius: 5px;
    color: #ffffff;
    font-size: 22px;
    line-height: 33px;
    font-weight: 700;
    padding: 5px 10px;
}

.content-icon-li {
    float: left;
    width: 12.5%;
    margin-top: 22px;
}

.content-icon-main {
    margin: 0 7px;
    border: 3px solid #727272;
    overflow: hidden;
    background: #eaeaea;
    padding: 5px;
    text-align: center;
    border-radius: 5px;
    overflow: hidden;
}

.content-icon-name {
    font-size: 16px;
    font-weight: bold;
    color: #3a3a3a;
    margin: 10px 0px;
    line-height: 44px;
}

.content-icon-main-top {
    background: #9f353a;
}

.content-icon-li:nth-child(7) .content-icon-name {
    line-height: 22px;
}

.content-icon-li:nth-child(8) .content-icon-name {
    line-height: 22px;
}

/* .content-icon-li:nth-child(2n) .content-icon-main{border-color: #9f353a;} */

@media (max-width: 1024px) {
    .content-icon-name {
        font-size: 14px;
        line-height: 24px;
    }
}

@media (max-width: 768px) {
    .pt-expertise {
        width: 100%;
    }

    .content-icon-li {
        width: 25%;
    }

    .content-icon-main {
        margin: 0 2px;
        border: 1px solid #727272;
    }

    .content-icon-li {
        margin-top: 10px;
    }

    .content-icon-name {
        font-size: 14px;
        margin: 5px 0px 0px 0px;
        line-height: 20px;
        height: 50px;
    }
}

/* 訓練專長 END */

/* 訂課行事曆 */

#calendar {
    margin-top: 30px;
}

.booking-num {
    font-size: 17px;
    margin-top: 20px;
    padding: 5px;
    font-weight: bold;
    color: #444444;
}

#totalprice {
    color: #9f353a;
}

.fc-event {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.fc-event::before {
    content: '';
    width: 0;
    height: 100%;
    display: inline-block;
    position: relative;
    vertical-align: middle;
}

.fc-event {
    background-color: #acacac;
    border: #acacac !important;
}

.fc-ltr .fc-time-grid .fc-event-container {
    margin: unset !important;
}

#allclear {
    border-color: #c2c2c2;
    color: #acacac;
}

.addcheck .fc-title {
    display: inline-block;
    cursor: pointer;
}

.addcheck .fa-times,
#calendar .fa-times {
    top: 2px;
    -webkit-transform: scale(0.75)
}

#price {
    color: #9f353a;
    font-weight: bold;
}

#calendar td {
    font-size: 13px;
}

.prev-next-group {
    margin-top: 10px;
}

.prev-week-range,
.next-week-range {
    width: 35%;
    line-height: 16px;
    height: 32px;
}

.fc-event-container .fc-content {
    position: relative !important;
}

.fc-event-container .overtime {
    background-color: #f2f2f2 !important;
    color: #ccc !important;
}

.fc-event-container .bookable,
.vipbooking {
    background-color: #398e5f !important;
    color: #fff !important;
}

.fc-event-container .vipapply {
    background-color: #e8994b !important;
    color: #fff !important;
}

.fc-event-container .booked {
    background-color: #e1e1e1 !important;
    color: #999 !important;
}

.fc-event-container .addcheck,
#allcheck {
    background-color: #b95755 !important;
    color: #fff !important;
}

.fc-event-container .addcheck>i {
    padding-right: 5px;
}

.fc-event-container .addcheck .fc-content {
    position: unset !important;
}



@media (max-width: 450px) {

    /* .fc-event{height: 39px;} */
    .fc-event-container .long-text {
        padding: 0 9px;
    }
}

@media (max-width: 400px) {
    .fc-event-container .long-text {
        padding: 0 7px;
    }
}

@media (max-width: 375px) {
    .fc-event-container .long-text {
        padding: 0 5px;
    }
}

.fc-button {
    z-index: 0 !important;
}

/* 訂課行事曆 END */

/* 訂課行事曆彈跳視窗 */
.choose-course-block .form-group label {
    font-size: 20px;
}

.choose-course-block label {
    font-size: 15px;
}

.choose-course-block #price {
    font-size: 20px;
}

.choose-course-block .course-block .btn-group {
    font-size: 15px;
    display: block;
}

.choose-course-block .course-items {
    width: 100%;
    display: block;
    margin-bottom: 5px;
}

.choose-course-block .course-items .btn-class {
    padding: 0px 10px;
    border-radius: 2rem;
    margin: 0;
}

.choose-course-block .course-block {
    text-align: left;
}

#currency {
    font-size: calc(1em - 3px);
}

#swal2-title {
    font-size: 24px;
    margin-bottom: 20px;
}

.booking-num .cart-count,
.booking-num .price {
    color: #9f353a;
    font-size: 20px;
}

.btn-class {
    border-color: #c2c2c2;
    color: #acacac;
    font-size: 15px !important;
}

.btn-class:hover {
    color: #b95755;
}

.btn-class.active {
    background-color: #b95755;
    color: #fff;
}

.choose-course-block .btn-info {
    background-color: #b95755;
    color: #fff;
    margin-right: 16px;
}

#s_date,
#e_date {
    background-color: #fff;
}

.go-shopping-cart-btn {
    margin: 20px;
    padding: 10px 40px;
}

.choose-course-block .table th,
.choose-course-block .table td {
    border-bottom: 1px solid #d4d4d4;
    vertical-align: middle;
}

/* 訂課行事曆彈跳視窗 END */

/* 上方fix條*/
#booking-fix-block {
    display: none;
    box-shadow: 0px 5px 10px #ddd;
    background-color: #f8f8f8;
    border-bottom: 1px solid #e6e6e6;
    margin-top: 0px;
    width: 100%;
    text-align: center;
}

.booking-num .sticky {
    display: inline-block;
}

.booking-fix-content {
    width: 50%;
    margin: auto;
    display: inline-block;
    padding-top: 5px;
}

.booking-fix-item {
    line-height: 40px;
    display: inline-block;
}

.booking-fix-item>div {
    float: left;
    display: inline-block;
    margin-left: 10px;
}

.booking-fix-select p {
    display: inline-block;
    margin-right: 5px;
}

.booking-fix-select .btn {
    margin-left: 5px;
}

.booking-fix-content .btn,
.booking-fix-block-phone .btn {
    color: #fff;
}

.clear-chose-time-btn {
    height: 27px;
    border-radius: 2rem;
    background-color: #717071;
    color: #fff;
    padding: 0px 8px;
}

.booking-fix-btn .btn {
    height: 44px;
    line-height: 16px;
    border-radius: unset;
    float: left;
    margin-right: 3px;
}

.booking-fix-btn .chose-time-btn {
    background-color: #3e3a39;
}

.booking-fix-btn .go-shopping-cart-btn {
    background-color: #9d343a;
    padding: 10px 11px;
}

.booking-fix-block-phone {
    display: none;
}

.clear-chose-time-btn {
    display: none;
}

.booking-num .w-40 {
    width: 40%;
}

.booking-num .w-60 {
    width: 60%;
}

#booking-fix-block #totalprice {
    font-size: 20px;
}

#booking-fix-block .cart-count {
    color: #fff;
    font-size: 14.4px;
}

#booking-fix-block .go-shopping-cart-btn {
    margin: 0px auto;
}

.holiday {
    background-color: #05b396;
    font-size: 14px;
    color: #fff;
    border-radius: 15px;
    margin-top: 7px;
    margin: auto;
    display: inline-block;
    padding: 0px 10px;
}

.booking-success {
    background-color: #dbf4d3;
}

.booking-fail {
    background-color: #e6e6e8;
}

.thead-dark {
    text-align: center;
}

/* 上方fix條 END */


/* 側邊茅點 */
.fixs-rights {
    transition: all 0.6s;
    width: 103px;
    position: fixed;
    right: -103px;
    top: 50%;
    z-index: 1100;
    margin-top: -60px;
}

.fixs-rights ul {
    padding: 0;
    margin: 0;
}

.fixs-rights li {
    list-style: none;
}

.fixs-rights li a {
    display: block;
    background: rgba(51, 51, 51, 0.9);
    font-size: 14px;
    color: #fff !important;
    padding-left: 10px;
    line-height: 28px;
    border: 1px solid #fff;
    font-weight: bold;
    text-decoration: none !important;
}

.fixs-rights li a img {
    margin-right: 5px;
    display: inline-block;
    font-size: 14px;
    width: 16px;
    text-align: center;
    vertical-align: -3px;
}

@media (min-width: 1080px) {
    .fixs-rights li a:hover {
        background: #9F353A;
    }
}


.fixs-rights-button {
    display: block;
    width: 25px;
    color: #fff !important;
    font-size: 14px;
    position: absolute;
    left: -25px;
    top: 0;
    background: rgba(51, 51, 51, 0.8);
    padding: 5px 0px;
    text-align: center;
    border: 1px solid #fff;
}

@media (max-width: 767px) {

    .fixs-rights li a,
    .fixs-rights-button {
        font-size: 12px;
    }

    .fixs-rights {
        width: 80px;
        right: -80px;
    }

    .fixs-rights-button {
        width: 20px;
        left: -22px;
    }

    .fixs-rights li a {
        padding-left: 3px;
    }

    .fixs-rights li a i {
        margin-right: 3px;
    }
}

.fixs-rights-hover {
    right: 0px;
}

.fixs-rights .anchor-ahover {
    background: #9F353A;
}

.fixs-rights-button i {
    display: block;
    text-align: center;
}

.fixs-rights-button span {
    line-height: 15px;
}

.fixs-rights-button em {
    display: block;
    font-style: normal;
}

.fixs-rights-other ol {
    margin: 0;
}

.fixs-rights-other {
    width: 210px;
    right: -210px;
}

.article-fixs {
    width: 350px;
    right: -350px;
}

.fixs-rights-other li a {
    line-height: 16px;
    padding-top: 3px;
    padding-bottom: 3px;
}

.fixs-rights-other.fixs-rights-hover {
    right: 0;
}








/* 側邊茅點 END */

/* 已選取的彈跳視窗 */
.booking-alert-title {
    font-size: 24px;
    margin-bottom: 20px;
    font-weight: bold;
    text-align: center;
    color: #444;
}

.booking-alert-btn {
    width: 100%;
    text-align: center;
}

#to-cart {
    margin: 20px auto;
    padding: 10px 41px;
    font-size: 18px;
    border: 0px;
    background-color: #b95755;
    color: #fff;
    border-radius: 5px;
}

@media (max-width: 450px) {
    #booking-fix-block {
        display: none !important;
    }

    .fancybox-content {
        padding: 15px;
    }

    .booking-alert-title {
        font-size: 20px;
    }

    #to-cart {
        font-size: 15px;
    }

    .booking-fix-goto-calendar-phone {
        display: block !important;
    }

    .booking-fix-block-phone,
    .booking-fix-btn-phone {
        z-index: 4
    }

    .booking-fix-block-phone .booking-fix-select {
        position: fixed;
        top: 50px;
        width: 100%;
        background-color: #fff;
        z-index: 3;
        padding: 3px 10px;
        border: 1px solid #c5c6c7;
    }

    .booking-fix-block-phone .clear-chose-time-btn {
        float: right;
        font-size: 12px;
        height: 24px;
    }

    .booking-fix-btn-phone .booking-fix-btn,
    .booking-fix-goto-calendar-phone {
        position: fixed;
        bottom: 64px;
        width: 100%;
        z-index: 11;
    }

    .booking-fix-btn-phone .booking-fix-btn {
        background-color: #fff;
    }

    .booking-fix-btn-phone .booking-fix-btn .btn {
        width: 49.6%;
        color: #fff;
    }

    .booking-fix-btn-phone .go-shopping-cart-btn {
        margin: unset;
    }

    .booking-fix-goto-calendar-phone .goto_calendar {
        width: 100%;
        background-color: #9d343a;
        border-radius: unset;
        color: #fff;
        line-height: 42px;
        padding: unset;
    }
}

@media (max-width: 320px) {
    .booking-alert-title {
        font-size: 17px;
        margin-bottom: 10px;
    }

    .choose-course-block th {
        font-size: 14px !important;
    }

    .choose-course-block td {
        font-size: 12px !important;
    }
}

/* 已選取的彈跳視窗 END*/

/* 批次選課彈跳視窗 */
.multi-select-block {
    width: 670px;
}

.multi-select-table {
    max-height: 300px;
    overflow-y: auto;
    overflow-x: hidden;
}

.multi-select-block .booking-num {
    margin-top: 0px;
}

.multi-select-total-price {
    width: 100% !important;
    background-color: #eee;
    margin-top: 10px;
    padding: 10px 0px;
}

.booking-num .multi-select-result {
    width: 33%;
}

.multi-select-table-btn {
    text-align: center;
}

.multi-select-total {
    background-color: #eee;
    padding: 10px 0px;
}

.multi-select-total p {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}

.multi-select-table-btn button {
    margin: 20px auto;
    padding: 10px 41px;
    font-size: 18px;
    border: 0px;
    background-color: #b95755;
    color: #fff;
    border-radius: 5px;
}

@media (max-width: 450px) {

    .multi-select-table .booking-num p,
    .multi-select-table .booking-num a {
        width: calc(100%/3);
    }

    .multi-select-table th {
        font-size: 14px !important;
    }

    .multi-select-table td {
        font-size: 12px !important;
    }

    .multi-select-table th,
    .multi-select-table td {
        padding: 0.5rem !important;
    }

}

@media (max-width: 320px) {

    .multi-select-table th,
    .multi-select-table td {
        padding: 0.2rem !important;
    }
}


/* 批次選課彈跳視窗 END*/


/* 學員回饋 */
.content-students-main .rating-container {
    display: inline-block;
    font-size: 17px;
}

.content-students-main .rating-container .star {
    margin: 0 0.5px;
}

.content-students-main .rating-container .filled-stars {
    color: #9f353a;
    -webkit-text-stroke: unset;
    text-shadow: unset;
}

.content-students-main .star-score-text {
    line-height: 48px;
    vertical-align: middle;
}

/* 學員回饋 END*/

@media (max-width: 1199px) {
    .sticky {
        top: 50px;
    }
}

@media (max-width: 1024px) {
    .information-content-right {
        width: 620px;
    }

    .content-details-right,
    .information-content-rights,
    .content-details-left {
        width: 50%;
    }

    #booking-fix-block p,
    #booking-fix-block a {
        width: 30%;
    }

    #booking-fix-block .visitors {
        width: 40%;
    }

    #booking-fix-block .go-shopping-cart-btn {
        padding: 10px 8px;
    }

    .visitors {
        display: none;
    }
}

@media (max-width: 991px) {
    .instructor-images {
        width: 100%;
    }

    .information-content-right {
        float: left;
        width: 100%;
        margin-left: 0px;
        margin-top: 50px;
    }

    .content-title {
        text-align: center;
    }

    .information-content-left {
        width: 100%;
    }

    .information-content-uls li {
        float: left;
        display: block;
        width: 33.33%;
        margin: 0px;
        box-sizing: border-box;
        border-right: 1px solid #cccccc;
    }

    .information-content-uls li:last-child {
        border: none;
    }

    .information-content-rights {
        text-align: center;
        margin-top: 25px;
    }

    .information-content-rights .know-instructor-button {
        width: 80%;
        margin: 0 auto;
        margin-top: 10px;
    }

    .content-details-left {
        width: 100%;
    }

    .content-details-right,
    .information-content-rights {
        width: 100%;
    }

    .information-content {
        padding-bottom: 0px;
    }

    .information-tabs-block {
        padding: 30px 0px;
    }

    .instructor-article-phone {
        display: block;
        position: relative;
    }

    .instructor-article-pc {
        display: none;
    }

    .instructor-article-phone .news-article-group {
        padding-top: 36px;
    }

    .instructor-article-phone .news-article-author {
        top: 0px;
    }

    .instructor-article-phone.index-swiper .swiper-pagination {
        bottom: 29px;
    }

    .instructor-article-phone.index-swiper .swiper-button-prev,
    .instructor-article-phone.index-swiper .swiper-button-next {
        margin-top: -118px;
    }

    .instructor-article .content-titles {
        margin-bottom: 20px;
    }

    .instructor-article,
    .content-students {
        padding: 30px 0px;
    }

    .calendar-block {
        width: 100%;
    }

    .content-students-main {
        padding: 30px 5px 30px 5px;
    }

    .content-leave {
        padding: 10px;
    }

    .related-instructor-groups {
        width: 100%;
        padding: 0px;
    }

    .related-instructor-groups .instructor-image {
        width: 100%;
    }

    .related-instructor-groups .instructor-information {
        width: 100%;
    }

    .related-instructor-groups .instructor-block-bottoms {
        width: 100%;
        margin-bottom: 10px;
    }

    .related-instructor-groups .know-instructor-button {
        margin: 0 auto;
        margin-top: 10px;
        font-size: 14px;
        padding: 5px 0;
    }

    .related-instructor .instructor-information {
        padding-top: 5px;
    }

    .related-instructor-groups .instructor-block-bottoms .instructor-block-price .information-label {
        width: unset;
    }

}

@media (max-width: 450px) {

    #booking-fix-block p,
    #booking-fix-block a {
        width: 50%;
    }

    #booking-fix-block .visitors,
    #booking-fix-block .btn {
        width: 49%;
    }

    .booking-num .total_price {
        width: 67%;
    }
}

@media (max-width: 320px) {
    #booking-fix-block .go-shopping-cart-btn {
        padding: 10px 2px;
    }

    #booking-fix-block p,
    #booking-fix-block a {
        font-size: 15px;
    }
}

/* 包課彈跳視窗*/
.packclass-block {
    width: 49%;
    border: #ddd 1px solid;
}

.class-num-btn:hover {
    color: #fff !important;
}

.packclass-block .class-title {
    font-size: 20px;
    font-weight: bold;
}

.packclass-block p {
    margin: 8px 0px;
    font-size: 15px;
}

.total-block {
    background-color: #eee;
    display: flex;
    padding: 10px 0px;
}

.total-block p {
    float: left;
    width: 50%;
}

.total-block .price-text {
    font-size: 1em;
}

.packclass_num {
    width: 100%;
    text-align: center;
    border: 1px solid #ced4da;
    font-size: 0.9rem;
    display: block;
    height: 40px;
    font-weight: 400;
    line-height: 1.6;
}

.alert-text {
    font-size: 15px;
    font-weight: bold;
    color: #9f353a;
    margin: 10px 0px;
    display: none;
}



/* .packclass-choose-block{display: flex; margin-left: 10px;}
.class-num-btn{background-color: #9f353a;color: #fff!important;font-weight: bold;border: none;float: left;width: 40px;height: 40px;line-height: 40px;cursor: pointer;} 
.packclass-block .plus{border-radius: 0px 5px 5px 0px;}
.packclass-block .minus{border-radius: 5px 0px 0px 5px;}
.packclass_num{width: 100px;text-align: center; border: 1px solid #ced4da;font-size: 0.9rem;display: block;height: 40px; font-weight: 400; line-height: 1.6;}
.class-num-btn[disabled]{background-color: #d4d4d4;}
.packclass_num::-webkit-outer-spin-button,
.packclass_num::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
 @media (max-width: 450px){
	.packclass_num{width: 60px;}
	.packclass-block p{font-size: 14px;}
}

@media (max-width: 320px){
	.packclass_num{width: 50px;}
	.packclass-block p{font-size: 14px;}
	.total-block p{font-size: 15px;}

} */



/*END*/

