/* -------------------------------------------------------------
  Sass CSS3 Mixins! The Cross-Browser CSS3 Sass Library
  By: Matthieu Aussaguel, http://www.mynameismatthieu.com, @matthieu_tweets

  List of CSS3 Sass Mixins File to be @imported and @included as you need

  The purpose of this library is to facilitate the use of CSS3 on different browsers avoiding HARD TO READ and NEVER
  ENDING css files

  note: All CSS3 Properties are being supported by Safari 5
  more info: http://www.findmebyip.com/litmus/#css3-properties

------------------------------------------------------------- */
/* slider prev, slider next init */
.slick-slider .slick-prev,
.slick-slider .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    /*outline: none;*/
    background: transparent;
    z-index: 1;
}

/* slider prev, slider next init end */
.index-banner-slider {
    position: relative;
    background-color: #fff;
    width: 100%;
    /* Dots */
}

.index-banner-slider img {
    width: 100%;
    max-width: inherit;
}

index-banner-slider a {
    display: block;
    width: 100%;
}

.index-banner-slider .slick-prev,
.index-banner-slider .slick-next {
    width: 20px;
    height: 20px;
}

.index-banner-slider .slick-prev {
    left: calc(50% - 65px);
    top: calc(100% + 35px);
    background: url(../../images/style02/main_slider_prev.png) 0 0 no-repeat;
    background-size: contain;
}

.index-banner-slider .slick-next {
    right: calc(50% - 65px);
    top: calc(100% + 35px);
    background: url(../../images/style02/main_slider_next.png) 0 0 no-repeat;
    background-size: contain;
}

.index-banner-slider .slick-dotted.slick-slider {
    margin-bottom: 30px;
}

.index-banner-slider .slick-dots {
    position: absolute;
    bottom: -35px;
    left: 50%;
    display: block;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    -webkit-transform: translateX(-50%) translateY(50%);
    -khtml-transform: translateX(-50%) translateY(50%);
    -moz-transform: translateX(-50%) translateY(50%);
    -ms-transform: translateX(-50%) translateY(50%);
    -o-transform: translateX(-50%) translateY(50%);
    transform: translateX(-50%) translateY(50%);
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
}

.index-banner-slider .slick-dots li {
    position: relative;
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 5px 7px;
    padding: 0;
    cursor: pointer;
}

.index-banner-slider .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 10px;
    height: 10px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.index-banner-slider .slick-dots li button:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    content: '';
    text-align: center;
    background: #cdcdcd;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.index-banner-slider .slick-dots li.slick-active button:before {
    background: #133d68;
}

/* banner 
*****************************************************/
.index-banner-wrapper {
    position: relative;
    width: 100%;
    z-index: 1;
}

/* Dots end */
/* banner end
*****************************************************/
.index {
    background-color: #f3faff;
    overflow: hidden;
}

.index-section {
    position: relative;
}

.index-section-inner {
    margin: 0 auto;
    max-width: 1200px;
    position: relative;
}

.index-section__heading {
    text-align: center;
    font-size: 1.875em;
    color: #333;
    margin-bottom: 40px;
    font-weight: 400;
    position: relative;
}

.index-section__heading:before {
    content: "";
    position: absolute;
    bottom: -15px;
    left: 50%;
    background-color: #2180c4;
    display: block;
    width: 53px;
    height: 3px;
    -webkit-transform: translateX(-50%);
    -khtml-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}

.index-section .btn-row {
    text-align: center;
}

.index-section .btn {
    margin: 0 auto;
    width: 200px;
    height: 50px;
    padding: 0;
    line-height: 46px;
    color: #efa413;
    background-color: #fff;
    font-size: 0.9375em;
    font-weight: 700;
    border: 2px solid #0083aa;
    border-radius: 5px;
}

.index-section .btn .arrow {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5.5px 0 5.5px 6px;
    border-color: transparent transparent transparent #0083aa;
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    position: relative;
    top: -2px;
}

.index-section .btn:hover,
.index-section .btn:active {
    color: #fff;
    background-color: #0083aa;
}

.index-section .btn:hover .arrow,
.index-section .btn:active .arrow {
    border-color: transparent transparent transparent #fff;
}

.index-news {
    padding-top: 95px;
    padding-bottom: 75px;
    position: relative;
}

.index-news-bg {
    position: absolute;
    top: 50px;
    left: 0;
    width: 100%;
    height: 1000px;
    background-image: url(../../images/style02/index-news-bg.jpg);
    background-position: right top;
    background-size: auto;
    background-repeat: no-repeat;
    pointer-events: none;
}

.index-news__list {
    width: calc(100% - 20%);
    max-width: 1048px;
    margin: 0 auto;
    margin-bottom: 30px;
}

.index-news .item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    background-color: #fff;
    border-radius: 10px 0 0 10px;
    overflow: hidden;
    margin-bottom: 10px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}

.index-news .date {
    color: #fff;
    width: calc(100% - 110px);
    line-height: 30px;
}

.news-tag a {
    background: #fff;
    font-size: 0.95rem;
    font-weight: bold;
    padding: 5px 9px;
    display: inline-block;
    margin: 0 3px 0 0;
    border-radius: 2px;
}

.news-tag span {
    background: #fff;
    font-size: 0.95rem;
    font-weight: bold;
    padding: 5px 9px;
    display: inline-block;
    margin: 0 3px 0 0;
    border-radius: 2px;
}

.index-news .tag {
    width: 110px;
    height: 30px;
    line-height: 30px;
    font-size: 0.9375em;
    color: #333;
    text-align: center;
    background-color: #fff;
    font-weight: 500;
    padding: 0px;
}

.index-news .item-header {
    width: 272px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    background-color: #0083aa;
    padding: 20px;
}

.index-news .item-conent {
    width: calc(100% - 295px);
}

.index-news .main-text {
    font-size: 1.1875em;
    line-height: 30px;
    font-weight: 500;
    margin: 0;
}

.index-news .main-text a {
    color: #375980;
    display: block;
    padding: 20px;
    padding-right: 40px;
    position: relative;
}

.index-news .main-text a:before {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    width: 6px;
    height: 10px;
    display: block;
    background-image: url(../../images/style02/index-news-arrow.png);
    -webkit-transform: translateY(-50%);
    -khtml-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}

.index-news-tab {
    list-style: none;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: none;
    flex-wrap: nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    margin: 0 auto 55px;
    padding: 0;
}

.index-news-tab li {
    margin: 0 15px;
}

.index-news-tab a {
    display: block;
    width: 180px;
    height: 56px;
    border-radius: 56px;
    line-height: 56px;
    text-align: center;
    color: #fff;
    font-size: 1.25em;
    font-weight: 700;
    position: relative;
    background-color: #2ab8aa;
}

.index-news-tab a:before {
    content: "";
    position: absolute;
    bottom: -9px;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 9px 8px 0 8px;
    border-color: #0083aa transparent transparent transparent;
    -webkit-transform: translateX(-50%);
    -khtml-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    display: none;
}

.index-news-tab a.current {
    background-color: #0083aa;
}

.index-news-tab a.current:before {
    display: block;
}

.index-news-content {
    display: block;
}

.index-news-content--hidden {
    display: none;
}

.index-activity {
    padding-top: 55px;
    padding-bottom: 145px;
}

.index-activity-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 26vw;
    height: 100%;
    background-color: #6eddd2;
    pointer-events: none;
}

.index-activity .index-section__heading {
    margin: 0 auto 85px;
}

.index-activity .index-section__heading span {
    position: relative;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -moz-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
}

.index-activity__icon {
    position: absolute;
    top: 0;
    right: calc(100% + 20px);
    width: 55px;
    height: 56px;
    display: block;
    background-image: url(../../images/style02/index-activity-icon.png);
}

.index-activity-slider {
    width: 100%;
    margin-bottom: 40px;
    position: relative;
}

.index-activity-slider .slick-prev {
    left: -125px;
    top: calc(100% - 60px);
    background: url(../../images/style02/index_slider_prev.png) 0 0 no-repeat;
}

.index-activity-slider .slick-next {
    left: -125px;
    right: inherit;
    top: calc(100% - 120px);
    background: url(../../images/style02/index_slider_next.png) 0 0 no-repeat;
}

.index-activity-slider .slick-prev,
.index-activity-slider .slick-next {
    width: 45px;
    height: 45px;
    background-size: contain;
    -webkit-transform: none;
    -khtml-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    -o-transform: none;
    transform: none;
}

.index-activity-slider .slick-disabled {
    opacity: .2;
}

.index-activity .btn-row {
    text-align: center !important;
    padding-right: 0px !important;
}

.index-activity .index-section-inner {
    max-width: 1265px;
}

.index-activity__content {
    padding-left: 140px;
}

.index-activity .item {
    position: relative;
    background-color: #fff;
    margin: 15px;
    border-bottom: 8px solid #0083aa;
}

.index-activity .item-image {
    padding-top: 70%;
    position: relative;
    overflow: hidden;
}

.index-activity .item-image img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -khtml-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    width: 102%;
}

.index-activity .item-content {
    padding: 20px 15px;
    min-height: 115px;
    box-shadow: 0 8px 10px rgba(72, 72, 72, 0.1);
}

.index-activity .item .date {
    font-size: 0.9375em;
    line-height: 1.5;
    color: #8c8c8c;
    font-weight: 700;
    font-family: "Myriad Pro";
}

.index-activity .item .main-text {
    font-size: 1.1em;
    line-height: 1.5;
    color: #333;
    font-weight: bold;
    display: inline-block;
    overflow: hidden;
    height: 50px;
}

.index-publication {
    background-color: #cff9fd;
    padding-top: 75px;
    padding-bottom: 50px;
}

.index-publication-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../../images/style02/index-publication-bg.png);
    background-position: center 100%;
    background-size: auto;
    background-repeat: repeat-x;
    pointer-events: none;
}

.index-publication .index-section__heading {
    margin-bottom: 90px;
}

.index-publication .index-section-inner {
    margin: 0 auto;
    max-width: 1290px;
    position: relative;
}

.index-publication__content {
    padding: 0 40px;
}

.index-publication-slider {
    width: 100%;
    margin-bottom: 40px;
    position: relative;
}

.index-publication-slider .slick-prev {
    left: -40px;
    background: url(../../images/style02/index_slider_prev.png) 0 0 no-repeat;
}

.index-publication-slider .slick-next {
    right: -40px;
    background: url(../../images/style02/index_slider_next.png) 0 0 no-repeat;
}

.index-publication-slider .slick-prev,
.index-publication-slider .slick-next {
    top: 40%;
    width: 45px;
    height: 45px;
    background-size: contain;
}

.index-publication-slider .slick-disabled {
    opacity: .2;
}

.index-publication .item {
    position: relative;
    padding: 0 35px;
}

.index-publication .item-image {
    position: relative;
    width: 100%;
    max-width: 220px;
    margin: 0 auto;
}

.index-publication .item-image span {
    max-width: 200px;
}

.index-publication .item-image span:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    background-image: url(../../images/style02/index-publication-item-bg.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: contain;
    display: block;
    width: 100%;
    height: 23px;
    -webkit-transform: translateX(-50%);
    -khtml-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}

.index-publication .item-image img {
    width: 100%;
    max-width: 200px;
    display: block;
    margin: 0 auto;
}

.index-publication .item-content {
    padding: 25px 0;
}

.index-publication .item .main-text {
    font-size: 1.125em;
    line-height: 1.5;
    color: #333;
    text-align: center;
}


/* 活動行事曆
**********************************************/
.index-calendar-wrap {
    padding: 50px 0;
}

.index-calendar {
    width: 90%;
    max-width: 1200px;
    margin: 20px auto;
    display: flex;
    justify-content: space-between;
}

.index-calendar .calendar {
    width: 48%;
    background: #fff;
}

.index-calendar .calendar-my {
    float: left;
    width: 100%;
    background: #cb7c6a;
    font-size: 1.054em;
    padding: 16px 6px;
    position: relative;
    border: 1px solid #fff;
}

.index-calendar .calendar-my a,
.index-calendar .calendar-my strong {
    color: #fff;
    font-weight: bold;
}

.index-calendar .calendar-my strong {
    text-align: center;
    float: left;
    width: 100%;
    font-size: 1.2rem;
}

.index-calendar .calendar a.pre-m,
.index-calendar .calendar a.next-m {
    display: block;
    position: absolute;
    font-size: 0;
    width: 20px;
    height: 20px;
    z-index: 9999;
    top: 50%;
    transform: translateY(-50%);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100%;
}

.index-calendar .calendar a.pre-m {
    left: 33%;
    background-image: url(../../images/arr-left-white.svg);
}

.index-calendar .calendar a.next-m {
    right: 33%;
    background-image: url(../../images/arr-right-white.svg);
}

.index-calendar .calendar-cont {
    float: left;
    width: 100%;

    position: relative;
}

.index-calendar .cal-day,
.index-calendar .cal-date {
    list-style: none;
    padding: 0;
    margin: 0;
    float: left;
    width: 100%;
    font-weight: bold;
}

.index-calendar .cal-day {
    background: #fff;
    font-size: 1em;
}

.index-calendar .cal-day li,
.index-calendar .cal-date li {
    list-style: none;
    padding: 15px 0;
    background: #dddddd;
    border-radius: 0;
    float: left;
    width: calc(100% / 6 - 14px);
    color: #222;
    text-align: center;
    margin: 0;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    position: relative;
}

.index-calendar .cal-date li {
    padding: 10px 0;
    height: 54px;
    background: #fff6ea;
    font-size: 0.9em;
}

.index-calendar .cal-date li a {
    display: block;
    width: 100%;
    padding: 0;
    height: 100%;
    color: #333333;
}

.index-calendar .cal-date li.cal-current-day span {
    background: #944837;
    border-radius: 150%;
    width: 33px;
    height: 33px;
    color: #fff;
    display: block;
    padding: 7px;
}

.index-calendar .cal-date li.cal-activity {
    background: #ffeab8;
}

.index-calendar .cal-date li span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.index-calendar .calendar-event-wrap {
    background: #fff6ea;
    padding: 30px;
    width: 48%;
}

.index-calendar .calendar-event-list {
    list-style: none;
    padding: 0 30px 0 0;
    margin: 0;
    height: 310px;
    overflow-y: auto;
}

.index-calendar .calendar-event-list li {
    padding: 10px 0;
}

.index-calendar .calendar-event-list .date {
    display: block;
    color: #cb7c6a;
    font-weight: bold;
    font-size: 0.95em;
    margin-bottom: 5px;
}

.index-calendar .calendar-event-list .date .icon {
    margin-right: 5px;
}

.index-calendar .calendar-event-list .txt {
    display: block;
    color: #222;
    font-size: 1.105em;
    line-height: 1.3;
}

/* 活動行事曆 end
**********************************************/

/*常用入口模組
**********************************************/

section.index-service-entrance {
    background: #cfeefd;
    padding: 50px 0;
}

.service-entrance-tab-cont {
    margin: 0 auto;
    padding: 0px 20px;
}

.fast-link-cont {
    width: 100%
}

.fast-link-cont {
    position: relative;
    display: flex;
    overflow: hidden;
    margin: 0;
    padding: 20px 0;
    justify-content: center;
}

.fast-link-tab a {
    display: inline-block;
    vertical-align: top;
    float: left;
}

.fast-link-img {
    width: 135px;
    height: 135px;
    background: #1faf9c;
    border-radius: 100%;
    display: block;
    margin: 0 auto;
    position: relative;
}

.fast-link-img img {
    width: 72px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.fast-link-tab a p {
    margin: 9px 0 0 0;
    float: left;
    width: 100%;
    text-align: center;
    font-size: 1.1em;
    font-weight: bold;
    color: #333333;
    padding: 0 12px;
}






/* 地圖
**********************************************/
section.index-map-wrap {
    background: #fff;
}

.index-map {
    width: 90%;
    max-width: 1280px;
    margin: 0 auto;
    overflow: hidden;
    padding: 50px 0;
}

.index-map-cont {
    width: 65%;
    float: left;
}

.index-map-info {
    float: right;
    width: 30%;
}

.index-map-info .logo {
    margin: 20px 0 30px 0;
    display: block;
    width: 80%;
}

.index-map-info .contact {
    list-style: none;
    margin: 0;
    padding: 0;
    font-weight: bold;
}

.index-map-info .contact li {
    margin: 10px 0;
    line-height: 1.4;

}

.index-map-info .btn {
    background: #df3b85;
    color: #FFF;
    text-align: center;
    padding: 10px 10px;
    width: 200px;
    margin: 20px auto;
    display: block;
    position: relative;
    font-weight: bold;
}

.index-map-info .arr {
    position: absolute;
    right: 10px;
    top: 17px;
    font-size: 0.7rem;
}

/* 地圖 end
**********************************************/

.index-related {
    padding-top: 50px;
    padding-bottom: 270px;
}

.index-related-bg {
    position: absolute;
    bottom: 0;
    left: 5%;
    width: 352px;
    height: 183px;
    background-image: url(../../images/style02/index-related-bg.jpg);
    background-position: left bottom;
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
}

.index-related .slide-item {
    padding: 0 13px;
}

.index-related .slide-item img {
    width: 100%;
    border: 1px solid #84ccc9;
}

.index-related .slick-dots {
    position: absolute;
    bottom: -30px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}

.index-related .slick-dots li {
    position: relative;
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}

.index-related .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 10px;
    height: 10px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.index-related .slick-dots li button:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    content: '';
    text-align: center;
    background: #cdcdcd;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.index-related .slick-dots li.slick-active button:before {
    background: #133d68;
}
