/*
 * Base structure
 */

html,
body {
  height: 100%;
}

.site-background {
  position: fixed;
  height: 100vh;
  width: 100%;
  background: url("../img/bg1.jpg") no-repeat center center transparent;
  background-size: cover;
  z-index: -1;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  transform: translate3d(0,0,0);
}

@media (min-width: 768px) {
  .site-background {
    background: url("../img/bg1.jpg") no-repeat center center transparent;
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
  }
}

.site-wrapper {
  display: table;
  width: 100%;
  height: 100%;
}
.site-wrapper-inner {
  display: table-cell;
  vertical-align: top;
}
.site-container {
  margin: auto auto;
}

.site-section {
  width: 100%;
  padding: 5px 5px;
}

.site-section + .site-section {
  padding-top: 0px;
}

.site-section:first-child {
  padding-bottom: 0px;
}

@media (min-width: 768px) {
  .site-section {
    padding: 5px 5px;
  }
  .site-section:nth-child(2) {
    padding-bottom: 0px;
  }
}

@media (min-width: 992px) {
  .site-section {
    padding: 10px 10px;
  }
  .site-section:nth-child(2) {
    padding-bottom: 0px;
  }
}

@media (min-width: 1200px) {
  .site-container {
    width: 1200px;
  }
}

.serif {
  font-family: Georgia, serif;
}

/*
 * Header
 */

.jumbotron {
  margin-bottom: 0;
  background-color: rgba(0,0,0,.3); 
  color: white;
  text-align: center;
  padding: 10px 15px;
}

@media (min-width:768px){
  .jumbotron {
    padding: 20px 20px;
  }
}

/*
 * Carousel
 */

.carousel {
  background-color: #000;
}

.carousel .item {
  width: 100%;
  height: 100%;
}

.carousel-inner > .item > img {
  width: 100%;
}

/*
 * Navigation
 */

.mastnav {
  padding: 0;
  box-shadow: none;
  border-top: 0;
}

.mastnav-toggle,
.mastnav-nav {
  width: 100%;
}

.mastnav-toggle > li,
.mastnav-nav > li {
  display: table-line;
  width: 100%;
  float: none;
  white-space: nowrap;
}

@media (min-width: 768px){
  .mastnav-toggle {
    display: none;
  }
  .mastnav-nav > li {
    display: table-cell;
    width: 1%;
  }
}

.mastnav-toggle > li > a,
.mastnav-nav > li > a {
  padding-right: 0;
  padding-left: 0;
  text-align: center;
  font-weight: 400;
  font-size: 18px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}

.mastnav-nav > li > a {
  color: #fff; 
  background-color: rgba(0,0,0,.9);
}
.mastnav-nav > li > a:hover,
.mastnav-nav > li > a:focus {
  color: #000;
  background-color: rgba(255,255,255,.9);
}
.mastnav-nav > .active > a,
.mastnav-nav > .active > a:hover,
.mastnav-nav > .active > a:focus {
  color: #000;
  background-color: rgba(255,255,255,.8);
  cursor: pointer;
}

.mastnav-toggle > li > a,
.mastnav-toggle > li > a:hover,
.mastnav-toggle > li > a:focus {
  color: #fff;
  background-color: #000;
  padding: 15px 10px;
}

.mastnav-nav > li > .null-link,
.mastnav-nav > li > .null-link:hover,
.mastnav-nav > li > .null-link:focus {
  cursor: not-allowed;
  color: #555;
  background-color: #000;
}


@media (min-width:768px){
  .mastnav-nav > li > p,
  .mastnav-nav > li > a {
    font-size: 14px;
  }
}

@media (min-width: 992px) {
  .mastnav-nav > li > p,
  .mastnav-nav > li > a {
    font-size: 18px;
  }
}

@media (min-width: 1200px) {
  .mastnav-nav > li > p,
  .mastnav-nav > li > a {
    font-size: 22px;
  }
}

@media (max-width:767px){
  .mastnav-nav > li > a {
    background-color: rgba(0,0,0,.8);
  }

  .mastnav-nav > li > .null-link,
  .mastnav-nav > li > .null-link:hover,
  .mastnav-nav > li > .null-link:focus {
    background-color: rgba(0,0,0,.8);
  }
}

.collapsing {
  -webkit-transition: height 0.5s;
  -moz-transition: height 0.5s;
  -ms-transition: height 0.5s;
  -o-transition: height 0.5s;
  transition: height 0.5s;
}


/*
 * Body
 */

.mastbody {
  padding: 1px 10px;
  color: #000000;
  background-color: rgba(255,255,255,.9);
}

.mastbody + .mastbody {
  margin-top: 5px;
}

@media (min-width:768px){
  .mastbody + .mastbody {
    margin-top: 10px;
  }
}

.mastbody-white {
  background-color: rgba(255,255,255,0.9);
}
.mastbody-black {
  background-color: rgba(0,0,0,0.8);
  color: #fff;
}
.mastbody-grey {
  background-color: rgba(225,225,225,.9);
  color: #000;
}
.mastbody-trans {
  background-color: transparent;
}
.mastbody-center {
  text-align: center;
}

.mastbody-text {
  padding: 1px 10px;
}

.mastbody a {
  color: #000;
}

.mastbody a:focus,
.mastbody a:hover {
  color: #fff;
  background-color: #000;
  text-decoration: none;
}

.mastbody .small-image:focus,
.mastbody .small-image:hover {
  background-color: transparent;
  background-color: #bbb;
  border-color: #bbb;
}

.small-image {
  background-color:#ddd;
}

@media (max-width:767px){
  .mastbody h1,
  .mastbody-white h1 {
    font-size: 22px;
  }
  .mastbody h2 {
    font-size: 18px;
  }
  .mastbody h3 {
    font-size: 16px;
  }
}

.table-journal > tbody > tr > td:first-child {
  text-align: center;
  border-right-width: 0px;
}
.table-journal > tbody > tr > td:nth-child(2) {
  border-left-width: 0px;
  vertical-align: middle;
}
.img-journal {
  background-color: #ffffff;
  opacity: 0.9;
  filter: alpha(opacity=90);
  width: 120px;
}

.badge {
  vertical-align: top;
  margin-top: 5px;
}

.btn-custom {
  background-color: transparent;
  border-color: #000;
  color: #000;
}
.btn-custom2 {
  background-color: transparent;
  border-color: #fff;
  color: #fff;
  margin-bottom: 10px;
}

.btn-custom:hover,
.btn-custom:focus {
  background-color: #000;
  border-color: #000;
  color: #fff;
}
.btn-custom2:hover,
.btn-custom2:focus {
  background-color: #fff;
  border-color: #fff;
  color: #000;
}

@media (max-width: 767px) {
  .btn-custom + .btn-custom {
    margin-top: 5px;
  }
  .btn-custom {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .btn-size {
    padding: 1px 5px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px;
  }
}

@media (min-width: 481px) {
  .btn-size {
    margin-top: 30px;
  }
}

@media (max-width: 767px) {
  .gallery {
    margin-left: -2.5px;
    margin-right: -2.5px;
    padding-top: 5px;
  }
  .gallery + .gallery {
    padding-bottom: 5px;
    padding-top: 0px;
  }
  .gallery > .col-xs-6 {
    padding: 0px 2.5px 5px 2.5px;
  }
}

@media (min-width: 768px) {
  .gallery {
    margin-left: -5px;
    margin-right: -5px;
    padding-top: 0px;
  }
  .gallery + .gallery {
    padding-top: 0px;
  }
  .gallery > .col-xs-6 {
    padding: 0px 5px 10px 5px;
  }
}

.gallery-left, 
.gallery-right {
    padding: 0px;
}

@media (min-width: 768px) {
  .gallery-left {
    padding-left: 0px;
    padding-right: 5px;
  }

  .gallery-right {
    padding-left: 5px;
    padding-right: 0px;
  }
}

.img-venue {
  max-width: 100%;
  width: 100%;  
}

.thumbnail-text {
  margin-bottom: 0px;
  text-align: center;
}


#map {
  position: relative;
  width: 100%;
  height: 500px;
  margin-bottom: 10px;
  background-size: cover;
  background-position: 50% 50%;
}

#map-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 500px;
  background-color: transparent;
}

.nopad {
  padding: 0px;
}

.srow {
  display: table;
  width: 100%;
  padding: 5px 5px;
}

.scol {
  float: none;
  display: table-cell;
  text-align: center;
  width: 25%;
  color: #000;
}

.btn-keynote,
.btn-keynote:hover {
  background-color: transparent;
  border-color: #000;
  color: #000;
  width: 80%;
}

.scol > .lead {
  margin-bottom: 10px;
}

.scol > .img-speaker {
  opacity: 0.9;
  filter: alpha(opacity=90);
  max-width: 100%;
  padding: 0px 5px;
}

.srow > a:hover {
  text-decoration: none;
  color: #000;
  background-color: transparent;
  border-right-width: 0px;
}
.srow > .active > .img-speaker,
.srow > a:hover > .img-speaker {
  opacity: 1;
  filter: alpha(opacity=100);
}
.srow > .active > .btn-keynote,
.srow > a:hover > .btn-keynote {
  background-color: #000;
  border-color: #000;
  color: #fff;
}

.srow > .active,
.srow > .active:hover,
.srow > .active:focus,
.srow > a:focus {
  text-decoration: none;
  color: #000;
  background-color: transparent;
}

.placeholder{ 
}

.krow {
  display: table;
  width: 100%;
}

.kcol {
  float: none;
  display: table-cell;
  text-align: center;
  color: #000;
}

.kcol > .img-speaker {
  max-width: 100%;
}

.krow > .kcol-i {
  width: 30%;
}
.krow > .kcol-t {
  width: 70%;
}
.krow > .kcol {
  vertical-align: middle;
}

.kcol h2 {
  font-size: 16px;
  margin-top: 10px;
}
.kcol .lead {
  font-size: 14px;
  margin-bottom: 10px;
}
.kcol > p > a {
  font-size: 14px;
}
.kcol:first-child{
  padding: 0px;
}
.kcol:nth-child(2) {
  padding-right: 0px;
  padding-left: 5px;
}

@media (min-width:768px){
  .scol h2 {
    font-size: 12px;
    margin-top: 10px;
    margin-bottom: 5px;
  }
  .scol .lead {
    font-size: 11px;
    margin-bottom: 5px;
  }
  .scol > a {
    font-size: 12px;
  }

  .tab-content > .active {
    padding-bottom: 10px;
  }
  .padbottom {
    padding-bottom: 0px;
  }
  .padtop > .active {
    padding-top: 10px;
  }
}

@media (min-width:992px){
  .scol h2 {
    font-size: 18px;
    margin-top: 20px;
    margin-bottom: 10px;
  }
  .scol .lead {
    font-size: 14px;
    margin-bottom: 10px;
  }
  .scol > a {
    font-size: 16px;
  }
}

@media (min-width:1200px){
  .scol h2 {
    font-size: 20px;
  }
  .scol .lead {
    font-size: 16px;
  }
  .scol > a {
    font-size: 18px;
  }
}



/*
 * Tailer
 */

.masttail {
  margin: 0px;
}

.img-sponsor {
  background-color: #ffffff;
  opacity: 0.9;
  filter: alpha(opacity=90);
  max-width: 100%;
  width:100%;
}

/* ����Ļ���ȴ��ڵ���768����ʱ */
@media (min-width: 768px) {
    .logo-1 {
        padding-left: 0px;
        padding-right: 10px;
    }

    .logo-2 {
        padding-left: 4px;
        padding-right: 6px;
    }

    .logo-3 {
        padding-left: 5px;
        padding-right: 5px;
    }

    .logo-4 {
        padding-left: 6px;
        padding-right: 4px;
    }

    .logo-5 {
        padding-left: 10px;
        padding-right: 0px;
    }
}

/* ����Ļ����С��768����ʱ */
@media (max-width: 767px) {
    .logo-container {
        justify-content: center; /* ���ж��� */
        flex-wrap: wrap; /* �������� */
    }

    .logo-1,
    .logo-2,
    .logo-3,
    .logo-4,
    .logo-5 {
        flex-basis: 50%; /* ÿ��Ԫ��ռ��50%�Ŀ��� */
        padding-left: 5px; /* ͳһ�ڱ߾� */
        padding-right: 5px;
        margin-bottom: 10px; /* ���ӵײ��߾࣬��ֹͼƬ�ѵ� */
    }

    .logo-5 {
        padding-left: 5px;
        padding-right: 5px;
    }
}


/* 
 * Program
 */



.div-sche {
  border: solid 5px rgba(255,255,255,.9);
}

.table-sche {
  width: 100%;
  display: table;
  margin-bottom: 0px;
}

.table-sche > tbody {
  width: 100%;
}

.table-sche > tbody > tr > th,
.table-sche > tbody > tr > td {
  float: none;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  border-color: #000;
  width: 16%;
}
.table-sche > tbody > tr > th {
  padding: 0px 5px;
  background-color: rgba(225,225,225,.9);
}
.table-sche > tbody > tr:first-child > th {
  padding: 15px 5px;
  background-color: rgba(0,0,0,.9);
  color: #fff;
}
.table-sche > tbody > tr > td {
  padding: 5px;
  background-color: rgba(255,255,255,.9);
}

.table-sche > tbody > tr > td a {
  display: block;
  text-decoration: none;
  color: #000;
}

@media (max-width: 767px) {
  .div-sche .msize {
    font-size: 12px;
  }
}

@media (min-width:768px){
  .table-sche > tbody > tr:first-child > th {
    padding: 15px 5px;
    background-color: rgba(0,0,0,.9);
    color: #fff;
  }
  .div-sche {
    border: solid 10px rgba(255,255,255,.9);
  }
  .div-sche .lead {
    font-size: 16px;
  }
}

@media (min-width:992px){
  .div-sche .lead {
    font-size: 18px;
  }
}

@media (min-width:1200px){
  .div-sche .lead {
    font-size: 21px;
  }
}


.phdr > .lead {
  margin: 10px 0px;
}

.sts:hover,
.sts:focus {
  background-color: rgba(225,225,225,.6);
  cursor: pointer;
}

.panel-group {
  background-color: transparent;
  margin-bottom: 0px;
}

.panel-group .panel-program {
  border-radius: 0px;
  border-style: none;
  background-color: transparent;
}

.panel-program a {
  color: #fff;
  text-decoration: none;

}

.panel-program .panel-title {
  padding: 10px 10px;
  background-color: rgba(0,0,0,.8);
  font-weight: bold;
  text-align: center;
  font-size: 16px;
}

.panel-group .panel-program+.panel-program {
  margin-top: 0px;
}

.panel-custom {
  background-color: transparent;
  border-color: #999;
}

.panel-custom table tr td {
  border-color: #ccc;  
}

.img-speaker {
  opacity: 0.9;
  filter: alpha(opacity=90);
  max-width: 100%;
}

.keynote-row {
  padding-bottom: 10px;
}
@media (max-width:767px){
  .keynote-lastrow {
    padding-bottom: 10px;
  }
}

@media (max-width:767px){
  .vcenter {
    text-align: center;
  }
}

.table-sche > tbody > tr > .break {
  background-color: rgba(255,255,255,.8);  
}

/* ...������ʽ... */

/* Counter section responsive adjustments */
.counter-section .counter-text span {
  color: #fff;
  font-size: clamp(12px, 1.2vw, 18px);
  display: block;
}
.counter-section .counter-text h3 {
  color: #fff;
  font-size: clamp(18px, 2.6vw, 34px);
  line-height: 1.05;
  margin: 0;
}
.cd-timer {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
}
.cd-item {
  text-align: center;
  min-width: 64px;
}
.cd-item span {
  display: block;
  font-weight: 700;
  color: #fff;
  font-size: clamp(28px, 6vw, 64px);
  line-height: 1;
}
.cd-item p {
  margin: 4px 0 0;
  color: #fff;
  font-size: clamp(10px, 1.6vw, 18px);
  text-transform: none;
}

@media (max-width: 767px) {
  .cd-timer {
    justify-content: center;
  }
  .cd-item {
    min-width: 48px;
    margin: 6px;
  }
  .counter-section {
    padding: 12px 6px;
  }
}

/* ...������ʽ... */

.img-sponsor {
    background-color: #ffffff;
    opacity: 0.9;
    filter: alpha(opacity=90);
    /* ʹ����Զ�λ */
    position: relative;
    /* ʹ��padding-bottom��ģ�������� */
    width: 100%;
    padding-bottom: 100%;
    overflow: hidden; /* ������������� */
    background-size: cover; /* ����ԭͼ������������������ */
    background-position: center; /* ����ͼ���� */
}

.logo-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.logo-1,
.logo-2,
.logo-3,
.logo-4,
.logo-5 {
    /* ʹ��flex���Զ�������� */
    flex: 1 0 20%; /* ÿ��logoռ��20%�Ŀ��� */
    box-sizing: border-box; /* �����߿���ڱ߾� */
}

.logo-1,
.logo-5 {
    order: 1; /* ����˳��ȷ����һ�ź����һ��ͼƬ��λ����ȷ */
}

@media (min-width: 768px) {
    .logo-1,
    .logo-5 {
        order: initial; /* �ڴ���Ļ�ϻָ�Ĭ��˳�� */
    }
}

/* ...������ʽ... */