/* Begin of Common */

body {
    font-family: "Microsoft JhengHei", 微軟正黑體, 微軟雅黑體, 細明體_HKSCS, Arial, sans-serif;
}
body.tc {
    font-family: "Microsoft JhengHei", 微軟正黑體, 微軟雅黑體, 細明體_HKSCS, Arial, sans-serif;
}
body.sc {
    font-family: "Microsoft JhengHei", 微軟正黑體, 微軟雅黑體, 細明體_HKSCS, Arial, sans-serif;
}
body.en {    
    /* font-family: "Microsoft JhengHei", 微軟正黑體, 微軟雅黑體, 細明體_HKSCS, Arial, sans-serif; */
    /* font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; */
    font-family: Arial, sans-serif;
}

a {
    color: #254d81;
}

.landing header {
    background-color: #dd2525;
}

header {
    background-color: #dd2525;
}

header nav.navbar {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
}

header .navbar-brand img.img-fluid {
    max-width: 550px;
}

/* header nav.navbar li {
    border-left: 1px solid #fff;
}

header nav.navbar li:first-child {
    border-left: none;
} */
header nav.navbar ul {
    position: relative;
}

header nav.navbar li::before {
    content: "";
    position: absolute;
    top: 30%;
    height: 40%;
    width: 1px;
    background: #FFF;
}

header nav.navbar li:first-child::before {
    display: none;
}

header nav.navbar a.nav-link {
    color: #fff;
    transition: .5s all;
    font-weight: bold;
}

header nav.navbar a.nav-link:hover {
    text-decoration: underline;
}

header nav.navbar a.nav-link.border {
    border: 1px solid #fff!important;
}

header nav.navbar a.nav-link.border:hover {
    background-color: #1f4569;
    color: #fff;
}

header nav.navbar div.language-selector a {
    border: 1px solid #fff;
    margin-left: .25em;
    padding: .5em;
    color: #dd2525;
    margin-right: .25em;
    font-weight: bold;
    background-color: #fff;
    border-radius: 50%;
    transition: .5s all;
}

header nav.navbar div.language-selector a:hover {
    background-color: #dd2525;
    color: #fff;
}

header nav.navbar div.language-selector a:last-child {
    border: none;
    background-color: transparent;
    border-radius: none;
    color: #fff;
    padding: 0;
    transition: none;
}

header nav.navbar input.form-control {
    border-color: #dd2525;
    border-radius: 1em;
    padding-right: 3em !important;
    width: 15em;
    margin-right: 0!important;
}

header nav.navbar .form-inline {
    position: relative;
}

header nav.navbar .form-inline .btn {
    border: 0;
    right: 0;
    position: absolute;
    color: #dd2525;
}

@media screen and (min-width:0\0) {

    header nav.navbar .form-inline .btn {
        margin-top: -18px;
    }

}


header div.banner-container {
    width: 100%;
    height: 260px;
    display: flex;
    align-items: center;
    background-color: #fff;
}

header div.banner-container .banner {
    text-align: center;
    position: absolute;
    width: 100%;
}

@media screen and (min-width:0\0) {

    header div.banner-container .banner {
        margin-top: -100px;
    }

}

header div.banner-container .banner img.img-fluid {
    object-fit: cover;
    height: 260px;
    width: 100%;
}

header div.banner-container h1 {
    font-size: 1.8em;
    font-weight: bold;
    color: #fff;
    display: none;
}

.hamburger-inner, .hamburger-inner:after, .hamburger-inner:before {
    background-color: #fff;
}

.hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner:after, .hamburger.is-active .hamburger-inner:before {
    background-color: #fff;
}

header div.menu-container {
    background-color: #f7f7f7;
}

.navigation > ul.nav {
    text-align: left;
    display: flex;
}

.navigation > ul > li {
    color: #fff;
    font-size: 0.9em;
    margin-bottom: 0;
    /* border-left: 1px solid #fff; */
    transition: .5s all;
    width: 25%;
}

.navigation > ul > li:after {
    content: ' ';
    display: block;
    border-bottom: 4px solid transparent;
}


.navigation > ul > li:hover, .navigation > ul > li.active {
    /* background: #e9e9e9; */
}

.navigation > ul > li:hover:after, .navigation > ul > li.active:after {
    content: ' ';
    display: block;
    border-bottom: 4px solid #dd2525;
}

.navigation > ul > li:hover > a, .navigation > ul > li.active > a {
    color: #dd2525;
}

.navigation ul.nav > li > a.nav-link {
    width: calc(100% - 55px);
    display: inline-block;
    border-left: 1px solid #3973b3;
}

.navigation > ul > li > a {
    color: #3973b3;
    display: inline-block;
    width: 100%;
    padding: 1em;
    font-weight: bold;
    padding-top: 12px;
    padding-bottom: 12px;
    font-size: 1.25em;
    /* text-transform: uppercase; */
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-left: 1px solid #c4c2c3;
    border-right: 1px solid #c4c2c3;
}


.navigation > ul > li > a:hover {
    color: #dd2525;
}

.navigation > ul > li:hover > a, .navigation > ul > li.active > a {
    color:#000;
}


.navigation > ul > li > a > p {
    margin-bottom: 0;
    width: 100%;
}

.navigation > ul > li > ul {
    display: none;
    position: absolute;
    background-color: #f7f7f7;
    z-index: 100;
    list-style: none;
    padding: 0em;
    border-top: 4px solid #dd2525;
    /* margin-top: 4px; */
}

.navigation > ul > li:hover > ul {
    display: block;
}

.navigation > ul > li > ul > li > a {
    color: #000;
    font-size: 1.25em;
    width: 100%;
    display: block;
    padding: 1.25em;
    border-bottom: 1px solid #ddd;
    min-width: 280px;
    font-weight: bold;
}

.navigation > ul > li > ul > li {
    transition: .5s all;
}

.navigation > ul > li > ul > li:hover {
    background-color: #dd2525;
    color: #fff;
}
.navigation > ul > li > ul > li:hover > a {
    color: #fff;
}

.navigation ul.nav li .children > a {
    border-bottom: 1px solid #fff;
    padding: 1rem!important;
    color: #000;
    text-align: left;
    white-space: normal;
    width: 100%;
    background-color: #c6deea;
    color: #000;
    font-size: 1.1em;
    font-weight: bold;
}

.navigation ul.nav li .children > a.active {
    background-color: #eff5f5;
    color: #0071b3;
}

.navigation ul.nav li .children > a:hover {
    background-color: #eff5f5;
    color: #0071b3;
}

.navigation ul.nav > li > a:nth-child(2) {
    width: 30px;
    display: inline-block;
    text-align: center;
    transition: .5s;
    transform: rotate(90deg);
    padding-right: 0!important;
    padding-left: 0!important;
}

.navigation ul.nav > li > a:nth-child(2).collapsed {
    transform: rotate(0);
}

.navigation > ul > li:hover > a, .navigation > ul > li.selected > a {
    color: #dd2525;
    text-decoration: none;
}

div.page main {
    background-color: #e4f4f4;
    background-image: url(../images/background.png);
    background-repeat: repeat-x;
    background-position: top center;

    padding-top: 2.34375vw;
    padding-bottom: 3.90625vw;
}

div.home main {
    background: none;
    padding-top: 0;
    padding-bottom: 0;
}

div.page main > .banner-container {
    background-color: #3874b2;
}

div.page main > .banner-container .banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

div.page main > .banner-container .banner img {
    width: 18.75vw;
}

div.page main > .banner-container .banner h2 {
    color: #fff;    
    padding: 1em;
    font-weight: bold;
    margin-bottom: 0;
}


main > .container > .row > div {
    padding-left: 30px;
    padding-right: 30px;
}

main > .container > .row:first-child > div {
    padding-left: 0;
    padding-right: 0;
}

main .content > .container {
    padding-left: 0;
    padding-right: 0;
}

main .breadcrumb {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: .75rem 1rem;
    margin-bottom: 0;
    list-style: none;
    background-color: transparent;
    border-radius: 0;
    color: #333333;
}

main .breadcrumb-item+.breadcrumb-item::before {
    content: '>';
}

main .breadcrumb-item.active {
    color: #333333;
}

main .content h2 {
    font-weight: bold;
    padding-bottom: .5em;
    margin-bottom: .5em;
    border-bottom: 1px solid #d9d9d9;
    color: #0170b5;
}

main .content h3 {
    font-weight: bold;
    font-size: 1.5em;
    margin-bottom: .5em;
}

main .content h4 {
    font-size: 1.25em;
}

main .content ul {
    padding-inline-start: 1em;
}

main .content li {
    margin-bottom: .5em;
}

main .content ul li > ul {
    margin-top: .5em;
}

main .content ul ol {
    margin-top: .5em;
}

main .content ul.faq {
    list-style: none;
    padding-left: 0;
}

main .content ul.faq li {
    background-color: #bfddef;
    margin-bottom: .5rem;
}

main .content ul.faq li a {
    display: block;
    padding: 1rem;
    padding-left: 2rem;
    padding-right: 2rem;
    color: #000;
    text-decoration: none;
    font-size: 1.5rem;
    font-weight: bold;
}

main .content ul.faq li a:hover {
    text-decoration: underline;
}

main .content a {
    color: #006DA8;
    text-decoration: underline;
}

main .content a:hover {
    color: #000;
}

main .content blockquote {
    padding-left: 2em;
    padding-right: 2em;
}

main .content table {
    width: 100%;
    margin-bottom: 1em;
}

main .content table caption {
    display: none;
}

main .content table thead th {
    background-color: #356a9c;
    color: #fff;
    border: 1px solid #fff;
    padding: 1em;
    vertical-align: text-top;
    text-align: center;
}

main .content table tbody th {
    background-color: #356a9c;
    color: #fff;
    border: 1px solid #fff;
    padding: 1em;
    vertical-align: text-top;
}

main .content table tbody tr:nth-of-type(even) th {
    background-color: #e1ecef;
    color: #000;
}

main .content table tbody td {
    background-color: #e1ecef;
    border: 1px solid #fff;
    padding: 1em;
    vertical-align: text-top;
}

main .content table tbody tr:nth-of-type(even) td {
    background-color: #ffffff;
}

main .content table tbody td > span {
    display: inline-block;
    vertical-align: top;
}

main .content table tbody td span.number {
    width: 2em;
}

main .content table tbody td span.number-content {
    width: calc(100% - 2em);
}

main .content form {
    margin-bottom: .5em;
}

main .content form select {
    border: 1px solid #356a9c;
    padding: 1em;
    padding-top: .5em;
    padding-bottom: .5em;
    padding-right: 2em;
}

main .content form button {
    border: 0;
    background-color: #356a9c;
    font-weight: bold;
    padding: 1em;
    padding-top: .5em;
    padding-bottom: .5em;
}

main .content .search-form label {
    padding-left: 0;
    margin-top: .5em;
}

main .content .search-form .form-control {
    border-radius: 0;
    border-color: #c0dbec;

}

main .content .search-form .split:before {
    content: '/';
    display: inline-block;
    position: absolute;
    top: .5em;
    left: 0;
}

main .content .search-form .split:after {
    content: '/';
    display: inline-block;
    position: absolute;
    top: .5em;
    right: 0;
}

main .content .search-form .btn {
    border-radius: 0;
    padding-left: 2em;
    padding-right: 2em;
    border: none;
    margin: .25em;
}

main .content .search-form .btn.btn-primary {
    background-color: #3fa1ec;
    color: #000;
}

main .content .search-form .btn.btn-secondary {
    background-color: #7ac043;
    color: #000;
}

main .content .search-form .btn.btn-success {
    background-color: #c6deea;
    color: #000;
}


main .content .search-panel .remark {
    border-top: 1px solid #b2b2b2;
    padding-top: 1em;
}

main .content ul li::marker {
    unicode-bidi: isolate;
    font-variant-numeric: tabular-nums;
    text-transform: none;
    text-indent: 0px !important;
    text-align: start !important;
    text-align-last: start !important;
    /* font-size: 1.5em; */
}

main .content .pager-items {
    display: none;
}

main .content .pager-navigator {
    /* display: none; */
    text-align: center;
    font-size: 1em;
    padding-top: 1em;
    display: flex;
    align-items: center;
    justify-content: center;
}

main .content .pager-navigator a {
    padding: .25em;
    padding-left: .5em;
    padding-right: .5em;
    border-color: #c0dbec;
    min-width: 2em;
    min-height: 2em;
    display: inline-block;
    margin: .2em;
    background-position: center center;
    background-size: auto 50%;
    background-repeat: no-repeat;
    transition: .5s all;
}

main .content .pager-navigator a:hover {
    background-color: #e9e9e9;
}

main .content .pager-navigator a.first {
    background-image: url(../images/first.svg);
}

main .content .pager-navigator a.prev {
    background-image: url(../images/prev.svg);
}

main .content .pager-navigator a.next {
    background-image: url(../images/next.svg);
}

main .content .pager-navigator a.last {
    background-image: url(../images/last.svg);
}

main .content .pager-navigator span.page {
    padding-left: .5em;
    padding-right: .5em;
}


main .content .search-panel a {
    text-decoration: none;
}

main .content .search-results h3 {
    background-color: #356a9c;
    text-align: center;
    color: #fff;
    padding-top: 1em;
    padding-bottom: 1em;
    font-size: 1em;
}

main .content .search-results .pager {
    background-color: #356a9c;
    padding-top: .5em;
    padding-bottom: .5em;
    padding-bottom: .5em;
    margin-bottom: .5em;
    color: #fff;
    text-align: center;
    font-size: 1em;
    display: flex;
    align-items: center;
    justify-content: center;
    /* display: none; */
    font-weight: bold;
}

main .content .search-results .pager a {
    padding: .25em;
    padding-left: .5em;
    padding-right: .5em;
    border-color: #c0dbec;
    min-width: 2em;
    min-height: 2em;
    display: inline-block;
    margin: .2em;
    background-position: center center;
    background-size: auto 50%;
    background-repeat: no-repeat;
    transition: .5s all;
}

main .content .search-results .pager a:hover {
    background-color: #e9e9e9;
}

main .content .search-results .pager a.first {
    background-image: url(../images/first.svg);
}

main .content .search-results .pager a.prev {
    background-image: url(../images/prev.svg);
}

main .content .search-results .pager a.next {
    background-image: url(../images/next.svg);
}

main .content .search-results .pager a.last {
    background-image: url(../images/last.svg);
}

main .content .search-results .pager span.pageInfo {
    padding-left: .5em;
    padding-right: .5em;
}

main .content .search-results .pager select {
    margin-left: 1em;
    padding-top: .3em;
    padding-bottom: .3em;
}

main .content .search-results .pager a {
    background-color: #fff;
}

main .content .search-results .pager > span:first-child {
    margin-right: 1em;
}


main .content .search-results .tablesorter-blue .header,
main .content .search-results .tablesorter-blue .tablesorter-header {
	/* black (unsorted) double arrow */
	/* white (unsorted) double arrow */
	background-image: url(../images/updown.svg);
	/* image */
	/* background-image: url(images/black-unsorted.gif); */
	background-repeat: no-repeat;
    background-position: bottom 5px right 5px;
    background-size: 14px 23px;
    padding: 1em;
	white-space: normal;
    cursor: pointer;
    vertical-align: middle;
}

main .content .search-results .tablesorter-blue .headerSortUp,
main .content .search-results .tablesorter-blue .tablesorter-headerSortUp,
main .content .search-results .tablesorter-blue .tablesorter-headerAsc {
	/* black asc arrow */
	background-image: url(../images/up.svg);
	/* white asc arrow */
	/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7); */
	/* image */
	/* background-image: url(images/black-asc.gif); */
}

main .content .search-results .tablesorter-blue .headerSortDown,
main .content .search-results .tablesorter-blue .tablesorter-headerSortDown,
main .content .search-results .tablesorter-blue .tablesorter-headerDesc {
	/* black desc arrow */
	background-image: url(../images/down.svg);
	/* white desc arrow */
	/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7); */
	/* image */
	/* background-image: url(images/black-desc.gif); */
}

main .content .search-results .tablesorter-blue .headerSortUp, main .content .search-results .tablesorter-blue .tablesorter-headerAsc, main .content .search-results .tablesorter-blue .tablesorter-headerSortUp, main .content .search-results .tablesorter-blue .headerSortDown, main .content .search-results .tablesorter-blue .tablesorter-headerDesc, main .content .search-results .tablesorter-blue .tablesorter-headerSortDown {
    background-color: #356a9c;
}

main .content .search-results .tablesorter-blue .sorter-false {
    background-image: none;
    cursor: default;
}

main .content .search-results .tablesorter-blue th, main .content .search-results .tablesorter-blue thead td {
    font: unset;
    text-shadow: unset;
}

main .content .search-results .tablesorter-blue th input {
    width: 100px;
    white-space: normal;
}

main .content .search-results blockquote {
    background-color: #f2e8c7;
    padding: 2em;
}

main .content .search-results .pointer {
    cursor: pointer;
}

main .content table.responsive-detail td {
    text-align: left;
}

main .content .faq-container {
    /* padding-top: 1em; */
    position: relative;
}

main .content .faq-container > p {
    margin-top: 1em;
    padding-bottom: 2em;
}

main .content .faq-container > p > a.expand {
    padding: 1em;
    padding-left: 2em;
    padding-right: 2em;
    background-color: #fff;
    font-weight: bold;
    text-decoration: none;
    color: #000;
}

main .content .faq-container > p > a.expand:hover {
    text-decoration: underline;
}

main .content .faq-container > ol {
    display: block;
    list-style-type: none;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 0px;
    list-style-position: inside;
}


main .content .faq-container > ol > li {
    position: relative;
    background-color: #fff;
    margin-bottom: 1rem;
}

main .content .faq-container > ol > li > a {
    width: 100%;
    padding: 1rem;
    padding-left: 2rem;
    padding-right: 2rem;
    text-decoration: none;
    color: #000;
    display: flex;
}

main .content .faq-container > ol > li > a > span {
    width: calc(100% - 3em);
    display: inline-block;
    font-weight: bold;
    font-size: 1.2rem;
}

main .content .faq-container > ol > li > a > span:first-child {
    width: 2em;
}

main .content .faq-container > ol > li > a > span:last-child {
    width: 2em;
    display: flex;
    justify-content: flex-end;
    /* margin-top: .25em; */
    color: #3774B2;
    font-size: 1.75rem;
}

main .content .faq-container > ol > li > a > span .fa-plus-circle {
    display: none;
}

main .content .faq-container > ol > li > a.collapsed > span .fa-plus-circle {
    display: block;
}

main .content .faq-container > ol > li > a.collapsed > span .fa-minus-circle {
    display: none;
}

main .content .faq-container > ol > li > div.recitem {
    background-color: #fff;
    padding: 1rem;
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 0;
}

main .content .faq-container > ol > li > div.recitem:before {
    content: ' ';
    display: block;
    border-top: 1px solid #AEC4C4;
    margin-bottom: 1rem;
}


main .content ul.contact {
    list-style: none;
}

main .content ul.contact li {
    padding-left: 2em;
}


main .content ul.contact li.email {
    background-image: url(../images/email.svg);
    background-repeat: no-repeat;
    background-size: 25px auto;
}

main .content ul.contact li.hotline {
    background-image: url(../images/hotline.svg);
    background-repeat: no-repeat;
    background-size: 25px auto;
}

main .content ul.contact li.address {
    background-image: url(../images/address.svg);
    background-repeat: no-repeat;
    background-size: 25px auto;
}

main .content .bg-contact {
    background-image: url(../images/contact_train.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom 10px left 0px;
}

/* 
main .content ul.contact a {
    text-decoration: none;
}

main .content ul.contact a:hover {
    text-decoration: underline;
} */


footer {
    color: #000;
    background-color: transparent;
    background-image: url(../images/footer.png);
    background-repeat: no-repeat;
    padding-top: 7.29166vw;
    background-size: contain;
    margin-top: -27px;
    position: absolute;
    width: 100%;
} 

footer .button-container { 
    padding-top: 1rem;
    padding-bottom: 1rem;
}

footer .button-container > div > div {
    margin-bottom: 1rem;
}

footer .button-container > div > div a {
    color: #3774b2;
    font-weight: bold;
    font-size: 1.25rem;
}

footer hr {
    border-top: 7px solid #005385;
}

footer p {
    margin-bottom: .5em;
}

footer a, footer a:hover {
    color: #000;
}

footer ul {
    list-style: none;
    padding-inline-start: 0px;
    margin-bottom: 0;
}

footer ul li {
    display: inline-block
}

footer ul.nav li:not(:first-child) {
    margin-left: .5em;
}

footer ul.nav li:before {
    content: ' ';
    border-left: 1px solid #000;
    margin-right: .5em;
}

footer ul.nav li:first-child:before {
    display: none;
}

/* End of Common */

/* Begin of Landing */
/* 
div.landing nav.navbar {
    padding: 0;
    padding-bottom: .5em;
}
div.landing ul.navbar-nav li.nav-item {
    padding-left: .5em;
    padding-right: .5em;
    border-left: 1px solid #000;
}
div.landing ul.navbar-nav li.nav-item:first-child {
    border-left: none;
}
div.landing ul.navbar-nav li.nav-item a {
    color: #000;
}
div.landing ul.navbar-nav li.nav-item a:hover {
    color: #3459A9;
} */

div.landing .banner-container > .row {
    margin-left: 0;
    margin-right: 0;
}

div.landing .banner-container > .row > .col-lg-12 {
    padding-left: 0;
    padding-right: 0;
}

div.landing .banner-container .img-fluid {
    width: 100%;
}

div.landing .banner-container .overlay {
    position: relative;
}

div.landing a.btn-primary {
    border-radius: 0;
    background-color: #dd2525;
    border: none;
    font-size: 1.5em;
    margin-left: .5em;
    margin-right: .5em;
    padding-left: 1em;
    padding-right: 1em;
}


div.landing footer {
    background-color: transparent;
    background: none;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0px;
    position: relative;
    margin-top: 20px;
}

/* End of Landing */


#search_resultdetails_panel {
    display: none;
}

.col-w-3 {
    width: 3%;
}

.col-w-10 {
    width: 10%;
}

.col-w-15 {
    width: 15%;
}

.col-w-20 {
    width: 20%;
}

.col-w-25 {
    width: 25%;
}

.col-w-30 {
    width: 30%;
}

.col-w-40 {
    width: 40%;
}

.col-w-80 {
    width: 80%;
}

.word-break-all {
    word-break: break-all;
}

.red {
    color: #EB0000;
}

.text-underline {
    text-decoration: underline;
}

.bg-blue {
    background-color: #3874b2;
}

.bg-white {
    background-color: #fff;
}

p.title {
    color: #3874b2;
    font-weight: bold;
}



.home section.content {
    overflow-x: hidden;
    position: relative;
}

.home #animation_container {
    width: 100vw; 
    height: 37.5vw;
    margin-left: auto;
    margin-right: auto;
}

.home #animation_container canvas {
    position: absolute; 
    display: none;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.home #animation_container div {
    pointer-events:none; 
    overflow:hidden; 
    width: 100%;
    height: 100%;
    position: absolute; 
    left: 0px; 
    top: 0px; 
    display: none;
}

.home #_preload_div_ {
    position:absolute; 
    top:0; 
    left:0; 
    display: inline-block; 
    width: 100vw; 
    height: 37.5vw;
    text-align: center;
}

.home #_preload_div_ span {
    display: inline-block; 
    height: 100%; 
    vertical-align: middle;
}

.home #_preload_div_ img {
    vertical-align: middle; 
    max-height: 100%;
}

.game #animation_container {
	position:absolute;
	margin:auto;
	left:0;right:0;
	top:0;bottom:0;
  }



@media (max-width: 1280px) {
    header .navbar-brand img.img-fluid {
        max-width: 250px;
    }
}


@media (min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1150px;
    }
}

@media screen and (max-width: 991px) and (min-width: 0px) {

    /* Begin of Common */

    header .hamburger {
        z-index: 1001;
    }

    header .navbar-collapse {
        position: absolute;
        top: 126px;
        right: 100vw;
        width: 100vw;
        transition: all .3s ease;
        display: block!important;
        z-index: 1000;
        background-color: #dc2525;
        padding-top: 15px;
        padding-left: 0px;
        padding-right: 0px;
        padding-bottom: 15px;
    }

    header .navbar-collapse.show {
        right: calc((100% - 100vw) / 2);
    }

    header .navbar-nav {
        padding-left: 15px;
        padding-right: 15px;
    }

    header .navbar-nav .nav-link {
        padding-right: .5rem;
        padding-left: .5rem;
    }

    header nav.navbar div.language-selector {
        padding-left: 15px;
        padding-right: 15px;
        margin-top: 15px;
    }

    header nav.navbar .form-inline {
        padding-left: 15px;
        padding-right: 15px;
    }

    header nav.navbar input.form-control {
        width: 100%;
    }

    header nav.navbar .form-inline .btn {
        right: 30px;
    }

    header nav.navbar .navigation {
        margin-top: 1em;
        /* background: #0071b3; */
        padding-left: .5em;
        padding-right: .5em;
    }

    main > .container > .row > div {
        padding-left: 15px;
        padding-right: 15px;
    }

    .navigation > ul.nav {
        display: block;
    }
    
    header nav.navbar .navigation > ul > li {
        width: 100% !important;
        border-bottom: 1px solid #fff;
        border-left: none;
    }

    header nav.navbar .navigation > ul > li:nth-of-type(even)  {
        border-left: none;
    }

    .navigation > ul > li:hover, .navigation > ul > li.active {
        background-color: transparent;
    }

    .navigation ul.nav > li > a.nav-link {
        border-left: none;
    }

    header nav.navbar .navigation li::before {
        display: none;
    }

    footer ul.nav {
        display: block;
    }

    footer ul.nav li:not(:first-child) {
        margin-left: 0;
    }
    
    footer ul.nav li:before {
        display: none;
    }

    footer ul.nav li {
        display: block;
    }

    .navigation > ul > li > a {
        color: #fff;
        justify-content: flex-start;
        border-left: none;
        border-right: none;
    }

    .navigation > ul > li:hover > a, .navigation > ul > li.selected > a {
        color: #fff;
    }

    .navigation > ul > li > a:hover {
        color: #fff;
        text-decoration: underline;
    }

    .navigation ul.nav li .children > a {
        background-color: #fff;
    }

    .navigation ul.nav li .children > a:hover {
        background-color: #dc2525;
        color: #fff;
    }

    /* End of Common */

    .home #animation_container {
        width: 200vw; 
        height: 37.5vw;
        margin-left: -25vw;
        margin-right: auto;
    }

    .home #animation_container {
        width: 200vw !important; 
        height: 75vw !important;
        margin-left: -45vw;
        /* margin-right: -25vw; */
    }

    .home #animation_container canvas {
        width: 200vw !important;
        height: 75vw !important;
    }
    

    .railway #animation_container {
        width: 200vw !important; 
        height: 48.95833vw !important;
        margin-left: -50vw;
        /* margin-right: -25vw; */
    }

    .railway #animation_container canvas {
        width: 200vw !important;
        height: 48.95833vw !important;
    }
    
    
}


@media screen and (max-width: 767px) and (min-width: 0px) {

    /* Begin of Common */

    .navbar-brand {
        margin-right: 0;
    }

    header .navbar-brand img.img-fluid {
        max-width: 65vw;
    }

    header .navbar-collapse {
        top: 76px;
    }

    header nav.navbar ul {
        display: inline-block;
    }

    header nav.navbar ul li {
        display: inline-block;
    }

    header nav.navbar ul li:nth-of-type(even)  {
        /* border-left: 1px solid #FFF; */
    }

    header nav.navbar a.nav-link {
        color: #FFF;
    }

    header nav.navbar a.nav-link img {
        display: inline-block;
    }

    header nav.navbar a.nav-link span {
        margin-left: 0;
    }

    header nav.navbar a.nav-link.border {
        border: 1px solid #FFF!important;
    }

    header nav.navbar .navigation ul > li a.nav-link {
        color: #fff;
    }

    header nav.navbar a.nav-link.border:hover {
        background-color: #8ce498;
    }

    header nav.navbar div.language-selector {
        border-left: none;
        border-right: none;
        margin-bottom: 1em;
    }

    header nav.navbar div.language-selector a {
        color: #dc2525;
        border-left-color: #FFF;
        min-width: 42px;
        display: inline-block;
        text-align: center;
    }

    header .navbar-collapse > .d-flex {
        display: block!important;
    }

    header div.banner-container {
        height: 80px;
    }

    header div.banner-container .banner img.img-fluid {
        object-fit: cover;
        height: 80px;
    }

    main > .container {
        box-shadow: none;
    }

    main > .container > .row > div {
        padding-left: 15px;
        padding-right: 15px;
    }

    main .breadcrumb {
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 0;
        margin-top: 1rem;
    }

    main .content {
        position: relative;
    }

    main .content table.responsive thead tr {
        display: none;
    }

    main .content table.responsive thead th {
        background-color: unset;
        border: none;
        padding: 1em;
        vertical-align: text-top;
    }
    
    main .content table.responsive tbody th {
        background-color: unset;
        border: none;
        padding: 1em;
        vertical-align: text-top;
    }

    main .content table.responsive tbody tr {
        background-color: #fff;
        border: 1em solid #fff;
        border-left: 0;
        border-right: 0;
        border-top: 0;
    }

    main .content table.responsive tbody tr:last-child {
        border-bottom: none;
    }

    main .content table.responsive tbody tr:nth-of-type(even) {
        background-color: #e1ecef;
    }
    
    main .content table.responsive tbody tr:nth-of-type(even) th {
        background-color: unset;
    }
    
    main .content table.responsive tbody td {
        background-color: unset;
        border: none;
        padding: 1em;
        display: block;
        padding-top: .5em;
        padding-bottom: .5em;
        border: 1px solid #5378b2;
        border-bottom: none;
        border-top: none;
    }

    main .content table.responsive tbody td:first-child {
        border-top: 1px solid #5378b2;
    }

    main .content table.responsive tbody td:last-child {
        border-bottom: 1px solid #5378b2;
    }


    main .content table.responsive tbody tr:nth-of-type(even) td {
        background-color: unset;
    }

    main .content table.responsive td:before {
        content: attr(data-title);
        font-weight: bold;
        width: 100%;
        display: block;
    }

    main .content table.responsive td.empty:before {
        display: none;
    }

    main .content table.responsive td span {
        display: inline-block !important;
        margin-right: .25em;
    }

    main .content table.responsive td span.number {
        margin-right: 0;
    }

    main .content table.responsive td span.number-content {
        margin-right: 0;
    }

    main .content table.responsive td {
        text-align: left !important;
    }

    main .content table.responsive-detail td {
        width: 100%;
        display: block;
        text-align: left;
    }

    main .content table.responsive-detail td:first-child {
        padding-bottom: 0;
        border-bottom: none;
        font-weight: bold;
    }

    main .content table.responsive-detail td:last-child {        
        padding-top: 0;
        border-top: none;
    }

    main .content .form-inline .form-group {
        display: flex;
    }

    main .content .search-panel .container > div:last-child span {
        text-align: center;
        width: 100%;
    }

    main .content .search-panel .container > div:last-child p {
        text-align: center;
    }

    main .content .search-results .pager {
        display: block;
    }

    main .content .search-results .pager > span:first-child {
        display: block;
        margin-right: 0;
    }

    main .content .search-results .pager > span:first-child {
        display: block;
        margin-right: 0;
    }

    main .content .search-results .pager span.pageInfo {
        display: inline-block;
        vertical-align: top;
        margin-top: .5em;
    }

    main .content .search-results .pager select {
        margin-top: .2em;
        vertical-align: top;
    }

    div.page main > .banner-container .banner h2 {
        padding-top: 0;
        padding-bottom: 0;
    }

    div.page main > .banner-container .banner img {
        width: 38.75vw;
    }

    main .content .bg-contact {
        background-position: bottom 20px left 0px;
    }

    footer {
        padding-top: 40px;
        background-position: top center;
        background-size: 150%;
    }

    footer ul.icon {
        text-align: center!important;
    }

    /* End of Common */

}