﻿@charset "UTF-8";

html {
    box-sizing: border-box;
}

*, *:before, *:after {
    box-sizing: inherit;
}

html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
}

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
    display: block;
}

audio, canvas, progress, video {
    display: inline-block;
}

progress {
    vertical-align: baseline;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

[hidden], template {
    display: none;
}

a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects;
}

    a:active, a:hover {
        outline-width: 0;
    }

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted;
}

dfn {
    font-style: italic;
}

mark {
    background: #ff0;
    color: #000;
}

small {
    font-size: 80%;
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

figure {
    margin: 1em 40px;
}

img {
    border-style: none;
}

svg:not(:root) {
    overflow: hidden;
}

code, kbd, pre, samp {
    font-family: monospace,monospace;
    font-size: 1em;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

button, input, select, textarea {
    font: inherit;
    margin: 0;
}

optgroup {
    font-weight: bold;
}

button, input {
    overflow: visible;
}

button, select {
    text-transform: none;
}

button, html [type=button], [type=reset], [type=submit] {
    -webkit-appearance: button;
}

    button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner {
        border-style: none;
        padding: 0;
    }

    button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring {
        outline: 1px dotted ButtonText;
    }

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: .35em .625em .75em;
}

legend {
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}

textarea {
    overflow: auto;
}

[type=checkbox], [type=radio] {
    padding: 0;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
    height: auto;
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

    [type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration {
        -webkit-appearance: none;
    }

::-webkit-input-placeholder {
    color: inherit;
    opacity: 0.54;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    a[href^="#"]:after, a[href^="javascript:"]:after {
        content: "";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    pre {
        white-space: pre-wrap !important;
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr, img {
        page-break-inside: avoid;
    }

    p, h2, h3 {
        orphans: 3;
        widows: 3;
    }

    h2, h3 {
        page-break-after: avoid;
    }
}
/*      base
-----------------------------------------------------------------------*/
@-moz-viewport, @-ms-viewport, @-o-viewport, @-webkit-viewport, @viewport {
    width: device-width;
}

[tabindex="-1"]:focus {
    outline: none !important;
}

html, body {
    text-align: center;
    height: 100%;
}

body {
    color: #1a1a1a;
    font: 16px/1.5 "Roboto", \5FAE\8EDF\6B63\9ED1\9AD4, "微軟正黑體", "Microsoft JhengHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: .01em;
}

img {
    vertical-align: middle;
}

a, area, button, [role="button"], input, label, select, summary, textarea {
    touch-action: manipulation;
}

a {
    color: #2b7e9c;
    text-decoration: none;
    -webkit-transition: color 0.35s, background 0.3s;
    transition: color 0.35s, background 0.3s;
}

    a:hover, a:active {
        color: #205e74;
        outline-width: 0;
    }

h1 {
    margin-top: 0;
}

h1, h2, h3, h4, h5, h6 {
    margin-bottom: 0.95rem;
    font-weight: 500;
    line-height: 1.1;
}

h1 {
    font-size: 3rem;
}

h2 {
    font-size: 2rem;
}

h3 {
    font-size: 1.75rem;
}

h4 {
    font-size: 1.5rem;
}

h5 {
    font-size: 1.125rem;
}

h6 {
    font-size: 1.0625rem;
}

b, strong, .b, .strong {
    font-weight: bold;
}

small {
    font-size: 80%;
    font-weight: normal;
}

mark {
    background-color: #fffcf1;
    padding: .2em;
}

hr {
    margin: 2rem 0;
    border: 0;
    border-top: 1px solid #E3E3E4;
}

p {
    margin: 0;
}

    p + p {
        margin-top: 0.25rem;
    }

abbr[title],
abbr[data-original-title] {
    cursor: help;
    border-bottom: 1px dotted #E3E3E4;
}

ol, ul, dl {
    margin-top: 0;
    margin-bottom: 1rem;
    padding-left: 0;
}

    ol ol, ol ul, ol dl, ul ol, ul ul, ul dl, dl ol, dl ul, dl dl {
        font-size: 90%;
        margin-bottom: 0;
    }

dt {
    font-weight: bold;
}

dd {
    margin-left: 0;
}

.list-inline, .list-unstyled {
    list-style: none;
    padding-left: 0;
}

    .list-inline > li {
        display: inline-block;
    }

        .list-inline > li:not(:last-child) {
            margin-right: 5px;
        }

/*      table
-----------------------------------------------------------------------*/
table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}

    table.table-line {
        border-bottom: 1px solid #EDEBE8;
    }

    table.fixed {
        table-layout: fixed;
        word-wrap: break-word;
        word-break: break-all;
    }

tbody + tbody {
    border-top: 2px solid #EDEBE8;
}

th, td {
    text-align: center;
    vertical-align: middle;
    padding: 16px 8px;
}

.table-line th, .table-line td {
    border-top: 1px solid #EDEBE8;
}

th {
    word-break: keep-all;
    font-weight: normal;
}

.head-line th {
    border-bottom: 2px solid #E96520;
    border-top: none;
}

thead tr:not(:only-child) th {
    padding: 3px 4px;
    border-top: none;
}

.table-border-middle td:not(:last-child) {
    border-right: 1px solid #EDEBE8;
}

.table-striped tr:nth-child(even) td.item {
    background-color: #fff;
}

caption {
    background-color: #efefef;
}

.table-bordered {
    border: 1px solid #EDEBE8;
}

    .table-bordered th, .table-bordered td {
        border: 1px solid #EDEBE8;
    }

    .table-bordered thead th, .table-bordered thead td {
        border-bottom-width: 2px;
    }

.table-striped tr:nth-child(even) {
    background-color: #fff;
}

.table-hover td {
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.table-hover tbody:hover > tr > td[rowspan],
.table-hover tr:hover > td {
    background-color: #1f6193;
}

.table-rwd {
    overflow-x: auto;
    min-height: 0.01%;
    max-width: 960px;
}

    .table-rwd table {
        max-width: 100%;
    }

@media (max-width: 63.9375em) {
    .table-rwd {
        width: 100%;
        overflow-y: hidden;
        -ms-overflow-style: -ms-autohiding-scrollbar;
    }

        .table-rwd table {
            margin-bottom: 0;
        }

            .table-rwd table th, .table-rwd table td {
                white-space: nowrap;
            }
}

.form-element {
    width: 100%;
    padding: 0 24px;
    line-height: 48px;
    min-height: 48px;
    color: #404040;
    background-color: #f7f7f7;
    font-size: 1.125em;
    border: 1px solid #f8f8f8;
    -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
}

    .form-element:disabled, .form-element[readonly] {
        background-color: #f8f8f8;
        opacity: 1;
    }

    .form-element:disabled {
        cursor: not-allowed;
    }

    .form-element:focus {
        border-color: #FCE05B;
    }

    .form-element.inline, .form-inline .form-element {
        display: inline;
        width: auto;
    }

        .form-element.inline:not(:last-child), .form-inline .form-element:not(:last-child) {
            margin-right: 0.3rem;
        }

    .form-element::-ms-expand {
        background-color: transparent;
        border: 0;
        display: none;
    }

    .form-element::placeholder {
        color: rgba(255, 255, 255, 0.3);
        opacity: 1;
    }

button, [role="button"] {
    cursor: pointer;
    border: none;
}

select {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 29 14" width="32" height="14"><path fill="%23454545" d="M9.37727 3.625l5.08154 6.93523L19.54036 3.625"/></svg>');
    background-position: right center;
    background-repeat: no-repeat;
    padding-right: 2rem !important;
}

    select:focus {
        background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 29 14" width="32" height="14"><path fill="%23454545" d="M9.37727 3.625l5.08154 6.93523L19.54036 3.625"/></svg>');
    }

input[type='checkbox'],
input[type='radio'] {
    display: inline;
}

.form-label {
    display: inline-block;
    font-weight: normal;
    line-height: 22px;
    padding-top: 13px;
    padding-bottom: 13px;
}

legend {
    display: block;
}

legend,
.form-label.block {
    margin-bottom: 0.5rem;
}

fieldset {
    border-width: 0;
    padding: 0;
    min-width: 0;
}

body:not(:-moz-handler-blocked) fieldset {
    display: table-cell;
}

textarea {
    resize: vertical;
    min-height: 6.5rem;
}

output {
    display: inline-block;
}

[hidden] {
    display: none !important;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
    input[type='date'],
    input[type='time'],
    input[type='datetime-local'],
    input[type='month'] {
        line-height: 48px;
    }
}

.checkbox,
.radio {
    position: absolute;
    opacity: 0;
    visibility: hidden;
}

    .checkbox + label,
    .radio + label {
        display: inline-block;
        vertical-align: middle;
        position: relative;
        cursor: pointer;
        cursor: hand;
        outline: none;
        user-select: none;
        margin: 0;
        background: #f7f7f7;
        border: 1px solid #f3f3f3;
        margin-right: 0.33333rem;
    }

    .checkbox:not(:first-of-type) + label,
    .radio:not(:first-of-type) + label {
        margin-left: 0.8rem;
    }

    .checkbox + label {
        width: 48px;
        height: 48px;
        margin: 2px 0.25rem;
        text-align: center;
    }

        .checkbox + label::before {
            opacity: 0;
            color: #FCE05B;
            line-height: 48px;
        }

    .checkbox:not(:checked):hover + label {
        border-color: #FCE05B;
    }

        .checkbox:not(:checked):hover + label::before {
            opacity: 0.6;
        }

    .checkbox:checked + label {
        border-color: #FCE05B;
        background: #FCE05B;
    }

        .checkbox:checked + label::before {
            opacity: 1;
            color: #fff;
        }

    .radio + label {
        border-radius: 50%;
        width: 48px;
        height: 48px;
        text-align: center;
        line-height: 48px;
        -webkit-transition: background 0.3s, border 0.3s;
        transition: background 0.3s, border 0.3s;
    }

    .radio:not(:checked):hover + label {
        border-color: #FCE05B;
    }

    .radio:checked + label {
        box-shadow: 0 0 3px #FCE05B;
        border: 4px solid #fff;
        background: #FCE05B;
    }

/*      layout
-----------------------------------------------------------------------*/
.wrap {
    margin: 0 auto;
    max-width: 960px;
    min-width: 960px;
}

    .wrap::after, #menu::after, .btn-group::after, .clearfix::after, dl.table dt::after, dl.table dd::after, dl.table dd > a::after, .popup-info li::after, .breadcrumb ul::after, .profile::after, .data-info li::after {
        content: "";
        display: table;
        clear: both;
    }

@media (min-width: 64em) and (max-width: 60em) {
    .wrap {
        max-width: 960px;
    }
}

#wrapper {
    min-width: 960px;
    min-height: 100%;
    padding-bottom: 316px;
}

#header {
    z-index: 6;
    padding-top: 1rem;
}

    #header h1 {
        float: left;
    }

.En #header {
    margin-bottom: 2rem;
    border-bottom: 1px solid #dadada;
}

.logo {
    z-index: 10;
    display: block;
    background: url(../images/header_logo.png) 0 0 no-repeat;
    width: 225px;
    height: 60px;
}

.logo, .modal-close, .text-hide, dl.table .td.gold, dl.table .td.silver, dl.table .td.bronze, .icon-angle-right, .icon-chart, .icon-meter, .icon-battery, .icon-cost, .icon-thermometer, .icon-drop, .icon-pm25, .weathers .weather, .school-marker, .Download .table .td .btn {
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0;
}

.header-logo {
    background: url(../images/header_logo_without_word.png) 0 0 no-repeat;
    padding-top: 11px;
    padding-left: 4rem;
    line-height: 20px;
    font-weight: 600;
    color: #141414;
    font: inherit;
    font-size: 1.2rem;
    font-family: 微軟正黑體;
}

.topNav {
    padding-top: 0.65rem;
}

    .topNav li {
        font-size: 1.125rem;
        color: #747474;
    }

        .topNav li:not(:last-child) {
            margin-right: 1rem;
            padding-right: 1rem;
            border-right: 1px solid #999;
        }

        .topNav li:first-child, .topNav li.size {
            margin: 0;
            padding: 0;
            border: 0;
        }

        .topNav li:first-child {
            width: 1em;
            height: 1em;
        }

    .topNav a {
        display: inline-block;
    }

        .topNav a.sitemap {
            padding-left: 2rem;
            color: #747474;
            background: url(../images/header_sitemap-icon.png) no-repeat left center;
        }

            .topNav a.sitemap:hover, .topNav a.sitemap:active, .topNav a.sitemap:focus {
                color: #2b7e9c;
            }

        .topNav a.lang {
            padding-left: 2.5rem;
            background: url(../images/header_translation-icon.png) no-repeat left center;
        }

    .topNav button {
        border-radius: 50%;
        width: 40px;
        height: 40px;
        margin-left: 5px;
        padding: 0;
        vertical-align: middle;
        font-size: 1.125rem;
        color: #fff;
        background: #757575;
        transition: background 0.35s;
    }

        .topNav button:hover, .topNav button:active, .topNav button:focus, .topNav button.current {
            background: #2b7e9c;
        }

.En .topNav button:nth-of-type(1) {
    font-size: 1rem;
}

.En .topNav button:nth-of-type(2) {
    font-size: 1.25rem;
}

.En .topNav button:nth-of-type(3) {
    font-size: 1.5rem;
}

#main {
    text-align: left;
}

#footer {
    background: linear-gradient(45deg, #1b4d66, #0d3c57);
    color: #f2f2f2;
    min-width: 960px;
    z-index: 2;
    margin-top: -216px;
    position: relative;
    padding: 2rem 0;
}

    #footer a {
        color: #fef3bf;
    }

        #footer a:hover, #footer a:active, #footer a.current {
            color: #FCE05B;
        }

    #footer .logo {
        width: 225px;
        height: 47px;
        margin-right: 1.5rem;
        background-image: url(../images/logo-foot.gif);
    }

    #footer p, #footer ul {
        margin-bottom: 0.5rem;
    }

        #footer ul li {
            margin-right: 1.25rem;
        }

        #footer ul em {
            margin-right: 0.5rem;
            padding-right: 0.5rem;
            font-style: normal;
            border-right: 1px solid;
        }

    #footer .login {
        margin: 1rem 0 0 0;
    }

    #footer .btn,
    #header .btn {
        margin-right: 2rem;
        padding: 0 2rem 0 3rem;
        line-height: 50px;
        color: #2b7e9c;
        font-size: 1rem;
        background: url(../images/footer_login-icon-56-normal.png) no-repeat left 0.65rem center;
        border: 2px solid;
        border-radius: 5px;
    }

#header .btn {
    margin-right: 0;
    padding: 0 1rem 0 3rem;
    line-height: 40px;
    font-size: .9rem;
}

    #footer .btn:hover, #footer .btn:active, #footer .btn:focus,
    #header .btn:hover, #header .btn:active, #header .btn:focus {
        color: #fff;
        background: url(../images/footer_login-icon-56.png) no-repeat left 0.65rem center #2b7e9c;
    }

#header li.block {
    margin-right: 0;
    margin-left: 0;
}

.secret-login {
    display: inline-block;
    vertical-align: bottom;
    width: 50px;
    height: 20px;
}

#menu {
    z-index: 20;
    clear: both;
}

    #menu a {
        display: block;
        width: calc(100% / 7);
        height: 50px;
        float: left;
        line-height: 50px;
        color: #747474;
        background: #fafafa;
    }

        #menu a:not(:last-child) {
            border-right: 1px solid #e1e1e1;
        }

        #menu a:not(:first-child) {
            border-left: 1px solid #fff;
        }

        #menu a span, #menu a div {
            padding-left: 1.8rem;
            background: url(../images/header_menu_map-icon.png) no-repeat left center;
        }

        #menu a:first-child {
            background: url('../images/header_logo.png') no-repeat center;
            background-size: contain;
        }

        #menu a:nth-child(3) span {
            background-image: url(../images/header_menu_proper-icon.png);
        }

        #menu a:nth-child(4) div {
            background: url(../images/header_menu_download-icon.png) no-repeat left center;
        }

        #menu a:nth-child(5) span {
            background-image: url(../images/header_menu_message-icon.png);
        }

        #menu a:nth-child(6) span {
            background-image: url(../images/header_menu_about-icon.png);
        }

        #menu a:nth-child(7) span {
            background-image: url(../images/header_menu_qa-icon.png);
        }

        #menu a:not(:first-child):hover, #menu a:not(:first-child):active, #menu a:not(:first-child):focus, #menu a:not(:first-child).current {
            color: #fff;
            background: #2b7e9c;
        }

        #menu a:hover span, #menu a:active span, #menu a:focus span, #menu a.current span {
            background: url(../images/header_menu-click_map-icon.png) no-repeat left center;
        }

        #menu a:hover:nth-child(3) span, #menu a:active:nth-child(3) span, #menu a:focus:nth-child(3) span, #menu a.current:nth-child(3) span {
            background-image: url(../images/header_menu-click_proper-icon.png);
        }

        #menu a:hover:nth-child(4) div, #menu a:active:nth-child(4) div, #menu a:focus:nth-child(4) div, #menu a.current:nth-child(4) div {
            background-image: url(../images/header_menu-click_download-icon.png);
        }

        #menu a:hover:nth-child(5) span, #menu a:active:nth-child(5) span, #menu a:focus:nth-child(5) span, #menu a.current:nth-child(5) span {
            background-image: url(../images/header_menu-click_message-icon.png);
        }

        #menu a:hover:nth-child(6) span, #menu a:active:nth-child(6) span, #menu a:focus:nth-child(6) span, #menu a.current:nth-child(6) span {
            background-image: url(../images/header_menu-click_about-icon.png);
        }

        #menu a:hover:nth-child(7) span, #menu a:active:nth-child(7) span, #menu a:focus:nth-child(7) span, #menu a.current:nth-child(7) span {
            background-image: url(../images/header_menu-click_qa-icon.png);
        }

.btn {
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    white-space: nowrap;
    user-select: none;
    background: #2b7e9c;
    color: #fff;
    font-size: 1.125em;
    line-height: 48px;
    padding: 0 24px;
    border-radius: 24px;
    -webkit-transition: background .35s, color .5s;
    transition: background .35s, color .5s;
    letter-spacing: 1px;
}

    .btn:hover, .btn:active, .btn:focus, .btn.active {
        background: #246b84;
        color: #fff;
    }

    .btn.disabled, .btn[disabled], fieldset[disabled] .btn {
        cursor: not-allowed;
        opacity: .65;
        background: #E3E3E4;
    }

    .btn.success {
        background: #88C200;
    }

        .btn.success:hover, .btn.success:active, .btn.success.active {
            background: #a5eb00;
        }

    .btn.info {
        background: #00A7B0;
    }

        .btn.info:hover, .btn.info:active, .btn.info.active {
            background: #00ced9;
        }

    .btn.warning {
        background: #FCE05B;
    }

        .btn.warning:hover, .btn.warning:active, .btn.warning.active {
            background: #fde883;
        }

    .btn.danger {
        background: #E96520;
    }

        .btn.danger:hover, .btn.danger:active, .btn.danger.active {
            background: #ed7f45;
        }

    .btn.warning {
        border-radius: 4px;
        border: 1px solid #fbd210;
    }

        .btn.warning:hover {
            background-color: #fbd833;
        }

    .btn.white:hover, .btn.white:active, .btn.white.active {
        background: #3498bc;
    }

.btn-group > .btn {
    float: left;
}

    .btn-group > .btn:not(:first-child) {
        border-left: 1px solid rgba(0, 0, 0, 0.1);
    }

        .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
            border-radius: 0;
        }

    .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
        border-bottom-right-radius: 0;
        border-top-right-radius: 0;
    }

    .btn-group > .btn + .dropdown-toggle {
        padding-right: 8px;
        padding-left: 8px;
    }

    .btn-group > .btn:last-child:not(:first-child),
    .btn-group > .dropdown-toggle:not(:first-child) {
        border-bottom-left-radius: 0;
        border-top-left-radius: 0;
    }

.btn-group .btn,
.btn-group .dropdown-toggle:active {
    outline: 0;
}

.modal-open {
    overflow: hidden;
}

.modal {
    display: none;
    z-index: 999;
    overflow: auto;
    padding-top: 50px;
    padding-bottom: 50px;
    background-color: black;
    background-color: rgba(0, 0, 0, 0.6);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-animation: fadeIn 0.4s;
    animation: fadeIn 0.4s;
}

@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        top: 0;
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        top: 0;
        opacity: 1;
    }
}

.modal.show {
    display: block;
}

.modal-close {
    border: none;
    line-height: 1;
    z-index: 1000;
    background: url(../images/QA/close-icon.png) 0 0 no-repeat;
    width: 25px;
    height: 25px;
}

.modal > .modal-close {
    position: fixed;
    top: 1%;
    right: 1%;
}

.modal-content .modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
}

.modal-content {
    margin: auto;
    position: relative;
    background-color: #fff;
    width: 700px;
    border-radius: 20px;
    box-shadow: 0 3px 50px rgba(0, 0, 0, 0.7);
}

.modal-header {
    color: #696969;
    border-bottom: 2px solid #1d7896;
}

.modal-title {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: bold;
    font-size: 1.875em;
    color: #1d7896;
}

.animate-top {
    position: relative;
    -webkit-animation: slide-down 0.4s;
    animation: slide-down 0.4s;
}

@-webkit-keyframes slide-down {
    from {
        top: -300px;
        opacity: 0;
    }

    to {
        top: 0;
        opacity: 1;
    }
}

@keyframes slide-down {
    from {
        top: -300px;
        opacity: 0;
    }

    to {
        top: 0;
        opacity: 1;
    }
}

.animate-zoom {
    -webkit-animation: animatezoom 0.6s;
    animation: animatezoom 0.6s;
}

@-webkit-keyframes animatezoom {
    from {
        -ms-transform: scale(0);
        -webkit-transform: scale(0);
        transform: scale(0);
    }

    to {
        -ms-transform: scale(1);
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes animatezoom {
    from {
        -ms-transform: scale(0);
        -webkit-transform: scale(0);
        transform: scale(0);
    }

    to {
        -ms-transform: scale(1);
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
}

.pull-left {
    float: left;
}

.pull-right {
    float: right;
}

.block {
    display: block;
}

.inline-block {
    display: inline-block;
}

.inline {
    display: inline;
}

.clear {
    clear: both;
}

.hidden {
    display: none;
}

.circle {
    border-radius: 50%;
}

.img-center {
    display: block;
    margin: auto;
}

.mx-a {
    margin-right: auto;
    margin-left: auto;
}

.m-0 {
    margin: 0;
}

.mt-0 {
    margin-top: 0;
}

.mr-0 {
    margin-right: 0;
}

.mb-0 {
    margin-bottom: 0;
}

.ml-0 {
    margin-left: 0;
}

.mx-0 {
    margin-right: 0;
    margin-left: 0;
}

.my-0 {
    margin-top: 0;
    margin-bottom: 0;
}

.m-2 {
    margin: 0.125rem;
}

.mt-2 {
    margin-top: 0.125rem;
}

.mr-2 {
    margin-right: 0.125rem;
}

.mb-2 {
    margin-bottom: 0.125rem;
}

.ml-2 {
    margin-left: 0.125rem;
}

.mx-2 {
    margin-right: 0.125rem;
    margin-left: 0.125rem;
}

.my-2 {
    margin-top: 0.125rem;
    margin-bottom: 0.125rem;
}

.m-4 {
    margin: 0.25rem;
}

.mt-4 {
    margin-top: 0.25rem;
}

.mr-4, .rank-sort button.active::before {
    margin-right: 0.25rem;
}

.mb-4 {
    margin-bottom: 0.25rem;
}

.ml-4 {
    margin-left: 0.25rem;
}

.mx-4 {
    margin-right: 0.25rem;
    margin-left: 0.25rem;
}

.my-4 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}

.m-8 {
    margin: 0.5rem;
}

.mt-8 {
    margin-top: 0.5rem;
}

.mr-8 {
    margin-right: 0.5rem;
}

.mb-8 {
    margin-bottom: 0.5rem;
}

.ml-8 {
    margin-left: 0.5rem;
}

.mx-8 {
    margin-right: 0.5rem;
    margin-left: 0.5rem;
}

.my-8 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

.m-12 {
    margin: 0.75rem;
}

.mt-12 {
    margin-top: 0.75rem;
}

.mr-12 {
    margin-right: 0.75rem;
}

.mb-12 {
    margin-bottom: 0.75rem;
}

.ml-12 {
    margin-left: 0.75rem;
}

.mx-12 {
    margin-right: 0.75rem;
    margin-left: 0.75rem;
}

.my-12 {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
}

.m-16 {
    margin: 1rem;
}

.mt-16 {
    margin-top: 1rem;
}

.mr-16 {
    margin-right: 1rem;
}

.mb-16 {
    margin-bottom: 1rem;
}

.ml-16 {
    margin-left: 1rem;
}

.mx-16 {
    margin-right: 1rem;
    margin-left: 1rem;
}

.my-16 {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.m-24 {
    margin: 1.5rem;
}

.mt-24 {
    margin-top: 1.5rem;
}

.mr-24 {
    margin-right: 1.5rem;
}

.mb-24 {
    margin-bottom: 1.5rem;
}

.ml-24 {
    margin-left: 1.5rem;
}

.mx-24 {
    margin-right: 1.5rem;
    margin-left: 1.5rem;
}

.my-24 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.m-32 {
    margin: 2rem;
}

.mt-32 {
    margin-top: 2rem;
}

.mr-32 {
    margin-right: 2rem;
}

.mb-32 {
    margin-bottom: 2rem;
}

.ml-32 {
    margin-left: 2rem;
}

.mx-32 {
    margin-right: 2rem;
    margin-left: 2rem;
}

.my-32 {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.m-40 {
    margin: 2.5rem;
}

.mt-40 {
    margin-top: 2.5rem;
}

.mr-40 {
    margin-right: 2.5rem;
}

.mb-40 {
    margin-bottom: 2.5rem;
}

.ml-40 {
    margin-left: 2.5rem;
}

.mx-40 {
    margin-right: 2.5rem;
    margin-left: 2.5rem;
}

.my-40 {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
}

.m-48 {
    margin: 3rem;
}

.mt-48 {
    margin-top: 3rem;
}

.mr-48 {
    margin-right: 3rem;
}

.mb-48 {
    margin-bottom: 3rem;
}

.ml-48 {
    margin-left: 3rem;
}

.mx-48 {
    margin-right: 3rem;
    margin-left: 3rem;
}

.my-48 {
    margin-top: 3rem;
    margin-bottom: 3rem;
}

.m-64 {
    margin: 4rem;
}

.mt-64 {
    margin-top: 4rem;
}

.mr-64 {
    margin-right: 4rem;
}

.mb-64 {
    margin-bottom: 4rem;
}

.ml-64 {
    margin-left: 4rem;
}

.mx-64 {
    margin-right: 4rem;
    margin-left: 4rem;
}

.my-64 {
    margin-top: 4rem;
    margin-bottom: 4rem;
}

.p-0 {
    padding: 0;
}

.pt-0 {
    padding-top: 0;
}

.pr-0, input[type='number'] {
    padding-right: 0;
}

.pb-0 {
    padding-bottom: 0;
}

.pl-0 {
    padding-left: 0;
}

.px-0 {
    padding-right: 0;
    padding-left: 0;
}

.py-0 {
    padding-top: 0;
    padding-bottom: 0;
}

.p-2 {
    padding: 0.125rem;
}

.pt-2 {
    padding-top: 0.125rem;
}

.pr-2 {
    padding-right: 0.125rem;
}

.pb-2, caption {
    padding-bottom: 0.125rem;
}

.pl-2 {
    padding-left: 0.125rem;
}

.px-2 {
    padding-right: 0.125rem;
    padding-left: 0.125rem;
}

.py-2 {
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
}

.p-4 {
    padding: 0.25rem;
}

.pt-4 {
    padding-top: 0.25rem;
}

.pr-4 {
    padding-right: 0.25rem;
}

.pb-4 {
    padding-bottom: 0.25rem;
}

.pl-4 {
    padding-left: 0.25rem;
}

.px-4 {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
}

.py-4, .btn.sm {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.p-8 {
    padding: 0.5rem;
}

.pt-8 {
    padding-top: 0.5rem;
}

.pr-8 {
    padding-right: 0.5rem;
}

.pb-8 {
    padding-bottom: 0.5rem;
}

.pl-8 {
    padding-left: 0.5rem;
}

.px-8 {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
}

.py-8, .btn.lg {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.p-12 {
    padding: 0.75rem;
}

.pt-12, caption {
    padding-top: 0.75rem;
}

.pr-12 {
    padding-right: 0.75rem;
}

.pb-12 {
    padding-bottom: 0.75rem;
}

.pl-12 {
    padding-left: 0.75rem;
}

.px-12, .btn.sm {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
}

.py-12 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.p-16 {
    padding: 1rem;
}

.pt-16 {
    padding-top: 1rem;
}

.pr-16 {
    padding-right: 1rem;
}

.pb-16 {
    padding-bottom: 1rem;
}

.pl-16 {
    padding-left: 1rem;
}

.px-16, caption {
    padding-right: 1rem;
    padding-left: 1rem;
}

.py-16 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.p-24 {
    padding: 1.5rem;
}

.pt-24 {
    padding-top: 1.5rem;
}

.pr-24 {
    padding-right: 1.5rem;
}

.pb-24 {
    padding-bottom: 1.5rem;
}

.pl-24 {
    padding-left: 1.5rem;
}

.px-24 {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
}

.py-24 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

.p-32 {
    padding: 2rem;
}

.pt-32 {
    padding-top: 2rem;
}

.pr-32 {
    padding-right: 2rem;
}

.pb-32 {
    padding-bottom: 2rem;
}

.pl-32 {
    padding-left: 2rem;
}

.px-32, .btn.lg {
    padding-right: 2rem;
    padding-left: 2rem;
}

.py-32 {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.p-40 {
    padding: 2.5rem;
}

.pt-40 {
    padding-top: 2.5rem;
}

.pr-40 {
    padding-right: 2.5rem;
}

.pb-40 {
    padding-bottom: 2.5rem;
}

.pl-40 {
    padding-left: 2.5rem;
}

.px-40 {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
}

.py-40 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}

.p-48 {
    padding: 3rem;
}

.pt-48 {
    padding-top: 3rem;
}

.pr-48 {
    padding-right: 3rem;
}

.pb-48 {
    padding-bottom: 3rem;
}

.pl-48 {
    padding-left: 3rem;
}

.px-48 {
    padding-right: 3rem;
    padding-left: 3rem;
}

.py-48 {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.p-64 {
    padding: 4rem;
}

.pt-64 {
    padding-top: 4rem;
}

.pr-64 {
    padding-right: 4rem;
}

.pb-64 {
    padding-bottom: 4rem;
}

.pl-64 {
    padding-left: 4rem;
}

.px-64 {
    padding-right: 4rem;
    padding-left: 4rem;
}

.py-64 {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.align-top {
    vertical-align: top;
}

.align-middle {
    vertical-align: middle;
}

.align-bottom {
    vertical-align: bottom;
}

.text-left, #footer {
    text-align: left;
}

.text-right {
    text-align: right;
}

.text-center {
    text-align: center;
}

.text-nowrap {
    white-space: nowrap;
}

.text-overflow {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.font-sp {
    font-family: "Roboto", sans-serif;
}

.font-tiny {
    font-size: 0.8125em;
}

.font-sm {
    font-size: 0.875em;
}

.font-md, th, td, #footer, .btn.sm {
    font-size: 0.9375em;
}

.font-lg, .btn.lg {
    font-size: 1.125em;
}

.font-xl, caption {
    font-size: 1.5em;
}

.font-xxl, .none i {
    font-size: 2em;
}

.font-xxxl {
    font-size: 3em;
}

.font-jumbo {
    font-size: 4em;
}

.text-white, tr:not(.head-line) th, .btn.white:hover, .btn.white:active, .btn.white.active, .goTop, .goTop:hover, .goTop:active {
    color: #fff;
}

.text-black {
    color: #000;
}

.bg-white, .btn.white {
    background-color: #fff;
}

.bg-black {
    background-color: #000;
}

.text-primary, .btn.warning, .btn.white {
    color: #2b7e9c;
}

.bg-primary, tr:not(.head-line) th {
    background-color: #2b7e9c;
}

.hover-primary {
    color: #2b7e9c;
}

    .hover-primary:hover, .hover-primary:active {
        color: #1a4e60;
    }

.text-secondary {
    color: #ffba00;
}

.bg-secondary {
    background-color: #ffba00;
}

.hover-secondary {
    color: #ffba00;
}

    .hover-secondary:hover, .hover-secondary:active {
        color: #b38200;
    }

.text-muted, .rank-sort button {
    color: #E3E3E4;
}

.bg-muted {
    background-color: #E3E3E4;
}

.hover-muted {
    color: #E3E3E4;
}

    .hover-muted:hover, .hover-muted:active {
        color: #bcbcbe;
    }

.text-success {
    color: #88C200;
}

.bg-success {
    background-color: #88C200;
}

.hover-success {
    color: #88C200;
}

    .hover-success:hover, .hover-success:active {
        color: #527600;
    }

.text-info {
    color: #00A7B0;
}

.bg-info {
    background-color: #00A7B0;
}

.hover-info {
    color: #00A7B0;
}

    .hover-info:hover, .hover-info:active {
        color: #005e63;
    }

.text-warning {
    color: #FCE05B;
}

.bg-warning {
    background-color: #FCE05B;
}

.hover-warning {
    color: #FCE05B;
}

    .hover-warning:hover, .hover-warning:active {
        color: #fbd210;
    }

.text-danger {
    color: #E96520;
}

.bg-danger {
    background-color: #E96520;
}

.hover-danger {
    color: #E96520;
}

    .hover-danger:hover, .hover-danger:active {
        color: #ac4611;
    }

.w-8 {
    width: 8%;
}

.w-15 {
    width: 15%;
}

.w-20 {
    width: 20%;
}

.w-25 {
    width: 25%;
}

.w-100 {
    width: 100%;
}

.w-auto {
    width: auto;
}

.goTop {
    z-index: 99;
    position: fixed;
    right: 1%;
    bottom: 45px;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: none;
    padding-top: 30px;
    background: rgba(0, 0, 0, 0.5) url(../images/footer_top-icon.png) no-repeat center top 5px;
    transition: background 0.35s;
}

    .goTop:hover, .goTop:active {
        background-color: rgba(0, 0, 0, 0.75);
    }

a[accesskey] {
    width: auto !important;
    height: auto !important;
    color: #000 !important;
    background: #fff !important;
}

ul.tabs {
    margin-bottom: 0;
    white-space: nowrap;
    overflow-x: auto;
    border-bottom: 2px solid #2b7e9c;
}

    ul.tabs li:not(:last-of-type) {
        margin-right: 0.5rem;
    }

    ul.tabs a {
        display: block;
        min-width: 160px;
        padding: 1.35rem 1rem;
        text-align: center;
        color: #676767;
        font-weight: bold;
        font-size: 1.125em;
        background: #f7f7f7;
        border-radius: 10px 10px 0 0;
    }

        ul.tabs a:hover, ul.tabs a:active, ul.tabs a:focus, ul.tabs a.active {
            color: #fff;
            background: #2b7e9c;
        }

.tab {
    display: none;
}

    .tab.active {
        display: block;
    }

    .tab .title {
        margin: 0 0 1rem 0;
        padding: 1.25rem 0.75rem;
        font-size: 1.125em;
        color: #1f6193;
        background: #f7f7f7;
    }

dl.table dt, dl.table dd {
    white-space: nowrap;
    border-bottom: 1px solid #c6c6c6;
}

dl.table .th, dl.table .td {
    display: inline-block;
    margin-left: -4px;
    padding: 16px 8px;
    vertical-align: middle;
    font-size: 1.125em;
    white-space: normal;
    word-break: break-word;
}

dl.table .th {
    color: #696969;
    font-weight: bold;
}

dl.table .td.num {
    color: #1f6193;
    font-weight: bold;
}

dl.table .td.colspan {
    display: block;
    width: 100% !important;
    margin-left: 0 !important;
}

dl.table .td.gold, dl.table .td.silver, dl.table .td.bronze {
    min-height: 71px;
}

dl.table .td.gold {
    background: url(../images/Map/prize-icon-1st.png) no-repeat center center;
}

dl.table .td.silver {
    background: url(../images/Map/prize-icon-2nd.png) no-repeat center center;
}

dl.table .td.bronze {
    background: url(../images/Map/prize-icon-3rd.png) no-repeat center center;
}

dl.table dd > a {
    display: block;
    color: #575757;
}

    dl.table dd > a:hover, dl.table dd > a:active, dl.table dd > a:focus {
        color: #fff;
        background: #1f6193;
    }

        dl.table dd > a:hover .num, dl.table dd > a:active .num, dl.table dd > a:focus .num {
            color: #fff;
        }

dl.table dd img {
    max-width: 100%;
}

dl.table dd.highlight {
    background: #fafafa;
}

    dl.table dd.highlight > a {
        color: #1f6193;
        font-weight: bold;
    }

        dl.table dd.highlight > a:hover, dl.table dd.highlight > a:active, dl.table dd.highlight > a:focus {
            color: #fff;
            background: #1f6193;
        }

            dl.table dd.highlight > a:hover .num, dl.table dd.highlight > a:active .num, dl.table dd.highlight > a:focus .num {
                color: #fff;
            }

.popup-info {
    width: 17.5em !important;
    min-width: 280px;
    padding: 1rem;
    color: #4e4e4e;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
}

    .popup-info::before {
        content: '';
        display: block;
        position: absolute;
        left: -19px;
        top: 85px;
        border: 20px solid transparent;
        border-left: 0;
        border-right: 25px solid #fff;
    }

    .popup-info h4 {
        margin: 0 0 0.75rem 0;
        padding: 0 0 0.75rem 2rem;
        font-size: 1.25em;
        font-weight: bold;
        background: url(../images/Index/home_map_popup_title-icon.png) no-repeat left top;
        border-bottom: 1px solid #338acd;
    }

    .popup-info ul {
        margin-bottom: 1rem;
    }

    .popup-info li {
        margin-bottom: 0.5rem;
        padding: 0.35rem 0.5rem;
        text-align: right;
        color: #363636;
        font-weight: bold;
        background: #ffba00;
    }

        .popup-info li em {
            float: left;
            font-style: normal;
        }

    .popup-info .update {
        padding-right: 2.75rem;
        text-align: right;
        line-height: 30px;
        background: url(../images/Map/map-icon-refresh.png) no-repeat right center;
    }

.loading {
    width: 100vw;
    height: 100vh;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.65);
    z-index: 999;
}

    .loading p {
        width: 300px;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        text-align: center;
    }

        .loading p span {
            display: block;
            margin-top: 1rem;
            color: #fff;
            font-weight: bold;
        }

    .loading .loader {
        display: inline-block;
        width: 50px;
        height: 50px;
        position: relative;
        box-sizing: border-box;
    }

        .loading .loader::before, .loading .loader::after {
            content: '';
            display: block;
            display: inline-block;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            border: 5px solid;
            border-radius: 50%;
        }

        .loading .loader::before {
            border-color: rgba(255, 220, 127, 0.5);
        }

        .loading .loader::after {
            border-color: transparent;
            border-top-color: #ffba00;
            animation: spin 1s linear infinite;
        }

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

hr.stripe {
    height: 4px;
    position: relative;
    margin: 0.75rem 0 1.5rem 0;
    background: #767676;
    border: 0;
}

    hr.stripe::before, hr.stripe::after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
    }

    hr.stripe::before {
        width: 120px;
        left: 0;
        border-top: 4px solid #fda72c;
    }

    hr.stripe::after {
        left: 120px;
        border: 4px solid transparent;
        border-left: 0;
        border-top-color: #fda72c;
    }

select {
    padding-right: 3.5rem !important;
}

    select, select:focus {
        background-image: url(../images/arrow_down.png);
        background-position: right 0.75rem center;
    }

.search label {
    margin-right: 1.5rem;
    font-weight: bold;
    font-size: 1.25em;
    color: #575757;
}

    .search label:not(:first-child) {
        margin-left: 3.5rem;
    }

.search select.form-element {
    color: #696969;
    background-color: #fff;
    border: 1px solid #b2b2b2;
}

.search option {
    min-height: 48px;
}

.btn-group .btn {
    font-size: 1.125em;
    font-weight: bold;
    color: #1f6193;
    background: #fff;
    border: 1px solid #1f6193;
    border-radius: 5px;
}

    .btn-group .btn:hover, .btn-group .btn:active, .btn-group .btn:focus, .btn-group .btn.active {
        color: #fff;
        background: #1f6193;
    }

.pager {
    margin-top: 2.5rem;
    text-align: center;
}

    .pager li {
        display: inline-block;
        color: #696969;
        font-size: 1.25em;
    }

        .pager li:not(:last-of-type) {
            margin-right: 1.75rem;
        }

        .pager li span {
            margin: 0 0.5rem;
            color: #404040;
        }

        .pager li select {
            padding: 0 3rem;
            padding-right: 5rem !important;
        }

.collapse:not(.show) {
    display: none !important;
}

.collapsing {
    position: relative;
    height: 0;
    overflow: hidden;
    transition: height .35s ease;
}

.text-nowarp {
    white-space: nowrap;
}

.none {
    background-color: #f8f8f8;
    border: 1px solid #ededee;
    color: #E3E3E4;
    position: relative;
}

    .none i {
        position: absolute;
        top: 50%;
        left: 50%;
        -ms-transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }

.breadcrumb {
    background: #e1e1e1;
}

    .breadcrumb li {
        float: left;
        line-height: 50px;
        color: #575757;
    }

        .breadcrumb li:not(:last-child) {
            margin-right: 0.85rem;
            padding-right: 1.7rem;
            background: url(../images/breadcrumb_arrow.png) no-repeat right center;
        }

        .breadcrumb li a {
            color: #575757;
        }

.banner {
    background: #767676;
    height: 80px;
    margin-bottom: 2.5rem;
    text-align: center;
}

    .banner h2 {
        margin: 0;
        line-height: 80px;
        font-size: 1.875rem;
        color: #fff;
    }

.Map .banner {
    background: #767676 url(../images/Map/map_content_title-map-bg.png) no-repeat left center;
}

.Download .banner {
    background: #767676 url(../images/Download/download_content_title-download-bg.png) no-repeat left center;
}

.News .banner {
    background: #767676 url(../images/News/message_content_title-message-bg.png) no-repeat left center;
}

.AboutUs .banner {
    background: #767676 url(../images/AboutUs/about_content_title-about-bg.png) no-repeat left center;
}

.QA .banner {
    background: #767676 url(../images/QA/QA_content_title-QA-bg.jpg) no-repeat left center;
}

.Sitemap .banner {
	margin-top: -0.8rem;
    background: #767676 url(../images/Home/sitemap_content_title-sitemap-bg.png) no-repeat left center;
}

.En .banner {
    height: 350px;
    padding-top: 105px;
    background: url(../images/Home/english_content_title-english-bg.jpg) no-repeat center center;
}

    .En .banner h2 {
        width: 520px;
        height: 140px;
        margin: 0 auto;
        line-height: 140px;
        letter-spacing: 0.1em;
        font-size: 2.5rem;
        font-weight: bold;
        background: url(../images/Home/english_content_title-english-bg2.png);
    }

.title {
    margin: 0 0 0.25rem 0;
    font-size: 1.25em;
    font-weight: bold;
    color: #575757;
}

.article-content {
    line-height: 1.8;
    font-size: 1.125em;
    color: #575757;
}

.section:not(.gallery) {
    padding: 1.25rem 1.7rem;
    border: 1px solid #e8e8e8;
    box-shadow: 0 3px 4px rgba(0, 0, 0, 0.1);
    border-radius: 15px;
}

.section .title {
    padding: 0.75rem 0 0.75rem 3.5rem;
    color: #1f6193;
    font-size: 1.125em;
    font-weight: normal;
    background: url(../images/AboutUs/about_content_about-icon.png) no-repeat left center;
}

.section .article-content {
    padding-left: 3.5rem;
}

.section:not(:last-of-type) {
    margin-bottom: 2rem;
}

.section:nth-of-type(2) .title {
    background-image: url(../images/AboutUs/about_content_plan-icon.png);
}

.article .title {
    margin-bottom: 1rem;
    padding: 1rem 0.75rem;
    background: #fafafa;
    border-bottom: 2px solid #1f6193;
}

.article .date {
    margin-bottom: 1.5rem;
    color: #1f6193;
}

.article .article-content {
    margin-bottom: 2rem;
    padding-bottom: 3rem;
    border-bottom: 2px solid #c6c6c6;
}

.article .btn {
    padding-right: 2.5rem;
    color: #696969;
    background: #f7f7f7 url(../images/arrow_right.png) no-repeat right 0.5rem center;
    border-radius: 0;
}

    .article .btn:hover, .article .btn:active, .article .btn:focus {
        background-color: #ddd;
    }

[class*="icon-"] {
    display: inline-block;
}

.icon-angle-right {
    background: url(../images/Map/arrow-right.png) 0 0 no-repeat;
    width: 7px;
    height: 13px;
}

.icon-chart {
    background: url(../images/Map/list-icon-chart.png) center center no-repeat;
    width: 28px;
    height: 28px;
}

.icon-meter {
    background: url(../images/Map/list-icon-meter.png) center center no-repeat;
    width: 28px;
    height: 28px;
}

.icon-battery {
    background: url(../images/Map/list-icon-battery.png) center center no-repeat;
    width: 28px;
    height: 28px;
}

.icon-cost {
    background: url(../images/Map/list-icon-cost.png) center center no-repeat;
    width: 28px;
    height: 28px;
}

.icon-thermometer {
    background: url(../images/Map/list-icon-thermometer.png) center center no-repeat;
    width: 28px;
    height: 28px;
}

.icon-drop {
    background: url(../images/Map/list-icon-drop.png) center center no-repeat;
    width: 28px;
    height: 28px;
}

.icon-pm25 {
    background: url(../images/Map/list-icon-pm25.png) center center no-repeat;
    width: 28px;
    height: 28px;
}

.fake-map-marker {
    position: absolute;
    right: 35%;
    top: 35%;
}

.area-info {
    color: #676767;
}

    .area-info h4 {
        margin: 1rem 0 0.75rem 0;
        text-align: center;
        letter-spacing: 0.05em;
        font-size: 1em;
    }

.weathers:not(:last-of-type), .rank:not(:last-of-type) {
    padding-bottom: 1rem;
    border-bottom: 1px solid #dbdbdb;
}

.weathers dd > span, .rank dd > span {
    display: block;
    text-align: center;
}

    .weathers dd > span:not(:last-of-type), .rank dd > span:not(:last-of-type) {
        margin-bottom: 0.25rem;
    }

.weathers .weather {
    background: url(../images/Map/weather-62.png) 0 0 no-repeat;
    width: 52px;
    height: 52px;
    background-position: center center;
    margin: 0 auto 0.5rem auto;
}

    .weathers .weather.weather-01 {
        background-image: url(../images/Map/weather-01.png);
    }

    .weathers .weather.weather-02 {
        background-image: url(../images/Map/weather-02.png);
    }

    .weathers .weather.weather-03 {
        background-image: url(../images/Map/weather-03.png);
    }

    .weathers .weather.weather-04 {
        background-image: url(../images/Map/weather-04.png);
    }

    .weathers .weather.weather-05 {
        background-image: url(../images/Map/weather-05.png);
    }

    .weathers .weather.weather-06 {
        background-image: url(../images/Map/weather-06.png);
    }

    .weathers .weather.weather-07 {
        background-image: url(../images/Map/weather-07.png);
    }

    .weathers .weather.weather-08 {
        background-image: url(../images/Map/weather-08.png);
    }

    .weathers .weather.weather-12 {
        background-image: url(../images/Map/weather-12.png);
    }

    .weathers .weather.weather-13 {
        background-image: url(../images/Map/weather-13.png);
    }

    .weathers .weather.weather-17 {
        background-image: url(../images/Map/weather-17.png);
    }

    .weathers .weather.weather-18 {
        background-image: url(../images/Map/weather-18.png);
    }

    .weathers .weather.weather-24 {
        background-image: url(../images/Map/weather-24.png);
    }

    .weathers .weather.weather-26 {
        background-image: url(../images/Map/weather-26.png);
    }

    .weathers .weather.weather-29 {
        background-image: url(../images/Map/weather-29.png);
    }

    .weathers .weather.weather-31 {
        background-image: url(../images/Map/weather-31.png);
    }

    .weathers .weather.weather-34 {
        background-image: url(../images/Map/weather-34.png);
    }

    .weathers .weather.weather-36 {
        background-image: url(../images/Map/weather-36.png);
    }

    .weathers .weather.weather-43 {
        background-image: url(../images/Map/weather-43.png);
    }

    .weathers .weather.weather-44 {
        background-image: url(../images/Map/weather-44.png);
    }

    .weathers .weather.weather-45 {
        background-image: url(../images/Map/weather-45.png);
    }

    .weathers .weather.weather-46 {
        background-image: url(../images/Map/weather-46.png);
    }

    .weathers .weather.weather-49 {
        background-image: url(../images/Map/weather-49.png);
    }

    .weathers .weather.weather-57 {
        background-image: url(../images/Map/weather-57.png);
    }

    .weathers .weather.weather-58 {
        background-image: url(../images/Map/weather-58.png);
    }

    .weathers .weather.weather-59 {
        background-image: url(../images/Map/weather-59.png);
    }

    .weathers .weather.weather-60 {
        background-image: url(../images/Map/weather-60.png);
    }

    .weathers .weather.weather-61 {
        background-image: url(../images/Map/weather-61.png);
    }

    .weathers .weather.weather-62 {
        background-image: url(../images/Map/weather-62.png);
    }

.weathers .humidity {
    font-size: 0.875em;
    color: #1f6193;
}

.rank .flag {
    height: 5.0625em;
    padding-top: 1.5em;
    text-align: center;
    background: url(../images/Map/flag-icon.png) no-repeat center top/auto 100%;
}

    .rank .flag strong {
        font-size: 1.5em;
        color: #2b7e9c;
    }

.rank-sort {
    display: inline-block;
    vertical-align: bottom;
    margin-top: 14px;
    margin-left: 10px;
}

    .rank-sort button {
        background: none;
        cursor: pointer;
        border: none;
        margin-left: 8px;
        font-size: 1.0625em;
        color: #6f6f73;
    }

        .rank-sort button:hover, .rank-sort button.active {
            color: #598000;
        }

            .rank-sort button.active::before {
                content: "❯";
            }

.school-marker {
    background: url(../images/Map/map-icon-school.png) 0 0 no-repeat;
    width: 40px;
    height: 40px;
}

.google-map .area-info, .profile .pic .area-info {
    width: 6.25em;
    min-width: 100px;
    position: absolute;
    background: #fff;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
}

.google-map {
    position: relative;
}

    .google-map #map {
        width: 100%;
        height: 530px;
    }

    .google-map .area-info {
        left: 10px;
        top: 50px;
        z-index: 10;
    }

.profile {
    margin-bottom: 3rem;
}

    .profile aside {
        width: 20%;
        float: left;
    }

        .profile aside h4 {
            margin: 1.5rem 0 0.75rem 0;
            font-weight: bold;
            font-size: 1.125em;
        }

        .profile aside .rank:first-of-type h4 {
            margin-top: 0.5rem;
        }

        .profile aside .rank:not(:last-of-type) {
            padding-bottom: 0;
            border-bottom: 0;
        }

        .profile aside .rank .flag {
            height: 5.5em;
            padding-top: 1.5em;
            font-size: 1.25em;
            background-image: url(../images/Map/flag-icon-2.png);
        }

            .profile aside .rank .flag strong {
                margin-right: 0.25rem;
                font-size: 1.6em;
            }

    .profile .pic {
        width: 80%;
        position: relative;
        float: right;
    }

        .profile .pic img {
            max-width: 100%;
        }

        .profile .pic .area-info {
            left: 25px;
            top: 25px;
        }

.data-info {
    margin-top: -1.5rem;
    background: #fafafa;
}

    .data-info li {
        padding: 1rem 1.25rem;
        text-align: right;
        line-height: 28px;
        font-weight: bold;
        font-size: 1.125em;
        color: #676767;
        border: 1px solid #c6c6c6;
        border-top: 0;
    }

        .data-info li [class*="icon-"], .data-info li em {
            display: block;
            float: left;
        }

        .data-info li [class*="icon-"] {
            margin-right: 1rem;
        }

        .data-info li em {
            font-style: normal;
        }

        .data-info li .unit {
            display: block;
            width: 2.5em;
            float: right;
            margin-left: 1rem;
            text-align: left;
        }

.Map .title {
    margin-top: 1rem;
    font-size: 1.5em;
}

    .Map .title + .search {
        margin-left: 2rem;
    }

.Map .more {
    margin-top: 12px;
    letter-spacing: 0.1em;
    font-size: 1.125em;
    color: #2b7e9c;
    background: none;
}

    .Map .more:hover, .Map .more:active, .Map .more:focus {
        color: #205e74;
    }

    .Map .more.hidden {
        display: none;
    }

    .Map .more i {
        margin-left: 0.5rem;
    }

.Map .table {
    max-height: 365px;
    overflow-y: auto;
}

    .Map .table .th, .Map .table .td {
        margin-left: 0;
    }

        .Map .table .th:nth-of-type(1), .Map .table .td:nth-of-type(1) {
            width: 10%;
        }

        .Map .table .th:nth-of-type(2), .Map .table .td:nth-of-type(2) {
            width: 20%;
        }

        .Map .table .th:nth-of-type(3), .Map .table .td:nth-of-type(3) {
            width: 18%;
        }

        .Map .table .th:nth-of-type(4), .Map .table .td:nth-of-type(4) {
            width: 20%;
        }

        .Map .table .th:nth-of-type(5), .Map .table .td:nth-of-type(5) {
            width: 16%;
        }

        .Map .table .th:nth-of-type(6), .Map .table .td:nth-of-type(6) {
            width: 16%;
        }

    .Map .table:nth-of-type(2) .th:nth-of-type(1), .Map .table:nth-of-type(2) .td:nth-of-type(1) {
        width: 10%;
    }

    .Map .table:nth-of-type(2) .th:nth-of-type(2), .Map .table:nth-of-type(2) .td:nth-of-type(2) {
        width: 15%;
    }

    .Map .table:nth-of-type(2) .th:nth-of-type(3), .Map .table:nth-of-type(2) .td:nth-of-type(3) {
        width: 17%;
    }

    .Map .table:nth-of-type(2) .th:nth-of-type(4), .Map .table:nth-of-type(2) .td:nth-of-type(4) {
        width: 20%;
    }

    .Map .table:nth-of-type(2) .th:nth-of-type(5), .Map .table:nth-of-type(2) .td:nth-of-type(5) {
        width: 20.5%;
    }

    .Map .table:nth-of-type(2) .th:nth-of-type(6), .Map .table:nth-of-type(2) .td:nth-of-type(6) {
        width: 17.5%;
    }

.Map .gm-style-iw {
    top: 17px !important;
}

    .Map .gm-style-iw > div,
    .Map .gm-style-iw > div > div {
        overflow: hidden !important;
    }

    .Map .gm-style-iw .popup-info {
        font-family: "Roboto", \5FAE\8EDF\6B63\9ED1\9AD4, "微軟正黑體", "Microsoft JhengHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 1.25em;
        box-shadow: none;
    }

        .Map .gm-style-iw .popup-info::before {
            display: none;
        }

.Map .date {
    margin-bottom: 1rem;
    font-size: 1.125em;
    font-weight: bold;
    color: #282828;
}

.News .table .th:nth-of-type(1), .News .table .td:nth-of-type(1) {
    width: 10%;
}

.News .table .th:nth-of-type(2), .News .table .td:nth-of-type(2) {
    width: 70%;
}

.News .table .th:nth-of-type(3), .News .table .td:nth-of-type(3) {
    width: 20%;
}

.QA .search {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid #2b7e9c;
}

    .QA .search .form-element {
        min-width: 440px;
    }

.QA .table .th:nth-of-type(1), .QA .table .td:nth-of-type(1) {
    width: 10%;
}

.QA .table .th:nth-of-type(2), .QA .table .td:nth-of-type(2) {
    width: 90%;
}

.QA .table dd > a {
    padding-right: 3.5rem;
    background: url(../images/arrow_up.png) no-repeat right 1rem center;
    transition: none;
}

    .QA .table dd > a:hover, .QA .table dd > a:active, .QA .table dd > a:focus {
        color: #575757;
        background: #e8f9ff url(../images/arrow_up.png) no-repeat right 1rem center;
    }

        .QA .table dd > a:hover .num, .QA .table dd > a:active .num, .QA .table dd > a:focus .num {
            color: #1f6193;
        }

    .QA .table dd > a.collapsed {
        background-image: url(../images/arrow_down.png);
    }

.QA .table .td.question {
    padding-left: 2.5rem;
    background: url(../images/QA/QA_content_QA-icon.png) no-repeat left 0.75rem top 1.25rem;
}

.QA .table .td.answer {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 8rem;
    background: url(../images/QA/QA_content_QA-icon-2.png) no-repeat left 6.25rem top 1.25rem;
}

    .QA .table .td.answer:hover, .QA .table .td.answer:active, .QA .table .td.answer:focus {
        background-color: #e8f9ff;
    }

.QA .form-list .field {
    margin-bottom: 1.5rem;
}

.QA .form-list dt {
    margin-bottom: 0.5rem;
}

    .QA .form-list dt label {
        letter-spacing: 0.1em;
        font-weight: normal;
        font-size: 1.25em;
        color: #338acd;
    }

        .QA .form-list dt label small {
            margin-left: 0.2rem;
            letter-spacing: 0;
            font-size: 0.8em;
        }

.QA .form-list .form-element {
    background: none;
    border: 1px solid #787878;
    border-radius: 5px;
}

    .QA .form-list .form-element::placeholder {
        color: #696969;
    }

    .QA .form-list .form-element:focus {
        background-color: #2b7e9c;
        color: #ffffff;
    }

        .QA .form-list .form-element:focus::placeholder {
            color: #ffffff;
        }

.QA .form-list input.form-element {
    padding-right: 3.5rem;
    background: url(../images/QA/pencil-icon.png) no-repeat right 1.5rem center;
}

    .QA .form-list input.form-element:focus {
        background-image: url(../images/QA/pencil-icon-focus.png);
        background-repeat: no-repeat;
        background-position: right 1.5rem center;
    }

.Download .table .th:nth-of-type(1), .Download .table .td:nth-of-type(1) {
    width: 10%;
}

.Download .table .th:nth-of-type(2), .Download .table .td:nth-of-type(2) {
    width: 15%;
}

.Download .table .th:nth-of-type(3), .Download .table .td:nth-of-type(3) {
    width: 45%;
}

.Download .table .th:nth-of-type(4), .Download .table .td:nth-of-type(4) {
    width: 10%;
}

.Download .table .th:nth-of-type(5), .Download .table .td:nth-of-type(5) {
    width: 10%;
}

.Download .table .th:nth-of-type(6), .Download .table .td:nth-of-type(6) {
    width: 10%;
}

.Download .table .td strong {
    display: block;
    margin-bottom: 0.5rem;
    color: #575757;
    font-weight: normal;
}

.Download .table .td small {
    display: block;
    margin-left: 5.25em;
    text-indent: -5.25em;
    font-size: 0.875em;
    color: #757575;
}

.Download .table .td .btn {
    width: 40px;
    height: 40px;
    background: url(../images/Download/download-icon.png) center center no-repeat;
    width: 40px;
    height: 40px;
    padding: 0;
}

.Download .table dd > a:hover strong, .Download .table dd > a:hover small, .Download .table dd > a:active strong, .Download .table dd > a:active small, .Download .table dd > a:focus strong, .Download .table dd > a:focus small {
    color: #fff;
}

.Sitemap .article {
    font-size: 1.125em;
    padding: 1rem;
}

    .Sitemap .article ol {
        margin-left: 1.25em;
        color: #1f6193;
        font-weight: bold;
    }

        .Sitemap .article ol li {
            margin: 0.5rem 0;
        }

    .Sitemap .article h3 {
        display: inline-block;
        padding: 0.75rem 1rem;
        font-size: 1em;
        color: #fff;
        background: #2b7e9c;
    }

    .Sitemap .article ul {
        letter-spacing: 0.1em;
    }

        .Sitemap .article ul li {
            margin: 0.5rem 0;
        }

        .Sitemap .article ul strong {
            color: #2b7e9c;
        }

.Sitemap #main dl:not(:last-child) {
    margin-bottom: 1.5rem;
}

.Sitemap #main dl dt:not(:last-child), .Sitemap #main dl dd:not(:last-child) {
    margin-bottom: 0.75rem;
}

.Sitemap #main dl dt a, .Sitemap #main dl dd a {
    color: #696969;
}

    .Sitemap #main dl dt a:hover, .Sitemap #main dl dt a:active, .Sitemap #main dl dt a:focus, .Sitemap #main dl dd a:hover, .Sitemap #main dl dd a:active, .Sitemap #main dl dd a:focus {
        color: #2b7e9c;
    }

.Sitemap #main dl dt {
    font-weight: bold;
    font-size: 1.25em;
}

.En #main p {
    line-height: 2.3;
    letter-spacing: 0.1em;
    font-size: 1.125em;
    color: #747474;
}

.En #main .btn {
    letter-spacing: 0.1em;
    border-radius: 0;
}

.editor {
    word-wrap: break-word;
}

    .editor p + p {
        margin-top: 0.5rem;
    }

    .editor img {
        max-width: 100% !important;
    }



.gallery h3.title {
    border-color: #93e6f2;
}

    .gallery h3.title::before {
        background-image: url(../images/index/home_content_title-photo-icon.png);
    }

#gallery {
    margin-bottom: 2.5rem;
}

    #gallery .swiper-slide {
        width: 790px;
        height: 444px;
    }

        #gallery .swiper-slide a {
            display: block;
            height: 100%;
            position: relative;
        }

            #gallery .swiper-slide a::before {
                content: '';
                display: block;
                position: absolute;
                left: 0;
                right: 0;
                top: 0;
                bottom: 0;
                background: rgba(0, 0, 0, 0.4);
                z-index: 1;
            }

        #gallery .swiper-slide img {
            width: 100%;
            height: 100%;
            filter: blur(3px);
        }

    #gallery .swiper-slide-active a::before {
        display: none;
    }

    #gallery .swiper-slide-active img {
        filter: blur(0);
    }

    #gallery .swiper-slide-prev a::after, #gallery .swiper-slide-next a::after {
        content: '';
        display: block;
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 2;
    }

    #gallery .swiper-slide-prev a::after {
        background: url(../images/index/photo-shadow-left.png) repeat-y right top;
    }

    #gallery .swiper-slide-next a::after {
        background: url(../images/index/photo-shadow-right.png) repeat-y left top;
    }

    #gallery .swiper-button-prev, #gallery .swiper-button-next {
        width: 60px;
        height: 60px;
        margin-top: -30px;
        background-size: auto 100%;
    }

    #gallery .swiper-button-prev {
        left: 50%;
        margin-left: -480px;
        background-image: url("data:image/svg+xml;charset=utf-8,<svg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'><path%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F><%2Fsvg>");
    }

    #gallery .swiper-button-next {
        right: 50%;
        margin-right: -480px;
        background-image: url("data:image/svg+xml;charset=utf-8,<svg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'><path%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F><%2Fsvg>");
    }

.gallery .swiper-pagination {
    position: static;
}

.gallery .swiper-pagination-bullet {
    width: 20px;
    height: 20px;
    margin: 0 0.25rem;
    background: #a3a3a3;
    border: 5px solid #a3a3a3;
    opacity: 1;
}

    .gallery .swiper-pagination-bullet:active, .gallery .swiper-pagination-bullet:focus {
        outline: auto 5px -webkit-focus-ring-color;
    }

.gallery .swiper-pagination-bullet-active {
    background: #fff;
}
