 body {
   position: relative;
   width: 100%;
   font-family: "Noto Sans TC", "Roboto", sans-serif;
   font-size: 16px;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   box-sizing: border-box;
   line-height: normal;
 }

 .slider-menu-position .rd-navbar-wrap {
   position: relative;
 }

 .rd-navbar-floated.rd-navbar-static .rd-navbar-nav-wrap {
   margin: 0;
 }

 .rd-navbar-floated .rd-navbar-brand a img {
   width: 100%;
   max-width: 220px;
   z-index: 0;
 }

 .rd-navbar-floated.rd-navbar-static.rd-navbar--is-stuck .rd-navbar-inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
 }

 .rd-navbar-floated.rd-navbar-static .rd-navbar-menu-wrap {
   display: flex;
   align-items: center;
 }

 @media(max-width:1399px) {
   .rd-navbar-floated.rd-navbar-static .rd-navbar-menu-wrap {
     justify-content: center;
     width: 100%;
   }
 }

 .rd-navbar ul {
   padding: 0;
 }

 .rd-navbar-floated.rd-navbar-light.rd-navbar-static .rd-navbar-nav>li a {
   color: #262627;
   font-size: 16px;
   font-weight: normal;
 }

 .rd-navbar-default.rd-navbar-static .rd-navbar-nav>li.active a,
 .rd-navbar-floated.rd-navbar-static .rd-navbar-nav>li.active a,
 .rd-navbar-top-panel.rd-navbar-static .rd-navbar-nav>li.active a {
   color: #eb8fb8;
   font-weight: bold;
 }

 .rd-navbar-default.rd-navbar-static .rd-navbar-nav>li+li,
 .rd-navbar-floated.rd-navbar-static .rd-navbar-nav>li+li,
 .rd-navbar-top-panel.rd-navbar-static .rd-navbar-nav>li+li {
   margin-left: 26px;
 }

 .rd-navbar-floated.rd-navbar-light .rd-navbar-search-toggle span,
 .rd-navbar-floated.rd-navbar-light .rd-navbar-cart span {
   color: #262627;
   font-size: 28px;
 }

 .rd-navbar-floated.rd-navbar-fixed .rd-navbar-top-panel-toggle span {
   color: #262627;
   font-size: 28px;
 }

 .rd-navbar-floated.rd-navbar-fixed .rd-navbar-brand {
   left: 50%;
   top: 50%;
   transform: translate(-50%, -50%);
   position: absolute;
   display: flex;
 }

 @media(max-width:1399px) {
   .rd-navbar-floated.rd-navbar-static .rd-navbar-brand {
     width: 100%;
     display: flex;
     justify-content: center;
   }

   .rd-navbar-floated.rd-navbar-static .rd-navbar-inner>.rd-navbar-top-panel {
     margin-bottom: 20px;
   }
 }

 .contact-info a {
   font-size: 14px;
   display: flex;
   align-items: center;
   justify-content: flex-start;
   text-align: left;
 }

 .rd-navbar-top-panel .contact-info a {
   color: #fff;
 }

 .rd-navbar-top-panel .contact-info .icon {
   margin-right: 6px;
 }

 .info ul {
   display: grid;
   gap: 20px;
   padding: 0;
   margin: 0;
   text-align: left;
 }

 .info ul li {
   width: 100%;
   position: relative;
   padding: 0 0 20px 0;
   border-bottom: 1px solid #dcdcdc;
   list-style: none;
 }

 .info ul li:last-child {
   border-bottom: 0px solid #dcdcdc;
 }

 .info ul li a h4 {
   position: relative;
   color: #262627;
   transition: .3s linear;
   margin-top: 0px;
 }

 .info ul li a h4:hover {
   color: #6b436c;
 }

 .info ul.list-type li a h4 {
   padding-left: 20px;
   font-size: 18px;
 }

 .info ul.list-type li a h4::before {
   content: "";
   position: absolute;
   left: 0px;
   top: 50%;
   transform: translateY(-50%);
   width: 8px;
   height: 8px;
   background: #6b436c;
 }

 .info ul li a.btn {
   display: inline-flex;
   background: #6b436c;
   color: #fff;
   text-align: center;
   font-size: 16px;
 }

 .info ul li a.btn:hover {
   background: #eb8fb8;
 }

 .info ul h4 {
   font-size: 20px;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 1;
   line-height: 1.6;
   overflow: hidden;
   text-overflow: ellipsis;
   word-break: break-word;
 }

 .info ul li p {
   font-size: 16px;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 1;
   line-height: 1.6;
   overflow: hidden;
   text-overflow: ellipsis;
   word-break: break-word;
   margin: 10px 0;
 }

 .info ul li .detail span {
   font-size: 16px;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 1;
   line-height: 1.6;
   overflow: hidden;
   text-overflow: ellipsis;
   word-break: break-word;
 }

 .info ul li span {
   display: flex;
   justify-content: flex-start;
   color: #979797;
   font-size: 14px;
   margin-bottom: 2px;
 }

 .info ul.teachers {
   display: grid;
   grid-template-columns: 1fr 1fr 1fr;
 }

 .info ul.teachers li {
   display: grid;
   gap: 10px;
   border: 0px;
 }

 .info ul.teachers li a {
   display: grid;
   gap: 10px;
 }

 .info ul.teachers li a img {
   width: 100%;
   height: 300px;
   object-fit: cover;
 }

 .info ul.teachers li .detail {
   display: flex;
   flex-direction: column;
   gap: 20px;
 }

 .info ul.teachers li .detail .txt p {
   display: flex;
   font-size: 14px;
   margin: 0;
 }


 /* 篩選框樣式 */
 .filter-container {
   display: flex;
   align-items: center;
   margin-bottom: 40px;
 }

 .filter-container h4 {
   margin-bottom: 0px;
 }

 .filter-container .filter-box {
   display: flex;
   gap: 5px;
 }

 .filter-container .dropdown {
   position: relative;
   width: auto;
   min-width: 200px;
   padding: 10px;
   font-size: 16px;
   border: 1px solid #dcdcdc;
   border-radius: 5px;
   appearance: none;
   background-image: url("/images/scrolldown-dark.png");
   background-repeat: no-repeat;
   background-position: 172px center;
   background-size: 20px;
 }

 .filter-container .dropdown::after {
   content: "\e92e";
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   right: 10px;
 }

 .filter-container .filter-btn {
   padding: 10px 15px;
   font-size: 16px;
   color: #fff;
   background-color: #6b436c;
   border: none;
   border-radius: 5px;
   cursor: pointer;
   transition: background-color 0.3s;
 }

 .filter-container .filter-btn:hover {
   background-color: #4a4a4a;
 }

 .contentInfo .heading-text {
   line-height: normal;
 }

 .detailPage .topinfo {
   display: flex;
   align-items: flex-start;
   justify-content: flex-start;
   gap: 20px;
 }

 .detailPage .topinfo .photo img {
   width: 100%;
   max-width: 300px;
   margin-bottom: 40px;
 }

 .detailPage .topinfo p {
   margin: 0
 }

 .detailPage table tr {
   vertical-align: top;
 }

 .detailPage table tr td {
   font-size: 14px;
   padding: 4px;
 }

 .detailPage p.nav {
   display: flex;
   align-items: center;
   justify-content: space-between;
 }

 .detailPage p.nav em {
   font-style: normal;
 }

 .detailPage h4 {
   font-size: 24px;
   border-bottom: 2px solid #dcdcdc;
   margin: 10px 0;
   padding: 10px 0;
 }

 .detailPage .btminfo {
   font-size: 16px;
   line-height: 1.8;
   margin: 20px auto;
 }

 .thumbnail-terry:hover .thumbnail-terry-title {
   color: #ffffff;
 }

 html .group-xs>*:not(.group-item) {
   color: #fff;
   font-style: normal;
 }

 .btn-danger:focus,
 .btn-danger.focus,
 .btn-danger:hover,
 .btn-danger:active,
 .btn-danger.active,
 .open>.btn-danger.dropdown-toggle {
   color: #fff;
 }

 .footer-brand a img {
   width: 100%;
   max-width: 220px;
 }

 .rd-parallax-inner {
   margin-top: 0px !important;
   padding: 0px !important;
 }

 .page-content {
   padding-top: 00px;
 }

 @media(max-width:992px) {
   .page-content {
     padding-top: 0px;
   }
 }

 .page-footer {
   color: #262627;
   background: #f4f1ed;
   padding: 20px;
 }

 .page-footer .foot {
   width: 100%;
   max-width: 1200px;
   display: grid;
   grid-template-columns: 3fr 1fr;
   text-align: left;
   margin: 0 auto;
   font-size: 14px;
   align-items: center;
 }

 .page-footer .foot .logo img {
   width: 100%;
   max-width: 200px;
 }

 .page-footer .foot .info {
   display: flex;
   flex-direction: column;
   gap: 10px;
 }

 .page-footer .foot .info .txt {
   display: flex;
   flex-direction: column;
   gap: 4px;
 }

 .page-footer .foot .info p {
   margin: 0;
   line-height: 1.4;
 }

 .page-footer .foot .social {
   display: grid;
   grid-template-columns: 1fr 1fr 1fr;
   gap: 6px;
 }

 .page-footer .foot .social a img {
   width: 100%;
   max-width: 100px;
 }

 .post-boxed .post-tags {
   top: 20px;
   left: 20px;
 }

 html .group-xs>*:not(.group-item) {
   border-radius: 4px;
 }

 .rd-navbar-default.rd-navbar-light.rd-navbar-fixed .rd-navbar-panel,
 .rd-navbar-floated.rd-navbar-light.rd-navbar-fixed .rd-navbar-panel,
 .rd-navbar-top-panel.rd-navbar-light.rd-navbar-fixed .rd-navbar-panel,
 .rd-navbar-logo-center.rd-navbar-light.rd-navbar-fixed .rd-navbar-panel {
   box-shadow: 0 2px 11px 0 rgb(0, 0, 0, .2);
 }

 a {
   text-decoration: none;
   color: #444;
 }

 a:hover {
   text-decoration: none;
   color: #875993;
   transition: 0.3s linear;
 }

 .accordion-menu {
   width: 100%;
   margin: 15px auto;
   background: #fff;
   padding: 0;
 }

 .accordion-menu a {
   width: 100%;
   color: #444;
   margin: 15px auto;
   background: #fff;
 }

 .accordion-menu a:hover {
   color: #875993;
   background: #fff;
 }

 .accordion-menu li {
   list-style: none;
   text-align: left;
 }

 .accordion-menu li.open .dropdownlink {
   color: #888;
   text-align: left;
 }

 .accordion-menu li.open .dropdownlink a {
   color: #875993;
 }

 .accordion-menu li.open .dropdownlink .fa-chevron-down {
   transform: rotate(180deg);
 }

 .accordion-menu li:last-child .dropdownlink {
   border-bottom: 0;
 }

 .dropdownlink {
   cursor: pointer;
   display: block;
   padding: 15px 15px 15px 0px;
   font-size: 16px;
   border-bottom: 1px solid #dcdcdc;
   color: #212121;
   position: relative;
   transition: all 0.4s ease-out;
   font-weight: 400;
 }

 .dropdownlink i {
   position: absolute;
   top: 16px;
   left: 0px;
 }

 .dropdownlink .fa-chevron-down {
   right: 12px;
   left: auto;
 }

 .submenuItems {
   display: none;
 }

 .submenuItems li {
   border-bottom: 1px solid #86b686;
 }

 .submenuItems a {
   display: block;
   color: #727272;
   padding: 15px 0px 12px 0px;
   transition: all 0.4s ease-out;
 }

 .submenuItems a:hover {
   color: #111;
 }

 .page-banner {
   position: relative;
   width: 100%;
   height: auto;
   max-height: 420px;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 0 !important;
 }

 .page-banner .banner {
   position: relative;
   width: 100%;
   height: auto;
   max-height: 420px;
 }

 .page-banner .container {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
 }

 .page-banner .page-title h1,
 .page-banner .breadcrumb {
   color: #fff;
   font-weight: bold !important;
 }

 .contentPage {
   width: 100%;
   display: grid;
   grid-template-columns: 1fr 3fr;
   gap: 40px;
   text-align: left;
 }

 @media(max-width:1200px) {
   .info ul.teachers {
     grid-template-columns: 1fr 1fr;
   }
 }

 @media(max-width:768px) {
   .contentPage {
     grid-template-columns: 1fr;
     gap: 30px;
     margin-top: 60px !important;
   }

   .page-footer .foot {
     grid-template-columns: 1fr;
     gap: 20px;
   }

   .page-footer .foot .social a {
     display: flex;
     justify-content: center;
   }
 }

 .contentInfo .info p {
   font-size: 16px;
   line-height: 2;
 }

 .widget .widget-title,
 .widget>h4 {
   margin: 30px 0;
 }

 #page-content:not(.no-sidebar) {
   padding: 80px 0px;
 }

 /* 篩選框樣式 */
 .filter-container {
   display: flex;
   align-items: center;
   margin-bottom: 40px;
 }

 .filter-container h4 {
   margin-bottom: 0px;
 }

 .filter-container .filter-box {
   display: flex;
   gap: 5px;
 }

 .filter-container .dropdown {
   position: relative;
   width: auto;
   min-width: 200px;
   padding: 10px;
   font-size: 16px;
   border: 1px solid #dcdcdc;
   border-radius: 5px;
   appearance: none;
   background-image: url("/images/scrolldown-dark.png");
   background-repeat: no-repeat;
   background-position: 172px center;
   background-size: 20px;
 }

 .filter-container .dropdown::after {
   content: "\e92e";
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   right: 10px;
 }

 .filter-container .filter-btn {
   padding: 10px 15px;
   font-size: 16px;
   color: #fff;
   background-color: #6a6a6a;
   border: none;
   border-radius: 5px;
   cursor: pointer;
   transition: background-color 0.3s;
 }

 .filter-container .filter-btn:hover {
   background-color: #4a4a4a;
 }

 .contentInfo .heading-text {
   line-height: normal;
 }

 .detailPage .topinfo {
   display: flex;
   align-items: flex-start;
   justify-content: flex-start;
   gap: 20px;
 }

 .detailPage .topinfo .photo img {
   width: 100%;
   max-width: 300px;
   margin-bottom: 40px;
 }

 .detailPage .topinfo p {
   margin: 0
 }

 .detailPage table tr {
   vertical-align: top;
 }

 .detailPage table tr td {
   font-size: 14px;
   padding: 4px;
 }

 .detailPage p.nav {
   display: flex;
   align-items: center;
   justify-content: space-between;
 }

 .detailPage p.nav em {
   font-style: normal;
 }

 .detailPage h4 {
   font-size: 24px;
   border-bottom: 2px solid #dcdcdc;
   margin: 10px 0;
   padding: 10px 0;
 }

 .detailPage .btminfo {
   font-size: 16px;
   line-height: 1.8;
   margin: 20px auto;
 }

 .tab-menu {
   list-style: none;
   display: flex;
   padding: 0;
   margin: 0;
   border-bottom: 2px solid #dcdcdc;
 }

 .tab-item {
   flex: 1;
   text-align: center;
   padding: 10px 15px;
   cursor: pointer;
   border-bottom: none;
   border: 1px solid #dcdcdc;
   background-color: #f9f9f9;
   transition: background-color 0.3s ease;
 }

 .tab-item.active {
   color: #fff;
   background-color: #4a4a4a;
   font-weight: bold;
 }

 .tab-item:hover {
   background-color: #eaeaea;
 }

 .tabs-content {
   border: 1px solid #dcdcdc;
   padding: 25px;
   background-color: #fff;
 }

 .tab-pane {
   display: none;
 }

 .tab-pane.active {
   display: block;
 }

 .heading-text {
   margin-bottom: 30px;
 }

 .s-title-wrap {
   display: flex;
   width: 100%;
   margin-bottom: 30px;
 }

 .ss-title {
   width: auto;
   font-size: 20px;
   padding-left: 8px;
   line-height: 20px;
   color: #875993;
   font-weight: 500;
 }

 .s-title-txt {
   color: #333;
   font-size: 36px;
   padding-right: 0px;
   font-weight: 500;
 }

 .pagination {
   display: flex;
   justify-content: center;
   padding: 10px 0;
 }

 .pagination a {
   color: #333;
   padding: 8px 16px;
   margin: 0 4px;
   text-decoration: none;
   border: 1px solid #ddd;
   border-radius: 4px;
   transition: background-color 0.3s ease;
 }

 .pagination a.active {
   background-color: #6a6a6a;
   color: white;
   border: 1px solid #6a6a6a;
 }

 .pagination a:hover:not(.active) {
   background-color: #f1f1f1;
 }

 .typeContact {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 20px;
   background: #fbf9f6;
 }

 @media(max-width:1024px) {
   .typeContact {
     grid-template-columns: 1fr;
   }
 }

 .contact-info-text {
   color: #262627;
   padding: 30px;
   text-align: left;
 }

 .contact-info-text h2 {
   margin-bottom: 20px;
 }

 .contact-info-text p {
   margin: 0px;
   display: flex;
 }

 .contact-form {
   padding: 30px;
   display: flex;
 }

 .contact-form form {
   display: flex;
   flex-direction: column;
   width: 100%;
   text-align: left;
 }

 .contact-form label {
   margin-bottom: 5px;
 }

 .contact-form input,
 .contact-form textarea {
   margin-bottom: 15px;
   padding: 10px;
   font-size: 16px;
   border: 1px solid #ccc;
   border-radius: 4px;
   width: 100%;
 }

 .contact-form button {
   padding: 10px 20px;
   font-size: 16px;
   background: #6b436c;
   color: #ffffff;
   border: none;
   border-radius: 4px;
   cursor: pointer;
   transition: background 0.3s;
 }

 .contact-form button:hover {
   background: #eb8fb8;
 }

 .thumbnail-terry .thumbnail-terry-title {
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   line-height: 1.2;
   overflow: hidden;
   text-overflow: ellipsis;
   word-break: break-word;
   white-space: wrap;
   font-size: 24px;
 }

 .bannerSlider,
 .videoSlider {
   width: 100%;
   padding: 0;
 }

 .slide__image img {
   width: 100%;
 }

 .hs-responsive-embed-youtube {
   position: relative;
   padding-bottom: 56.25%;
 }

 .hs-responsive-embed-youtube iframe {
   position: absolute;
   width: 100% !important;
   height: 100% !important;
 }

 .videoSlider .slick-track {
   display: flex;
   gap: 20px;
 }