/* cyrillic-ext */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
  }
  /* cyrillic */
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu5mxKOzY.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
  }
  /* greek-ext */
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7mxKOzY.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
  }
  /* greek */
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4WxKOzY.woff2) format('woff2');
    unicode-range: U+0370-03FF;
  }
  /* vietnamese */
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7WxKOzY.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
  }
  /* latin-ext */
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  /* latin */
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  /* cyrillic-ext */
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
  }
  /* cyrillic */
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
  }
  /* greek-ext */
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
  }
  /* greek */
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2) format('woff2');
    unicode-range: U+0370-03FF;
  }
  /* vietnamese */
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
  }
  /* latin-ext */
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2) format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  /* latin */
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBBc4.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }

html {
    height: 100%
}

body,
html {
    margin: 0;
    padding: 0;
    font-family: 'Roboto', sans-serif;
    color: #444;
    min-height: 100%;
    position: relative
}

body {
    overflow-y: scroll;
    visibility: visible
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

h1,
h2 {
    margin: 40px 0 20px;
    font-size: 36px
}

h1 {
    margin-top: 10px
}

h3 {
    margin: 20px 0 10px
}

h3:first-child {
    margin-top: 10px
}

h4 {
    margin: 40px 0 15px;
    padding: 2px 0 0 10px;
    line-height: 1em;
    font-size: 22px;
    border-left: 5px solid #999
}

h4>span {
    color: #366598
}

h4>span,
h5 {
    font-weight: 400
}

h5 {
    font-size: 15px;
    margin: 16px 0
}

a {
    color: #3a84df;
    text-decoration: none
}

a[href^="http://"]:not(.no-ext-icon),
a[href^="https://"]:not(.no-ext-icon) {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cg fill='%233A84DF' opacity='.8'%3E%3Cpath d='M2 3h3v1H3v6h6V8h1v3H2V3z'/%3E%3Cpath d='M6.8 2H11v4.2L9.2 4.5 5.7 8 5 7.3l3.5-3.5L6.8 2z'/%3E%3C/g%3E%3C/svg%3E");
    background-position: 100%;
    background-repeat: no-repeat;
    padding-right: 14px
}

a[href^="mailto:"]:not(.no-ext-icon) {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='12'%3E%3Cpath d='M9 5.9c0 .1-.2.5-.6 1.1-.4.6-.6 1-.8 1h-.2c-.2.1-.4 0-.4-.2l-.2-.2s-.1.1-.3.2c-.3.1-.5.2-.7.2-.5 0-1-.2-1.3-.6-.3-.3-.4-.8-.4-1.3 0-.6.2-1.1.5-1.4.3-.4.8-.6 1.4-.6.3 0 .5.1.8.2s.5.2.5.2c.1 0 .2-.1.2-.2 0-.3-.2-.6-.6-.9-.4-.1-.7-.2-1.1-.2-.8 0-1.4.2-1.9.8-.5.6-.7 1.3-.7 2 0 .8.2 1.4.7 2 .5.6 1.1.8 1.9.8.1 0 .2 0 .2.1v1c0 .1-.1.1-.2.1-1.1 0-2-.4-2.8-1.2C2.4 8 2 7.1 2 6c0-1 .4-2 1.1-2.8C3.8 2.4 4.7 2 5.8 2s1.9.4 2.5 1.2c.4.7.7 1.6.7 2.7zM7.2 6c0-.2-.1-.4-.2-.5-.2-.1-.3-.2-.6-.2-.2 0-.4.1-.5.2-.1.2-.2.3-.2.6 0 .2.1.4.2.5.1.1.2.2.4.2.3 0 .5-.1.6-.2.2-.1.3-.3.3-.6z' fill='%233A84DF' opacity='.8'/%3E%3C/svg%3E");
    background-position: 100%;
    background-repeat: no-repeat;
    padding-right: 12px
}

p {
    line-height: 1.75em;
    margin: 10px 0 15px
}

sub,
sup {
    vertical-align: baseline;
    position: relative;
    top: -.4em
}

sub {
    top: .4em
}

ul {
    line-height: 1.75em
}

.hl-blue {
    color: #3a84df
}

.small-header {
    background: linear-gradient(180deg, #f3f3f3 0, #e9e9e9 50%, #e4e4e4 51%, #e2e2e2);
    position: fixed;
    width: 100%;
    height: 50px;
    z-index: 101;
    border-bottom: 1px solid rgba(0, 0, 0, .3);
    box-shadow: -11px 12px 23px rgba(0, 0, 0, .1);
    display: none
}

header {
    background: #fff;
    margin-bottom: 20px;
    position: relative
}

header>nav {
    font-size: 16px;
    font-weight: 500;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    z-index: 100;
    position: fixed;
    width: 100%;
    height: 120px;    
    border-bottom: 1px solid rgba(0, 0, 0, .3);
    box-shadow: -11px 12px 23px rgba(0, 0, 0, .1);
    transition: height .3s;
    color: white !important;
}

body.static header>nav {
    height: 70px;
    background: #c51c2b;
    /* background: linear-gradient(180deg, #f3f3f3 0, #e9e9e9 50%, #e4e4e4 51%, #e2e2e2); */
}

header>nav>div {
    flex-grow: 0;
    flex-shrink: 0;
    padding: 45px 20px;
    margin-left: -1px;
    line-height: 30px;
    white-space: nowrap;
    border-color: transparent;
    border-style: solid;
    border-width: 0 1px;
    cursor: pointer;
    position: relative;
    transition: font-size .5s, margin .5s
}

body.static header>nav>div {
    padding: 20px
}

body.static header>nav>div:last-child,
header>nav>div:last-child {
    padding-right: 25px
}

header>nav>figure+div {
    margin-left: 15px
}

header>nav>div:after {
    /* content: ""; */
    display: inline-block;
    background: url(../img/caret.w.svg) 0 0/10px 10px;
    height: 10px;
    width: 10px;
    margin-left: 10px
}

header>nav>div.no-sub:after {
    display: none
}

header>nav>div:hover {
    background: #fff;
    border-color: rgba(0, 0, 0, .3);
    color: #444;
    text-shadow: none
}

header>nav>div:hover:after {
    background: url(../img/caret.svg) 0 0/10px 10px
}

header>nav>div.no-sub:hover {
    border-bottom: 1px solid #999
}

header>nav a {
    color: inherit
}

header .small-menu {
    display: none;
    position: fixed;
    left: calc(100vw - 60px);
    top: 5px;
    z-index: 102;
    height: 40px;
    width: 40px
}

header .hamburger {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -2px 0 0 -10px
}

header .hamburger,
header .hamburger:after,
header .hamburger:before {
    height: 3px;
    width: 20px;
    background: #444
}

header .hamburger:after,
header .hamburger:before {
    /* content: ""; */
    transform-origin: center center;
    transition: transform .3s, background .3s
}

header .hamburger:before {
    position: absolute;
    top: -6px;
    left: 0
}

header .hamburger:after {
    position: absolute;
    top: 6px;
    left: 0
}

header[aria-expanded=true] .hamburger {
    background: transparent
}

header[aria-expanded=true] .hamburger:before {
    transform: translateY(6px) rotate(-45deg);
    background: #8b0000
}

header[aria-expanded=true] .hamburger:after {
    transform: translateY(-6px) rotate(45deg);
    background: #8b0000
}

header .menu {
    padding: 0;
    margin: 0;
    border: 1px solid #999;
    background: #fff;
    position: absolute;
    right: -1px;
    top: calc(100% - 1px);
    min-width: calc(100% + 2px);
    border-top: 0;
    font-size: 14px;
    font-weight: 400;
    box-shadow: 0 6px 5px rgba(0, 0, 0, .3);
    border-radius: 0 0 4px 4px;
    display: none
}

.menu>a,
header:not([aria-disabled=true])>nav>div:hover .menu {
    display: block
}

.menu>a {
    padding: 2px 15px 0;
    border-left: 5px solid #366598 !important;
    line-height: 28px;
    color: inherit;
    text-decoration: none
}

header .menu>a:first-child {
    margin-top: -35px
}

body.static header .menu>a:first-child {
    margin-top: 0
}

.menu>a:hover {
    background: #eee;
    border-left: 5px solid #8b0000 !important;
}

.menu>hr {
    border: solid #3a84df;
    border-width: 1px 0 0
}

.small-header .logo,
header>nav>.logo {
    flex-grow: 1;
    flex-shrink: 1;
    padding: 5px 10px;
    margin: 0;
    background: linear-gradient(90deg, #fff 70px, hsla(0, 0%, 100%, 0))
}

.small-header .logo>img {
    max-width: 150px;
    position: relative;
    top: 1px;
    left: 1px
}

header>nav>.logo {
    position: relative;
    height: 100%
}

header>nav>.logo>img {
    transition: opacity .3s, height .3s, width .3s, top .3s;
    position: absolute;
    left: 3px;
    top: 3px
}

header>nav>.logo>img:first-child {
    height: 115px
}

header>nav>.logo>img:last-child {
    opacity: 0;
    top: calc(50% - 4px);
    transform: translateY(-50%);
    min-width: 90px;
    max-width: 90px;
    width: 100%
}

body.static header>nav>.logo>img:first-child {
    opacity: 0
}

body.static header>nav>.logo>img:last-child {
    opacity: 1
}

main.body {
    display: flex;
    flex-flow: row wrap;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px 100px;
    align-items: stretch
}

main.body.loading>* {
    display: none
}

main.body>.spinner {
    display: none;
    margin: 50px auto
}

main.body.loading>.spinner {
    display: block
}

main.body>section {
    width: 100%
}

main.body>aside {
    width: 300px
}

aside.tweets {
    position: relative
}

aside.tweets:after {
    /* content: ""; */
    position: absolute;
    width: 100%;
    height: 50px;
    left: 0;
    bottom: 0;
    background-image: linear-gradient(hsla(0, 0%, 100%, 0), #fff 50px)
}

aside.tweets>iframe {
    height: 100% !important
}

main.body>section.intro {
    width: calc(100% - 300px);
    padding: 0 50px 150px 0;
    text-align: justify
}

section>h1,
section>h2 {
    color: #366598
}

.sponsorship{
    width: 100%;
}

@media screen and (max-width:1320px) {

    body.static header>nav,
    header>nav {
        font-size: 14px;
        height: 50px
    }

    body.static header>nav>div,
    header>nav>div {
        padding: 10px 15px
    }

    body.static header>nav>div:last-child,
    header>nav>div:last-child {
        padding-right: 15px
    }

    header>nav>div.no-sub:hover {
        padding-bottom: 9px
    }

    header>nav>.logo>img:last-child {
        max-width: 60px;
        min-width: 60px;
        opacity: 1;
        top: calc(50% - 2px)
    }

    header>nav>.logo>img:first-child {
        opacity: 0
    }

    header .menu>a:first-child {
        margin-top: 0
    }

    header .menu {
        font-size: 12px
    }

    .menu>a {
        padding: 0 10px
    }
}

@media screen and (max-width:1140px) {

    body.static header>nav,
    header>nav {
        font-size: 13px
    }

    body.static header>nav>div,
    header>nav>div {
        padding: 10px
    }

    body.static header>nav>div:last-child,
    header>nav>div:last-child {
        padding-right: 28px
    }

    header>nav>div:after {
        margin-left: 0;
        transform: scale(.7) translateY(2px)
    }

    .menu>a {
        padding: 0 5px
    }
}

@media screen and (max-width:980px) {
    main.body {
        display: block;
        padding-bottom: 300px;
    }

    main.body>section.intro {
        width: 100%;
        padding: 0
    }

    main.body>aside {
        width: auto
    }

    header>nav>div {
        display: none
    }

    header>nav>figure+div {
        margin-left: 0
    }

    header .small-menu {
        display: inline-block
    }

    header>.small-menu~nav>div:after,
    header[aria-expanded=true]~* {
        display: none
    }

    header[aria-expanded=true] .carousel {
        visibility: hidden
    }

    header[aria-expanded=true] .small-header {
        display: flex;
        align-items: center;
        flex-flow: row nowrap
    }

    header[aria-expanded=true]>nav .logo {
        visibility: hidden
    }

    header[aria-expanded=true]>nav {
        flex-flow: column nowrap;
        width: 100%;
        align-items: flex-start;
        position: static;
        background: transparent;
        color: #444;
        text-shadow: none;
        padding-top: 50px
    }

    header[aria-expanded=true] .menu,
    header[aria-expanded=true]>nav>div {
        display: block;
        position: static;
        background: #fff;
        border-width: 0;
        width: 100%;
        box-shadow: none;
        font-weight: 700;
        color: #444;
        border: none;
    }

    header[aria-expanded=true] .menu {
        border-radius: 0;
        border-width: 0 0 0 5px;
        font-weight: 400;
        font-size: 14px;
        padding: 0
    }

    header[aria-expanded=true] .menu>a:hover {
        border-color: transparent;
        background: transparent
    }

    header[aria-expanded=true] .menu>hr {
        display: none
    }

    header[aria-expanded=true]>nav>div.no-sub:hover {
        border: 0
    }

    header[aria-expanded=true]>nav>figure {
        display: none
    }

    header[aria-expanded=true]>.small-header img {
        max-height: 40px
    }

    header[aria-expanded=true]>.small-header figure {
        padding: 0 10px
    }    
}

.caret {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 2px;
    vertical-align: middle;
    border-top: 4px dashed;
    border-top: 4px solid\9;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent
}

.calsc,
.westin {
    width: 96px;
    height: 96px;
    border-radius: 100px;
    background: url(https://icde2026.github.io/img/westin.png) no-repeat;
    float: left;
    background-size: contain;
    margin-right: 30px;
    border: 3px solid #fff;
    box-shadow: 0 0 5px #444, inset 0 0 5px #000
}

.calsc {
    background-image: url(https://icde2026.github.io/img/calsc.png);
    margin-bottom: 50px
}

address:after {
    /* content: ""; */
    clear: both;
    display: block
}

address>* {
    margin-bottom: 5px;
    display: block
}

.info-reception address>strong {
    display: inline
}

.address-icon,
.phone-icon {
    line-height: 20px;
    padding-left: 25px;
    overflow: hidden;
    position: relative;
    color: inherit
}

.address-icon:before,
.phone-icon:before {
    /* content: ""; */
    display: block;
    width: 20px;
    height: 20px;
    background: url(../img/loc.svg) no-repeat 0 1px/15px 15px;
    position: absolute;
    left: 0
}

.phone-icon:before {
    background: url(../img/phone.svg) no-repeat 0 1px/15px 15px;
    top: 0
}

.extended-date {
    text-decoration: line-through !important;
    color: #be9696 !important;
    font-style: normal !important
}

footer {
    margin-top: 50px;
    padding: 10px 30px;
    color: #fff;
    font-size: 16px; 
    font-weight: 500;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    position: absolute;
    width: 100%;
    bottom: 0;
    text-align: center;
    background: #26374a;
}

footer>div {
    flex-grow: 1;
    line-height: 16px
}

footer img {
    height: 130px;
}

@media screen and (max-width:780px) {
    main.body {
        display: block;
        padding-bottom: 300px;
    }

    footer {
        font-size: 11px;        
    }

    footer>div {
        display: flex;
        flex-direction: column;
    }

   footer img{
    height: 100px
   } 

   h1, h2{
    margin: 0 0 0 0;
   }
}

.github {
    height: 32px
}

.spinner {
    position: relative;
    -webkit-animation: rotation .6s linear infinite;
    -moz-animation: rotation .6s infinite linear;
    animation: rotation .6s linear infinite;
    border: 3px solid rgba(0, 0, 0, .2);
    border-radius: 100%;
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-top: -4px;
    vertical-align: middle
}

.spinner:before {
    /* content: ""; */
    border: 3px solid transparent;
    border-top-color: rgba(0, 0, 0, .8);
    border-radius: 100%;
    display: block;
    left: -3px;
    position: absolute;
    top: -3px;
    height: 100%;
    width: 100%
}

@-webkit-keyframes rotation {
    0% {
        -webkit-transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(359deg)
    }
}

@-moz-keyframes rotation {
    0% {
        -moz-transform: rotate(0deg)
    }

    to {
        -moz-transform: rotate(359deg)
    }
}

@-o-keyframes rotation {
    0% {
        -o-transform: rotate(0deg)
    }

    to {
        -o-transform: rotate(359deg)
    }
}

@keyframes rotation {
    0% {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(359deg)
    }
}

.important-dates table {
    border-collapse: collapse
}

.important-dates table th {
    font-size: 17px;
    font-weight: 600;
    color: #366598;
    text-align: left;
    padding: 10px 10px 10px 10px;
    border: 1px solid #ddd;
    vertical-align: bottom
}

.important-dates table td {
    vertical-align: top;
    padding: 10px 12px;
    border: 1px solid #ddd
}

.important-dates table td:first-child {
    font-weight: 500;
    padding-left: 0
}

.important-dates table td:last-child,
.important-dates table th:last-child {
    padding-right: 0
}

.important-dates table small {
    display: block;
    font-size: 12px;
    color: #999;
    line-height: 12px;
    padding-bottom: 7px
}

.important-dates table em {
    color: #999;
    font-style: italic
}

@media screen and (min-width:501px) {
    .important-dates table tbody tr:nth-of-type(odd) {
        background: #f2f2f2
    }

    .important-dates table td:last-child,
    .important-dates table th:last-child {
        padding-right: 5px
    }

    .important-dates table td:first-child {
        padding-left: 5px
    }
}

@media screen and (max-width:710px) and (min-width:501px) {

    .important-dates table td:first-of-type,
    .important-dates table th:first-of-type {
        width: 125px;
        min-width: 125px
    }

    .important-dates table td:nth-of-type(2),
    .important-dates table th:nth-of-type(2) {
        position: relative;
        display: inline-block;
        left: -137px;
        margin-right: -155px;
        border-top: 0;
        top: 25px;
        margin-bottom: 25px;
        width: 125px;
        min-width: 125px
    }
}

@media screen and (max-width:500px) {
    /* .important-dates table thead {
        display: none
    } */

    .important-dates table,
    .important-dates table td,
    .important-dates tbody,
    .important-dates tr {
        /* display: block; */
        border: 1px solid #ddd;
        padding: 0
    }

    .important-dates table tbody tr:nth-of-type(odd) {
        background: #f2f2f2
    }

    .important-dates table td:first-child {
        margin: 30px 0 10px;
        padding: 2px 0 0 10px;
        line-height: 1em;
        font-size: 18px;
        border-left: 5px solid #999
    }

    .important-dates table td:nth-of-type(1) {
        font-weight: 700
    }

    .important-dates table td:not(:first-child):before {
        /* content: ""; */
        /* display: block; */
        font-weight: 400;
        color: #666;
        margin-top: 10px
    }

    .important-dates table small {
        display: inline;
        padding: 0 0 0 5px;
        font-style: inherit;
        font-size: inherit;
        font-weight: 400;
        color: inherit
    }

    .important-dates table small:before {
        /* content: ","; */
        position: relative;
        left: -5px
    }

    /* .important-dates table small:after {
         content: ""; 
         display: block 
    } */

    /* .important-dates table td:nth-of-type(2):before {
        content: "Chairs:"
    } */

    /* .important-dates table td:nth-of-type(3):before {
        content: "Submission Open:"
    } */

    /* .important-dates table td:nth-of-type(4):before {
        content: "Submission Deadline:"
    }

    .important-dates table td:nth-of-type(5):before {
        content: "Notification:"
    }

    .important-dates table td:nth-of-type(6):before {
        content: "Camera-ready Copy:"
    } */
}

.program-chairs small {
    font-size: 12px;
    color: #999
}

.info-conference-venue .images {
    display: flex;
    flex-flow: row nowrap;
    margin: 20px 0
}

.info-conference-venue .images img {
    width: 11.6%;
    border-radius: 10px;
    margin: 0 1% 1% 0;
    height: auto
}

@media screen and (max-width:500px) {
    .info-conference-venue .images {
        flex-wrap: wrap
    }

    .info-conference-venue .images img {
        width: 24%;
        border-radius: 4px
    }
}

.mail-sep {
    margin-left: -22px;
    margin-right: 2px;
    color: transparent
}

.mail-sep::selection {
    color: transparent;
    background-color: transparent
}

.mail-sep::-moz-selection {
    color: transparent;
    background-color: transparent
}

.mail-sep:after {
    /* content: "@"; */
    color: initial
}

.hl-blue .mail-sep:after {
    color: #3a84df
}

.tag {
    font-size: 9px;
    line-height: 14px;
    padding: 1px 4px 0 8px;
    margin: 0 10px 2px 8px;
    vertical-align: middle;
    border: 1px solid #818181;
    color: #fff;
    border-left: 0;
    border-radius: 0 3px 3px 0;
    position: relative;
    text-transform: uppercase;
    letter-spacing: .5px
}

.tag,
.tag:before {
    display: inline-block;
    background: #acacac
}

.tag:before {
    width: 12px;
    height: 12px;
    left: -7px;
    top: 1px;
    border: 1px solid #818181;
    border-width: 0 0 1px 1px;
    transform: rotate(45deg);
    border-radius: 3px
}

.tag:after,
.tag:before {
    /* content: ""; */
    position: absolute
}

.tag:after {
    width: 5px;
    height: 5px;
    border-radius: 5px;
    background: #fff;
    border: 1px solid #727272;
    top: 4px;
    left: -2px
}

.tag.social,
.tag.social:before {
    background: #f59c1a;
    border-color: #b87513
}

.tag.social:after {
    border-color: #b87513
}

.tag.workshop,
.tag.workshop:before {
    background: #1ebcd2;
    border-color: #168d9d
}

.tag.workshop:after {
    border-color: #168d9d
}

.tag.presentation,
.tag.presentation:before {
    background: #8cc152;
    border-color: #69913d
}

.tag.presentation:after {
    border-color: #69913d
}

.tag.panel,
.tag.panel:before {
    background: #8753de;
    border-color: #653ea6
}

.tag.panel:after {
    border-color: #653ea6
}

.tag.industry,
.tag.industry:before {
    background: #ca4b7c;
    border-color: #97385d
}

.tag.industry:after {
    border-color: #97385d
}

.tag.research,
.tag.research:before {
    background: #29c4a5;
    border-color: #1f937c
}

.tag.research:after {
    border-color: #1f937c
}

.tag.awards,
.tag.awards:before {
    background: #e54d42;
    border-color: #ac3a31
}

.tag.awards:after {
    border-color: #ac3a31
}

.info-reception address {
    margin-bottom: 35px
}

.info-reception figure {
    float: right;
    clear: both;
    margin: 0 0 20px 20px
}

.info-reception figure img {
    width: 310px
}

.info-reception figcaption {
    font-size: 11px;
    font-weight: 400;
    text-align: right;
    line-height: 1em
}

.info-reception figure a {
    background-size: 10px 10px !important;
    padding-right: 11px !important
}

@media screen and (max-width:780px) {
    .info-reception figure img {
        width: 200px
    }
}

.only-450 {
    display: none
}

@media screen and (max-width:450px) {
    .only-450 {
        display: unset
    }

    .non-450 {
        display: none
    }

    .info-reception figure {
        float: none;
        margin: 20px auto
    }

    .info-reception figure img {
        width: 100%
    }
}

.workshop-title {
    color: #999;
    font-size: 13px
}

div.workshop-title {
    margin: 25px 0 5px
}

div.workshop-title:first-child {
    margin-top: 0
}

.workshop-title>strong {
    color: #444;
    font-size: 14px;
    margin-right: 2px
}

.workshop-title>strong.main-title {
    color: #000;
    font-style: italic
}

.workshop-title>strong.sub-title {
    color: #000;
    font-style: italic;
    font-weight: 400
}

.workshop-organizers {
    display: block;
    font-size: 12px;
    line-height: 1.75;
    color: #999
}

.workshop-organizers a {
    color: #777
}

.hotel-rates-narrow,
.registration-fees-narrow {
    display: none
}

@media screen and (max-width:500px) {

    .hotel-rates-wide,
    .registration-fees-wide {
        display: none
    }

    .hotel-rates-narrow,
    .registration-fees-narrow {
        display: table
    }
}

.hotel-rates-wide th,
.registration-fees-wide thead tr:nth-of-type(2) th {
    font-size: 13px;
    font-weight: 300;
    font-style: italic
}

.registration-fees-wide thead:not(:first-child) tr:first-child th {
    padding-top: 15px;
    border-top: 1px solid #ddd
}

.registration-fees-narrow thead:not(:first-child) tr:first-child th {
    padding-top: 10px
}

.hotel-rates-narrow tbody tr:nth-of-type(2n),
.hotel-rates-wide tbody tr:nth-of-type(odd),
.registration-fees-narrow-student tbody tr:nth-of-type(odd),
.registration-fees-narrow tbody tr:nth-of-type(2n),
.registration-fees-wide tbody tr:nth-of-type(odd) {
    background: #f0f0f0
}

.registration-fees-narrow-student tbody tr:nth-of-type(2n) {
    background: transparent
}

.hotel-rates-wide td,
.registration-fees-wide td {
    white-space: nowrap;
    padding: 5px
}

.hotel-rates-narrow td,
.registration-fees-narrow td {
    white-space: nowrap;
    padding: 2px 5px
}

.hotel-rates-wide td:first-child,
.registration-fees-wide td:first-child {
    font-size: 13px;
    font-weight: 600
}

.registration-fees-wide td:first-child span {
    font-weight: 400;
    font-size: 12px
}

.hotel-rates-wide td:first-child~td,
.registration-fees-wide td:first-child~td {
    text-align: center
}

.registration-fees-wide {
    margin-bottom: 35px
}

.registration-fees-narrow th {
    text-align: left
}

.info-registration .notice {
    color: #be6560
}

.program-schedule-panel .panel-label {
    color: #777;
    display: inline-block;
    width: 80px
}

.program-schedule-panel>ul {
    margin-bottom: 18px;
    margin-top: 7px
}

.program-schedule-panel .affiliation {
    font-size: 12px;
    line-height: 1.75;
    color: #999
}

.awards-title {
    color: #444;
    font-size: 14px;
    margin-right: 2px;
    font-weight: 600
}

.award-items {
    display: block;
    font-size: 13px
}

.award-items .author {
    color: #777
}

.award-items>em {
    font-size: 12px;
    color: #999;
    font-style: normal
}

.members {
    display: flex;
    flex-flow: row wrap;
    align-items: stretch;
    margin-left: -20px
}

.members>div,
.officers>div {
    color: #3c3b3b;
    font-size: 15px;
    width: 30%;
    min-width: 338px;
    padding-left: 20px;
    flex-shrink: 1;
    flex-grow: 1
}

.officers>div {
    padding: 7px;
    width: auto;
    min-width: unset
}

.members>div>strong,
.officers>div>strong {
    color: #444;
    font-size: 15px
}

.poster-presenters-img-wrapper {
    width: 100%
}

.poster-presenters-img-wrapper>div {
    margin-top: 20px;
    text-align: center
}

.carousel,
.poster-presenters-img-wrapper>div>img {
    width: 100%
}

.carousel {
    height: 0;
    padding-bottom: 50%;
    display: block;
    position: relative;
    background: #eee
}

.carousel.small {
    padding-bottom: 25%
}

.carousel>span {
    display: block;
    position: absolute;
    z-index: 2;
    background: #444;
    color: #fff;
    font-size: 32px;
    font-weight: 500;
    padding: 0 10px;
    top: 200px;
    height: 50px;
    line-height: 50px
}

.carousel>span+span {
    background: #366598;
    top: 250px;
    font-size: 28px;
    line-height: 40px;
    height: 40px
}

.carousel>div {
    transition: opacity .5s ease-in;
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: 50%;
    opacity: 0
}

.carousel-credit {
    position: absolute;
    bottom: 5px;
    right: 5px;
    padding: 0 3px;
    font-size: 16px;
    background: hsla(0, 0%, 100%, .8)
}

@media screen and (min-width:1400px) {
    #sponsorship-body{
        max-width: 1300px;
    }
}

@media screen and (max-width:1180px) {

    .carousel {
        min-height: 175px
    }

    .carousel>span {
        font-size: 24px;
        top: 100px;
        height: 40px;
        line-height: 40px
    }

    .carousel>span+span {
        top: 140px;
        font-size: 20px;
        line-height: 28px;
        height: 28px
    }
}

@media screen and (max-width:780px) {
    .carousel>span {
        font-size: 14px;
        height: 26px;
        line-height: 26px;
        top: 124px
    }

    .carousel>span+span {
        font-size: 13px;
        line-height: 18px;
        height: 18px;
        top: 150px
    }
}

@media screen and (max-width:370px) {
    .carousel>span {
        font-size: 11px;
        height: 23px;
        line-height: 23px;
        top: 130px
    }

    .carousel>span+span {
        font-size: 16px;
        line-height: 15px;
        height: 15px;
        top: 153px
    }

    .carousel-credit {
        font-size: 20px
    }
}


ul.gallery {
    display: flex;
    flex-flow: row wrap;
    margin-left: -20px;
    padding: 0;
    width: calc(100% + 10px)
}

ul.gallery>li {
    display: inline;
    min-width: 180px;
    width: calc(25% - 10px);
    margin: 10px 0 0 10px;
    padding: 10px;
    flex-grow: 1
}

ul.gallery>li img {
    width: 100%
}

.gallery-image {
    position: relative;
    display: inline-block;
    font-size: 0;
    line-height: 0
}

ul.gallery>li>.gallery-image+div {
    line-height: 1.25em
}

.gallery-credit {
    position: absolute;
    bottom: 3px;
    right: 3px;
    padding: 3px;
    font-size: 9px;
    line-height: 1em;
    background: hsla(0, 0%, 100%, .8);
    text-align: right;
    max-width: calc(100% - 6px)
}

.gallery-credit a[href^="http://"]:not(.no-ext-icon),
.gallery-credit a[href^="https://"]:not(.no-ext-icon) {
    background-position: 100% 1px;
    padding-right: 11px;
    background-size: 10px
}

.gallery-spacer {
    padding-top: 0;
    padding-bottom: 0
}

@media screen and (max-width:780px) {
    ul.gallery>li {
        min-width: 150px
    }
}

.sponsor-logos {
    flex-grow: 0;
    flex-shrink: 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: stretch;
    width: 100%;
    margin: 30px 0 50px -8px
}

.sponsor-logos img {
    max-height: 100%;
    max-width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.sponsor-logos a {
    margin: 0 0 38px 8px;
    display: block;
    text-decoration: none;
    position: relative
}

.sponsor-logos.sponsor-1>a {
    max-width: calc(33.33333% - 8px);
    min-width: 25%;
    height: 150px
}

.sponsor-logos.sponsor-2>a {
    max-width: calc(25% - 8px);
    min-width: 20%;
    height: 110px
}

.sponsor-logos.sponsor-3>a {
    max-width: calc(20% - 8px);
    min-width: 16.66667%;
    height: 90px
}

.sponsor-logos.sponsor-4>a {
    max-width: calc(16.66667% - 8px);
    min-width: 14.28571%;
    height: 75px
}

.sponsor-logos.sponsor-5>a {
    max-width: calc(14.28571% - 8px);
    min-width: 12.5%;
    height: 65px
}

.sponsor-logos.sponsor-6>a {
    max-width: calc(12.5% - 8px);
    min-width: 11.11111%;
    height: 55px
}

.sponsor-spacer {
    flex-shrink: 1;
    height: 0 !important;
    margin-bottom: 0 !important
}

@media screen and (max-width:960px) {
    .sponsor-logos {
        align-content: space-between;
        margin: 10px 0 50px -8px
    }

    .sponsor-logos.sponsor-1>a {
        max-width: calc(50% - 8px);
        min-width: 33.33333%;
        height: 140px
    }

    .sponsor-logos.sponsor-2>a {
        max-width: calc(33.33333% - 8px);
        min-width: 25%;
        height: 95px
    }

    .sponsor-logos.sponsor-3>a {
        max-width: calc(25% - 8px);
        min-width: 20%;
        height: 65px
    }

    .sponsor-logos.sponsor-4>a {
        max-width: calc(20% - 8px);
        min-width: 16.66667%;
        height: 55px
    }

    .sponsor-logos.sponsor-5>a {
        max-width: calc(16.66667% - 8px);
        min-width: 14.28571%;
        height: 45px
    }

    .sponsor-logos.sponsor-6>a {
        max-width: calc(14.28571% - 8px);
        min-width: 12.5%;
        height: 35px
    }
}

@media screen and (max-width:370px) {
    .sponsor-logos img {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%)
    }

    .sponsor-logos.sponsor-1>a {
        max-width: calc(100% - 8px);
        min-width: 58.82353%;
        height: 120px
    }

    .sponsor-logos.sponsor-2>a {
        max-width: calc(50% - 8px);
        min-width: 40%;
        height: 45px
    }

    .sponsor-logos.sponsor-3>a {
        max-width: calc(33.33333% - 8px);
        min-width: 28.57143%;
        height: 35px
    }

    .sponsor-logos.sponsor-4>a {
        max-width: calc(25% - 8px);
        min-width: 22.22222%;
        height: 30px
    }

    .sponsor-logos.sponsor-5>a {
        max-width: calc(20% - 8px);
        min-width: 18.18182%;
        height: 25px
    }

    .sponsor-logos.sponsor-6>a {
        max-width: calc(16.66667% - 8px);
        min-width: 15.38462%;
        height: 20px
    }
}

.accepted-title {
    color: #444;
    font-size: 14px;
    margin-right: 2px
}

.accepted-title>strong[data-num]:before,
.accepted-title[data-num]:before {
    content: attr(data-num);
    width: 25px;
    display: inline-block;
    color: #aaa;
    font-style: italic
}

.accepted-authors {
    display: block;
    font-size: 12px;
    line-height: 1.75;
    color: #999
}

.accepted-authors .author,
.accepted-authors a {
    color: #777
}

.accepted-abstract {
    margin: 5px 0;
    display: inline-block;
    font-size: 13px;
    height: 18px;
    line-height: 18px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
    padding-left: 20px;
    position: relative;
    cursor: pointer
}

.accepted-abstract.accepted-expanded {
    margin-bottom: 25px;
    overflow: visible;
    white-space: normal;
    height: auto;
    cursor: auto
}

.accepted-abstract-action {
    position: absolute;
    left: 2px;
    top: 3px;
    display: inline-block;
    background: url(../img/caret.svg) 0 0/10px 10px;
    height: 10px;
    width: 10px;
    cursor: pointer;
    transition: all .5s
}

.accepted-expanded .accepted-abstract-action {
    transform: rotate(-180deg)
}

.industry-talk:after {
    /* content: ""; */
    display: block;
    clear: both
}

.talk-photo {
    float: right;
    width: 100px;
    margin: 0 0 20px 20px
}

.talk-person,
.talk-title {
    display: block
}

.talk-person {
    font-size: 12px;
    line-height: 1.75;
    color: #999
}

.talk-person .author,
.talk-person a {
    color: #777
}

.talk-abstract,
.talk-abstract-simple,
.talk-bio,
.talk-bio-simple {
    margin: 5px 0;
    display: block;
    font-size: 13px;
    height: 18px;
    line-height: 18px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: calc(100% - 125px);
    padding-left: 20px;
    position: relative;
    cursor: pointer
}

.talk-abstract-simple,
.talk-bio-simple {
    cursor: default
}

.talk-abstract-simple strong,
.talk-abstract strong,
.talk-bio-simple strong,
.talk-bio strong {
    font-weight: 600;
    color: #777;
    width: 5em;
    display: inline-block
}

.talk-abstract.talk-expanded,
.talk-bio.bio-expanded {
    margin-bottom: 25px;
    overflow: visible;
    white-space: normal;
    height: auto;
    cursor: auto
}

.talk-abstract-action,
.talk-abstract-bullet,
.talk-bio-action,
.talk-bio-bullet {
    position: absolute;
    left: 2px;
    top: 3px;
    display: inline-block;
    background: url(../img/caret.svg) 0 0/10px 10px;
    height: 10px;
    width: 10px;
    cursor: pointer;
    transition: all .5s
}

.bio-expanded .talk-bio-action,
.talk-expanded .talk-abstract-action {
    transform: rotate(-180deg)
}

.talk-abstract-bullet,
.talk-bio-bullet {
    transform: rotate(-90deg);
    transition: none;
    cursor: default;
    pointer-events: none
}

.talk-abstract br,
.talk-bio br {
    margin-bottom: 10px
}

.talk-bio-simple:not(.bio-expanded) .hl-blue,
.talk-bio:not(.bio-expanded) .hl-blue {
    color: inherit
}

@media screen and (max-width:500px) {
    .talk-person:after {
        /* content: ""; */
        display: block;
        clear: both
    }

    .talk-photo {
        width: 75px;
        margin: 0 0 10px 10px
    }

    .industry-talk+.industry-talk {
        margin-top: 30px
    }

    .talk-abstract,
    .talk-abstract-simple,
    .talk-bio,
    .talk-bio-simple {
        width: 100%
    }
}

.schedule-wrap {
    display: flex;
    flex-flow: row wrap;
    width: 100%
}

.schedule-wrap>div {
    flex-shrink: 0;
    border-top: 1px solid #ddd;
    padding-top: 25px;
    margin-top: 25px
}

.schedule-no-wrap>div:nth-of-type(2n - 1) {
    padding: 25px 0;
    margin-top: 25px
}

.schedule-no-wrap>div:first-of-type,
.schedule-wrap>div:first-of-type,
.schedule-wrap>div:nth-of-type(2) {
    border: 0;
    margin-top: 0;
    padding-top: 0
}

.schedule-wrap>div:nth-of-type(2n - 1) {
    flex-grow: 0;
    width: 75px;
    text-align: center;
    font-size: 12px;
    color: #999;
    position: relative
}

.schedule-wrap>div:nth-of-type(2n) {
    flex-grow: 1;
    width: calc(100% - 100px);
    padding-left: 25px
}

.schedule-no-wrap>div:nth-of-type(2n)>p,
.schedule-wrap>div:nth-of-type(2n)>p {
    line-height: 1.25em
}

.schedule-wrap>div:nth-of-type(2n)>p:first-of-type {
    margin-top: 0
}

.schedule-wrap div[data-day] {
    position: -webkit-sticky;
    position: sticky;
    top: 100px;
    will-change: transform
}

.schedule-no-wrap div[data-day] {
    flex-grow: 0;
    width: 75px;
    text-align: center;
    font-size: 12px;
    color: #999;
    position: relative
}

.schedule-no-wrap div[data-day]>p,
.schedule-wrap div[data-day]>p {
    border-radius: 5px;
    background: #f2f2f2;
    padding: 20px 5px 15px;
    margin: 3px 0
}

.schedule-no-wrap div[data-day]>p>strong,
.schedule-wrap div[data-day]>p>strong {
    display: block;
    font-size: 20px;
    color: #444
}

.schedule-no-wrap div[data-day]>p>em,
.schedule-wrap div[data-day]>p>em {
    display: block;
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding-left: 2px
}

.schedule-no-wrap abbr:after,
.schedule-wrap abbr:after {
    content: attr(long)
}

.schedule-multi-days {
    margin-left: -30px
}

.schedule-multi-days>div:not(.schedule-head) {
    display: inline-block;
    margin-left: 30px;
    text-align: center;
    min-width: 80px
}

.schedule-multi-days>.schedule-head {
    margin-left: 30px;
    border-top: 1px solid #ddd
}

.schedule-multi-days>.schedule-head>.main-title {
    border-left: 4px solid #ddd;
    padding: 0 15px;
    margin: 25px 0;
    display: block
}

.schedule-multi-days:first-child>.schedule-head {
    border-top: 0
}

.schedule-time {
    font-size: 13px;
    font-weight: 400;
    color: #999;
    border-left: 4px solid #ddd;
    padding: 0 15px;
    font-style: italic
}

.schedule-multi-days .schedule-time {
    border: 0;
    padding: 5px 0;
    display: block
}

.schedule-multi-days div[data-day] {
    left: 50%;
    transform: translateX(-50%)
}

@media screen and (max-width:780px) {
    .schedule-wrap>div:nth-of-type(2n - 1) {
        width: 40px
    }

    .schedule-wrap>div:nth-of-type(2n) {
        width: calc(100% - 75px);
        padding-left: 10px
    }

    .schedule-wrap>div:nth-of-type(2n - 1)>p {
        padding: 10px 5px 5px
    }

    .schedule-wrap abbr:after {
        content: attr(short)
    }
}

.schedule-anchor {
    margin-top: -100px;
    padding-top: 100px;
    width: 0;
    display: inline;
    pointer-events: none
}

.schedule-head {
    color: #999;
    font-size: 13px;
    margin: 35px 0 5px
}

.schedule-head[id] {
    margin-top: -65px;
    padding-top: 100px
}

.schedule-head:first-child {
    margin-top: 0
}

.schedule-head[id]:first-child {
    margin-top: -100px
}

.schedule-head>strong {
    color: #444;
    font-size: 14px;
    margin-right: 2px
}

.schedule-head>a.main-title,
.schedule-head>strong.main-title {
    color: #000;
    font-style: italic;
    font-weight: 700;
    font-size: 14px
}

.schedule-calendar .schedule-head>a.main-title,
.schedule-calendar .schedule-head>strong.main-title {
    font-style: normal
}

.schedule-head>strong.sub-title {
    color: #000;
    font-style: italic;
    font-weight: 400
}

.schedule-item {
    margin: 5px 0 15px
}

.schedule-item-title {
    display: block
}

.schedule-item-people {
    display: block;
    font-size: 12px;
    line-height: 1.75;
    color: #999
}

.schedule-item.schedule-item-no-abstract .schedule-item-people {
    padding-bottom: 5px
}

.schedule-item-people .author {
    color: #777
}

.schedule-item-abstract,
.schedule-item-bio {
    margin: 5px 0;
    display: block;
    font-size: 13px;
    height: 18px;
    line-height: 18px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
    padding-left: 20px;
    position: relative;
    cursor: pointer
}

.schedule-item-has-photo .schedule-item-abstract,
.schedule-item-has-photo .schedule-item-bio {
    width: calc(100% - 125px)
}

.schedule-item-has-photo:after {
    /* content: ""; */
    display: block;
    clear: both
}

.schedule-item-abstract.schedule-item-expanded,
.schedule-item-bio.schedule-item-expanded {
    margin-bottom: 25px;
    overflow: visible;
    white-space: normal;
    height: auto;
    cursor: auto
}

.schedule-item-abstract.schedule-item-expanded~.schedule-item-bio {
    margin-bottom: 35px
}

.schedule-item-action {
    position: absolute;
    left: 2px;
    top: 3px;
    display: inline-block;
    background: url(../img/caret.svg) 0 0/10px 10px;
    height: 10px;
    width: 10px;
    cursor: pointer;
    transition: all .5s
}

.schedule-item-expanded .schedule-item-action {
    transform: rotate(-180deg)
}

.schedule-part-label {
    font-weight: 600;
    color: #777;
    width: 5em;
    display: inline-block
}

.schedule-photo {
    float: right;
    width: 100px;
    margin: 0 0 20px 20px
}

.schedule-item-abstract br,
.schedule-item-bio br {
    margin-bottom: 10px
}

.schedule-item-bio:not(.schedule-item-expanded) .hl-blue {
    color: inherit
}

.schedule-calendar .schedule-head {
    margin-top: 10px;
    padding-left: 115px;
    border-top: 1px solid #eee;
    padding-top: 10px
}

.schedule-calendar .schedule-head:first-child {
    border-top: 0
}

.schedule-calendar .schedule-time {
    display: inline-block;
    width: 115px;
    margin-left: -115px
}

.schedule-rooms {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin: 0 0 20px -20px
}

.schedule-calendar .schedule-rooms:first-child {
    margin-top: 20px
}

.schedule-rooms>p {
    flex-grow: 0;
    flex-shrink: 1;
    margin: 0 0 15px;
    padding-left: 20px
}

.schedule-rooms-6>p,
.schedule-rooms-7>p {
    width: 33.33333%;
    min-width: 200px
}

.schedule-rooms a {
    color: inherit
}

.schedule-rooms a>small,
.schedule-rooms small {
    font-size: 13px;
    color: #999
}

.schedule-chair {
    display: block;
    border-left: 4px solid #ddd;
    padding: 2px 15px 0;
    margin: -2px 0 15px;
    font-size: 12px
}

.schedule-chair em {
    font-style: normal;
    color: #777
}

.schedule-item-title[data-num]:before {
    content: attr(data-num);
    width: 38px;
    display: inline-block;
    color: #aaa;
    font-style: italic
}

.papers-industrial .schedule-item-title[data-num]:before {
    width: 30px
}

.program-schedule-demonstrations .schedule-item-title[data-num]:before {
    width: 25px
}

.schedule-item.winning-paper .schedule-item-title:before {
    width: 50px;
    background-image: url(../img/cup.svg);
    background-repeat: no-repeat;
    background-size: 16px;
    background-position: 100%;
    margin-right: 5px
}

p+.schedule-wrap {
    margin-top: 25px
}

@media screen and (max-width:500px) {
    .schedule-item-has-photo .schedule-item-people:after {
        /* content: ""; */
        display: block;
        clear: both
    }

    .schedule-photo {
        width: 75px;
        margin: 0 0 10px 10px
    }

    .program-schedule-industry-talks .schedule-item+.schedule-item {
        margin-top: 30px
    }

    .schedule-item-abstract,
    .schedule-item-bio,
    .schedule-item-has-photo .schedule-item-abstract,
    .schedule-item-has-photo .schedule-item-bio {
        width: 100%
    }

    .schedule-calendar .schedule-head {
        position: relative;
        padding-left: 0
    }

    .schedule-calendar .schedule-time {
        display: block;
        margin-left: 0
    }

    .schedule-calendar .schedule-time+.main-title,
    .schedule-calendar .schedule-time+.sub-title {
        margin-top: 31px;
        display: inline-block
    }

    .schedule-calendar .schedule-time+.main-title+.tag,
    .schedule-calendar .schedule-time+.sub-title+.tag {
        position: absolute;
        left: 0;
        top: 39px
    }
}

.schedule-day {
    margin-top: -20px
}

.schedule-nav {
    position: sticky;
    top: 30px;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    padding: 50px 0 20px;
    margin-bottom: -20px;
    background: #fff;
    z-index: 99
}

.schedule-day div[data-day] {
    width: 75px;
    text-align: center;
    font-size: 12px;
    color: #999;
    will-change: transform
}

.schedule-day div[data-day]>p {
    border-radius: 5px;
    background: #f2f2f2;
    padding: 20px 5px 15px;
    margin: 3px 0
}

.schedule-day div[data-day]>p>strong {
    display: block;
    font-size: 20px;
    color: #444
}

.schedule-day div[data-day]>p>em {
    display: block;
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding-left: 3px
}

.schedule-day abbr:after {
    content: attr(long)
}

.schedule-session {
    position: relative
}

.schedule-session>p {
    margin: 4px 10px 4px 60px;
    text-indent: -50px;
    color: #666
}

.schedule-day .schedule-time {
    background-image: linear-gradient(0deg, #616161, grey);
    font-style: normal;
    color: #fff;
    line-height: 30px;
    border-color: #666 #fff #444;
    border-style: solid;
    border-width: 1px 0;
    box-shadow: inset 0 1px 2px hsla(0, 0%, 100%, .35), 0 1px 1px hsla(0, 0%, 100%, .5), 0 2px 4px rgba(0, 0, 0, .25);
    margin: 20px 3px 10px;
    position: sticky;
    top: 200px
}

.schedule-session p>a,
.schedule-session p>span {
    color: #000;
    font-weight: 600
}

.schedule-session p>a>small,
.schedule-session p>span>small {
    font-size: inherit;
    font-weight: 400
}

.schedule-next,
.schedule-prev {
    display: block;
    height: 64px;
    width: 64px;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23000' viewBox='0 0 32 32'%3E%3Cpath stroke-width='4' d='M10 2l12 14-12 14'/%3E%3C/svg%3E") no-repeat 100%/64px 64px;
    margin-top: 30px;
    cursor: pointer;
    opacity: .5;
    user-select: none
}

.schedule-prev {
    transform: rotate(180deg)
}

.schedule-next[disabled],
.schedule-prev[disabled] {
    pointer-events: none;
    visibility: hidden;
    cursor: default
}

@media screen and (max-width:1320px) {
    .schedule-nav {
        padding: 30px 0 10px
    }

    .schedule-day .schedule-time {
        top: 170px
    }
}

.slides {
    position: relative;
    font-size: 12px;
    padding-left: 20px
}

.slides:before {
    content: "";
    position: absolute;
    left: 2px;
    top: 3px;
    display: inline-block;
    background: url(../img/caret.svg) 0 0/10px 10px;
    height: 10px;
    width: 10px;
    transform: rotate(-90deg)
}

.info-camp-vldb {
    min-width: 300px
}

.info-camp-vldb div.camp-head {
    display: block;
    text-align: left;
    border-left: 4px solid #ddd;
    padding: 0 0 0 15px;
    margin: 15px 0 10px 30px
}

.info-camp-vldb .camp-head small {
    color: #999;
    font-size: 12px;
    font-style: normal;
    font-weight: 400
}

.info-camp-vldb .camp-head .schedule-time {
    display: inline;
    padding: 0 15px 0 0;
    white-space: nowrap
}

.info-camp-vldb .camp-head .main-title {
    color: #000;
    font-style: italic;
    font-weight: 700;
    font-size: 14px;
    white-space: nowrap
}

.info-camp-vldb .camp-head .main-title:after {
    /* content: ""; */
    display: block
}

.info-camp-vldb div.schedule-multi-days {
    background: url(https://vldb.org/2025/img/camp-vldb.png) no-repeat 100% 0/auto 97px;
    padding-bottom: 0
}

.info-camp-vldb .camp-loc,
.info-camp-vldb .camp-logo {
    display: none
}

.camp-info {
    padding-right: 550px;
    background: url(https://vldb.org/2025/img/camp-vldb-loc.png) no-repeat 100% 0/550px auto;
    margin: 35px 0 25px
}

.camp-info p {
    margin: 2px 0 2px 20px;
    text-indent: -20px
}

.camp-info p+h3 {
    margin-top: 25px
}

.camp-sponsor {
    margin-top: 35px
}

.camp-sponsor img {
    width: 300px;
    display: block;
    margin-top: 15px
}

@media screen and (max-width:1100px) {
    .camp-info {
        padding-right: 50%;
        background-size: 45% auto
    }
}

@media screen and (max-width:875px) {
    .info-camp-vldb .schedule-multi-days abbr:after {
        content: attr(short)
    }

    .info-camp-vldb .schedule-multi-days div[data-day] {
        width: 40px;
        margin-bottom: 10px
    }

    .info-camp-vldb .schedule-multi-days {
        margin-left: -15px
    }

    .info-camp-vldb .schedule-multi-days>div {
        min-width: 45px;
        margin-left: 15px
    }

    .info-camp-vldb .camp-loc {
        display: block;
        width: 100%;
        margin: 30px 0 0;
        max-width: 400px
    }

    .camp-info {
        padding: 0;
        background: none
    }
}

@media screen and (max-width:625px) {
    .info-camp-vldb div.schedule-multi-days {
        background: none
    }

    .info-camp-vldb .camp-logo {
        display: block;
        width: 100%;
        margin-bottom: 25px;
        max-width: 295px
    }
}

@media screen and (max-width:430px) {
    .camp-head strong {
        display: block;
        margin-bottom: 5px
    }
}

table.structure {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    text-align: center;
    min-width: 800px
}

table.structure:after {
    /* content: ""; */
    display: block;
    margin-bottom: 50px
}

table.structure td,
table.structure th {
    height: 45px;
    border: 1px solid #ddd
}

table.structure thead td,
table.structure thead th {
    color: #fff;
    background: #652d90;
    font-weight: 700;
    border: solid #fff;
    border-width: 1px 1px 2px;
    text-shadow: 0 0 1px rgba(0, 0, 0, .3)
}

table.structure thead th {
    background: #37b34a
}

table.structure thead th:first-child {
    width: 110px
}

table.structure tbody td {
    padding: 10px
}

table.structure tbody td:first-child {
    font-weight: 700;
    border-left-color: #bbb;
    white-space: nowrap
}

table.structure tbody td:last-child {
    border-right-color: #bbb
}

table.structure tbody tr:last-child td {
    border-bottom-color: #bbb
}

table.structure thead td:first-child {
    border-left-color: #321658
}

table.structure thead td:last-child {
    border-right-color: #321658
}

table.structure thead tr:first-child td {
    border-top-color: #321658
}

table.structure thead th:first-child {
    border-left-color: #1b8d25
}

table.structure thead th:last-child {
    border-right-color: #1b8d25
}

table.structure[cols="6"] thead th:not(:first-child) {
    width: 17.92%
}

table.structure[cols="7"] thead th:not(:first-child) {
    width: 14.93333%
}

table.structure[cols="8"] thead th:not(:first-child) {
    width: 12.8%
}

table.structure .hl-row {
    background: #fce58e
}

table.structure .hl-row small {
    color: #9f8f50
}

table.structure tbody td small {
    font-size: inherit;
    color: #999
}

table.structure a {
    color: inherit
}

table.structure a:active,
table.structure a:focus,
table.structure a:hover {
    text-decoration: underline
}

@media screen and (max-width:820px) {
    section.program-structure {
        overflow-x: auto
    }
}
