/*
 * Base structure
 */

html,
body {
    height: 100%;
}

.site-background {
    position: fixed;
    height: 100vh;
    width: 100%;
    background: url("../img/bg-xs.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/bg.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;
    }
}

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

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


/*
 * Header
 */

.jumbotron {
    margin-bottom: 0;
    background-color: rgba(0, 0, 0, .4);
    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;
}

.mastnav-nav2>ul>li>ul,
.mastnav-nav2>ul>li>ul {
    display: none;
}

.mastnav-nav2>ul>li>ul>li,
.mastnav-nav2>ul>li>ul>li {
    width: 100%;
    float: none;
    white-space: nowrap;
}

.mastnav-nav2>ul>li:hover>ul,
.mastnav-nav2>ul>li:focus>ul {
    display: block;
    background-color: #FFF;
}

.mastnav-nav2>ul>li>ul>li>a:hover,
.mastnav-nav2>ul>li>ul>li>a:focus {
    color: #000;
    background-color: rgba(255, 255, 255, .9);
}

@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: 14px;
    -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: #000;
}

.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: 12px;
    }
}

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

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

@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;
}

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

@media (min-width:768px) {
    .mastbody h2 {
        font-size: 22px;
    }
    .mastbody h3 {
        font-size: 20px;
    }
}

.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: 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%;
}

#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: rgba(0, 0, 0, .3);
    opacity: 0.9;
    filter: alpha(opacity=0);
    max-width: 100%;
    width: 100%;
}

@media (min-width: 768px) {
    .logo-1 {
        padding-left: 0px;
        padding-right: 7.5px;
    }
    .logo-2 {
        padding-left: 2.5px;
        padding-right: 5px;
    }
    .logo-3 {
        padding-left: 5px;
        padding-right: 2.5px;
    }
    .logo-4 {
        padding-left: 7.5px;
        padding-right: 0px;
    }
}

@media (max-width: 767px) {
    .logo-1 {
        padding-left: 0px;
        padding-right: 3.75px;
    }
    .logo-2 {
        padding-left: 1.25px;
        padding-right: 2.5px;
    }
    .logo-3 {
        padding-left: 2.5px;
        padding-right: 1.25px;
    }
    .logo-4 {
        padding-left: 3.75px;
        padding-right: 0px;
    }
}

@media (min-width: 992px) {
    .logo-l {
        padding-left: 0px;
        padding-right: 5px;
    }
    .logo-r {
        padding-left: 5px;
        padding-right: 0px;
    }
}

@media (max-width: 991px) {
    .logo-l {
        padding-left: 0px;
        padding-right: 2.5px;
    }
    .logo-r {
        padding-left: 2.5px;
        padding-right: 0px;
    }
}


/* 
 * 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>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, .9);
    cursor: pointer;
}

.panel-custom {
    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;
}

.list-cfp,
.list-cfp>.list-group-item {
    background-color: transparent;
}

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

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

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

.masthead {
    text-align: center;
    width: 100%;
    background-color: transparent;
}

@media (max-width: 767px) {
    .masthead-left {
        width: 100%;
        border-radius: 6px;
    }
    .masthead-center {
        width: 70%;
    }
}

@media (min-width: 768px) {
    .masthead-left {
        float: left;
        width: 60%;
    }
    .masthead-right {
        float: right;
        width: 20%;
    }
    .masthead-center {
        display: none;
    }
}

.table-program>tbody>tr>th,
.table-program>tbody>tr>td {
    border-color: #000;
}

.table-program>tbody>tr:first-child>th,
.table-program>tbody>.tableheader>td,
.table-program>tbody>.tableheader>th {
    background-color: rgba(0, 0, 0);
    color: #fff;
}

.table-program>tbody>.tablebreak>td {
    background-color: rgba(0, 0, 0, .1);
}

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

.keynote-row {
    padding-bottom: 10px;
}

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