/*載入google fonts文字*/
@import "googleFonts.css";

html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body {
}

.page-section {
    padding: 0;
}

@media (max-width: 767px) {
    .menu-link {
        font-size: 1.1rem;
    }

    section p {
        font-size: 1.3rem;
    }
}

.page-section.dark {
    background-color: #E2E2E2;
}

    .page-section.dark * {
        color: #000;
    }

.slider-element .image_fade .bi-play {
    position: absolute;
    display: block;
    left: 50%;
    top: 50%;
    z-index: 99;
    color: #000;
    font-size: 20px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    background-color: #FFF;
    border-radius: 50%;
    text-align: center;
    padding-left: 4px;
    margin-top: -20px;
    margin-left: -20px;
}

.rotate-text {
    position: absolute;
    left: 40px;
    top: 50%;
    letter-spacing: 3px;
    color: #DDD !important;
    font-weight: 400;
    font-size: 11px;
    writing-mode: vertical-rl;
    -webkit-transform: translateY(-50%) rotate(-180deg);
    -moz-transform: translateY(-50%) rotate(-180deg);
    white-space: nowrap;
    cursor: pointer;
    z-index: 5;
    text-transform: uppercase;
}

    .rotate-text:before {
        padding-bottom: 7px;
        content: '\2190';
        display: inline-block;
    }

.primary-menu * {
    font-family: "Oswald", serif !important;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}

.primary-menu .book-tour {
    background-color: #d9d9d945;
    padding: 3px 10px;
    font-size: 1.1em;
    letter-spacing: 1px;
}

.is-expanded-menu .language-chg {
    position: fixed;
}

body:not(.is-expanded-menu) .language-chg {
    position: absolute;
}

.language-chg {
    /*position: fixed;*/
    color: #fff;
    top: calc(var(--cnvs-sticky-header-height) + var(--cnvs-primary-menu-ls));
    right: 0;
    z-index: 99;
    font-size: xx-small;
}

.btn-language {
    background-color: #f5f5f5bd;
    padding: 5px 12px;
    color: #6B6B6B !important;
    border-bottom-left-radius: 0.7em;
}

    .btn-language:hover {
        color: #900B09 !important;
    }

@media (max-width:768px) {
    .btn-language {
        font-size: 1.0rem;
    }
}

.legend {
    color: #FBD784;
    text-transform: uppercase;
    position: relative;
}


@media (max-width: 767px) {
    .legend {
        color: #FBD784;
        text-transform: uppercase;
        position: relative;
    }
}

.legend-red {
    color: #900B09 !important;
    text-transform: uppercase;
    font-family: "Oswald", serif;
    font-weight: 500;
    position: relative;
    letter-spacing: 3px;
    display: flex !important;
    /*align-items: flex-start;*/
}

.red-line {
    background-color: #900B09;
    height: 2px;
    margin-top: 10px;
    margin-bottom: 10px;
    margin-right: 10px;
    display: inline-flex;
}

.btn-red-bookAtour {
    display: block;
    background-color: #900B09;
    color: #fff;
    padding: 5px 12px;
    font-size: 1.1em;
    letter-spacing: 1px;
    text-align: center;
    font-family: "Oswald", serif;
}

.rotate-text {
    top: 20%;
}

    .rotate-text:before {
        padding-bottom: 7px;
        content: '\2192';
        display: inline-block;
    }

.scroll-down {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999;
    cursor: pointer;
    color: #fff;
}

    .scroll-down:hover {
        color: #FBD784;
    }

        .scroll-down:hover i {
            font-size: 30px;
            color: #FBD784;
        }

#map {
    width: 100%;
    height: 450px;
    max-height: 450px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    /*filter: grayscale(100%);*/ /* 灰階效果 */
    cursor: pointer;
}

#directionsPanel {
    width: 100%;
    max-height: 200px;
    overflow-y: auto;
    margin-top: 10px;
    background: #f5f5f5;
    padding: 10px;
}

@media (max-width: 767px) {
    .portfolio-item {
        /* 手機版樣式 */
        position: relative !important;
        left: 0 !important;
        top: 0 !important;
    }
}

.portfolio p {
    font-family: "Judson", serif;
    font-weight: 400;
    font-style: normal;
}

.portfolio ul {
    list-style: none;
}

.portfolio .item-icon {
    text-align: center;
}
    .portfolio .item-icon > div {
        background-color: #dedede4d;
        border-radius: 5px;
        padding: 10px 5px;
        height: 100%;
    }

/*.portfolio .row-cols-3 > .col {
    display: flex;
    flex-direction: column;
    align-items: center;
}

 為行未滿的項目自動置中 
.portfolio .row-cols-3 {
    display: flex;
    justify-content: center;  使該行內容置中 
    flex-wrap: wrap;  保持換行 
}
*/




.item-image {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

@media (max-width: 767px) {
    .item-image {
        background-size: contain;
        background-position: top center;
    }
}

.item-title {
    font-family: "Oswald", serif;
    font-weight: 700;
    font-size: 4rem;
    line-height: 3.5rem;
    color: #c6c6c6;
}

@media (min-width: 768px) {
    .item-title {
        font-size: 5rem;
        line-height: 4.5rem;
    }
}

@media (min-width: 1200px) {
    .item-title {
        font-size: 5rem;
    }
}

.item-icon {
    text-align: center;
    font-family: "Oswald", serif;
    font-weight: 700;
    /*margin-bottom: 10px;*/ /* 調整項目之間的垂直間距 */
}

    .item-icon i {
        font-weight: bolder;
    }

#footer {
    background-color: #4D4C4D;
}

@media (min-width: 992px) {
    #footer .col-lg-4:nth-child(2) {
        border-left: 1px solid white;
        border-right: 1px solid white;
    }
}

@media (max-width: 991.98px) {
    #footer .col-lg-4:nth-child(2) {
        border-top: 1px solid white;
        border-bottom: 1px solid white;
        border-left: none;
        border-right: none;
        padding-top: 20px;
        margin-bottom: 40px;
    }
}

.company-info {
}

    .company-info * {
        color: #c6c6c6;
    }

.contactUs {
    text-align: center;
    position: relative;
    font-family: "Oswald", serif;
    color: #FFF;
    transition: all 0.3s;
}


    /*.contactUs::after {
        position: absolute;
        top:50%;
        left: 0;
        right: 0;
        transform:translateY(-50%);
        content: '';
        border: 0px;
        border-radius: 30px;
        background-color: #900B09;
        color: #FFF;
        padding: 10px 37px;
        transition: all 0.3s;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);*/ /* 加入陰影特效 */
    /*z-index: 0;
    }*/

    .contactUs:hover {
        /*background-color: #ff9c00;
        color: #fff;
        box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4);*/ /* 加強陰影特效 */
    }

.border-icon {
    border-radius: 50%;
    padding: 7px 10px;
    border: 1px solid #d9d9d945;
    width: 36px;
    height: 36px;
}

textarea::placeholder,
input::placeholder {
    color: #30303045 !important;
}
