/* add here all your css customizations */

@media (min-width: 992px) {
    html:not(.sticky-header-active) #header.header-transparent .header-nav-main nav > ul > li > a {
        color: #444;
    }
    html:not(.sticky-header-active) #header.header-transparent .header-nav-main nav > ul > li > a.dropdown-toggle:after {
        border-color: #444 transparent transparent transparent;
    }
}

.custom-border-radius {
    border-radius: 35px !important;
    padding: 11px 30px !important;
}
.custom-border-radius.custom-border-radius-small {
    padding: 7px 17px !important;
    font-size: 12px;
}

.btn-outline.custom-border-width {
    border-width: 2px;
}

html .input-group>.input-group-append>.btn,
html .input-group>.input-group-append>.input-group-text,
html .input-group>.input-group-prepend>.btn,
html .input-group>.input-group-prepend>.input-group-text{
    border-radius: 0;
}
html .btn-outline{
    border-width: 1px;
}
html .btn-outline.btn-tertiary{
    color: #666666;
}
.list-inline>li {
    display: inline-block;
    padding-right: 5px;
    padding-left: 5px;
}

.pagination > li > a, .pagination > li > span{
    white-space: nowrap;
    text-overflow: ellipsis;
}

.page-item:first-child .page-link,
.page-item:last-child .page-link{
    border-radius: 0;
}

.page-header{
    margin: 0 0 6rem 0;
}

.page-header .breadcrumb > li{
    font-size: 1rem;
    margin-bottom: .5rem;
}


/* simple page */
body.gray{
    background-color: #eee;
}
.body.simple{
    background-color: #fff;
}
.body.simple #header .header-body{
    min-height: 0;
    border-bottom: 5px solid #222;
}
.body.simple #footer{
    margin-top: 0;
}
.body.simple .main{
    min-height: calc(100vh - 118px - 98px);
}
.body.simple #header .header-body .header-title{
    display: flex;
    align-self: flex-start;
    padding: 1.2rem 0;
    position: relative;
}

.body.simple #header .header-body .header-title:after{
    content: ' ';
    width: 100%;
    height: 0;
    border-bottom: 5px solid #0088cc;
    position: absolute;
    left: 0;
    bottom: -5px;
    z-index: 99;
}

.body.simple #footer.light .footer-copyright{
    background-color: #eee;
    margin-top: 0;
}

/* form - custom radio */
.radio-custom {
    position: relative;
    padding: 0 0 0 25px;
    margin-bottom: 7px;
    margin-top: 0;
    display: inline-block;
    margin-right: 20px;
}
.radio-custom.radio-inline {
    display: inline-block;
    vertical-align: middle;
}
.form-group .radio-custom.radio-inline {
    margin-top: 7px;
    padding-top: 0;
}
.radio-custom:last-child, .radio-custom:last-of-type {
    margin-bottom: 0;
}
.radio-custom input[type="radio"] {
    opacity: 0;
    position: absolute;
    top: 50%;
    left: 3px;
    margin: -6px 0 0 0;
    z-index: 2;
    cursor: pointer;
}
.radio-custom input[type="radio"]:checked   label:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 4px;
    margin-top: -5px;
    display: inline-block;
    font-size: 11px;
    line-height: 1;
    width: 10px;
    height: 10px;
    background-color: #444;
    border-radius: 50px;
    -webkit-box-shadow: 0px 0px 1px #444;
    box-shadow: 0px 0px 1px #444;
}
.radio-custom input[type="radio"]:disabled {
    cursor: not-allowed;
}
.radio-custom input[type="radio"]:disabled:checked   label:after {
    color: #999;
}
.radio-custom input[type="radio"]:disabled   label {
    cursor: not-allowed;
}
.radio-custom input[type="radio"]:disabled   label:before {
    background-color: #eee;
}
.radio-custom label {
    cursor: pointer;
    margin-bottom: 0;
    text-align: left;
    line-height: 1.2;
}
.radio-custom label:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -9px;
    width: 18px;
    height: 18px;
    display: inline-block;
    border-radius: 50px;
    border: 1px solid #bbb;
    background: #fff;
}
.radio-custom label   label.error {
    display: block;
}


/* form - custom checkbox */
.checkbox-custom {
    position: relative;
    padding: 0 0 0 25px;
    margin-bottom: 7px;
    margin-top: 0;
}
.checkbox-custom.checkbox-inline {
    display: inline-block;
    vertical-align: middle;
}
.form-group .checkbox-custom.checkbox-inline {
    margin-top: 7px;
    padding-top: 0;
}
.checkbox-custom:last-child, .checkbox-custom:last-of-type {
    margin-bottom: 0;
}
.checkbox-custom input[type="checkbox"] {
    opacity: 0;
    position: absolute;
    top: 50%;
    left: 3px;
    margin: -6px 0 0 0;
    z-index: 2;
    cursor: pointer;
}
.checkbox-custom input[type="checkbox"]:checked   label:after {
    position: absolute;
    display: inline-block;
    font-family: 'fontawesome';
    content: '\f00c';
    top: 50%;
    left: 4px;
    margin-top: -5px;
    font-size: 11px;
    line-height: 1;
    width: 16px;
    height: 16px;
    color: #333;
}
.checkbox-custom input[type="checkbox"]:disabled {
    cursor: not-allowed;
}
.checkbox-custom input[type="checkbox"]:disabled:checked   label:after {
    color: #999;
}
.checkbox-custom input[type="checkbox"]:disabled   label {
    cursor: not-allowed;
}
.checkbox-custom input[type="checkbox"]:disabled   label:before {
    background-color: #eee;
}
.checkbox-custom label {
    cursor: pointer;
    margin-bottom: 0;
    text-align: left;
    line-height: 1.2;
}
.checkbox-custom label:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -9px;
    width: 19px;
    height: 18px;
    display: inline-block;
    border-radius: 2px;
    border: 1px solid #bbb;
    background: #fff;
}
.checkbox-custom label   label.error {
    display: block;
}

/* sign screens - wrappers */
.body-sign {
    display: table;
    margin: 0 auto;
    max-width: 580px;
    padding: 0 15px;
    width: 100%;
}
.body-sign .center-sign {
    display: table-cell;
    padding-top: 20px;
}
.body-sign .panel-sign {
    background: transparent;
}
.body-sign .panel-sign .panel-title-sign .title {
    display: inline-block;
/*     font-size: 1.2rem; */
/*     line-height: 2rem; */
    padding: 13px 17px;
    vertical-align: bottom;
    background-color: #0088cc;
    color: #fff;
}
.body-sign .panel-sign .card-body {
    background: #fff;
    border-top: 5px solid #0088cc;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
    padding: 2rem 4rem;
}


@media (max-width: 575.98px) {
    .body-sign .panel-sign .card-body {
        padding: 1.5rem;
    }
}/* 2018-03-14 mobile simple header page view*/

/* sign screens - elements */
.body-sign .input-group-icon .input-group-addon i {
    width: 14px;
}
.body-sign .checkbox-custom {
    margin-top: 8px;
}
.body-sign .line-thru {
    display: block;
    font-size: 1.2rem;
    position: relative;
}
.body-sign .line-thru span {
    color: #ccc;
    position: relative;
    z-index: 3;
}
.body-sign .line-thru:before {
    background-color: #fff;
    content: '';
    height: 10px;
    left: 50%;
    position: absolute;
    margin: -5px 0 0 -20px;
    top: 50%;
    width: 40px;
    z-index: 2;
}
.body-sign .line-thru:after {
    border-bottom: 1px solid #dadada;
    content: '';
    display: block;
    left: 10%;
    position: absolute;
    top: 47%;
    width: 81%;
    z-index: 1;
}

/* progress bar overwrite style */
.progress-bar {
    background: #ccc;
}
.progress .progress-bar {
    box-shadow: none;
    border-radius: 4px;
}

/* progress bar default style */
.progress {
    background: #474453;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.4) inset;
}
.progress.light {
    background: #f6f7f8;
    background: -webkit-linear-gradient(#f6f7f8, #f6f7f8 10%, #f5f5f5 11%);
    background: linear-gradient(#f6f7f8, #f6f7f8 10%, #f5f5f5 11%);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset;
}
.progress-squared, .progress-squared .progress-bar {
    border-radius: 0 !important;
}
.progress-xs {
    height: 7px;
}
.progress-xs, .progress-xs .progress-bar {
    border-radius: 7px;
}
.progress-xs .progress-bar {
    direction: ltr !important;
    text-indent: -9999px;
}
.progress-xs.progress-half-rounded, .progress-xs.progress-half-rounded .progress-bar {
    border-radius: 2px;
}
.progress-xs.progress-striped .progress-bar {
    background-size: 15px 15px;
}
.progress-sm {
    border-radius: 12px;
    height: 12px;
}
.progress-sm, .progress-sm .progress-bar {
    border-radius: 12px;
}
.progress-sm .progress-bar {
    font-size: 10px;
    line-height: 12px;
}
.progress-sm.progress-half-rounded, .progress-sm.progress-half-rounded .progress-bar {
    border-radius: 4px;
}
.progress-sm.progress-striped .progress-bar {
    background-size: 20px 20px;
}
.progress-md {
    border-radius: 14px;
    height: 14px;
}
.progress-md, .progress-md .progress-bar {
    border-radius: 14px;
}
.progress-md .progress-bar {
    font-size: 11px;
    line-height: 14px;
}
.progress-md.progress-half-rounded, .progress-md.progress-half-rounded .progress-bar {
    border-radius: 4px;
}
.progress-md.progress-striped .progress-bar {
    background-size: 25px 25px;
}
.progress-lg {
    border-radius: 16px;
    height: 16px;
}
.progress-lg, .progress-lg .progress-bar {
    border-radius: 16px;
}
.progress-lg .progress-bar {
    line-height: 16px;
}
.progress-lg.progress-half-rounded, .progress-lg.progress-half-rounded .progress-bar {
    border-radius: 5px;
}
.progress-lg.progress-striped .progress-bar {
    background-size: 30px 30px;
}
.progress-xl {
    border-radius: 18px;
    height: 18px;
}
.progress-xl, .progress-xl .progress-bar {
    border-radius: 18px;
}
.progress-xl .progress-bar {
    line-height: 18px;
}
.progress-xl.progress-half-rounded, .progress-xl.progress-half-rounded .progress-bar {
    border-radius: 6px;
}
.progress-xl.progress-striped .progress-bar {
    background-size: 35px 35px;
}

/* progress bar states */
.progress .progress-bar-primary {
    background-color: #0088cc;
}
.progress .progress-bar-success {
    background-color: #47a447;
}
.progress .progress-bar-warning {
    background-color: #ed9c28;
}
.progress .progress-bar-danger {
    background-color: #d2322d;
}
.progress .progress-bar-info {
    background-color: #5bc0de;
}
.progress .progress-bar-dark {
    background-color: #171717;
}
.circular-bar {
    margin-bottom: 25px;
}
.circular-bar .circular-bar-chart {
    position: relative;
}
.circular-bar strong {
    display: block;
    font-weight: 600;
    font-size: 18px;
    line-height: 30px;
    position: absolute;
    top: 35%;
    width: 80%;
    left: 10%;
    text-align: center;
}
.circular-bar label {
    display: block;
    font-weight: 100;
    font-size: 17px;
    line-height: 20px;
    position: absolute;
    top: 50%;
    width: 80%;
    left: 10%;
    text-align: center;
}

/* override */
body{
    font-family: arial,'times new roman','microsoft yahei',simhei;
}
.alternative-font{
    font-family: arial,'times new roman','microsoft yahei',simhei;
    font-size: 1em;
    font-style: italic;
    margin-right: 4px;
}
p .alternative-font {
    display: inline-block;
    margin-top: 0;
    position: relative;
    top: 0;
    margin-bottom: 0;
}
.counters strong {
    display: block;
    font-weight: bold;
    font-size: 36px;
    line-height: 50px;
}
.call-to-action-primary a.white:not(.btn){
    color: #eeeeee;
}
.call-to-action-primary a.white:not(btn):hover,
.call-to-action-primary a.white:not(btn):focus{
    color: #ffffff;
}

.featured-box .box-content,
.slider-container .tparrows{
    border-radius: 0;
}

html .btn-borders{
    border-width: 1px;
}

#header .header-logo.header-logo-text{
    margin: 15px;
}

#header .header-logo.header-logo-text span{
    line-height: 40px;
    padding: 0 10px;
    border-left: 1px solid #777;
}

.thumb-info.thumb-info-centered-info .thumb-info-title{
    position: absolute;
}

.input-lg{
    font-size: 14px;
}

.call-to-action{
    min-height: 80px;
}

.home-concept strong{
    font-family: inherit;
}

.panel-default .panel-heading {
    border-bottom: 1px solid #dadada;
    border-radius: 0;
}

.panel .card-body {
    background: #fdfdfd;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}

.panel {
    background: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
}



.form-bordered .form-group {
    border-bottom: 1px solid #eff2f7;
    padding-bottom: 15px;
    margin-bottom: 15px;
}

.help-block {
    color: #b1b1b1;
    font-size: 12px;
}
.form-control:focus {
    border-color: #33bbff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(0, 136, 204, 0.3);
}

/* form .form-group label{ */
/*     font-weight: normal; */
/* } */

/* form - input birthday */
.input-birthday .form-control{
    display: inline-block;
    width: 70px;
}
.input-birthday .form-control:first-child{
    display: inline-block;
    width: 100px;
}

.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th{
    vertical-align: middle;
}

.table>thead>tr>th {
    border-bottom: 1px solid #828890;
}

/* modal login */
.login-toggle{
    position: absolute;
    top: 0;
    right: 0;
    width: 48px;
    height: 48px;
    cursor: pointer;
}
.login-toggle.website{
    background:  -48px 0;
}
.login-toggle.wechat{
    background:  0 0;
}
/* modal login */


/* components */
/* modal remove padding-right force */
.modal-open {
    padding-right: 0px !important;
}

/* transparent header style */

.award{
    color:#383f48;
    font: normal normal normal 14px/1 fontawesome;
}
.award:before{
    margin-right: 5px;
}
.award-level-1:before{
    content: "\f091";
}
.award-level-2:before{
    content: "\f091";
}
.award-level-3:before{
    content: "\f091";
}
.award-level-4:before{
    content: "\f06b";
}
/* header popover */
#header .popover .popover-title{
    white-space: nowrap;
}
#header.header-transparent .popover{
    position: fixed;
}
#header.always-border-bottom .header-body,
html.sticky-header-active #header.always-border-bottom .header-body{
    border-bottom : 1px solid #bdbdbd !important;
    box-shadow: 0 0 3px rgba(0,0,0,0.1);
}

/* parallax section for competition */
.body.competition{
    background-color: #ffffff;
/*     background-image: ; */
}
.body.competition section.section-background.welcome-2017{
    background:  center;
    background-size: cover;
    height : 100vh;
}
.body.competition section.section-background.race-end{
    background:  center;
    background-size: cover;
    height : 100vh;
}

.body.competition .divider a.fa{
    text-decoration: none;
}
.body.competition>div.main{
    min-height: calc(100vh - 94px - 148px);
}
.body.competition {
    background:  repeat;
}
.body.competition section.section.section-parallax.section-parallax-bg1 {
    background:  center repeat-y;
    background-size: cover;
}
.body.competition section.section.section-parallax.section-parallax-bg2 {
    background:  center repeat-y;
    background-size: cover;
}
.body.competition section.section.section-parallax.section-parallax-bg3 {
    background:  center repeat-y;
    background-size: cover;
}
.body.competition section.section.section-parallax.section-parallax-bg4 {
    background:  center repeat-y;
    background-size: cover;
}
.parallax.section {
    background-color: transparent;
}
.parallax.section h1 .fa.fa-info{
    color : #337ab7;
    font-size : 2.8rem;
    text-decoration: none;
}
.parallax.section .heading.heading-bottom-border h1{
    border-bottom-width: 2px;
}
.parallax.section .content {
    font-size: 18px;
    font-weight: normal;
}
.parallax.section .featured-box .box-content h4 {
    font-weight: 600;
}

.testimonial blockquote p{
    font-family: arial,'times new roman','microsoft yahei',simhei;
}

/* social-icons not in center */
.social-icons li a .fa{
    margin-right: 0;
}

/* validator */
label.error{
    margin-top: -5px;
    margin-bottom: -5px;
    line-height : 1.2;
    font-size : 80%;
}
.validator-wrap{
    position: relative;
}
.validator-wrap.has-error   .help-block{
    margin-top: 25px;
}
.validator-wrap>label.has-error{
    position: absolute;
    left: 0;
    bottom: -25px;

    line-height : 1.2;
    font-size : 80%;
    color: #b94a48;
}
.form-group.validator-fail-group{
    padding-bottom : 15px;
}

/* article */
article.post-large .post-date {
    margin-left: -70px;
}
article.post .post-date{
    margin-top: 5px;
    border: 1px solid #e0e0e0;
}
.post-content h2 {
    font-size: 28px;
    font-weight: 400;
}
.blog-post .post{
    margin-bottom: 3rem;
    padding-bottom: 1.2rem;
    border-bottom: 1px dashed #dddddd;
}
.blog-post .post .post-date .month {
     padding: 5px 10px 4px;
 }
.post-content p{
    font-size: 16px;
    margin-bottom: 1rem;
}

/* disabled */
li[disabled],a[disabled] {
    cursor: not-allowed;
    filter: alpha(opacity=65);
    -webkit-box-shadow: none;
    box-shadow: none;
    opacity: .65
}
/* disabled */


.body.competition div.subject {
    background: #ffffff;
    padding: 30px 80px 10px 0;
    margin: 0 0 0 100px;
    border-bottom: 5px solid #0088cc;
}

table.table.table-race{
    background-color: rgba(255,255,255, .65);
}

/* 2019/12/11 */
.body .main > section.section:last-child{
    margin-bottom: -50px;
}
/* 2019/12/11 */

/* add after 2017/12/17 */
label.required:after{
    content : '*';
}
form.form-label-right .form-group.row > label{
    text-align: right;
}
#wechat-login-qrcode iframe{
    width : 350px;
}

.width-2{
    width: 2em;
}
.width-3{
    width: 3em;
}
.width-4{
    width: 5em;
}
.width-5{
    width: 5em;
}
.width-6{
    width: 6em;
}
.width-7{
    width: 7em;
}
.width-8{
    width: 8em;
}
.width-9{
    width: 9em;
}
.width-10{
    width: 10em;
}

