/* Conference Base Custom Overrides */
/* // SEG-CUSTOMIZATIONS */

h1,h2,h3,h4 {
    margin-top:0;
    margin-bottom:.5em;
}

hr {
    margin: 2em 0;
    opacity:.5;
}

ul {
    list-style: square
}

b,
strong {
    font-weight: 900
}


main {
    & a{
        &:link {
            text-decoration: none;
            border-bottom:1px dotted var(--color-base);
        }
        &:active,
        &:focus,
        &:hover,
        &:visited{
            text-decoration: none;
            border-color:var(--color-base-darker);
        }

    }
}

.TextButton {
    margin:.75em 0 1.5em;
}


.TextButton.secondary:active,.TextButton.secondary:link,.TextButton.secondary:visited {
    color: var(--color-base-darker);
    border:1px solid var(--color-base);
    background: var(--button-secondary-bg);
}

.TextButton.secondary:focus,.TextButton.secondary:hover {
    background-color: var(--color-base);
    border: 1px solid var(--color-base);
    color: #fff
}

.field-trip-details h3,
.workshop-details h3 {
    padding: .25em 0 .25em .25em;
    margin-top: 3em;
    border-top: 1px solid var(--color-base);
    border-radius: 0 10px 0 0;
    color: #3b3b3b!important;
    background: #ededed
}

/* // Tables */

div.table,
div.table table {
    transform: rotateX(180deg)
}

table tfoot,
table tfoot td {
    background-color: #fff !important
}
.left, .registrant-details #ste_container_ciprogramitems td, .registrant-details #ste_container_ciquestionresponses td, .registration table tbody tr td:first-child, .social .grid>div p, .workshops .collapseMenu div table td, .workshops .collapseMenu div table th, .workshops .collapseMenu div table tr, div.exhibitor-list table, table tfoot td, table.westpoint-session-table {
    text-align:left;
}

/* // Sections  */
section {
    padding:2rem 0;
}
section,section:first-of-type {
    border-bottom: 1px solid var(--color-base);
    padding-top: 0
}

section:last-of-type {
	border-bottom: none;
}
section:last-of-type, section {
	padding-top: 2em;
}

/* // Alerts */

div.alert {
    padding: 1em;
    margin: .5em 0 1em
}

.ContentItemContainer table,
div.alert p:last-of-type,
div.alert.warning p:last-of-type {
    margin-bottom: 0 !important
}

div.alert.success {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb
}

div.alert.warning {
    color: #856404;
    background-color: #fff3cd;
    border-color: #ffeeba
}

div.alert.primary {
    color: #004085;
    background-color: #cce5ff;
    border-color: #b8daff;
    text-align: center;
    font-size: 80%;
    margin: 0
}

div.alert.warning.expanded {
    margin-top: 2em;
    text-align: left;
    color: #3b3b3b;
    background-color: #fff3cd
}



/* // Registration  Page  */
.registration .grid>div .TextButton:active,
.registration .grid>div .TextButton:focus,
.registration .grid>div .TextButton:hover,
.registration .grid>div .TextButton:link,
.registration .grid>div .TextButton:visited {
    color: #fff !important
}


.registration .grid div.containerBottom .TextButton,
div.westpoint-day-selector ul {
    margin: 0
}

div.CommandBar {
    text-align: center !important;
    padding-left: 2em !important;
    padding-right: 2em !important;
    max-width: 1280px !important;
    margin: 0 auto 2em !important
}





.registration .grid>div.member {
    background: #fff4d7;
    color: #9a8348 !important;
    border: 1px solid #9a8348
}

.registration .grid>div.join {
    background: #c8e5fe !important;
    color: #428bca !important;
    border: 1px solid #428bca
}

.registration .grid h3 {
    margin: 0 0 .5em !important;
    color: #777 !important
}

.registration .grid>div.join h3 {
    color: #428bca !important
}

.registration .grid>div.member h3 {
    color: #9a8348 !important
}

.registration .grid p {
    font-weight: 400 !important;
    font-size: 90% !important
}

.registration .grid>div .TextButton {
    margin-top: .75em;
    background: #777 !important;
    border: none !important
}

.registration .grid>div.join .TextButton {
    background: #428bca !important
}

.registration .grid>div.member .TextButton {
    background: #9a8348 !important
}

.registration .grid div.containerTop {
    margin-bottom: 4em
}

.registration .grid div.containerBottom {
    position: absolute;
    bottom: 1em;
    left: 1%;
    right: 1%
}

.registration .modal-content {
    padding: 1em !important;
    font-size: 16px
}

.registration .modal-header {
    text-align: right;
    padding: 0;
    border-bottom: 0
}

/* Badges */

.badge-both,.badge-inperson,.badge-virtual {
    display: inline-block;
    margin: 0 0 0 .5em;
    padding: .25em .5em;
    border-radius: 5px;
    background-color: #eae3c6;
    font-family: open-sans,sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--color-base);
}


.field-trips .badge-both,.field-trips .badge-inperson,.field-trips .badge-virtual,.registration table.courses .badge-both,.registration table.courses .badge-inperson,.registration table.courses .badge-virtual,.social .badge-inperson,.workshops .badge-both,.workshops .badge-inperson,.workshops .badge-virtual {
    background-color: #aaa;
    color: #eee
}
.field-trips .grid .badge-both, .field-trips .grid .badge-inperson, .field-trips .grid .badge-virtual, .workshops .grid .badge-both, .workshops .grid .badge-inperson, .workshops .grid .badge-virtual, div.table {
    display:block;
}

.badge-inperson:before {
    content: "IN PERSON"
}

.badge-virtual:before {
    content: "VIRTUAL"
}

.badge-both:before {
    content: "IN PERSON + VIRTUAL"
}

.social .badge-inperson {
    margin: 0 0 1em
}


/* // GRIDS */

.grid {
    margin: 2em 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    text-align: center
}
.field-trips .grid>div h3,
.social .grid>div h3,
.workshops .grid>div h3 {
    padding: .5em;
    color: #3b3b3b!important;
    font-size: 120%
}

@media (min-width: 576px) {
    .grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media (min-width: 768px) {
    .grid {
        grid-template-columns: repeat(4, 1fr);
        /* gap: 3rem */
    }
}


@media (min-width: 992px) {
    .abstracts .grid,.exhibitors .grid,.home .grid,.organizing-committee .grid,.presentation-requirements .grid {
        grid-template-columns:repeat(4,1fr)
    }

    .field-trips .grid,.workshops .grid {
        grid-template-columns: repeat(3,1fr)
    }
}

@media (min-width: 1200px) {
    .grid {
        grid-template-columns: repeat(5, 1fr);
        /* gap: 4rem */
    }

    .organizing-committee .grid {
        grid-template-columns: repeat(4, 1fr);
        /* gap: 4rem */
    }
}


.events .grid,
.exhibitor-opportunities .grid,
.venue .grid {
    grid-template-columns: repeat(1, 1fr)
}

@media (min-width: 576px) {

    .events .grid,
    .exhibitor-opportunities .grid,
    .venue .grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (min-width: 992px) {

    .events .grid,
    .exhibitor-opportunities .grid,
    .venue .grid {
        grid-template-columns: repeat(3, 1fr)
    }

    .events.social .grid,
    .exhibitor-opportunities .grid,
    .venue .grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

.grid>div {
    position: relative;
    padding: .1em;
    border: 1px solid var(--color-base);
    border-radius: 10px;
    /* // background: linear-gradient(to bottom, #9a8348 0, rgba(255, 150, 0, .6) 30%, rgba(0, 0, 0, 0) 80%); */
    background: linear-gradient(to bottom, var(--color-base-darker) 0, var(--color-base) 30%, rgba(0, 0, 0, 0) 80%);
}
.field-trips .grid>div, .social .grid>div, .workshops .grid>div,
.events .grid>div,
.exhibitor-opportunities .grid>div,
.venue .grid>div,
.workshops .grid>div,
.social .grid>div {
    background: #ededed
}

.events .grid>div h3,
.exhibitor-opportunities .grid>div h3,
.venue .grid>div h3,
.workshops .grid h3{
    padding: .5em;
    color: #3b3b3b !important;
    font-size: 130%;
    margin: 0
}

.events .grid>div span.cancelled,
.events .grid>div span.sold-out {
    display: block;
    margin-bottom: 1em;
    font-weight: 700;
    font-size: 120%;
    text-align: center;
    color: red
}

#ste_container_ciNewContactSignInCommon:hover,
.grid>div:hover {
    -webkit-box-shadow: 0 0 12px 0 rgba(51, 51, 51, .15);
    -moz-box-shadow: 0 0 12px 0 rgba(51, 51, 51, .15);
    box-shadow: 0 0 12px 0 rgba(51, 51, 51, .15)
}

.grid>div img {
    width: 100%;
    border-radius: 6px 6px 0 0
}

.events.social .grid>div img,
.venue .grid>div img {
    width: 100%;
    border-radius: 0
}

.grid>div p {
    margin: 0 1em .25em;
    font-size: 95%
}

.events.social .grid>div p,
.left,
.registration table tbody tr td:first-child,
.venue .grid>div p,
table.westpoint-session-table {
    text-align: left
}

.grid>div p:first-of-type {
    font-weight: 600;
    margin: 1em 1em .25em
}

.events.social .grid>div p:first-of-type,
.venue .grid>div p:first-of-type {
    font-weight: 400;
    margin: 1em
}

.grid>div p:nth-of-type(3) {
    margin-top: 1em
}

.grid>div p:last-of-type {
    margin-bottom: .75em;
    font-size: 80%
}

.events.social .grid>div p:last-of-type,
.venue .grid>div p:last-of-type {
    font-size: 100%
}

.organizing-committee .grid>div p:nth-of-type(2),
table tfoot {
    font-size: 75%
}

.grid>div a.email {
    text-indent: -99999px
}

.grid>div a[href^=mailto],
div.advisors a {
    border-bottom: none !important
}

.grid>div a[href^=mailto] em {
    margin-bottom: .5em !important
}

.ContentItemContainer .panel {
    border: 0 !important
}

.ContentItemContainer .panel .panel-body {
    padding: 0 !important
}

.ContentItemContainer .panel .panel-body a.rtsSelected {
    border-color:var(--color-base) !important;
    background-color: var(--color-base) !important
}

.ContentItemContainer .panel .panel-body .RadTabStripTop_MetroTouch .rtsLevel1 {
    border-bottom: 1px solid var(--color-base)
}

.ContentItemContainer .panel .panel-body .ContentWizardDisplay {
    border-style: none;
    border-width: none;
    border-color: none;
    padding: 1em 0 0
}

.ContentItemContainer .panel .panel-body .RadTabStrip .rtsLI {
    font-size: 110%
}

.ContentItemContainer .panel .panel-body .RadTabStrip .rtsLI .rtsTxt {
    padding: 0 2em
}
@media (min-width: 600px) {
    .social .grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* // Collapse Menu */


.collapseMenu div {
    padding: 0!important
}

@media (min-width: 996px) {
    .collapseMenu .row div {
        padding-left:1em!important
    }

    .collapseMenu .row div:first-of-type {
        padding-left: 0!important;
        padding-right: 1em!important
    }

    div .row div.collapse {
        padding-left: 0!important
    }
}


.awards .collapseMenu .awards span.collapsed,.awards .collapseMenu span,.collapseMenu span,.collapseMenu span.collapsed,.collapseMenu span.collapsed.dark,.collapseMenu span.dark,
.collapseMenu h3,.collapseMenu h3.collapsed {
    color: #3b3b3b!important;
    font-size: 100%;
    line-height: 120%;
    display: block;
    padding: .75em 4em .75em 1em;
    margin: 1em 0;
    background: #eaeaea;
    cursor: pointer;
    position: relative
}


.collapseMenu span.collapsed.dark,.collapseMenu span.dark {
    color: #333!important;
    background: #f7f6f0
}

.awards .collapseMenu .awards span.collapsed,.awards .collapseMenu span,.eventListing .collapseMenu .eventListing span.collapsed,.eventListing .collapseMenu span {
    display: inline-block;
    margin: 0 0 1.5em
}

.faces .collapseMenu .awards span.collapsed,.faces .collapseMenu span {
    width: 180px
}

.collapseMenu span,.collapseMenu span.dark {
    background: #4d5964;
    color: #fff!important
}

.collapseMenu span.collapsed:after,.collapseMenu span:after {
    position: absolute;
    font-family: FontAwesome;
    right: 1em;
    color: #4d5964;
    content: "\f13a"
}
.collapseMenu span:after {
    content: "\f139";
    color: #fff
}

.collapseMenu h3 {
    background: #4d5964;
    color: #fff!important
}

.collapseMenu h3.collapsed:after,.collapseMenu h3:after {
    position: absolute;
    font-family: FontAwesome;
    right: 1em;
    color: #4d5964;
    content: "\f13a"
}

.collapseMenu h3:after {
    content: "\f139";
    color: #fff
}

.collapseMenu p {
    margin-left: 1em
}

.collapseMenu h4 {
    margin-left: .75em
}

.collapseMenu h5 {
    margin-left: .9em
}

.collapseMenu h5.ws-session {
    line-height: 90%;
    margin-top: 0;
    margin-bottom: 1em
}

.collapseMenu h5.ws-time {
    margin-top: 1em;
    margin-bottom: 0
}

.collapseMenu h4+h5.ws-session,.collapseMenu p+h5.ws-session {
    margin-top: 1em;
    margin-bottom: .5em
}

.collapseMenu h5.ws-session+h5.ws-time {
    margin-top: 0
}

.collapseMenu h5.ws-time+p {
    margin-top: 1em
}

.collapseMenu p.ws-speaker {
    margin-bottom: 0!important
}




.footer-sponsors a:active,
.footer-sponsors a:focus,
.footer-sponsors a:hover,
.footer-sponsors a:link,
.footer-sponsors a:visited,
.grid.exhibitors a:active,
.grid.exhibitors a:focus,
.grid.exhibitors a:hover,
.grid.exhibitors a:link,
.grid.exhibitors a:visited,
.sponsor-list a:active,
.sponsor-list a:focus,
.sponsor-list a:hover,
.sponsor-list a:link,
.sponsor-list a:visited,
.venue a:active,
.venue a:focus,
.venue a:hover,
.venue a:link,
.venue a:visited {
    border: none !important;
    border-bottom: none !important;
    text-decoration: none !important
}


.event-details .presenter .grid-item p:first-of-type+p,
div.advisors h2+p,
em,
i {
    font-style: italic
}

.registration-details h2.panel-title,
h3 {
    font-size: 140%;
    line-height: 140%;
    margin-bottom: .5em
}

.home h3,
.keyDates p{
    margin-bottom: .25em
}

.home h3:last-of-type,
ol,
ul {
    margin-bottom: 1.5em
}


.early {
    color: green;
    font-weight: 600
}

table td.early {
    color: green;
    font-weight: 400
}

.regular {
    color: #428bca;
    font-weight: 600
}

table td.regular {
    color: #428bca;
    font-weight: 400
}

.keyDates p {
    padding-left: .5em
}

.TextButton.noSpace,
.TextButton.secondary.noSpace,
.addOptions h3,
.conference-header .ContentItemContainer,
.home .sponsor-list .TextButton,
.keyDates p:last-of-type,
.presentation-requirements div.conference-logo-wrapper p.conference-logo,
.registration-details #ste_container_ciregistrationedit_fdfe16a8d0014af2a4250f9242ddf246,
.registration-details #ste_container_ciregistrationoption,
.registration-details h3:first-of-type,
p.westpoint-session-list-timeblock {
    margin-bottom: 0
}

.keyDates p.active:before,
.keyDates p.closed:before,
.keyDates p.open:before {
    font-family: FontAwesome;
    font-size: 120%;
    vertical-align: -5%;
    padding-right: .5em;
    color: green
}

.keyDates p.open:before {
    content: "\f096"
}

.keyDates p.active {
    background: #d4edda;
    display: inline;
    padding: .2em .5em .4em
}

.keyDates p.active:before {
    content: "\f146"
}

.keyDates p.closed:before {
    content: "\f14a"
}

.conference-header-wrapper,
.schedule .day {
    position: relative
}

.conference-header-wrapper img {
    position: relative;
    z-index: -1
}

.conference-header {
    /* // width: 100%; */
    width: 100vw;
    position: relative;
    margin-left: -50vw;
    left:50%;
    /* // max-width: 1920px; */
    margin-top: 0;
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 2rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-bottom: 2px solid var(--color-base);
    display: inline-block;
    background: linear-gradient(to bottom, rgba(255, 255, 255, .2) 30%, rgba(255, 150, 0, .4) 100%);
    
    
 
    & img {
        width: 100%;
    }
    
}

.conference-header-wrapper h1 {
    text-transform:uppercase;
}

.conference-header-wrapper h1,.conference-home-grid h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%,-50%);
    text-align: center;
    color: #fff!important;
    font-weight: 600;
    font-size: 400%;
    line-height: 110%;
    text-shadow: 0 0 15px rgba(0,20,30,.9)
}

@media screen and (max-width: 480px) {
    .conference-header-wrapper h1,.conference-home-grid h1 {
        font-size:300%;
        line-height: 120%
    }
}

div.homeText {
    margin: 0 0 3em 0;
    padding: .5em 0 2.5em 0;
    text-align: center;
    border-bottom: 1px solid var(--color-base);
}

.conference-home-grid {
    display: inline-block;
    background: linear-gradient(to bottom,rgba(0,191,255,.4) 0,rgba(255,150,0,.4) 100%);
    margin-bottom: 1em;
    width: 100%!important
}

.conference-home-grid img {
    width: 100%
}

.conference-home-grid h1 {
    font-size: 200%;
    line-height: 110%
}

@media screen and (max-width: 480px) {
    .conference-home-grid h1 {
        font-size:300%;
        line-height: 120%
    }
}

.conference-header-wrapper-home h1 {
    position: absolute;
    top: 22%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%,-50%);
    text-align: center;
    color: #fff!important;
    font-weight: 600;
    font-size: 150%;
    line-height: 100%;
    opacity: .5;
    text-shadow: 0 0 15px rgba(0,20,30,.9)
}

@media screen and (min-width: 768px) {
    .conference-header-wrapper-home h1 {
        font-size:200%
    }
}

@media screen and (min-width: 992px) {
    .conference-header-wrapper-home h1 {
        font-size:250%
    }
}

@media screen and (min-width: 1200px) {
    .conference-header-wrapper-home h1 {
        font-size:300%
    }
}

@media screen and (min-width: 1400px) {
    .conference-header-wrapper-home h1 {
        font-size:350%
    }
}

.conference-body {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding-left: 0;
    padding-right: 0
}

@media (min-width: 768px) {
    .conference-body {
        padding-left: 2em;
        padding-right: 2em
    }
}

.conference-body.abstracts section,
.conference-body.abstracts section:last-of-type {
    padding-top: 2em;
    padding-bottom: 2em
}

.conference-body.abstracts section#submit {
    border: 1px solid var(--color-base);
    text-align: center;
    padding: 1em 3em;
    background: #fff9ea
}


a.TextButton.cancelled,
a.TextButton.sold-out {
    cursor: not-allowed
}

.TextButton.secondary:focus,
.TextButton.secondary:hover{
    background-color: var(--color-base);
    border: 1px solid var(--color-base) !important
}

.TextButton.secondary:focus,
.TextButton.secondary:hover {
    color: #fff
}

.containerAbstracts,
.containerPartners {
    display: grid;
    grid-gap: 20px;
    grid-template-columns: repeat(12, 1fr)
}

.containerPartners .image img {
    width: 100%;
    max-width: 200px
}

.containerAbstracts .image {
    grid-column: span 5
}

.containerPartners .image {
    grid-column: span 3
}

.containerAbstracts .text {
    grid-column: span 7
}

.containerPartners .text {
    grid-column: span 9
}

@media (max-width: 768px) {
    .containerAbstracts .image {
        grid-column: span 12;
        order: 0
    }

    .containerAbstracts .text,
    .containerPartners .text {
        grid-column: span 12;
        order: 1
    }

    .containerPartners .image {
        grid-column: span 12;
        order: 0;
        text-align: center
    }
}

.exhibitors .grid {
    margin: 2em 0;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
    text-align: center
}

@media (min-width: 600px) {
    .exhibitors .grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (min-width: 976px) {
    .exhibitors .grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

.exhibitors .grid>div {
    padding: 0;
    border: 1px solid var(--color-base);
    background: #ededed
}

.exhibitors .grid>div img {
    width: 100%;
    padding: 0 1em
}

.event-details section:first-of-type {
    margin-top: 2.5em
}

.event-details strong {
    color: grey
}

.event-details .ws07 li ul li {
    margin-bottom: 0;
    font-weight: 400
}

.event-details .ws07 p {
    font-weight: 700;
    margin-bottom: .25em;
    color: grey
}

.event-details .ws07 li,
.event-details .ws07 li ul l {
    margin-bottom: .25em;
    font-weight: 400
}

.event-details .header {
    display: grid;
    grid-template-columns: 100%
}

.event-details .header img {
    margin-bottom: 1.5em;
    width: 100%
}

.event-details .presenter {
    display: grid;
    grid-template-columns: 100%;
    margin-bottom: 1.5em
}

.event-details .presenter img {
    width: 100%;
    max-width: 180px;
    margin-bottom: 1.5em
}

.event-details .header .grid-item:first-of-type,
.event-details .presenter .grid-item:first-of-type {
    padding-right: 0
}

.event-details .presenter .grid-item p:first-of-type {
    font-weight: 700;
    margin-bottom: .25em
}

@media (max-width: 576px) {
    .event-details .header .grid-item:first-of-type {
        order: 2
    }

    .event-details .header .grid-item:nth-of-type(2) {
        order: 1
    }

    .event-details .presenter .grid-item p:first-of-type,
    .event-details .presenter .grid-item p:first-of-type+p,
    .event-details .presenter .grid-item:first-of-type {
        text-align: center
    }
}

.event-details h1 {
    font-size: 180%;
    margin-bottom: 1.5em
}

.event-details p.category {
    font-size: 90%;
    color: gray
}

.event-details span {
    font-weight: 700
}

.event-details span.collapsed,
.registration td span {
    font-weight: 400
}

.event-details p.date,
.event-details p.description,
.event-details p.leader,
.event-details p.limit,
.event-details p.location,
.event-details p.time {
    padding-bottom: .5em;
    border-bottom: 1px solid #ededed;
    margin-bottom: .5em
}

@media screen and (max-width: 576px) {
    .event-details .TextButton {
        width: 100%;
        margin-bottom: .25em
    }
}

.event-details .table-wrapper+.TextButton {
    margin-top: 1em;
    margin-bottom: 0
}

.venueMap {
    border: 0;
    border-radius: 3px;
    height: 300px !important
}

.organizing-committee .grid>div p:last-of-type,
table {
    font-size: 95%
}

div.advisors h2 {
    font-family: open-sans, sans-serif;
    font-size: 95%;
    color: #3b3b3b !important
}

div.advisors h2+p+p {
    margin-top: -.75em
}

.presentation-requirements div.conference-logo-wrapper .conference-logo {
    width: 200px;
    position: relative;
    top: 0;
    left: 0
}

@media (min-width: 735px) {
    .presentation-requirements div.conference-logo-wrapper .conference-logo {
        width: 240px
    }
}

.registration h2#ft {
    background-color: transparent !important
}

.registration .deadlines {
    text-align: center;
    font-size: 125%
}

.registration .grid {
    margin-top: 1.5em;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
    text-align: center
}

@media (min-width: 782px) {
    .registration .grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

.registration .grid>div {
    position: relative;
    padding: 1em;
    color: #777;
    border: 1px solid #777;
    background: #ededed
}

.schedule .day h2,
table.posters tr:first-child,
table.speed-talks tr:first-child {
    position: sticky;
    top: 0
}

.home .sponsor-list h2,
.registration .modal-content h4,
.schedule .inner .category,
table.posters p,
table.speed-talks p {
    margin-bottom: .5em
}

.registration .modal-content .alert {
    font-size: 80%;
    font-style: italic
}

.registration-details .panel-heading.Distinguish {
    margin-top: 1em;
    padding: 0;
    border-bottom: none
}

.registration-details .rgHeader a {
    color: var(--color-base) !important
}

.registration-details .rgHeader.rgSorted {
    background-color: var(--color-base) !important;
    border-color: var(--color-base) !important
}

.registration-details td,
.schedule table td,
.schedule table th,
.schedule table tr,
table.posters,
table.posters thead,
table.speed-talks,
table.speed-talks thead {
    text-align: left !important
}

.speaker-list h3,
.speaker-list p:first-of-type {
    text-align: center
}

.registration-details #ste_container_ciprogramitems {
    margin-bottom: 2.5em
}

.schedule .day h1,
.schedule .day h2,
.schedule .day h3,
.schedule .day p {
    padding: 0;
    margin: 0
}

.schedule .day h2 {
    display: block;
    color: #fff !important;
    padding: .75em;
    margin-bottom: .5em;
    background: var(--color-base);
}

.schedule .day h2:first-of-type {
    margin-top: 2em
}

.schedule .inner>div {
    padding: .25em .75em
}

.schedule .inner>div:nth-of-type(6n),
.schedule .inner>div:nth-of-type(6n-1),
.schedule .inner>div:nth-of-type(6n-2) {
    background: #f5f5f5
}

#ste_container_ciNewContactSignInCommon {
    margin-top: 2.5em;
    padding: .5em 1.5em 1em;
    border: 1px solid var(--color-base);
    border-radius: 10px;
}

#ste_container_ciNewContactSignInCommon .panel-heading.Distinguish {
    text-align: center;
    margin-bottom: 1.5em;
}

.speakers h1+p {
    margin-bottom: 2em;
    /* color: red; */
}

.speaker-list {
    padding-top: 2em;
    border-top: 1px solid var(--color-base);
}

.speaker-list h3 {
    margin-top: 1em;
    margin-bottom: .1em
}

.speaker-list .col-sm-3 {
    width: 100%;
    max-width: 180px;
    display: block;
    margin: 0 auto
}

@media (min-width: 843px) {
    .speaker-list h3 {
        margin-top: .1em;
        text-align: left
    }

    .speaker-list p:first-of-type {
        text-align: left
    }
}

.sponsor-list {
    margin: 2em 0;
    text-align: center
}

.sponsor-list h1 {
    margin-bottom: 1.25em
}

.home .sponsor-list p {
    padding-left: 1.5em;
    padding-right: 1.5em
}


/* Themes */

.themes h2+p {
    font-style: italic
}

.themes h2+p+p {
    /* margin-top: -1em; */
    color: var(--color-base-darker);
}


/*  Sponsors */
.sponsor-list .bronze h2,.sponsor-list .gold h2,.sponsor-list .patron h2,.sponsor-list .premier h2,.sponsor-list .silver h2,.sponsor-list .supporter h2 {
    padding: .25em;
    margin-top: 2em;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 100%;
    border-left: none;
    border-right: none;
    border-top: 1px solid #3b3b3b;
    border-bottom: 1px solid #3b3b3b
}

.sponsor-list .patron h2 {
    color: #202020!important;
    background-color: #ccc;
    border-color: #202020;
    margin-top: 0
}

.sponsor-list .premier h2 {
    color: #06c!important;
    background-color: #c2daf3;
    border-color: #06c
}

.sponsor-list .gold h2 {
    color: #d2aa00!important;
    background-color: #f8f2d8;
    border-color: #d2aa00
}

.sponsor-list .silver h2 {
    color: #909090!important;
    background-color: #eee;
    border-color: #909090
}

.sponsor-list .bronze h2 {
    color: #aa6e3c!important;
    background-color: #f2e9e1;
    border-color: #aa6e3c
}

.sponsor-list .supporter h2 {
    color: #94c4bb!important;
    background-color: #daf5f0;
    border-color: #94c4bb
}

.sponsor-list .affiliates img,.sponsor-list .bronze img,.sponsor-list .gold img,.sponsor-list .patron img,.sponsor-list .premier img,.sponsor-list .silver img,.sponsor-list .supporter img {
    margin: .25em
}


@media (min-width: 576px) {

    .sponsor-list .bronze h2,.sponsor-list .gold h2,.sponsor-list .patron h2,.sponsor-list .premier h2,.sponsor-list .silver h2,.sponsor-list .supporter h2 {
        font-size: 150%
    }

    .sponsor-list .affiliates img,.sponsor-list .bronze img,.sponsor-list .gold img,.sponsor-list .patron img,.sponsor-list .premier img,.sponsor-list .silver img,.sponsor-list .supporter img {
        margin: .75em
    }
}


@media (min-width: 576px) {
    .event-details .header {
        grid-template-columns: 50% 50%
    }

    .event-details .presenter {
        grid-template-columns: 180px auto
    }

    .event-details .header .grid-item:first-of-type,
    .event-details .presenter .grid-item:first-of-type {
        padding-right: 1.5em
    }

    .schedule .inner {
        display: grid;
        grid-template-columns: 1fr 2fr 2fr
    }

    .schedule .inner>div {
        grid-column: auto/span 1;
        grid-row: auto/span 1;
        padding: 1em
    }

    .schedule .inner .category {
        margin-bottom: 0
    }

    .sponsor-list .bronze h3,
    .sponsor-list .cap h3,
    .sponsor-list .copper h3,
    .sponsor-list .gold h3,
    .sponsor-list .patron h3,
    .sponsor-list .premier h3,
    .sponsor-list .silver h3,
    .sponsor-list .supporter {
        font-size: 150%
    }

    .sponsor-list .affiliates img,
    .sponsor-list .bronze img,
    .sponsor-list .copper img,
    .sponsor-list .gold img,
    .sponsor-list .patron img,
    .sponsor-list .premier img,
    .sponsor-list .silver img,
    .sponsor-list .supporter img {
        margin: .75em
    }
}

.footer-sponsors .patron img,
.sponsor-list .patron img {
    width: 60%
}

.footer-sponsors .premier img,
.sponsor-list .premier img {
    width: 50%
}

.footer-sponsors .gold img,
.sponsor-list .gold img {
    width: 40%
}

.sponsor-list .silver img {
    width: 35%
}

.sponsor-list .copper img {
    width: 28%
}

.footer-sponsors .bronze img,
.sponsor-list .bronze img {
    width: 20%
}

.footer-sponsors .supporter img,
.sponsor-list .supporter img {
    width: 15%
}

div.westpoint-day-selector {
    text-align: center;
    margin: 0 !important;
    padding: 0
}

div.westpoint-day-selector li {
    display: inline-block;
    margin-bottom: 2em;
    font-size: 105%;
    padding: .5em 1.5em;
    color: #fff;
    border-radius: 10px;
    border: 2px solid var(--color-base) !important;
    -webkit-box-shadow: none;
    box-shadow: none
}

div.westpoint-day-selector li a {
    border-bottom: none !important;
    color: #fff
}

div.westpoint-day-selector li:active,
div.westpoint-day-selector li:focus,
div.westpoint-day-selector li:hover,
div.westpoint-day-selector li:link,
div.westpoint-day-selector li:visited {
    top: 0;
    color: #fff;
    text-decoration: none;
    background-color: var(--color-base);
    border-color: var(--color-base);
    -webkit-box-shadow: none;
    box-shadow: none
}

table tbody,
table tfoot {
    border-top: 4px solid #eee
}

ul.westpoint-selector li:nth-child(100) {
    display: inline-block;
    top: 0;
    font-size: 110%;
    padding: .25em 1em;
    margin: .75em 0 1.5em;
    border-radius: 4px;
    color: #fff;
    text-decoration: none;
    background-color: var(--color-base);
    border: 1px solid var(--color-base)!important;
    -webkit-box-shadow: none;
    box-shadow: none
}

.westpoint-session-list {
    margin-top: -2em
}

table.westpoint-session-table td {
    vertical-align: top !important
}

ul.westpoint-session-ul {
    padding-left: 0
}

.technical-program thead th {
    font-size: 125%;
    text-align: left;
    padding-left: 0
}

.technical-program thead th h3 {
    padding: 2em 0 0 .75em;
    font-weight: 700;
    font-size: 90%;
    color: #3b3b3b !important
}

.westpoint-session-list-date {
    text-align: center;
    margin-top: 0;
    margin-bottom: 1em
}

h3.westpoint-session-list-title {
    font-size: 90%;
    font-weight: 400
}

h3.westpoint-session-list-sestitle {
    font-size: 150%;
    margin-bottom: 0
}

h4.westpoint-session-list-prestitle {
    font-size: 125%
}

table.posters tr:first-child td:first-child,
table.speed-talks tr:first-child td:first-child {
    color: #fff;
    font-weight: 600;
    font-size: 120%;
    background: #428bca
}

table.posters p#posterpresenter,
table.speed-talks p#posterpresenter {
    font-style: italic;
    margin-bottom: 0
}

div.table {
    overflow-x: auto;
    display: block;
    width: 86vw
}

table {
    border-collapse: collapse;
    text-align: center;
    margin: 2em 0 4em;
    width: 100%
}

div.table table {
    width: 1200px;
    touch-action: auto
}

table thead th {
    font-weight: 600;
    padding: 0 .5em .5em;
    vertical-align: bottom
}

table tbody {
    border-bottom: 4px solid #eee
}

table tbody tr:nth-child(odd) {
    background-color: #f6f6f6
}

table tbody tr.alt td {
    background-color: #d1e9fe
}

table tbody td {
    border: 1px solid #eee;
    padding: .75em
}

table tfoot td {
    padding: .5em;
    text-align: left
}

.exhibitor-list {
    margin-top: 0;
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2
}

@media (min-width: 720px) {
    .exhibitor-list {
        -webkit-column-count: 3;
        -moz-column-count: 3;
        column-count: 3
    }
}

.exhibitor-list table {
    margin: 0;
    text-align: left
}

.exhibitor-list table tr td:first-of-type {
    width: 15%;
    text-align: center
}

.exhibitor-list table tbody td {
    border: 1px solid #eee;
    padding: .5em
}

tr.booth03,
tr.booth16,
tr.booth21,
tr.booth26,
tr.booth27,
tr.booth29 {
    background: #eeebe1 !important
}

tr.booth01 td,
tr.booth02 td,
tr.booth03 td,
tr.booth04 td,
tr.booth05 td,
tr.booth06 td,
tr.booth07 td,
tr.booth08 td,
tr.booth09 td,
tr.booth10 td,
tr.booth11 td,
tr.booth12 td,
tr.booth13 td,
tr.booth14 td,
tr.booth15 td,
tr.booth16 td,
tr.booth17 t,
tr.booth18 td,
tr.booth19 td,
tr.booth20 td,
tr.booth21 td,
tr.booth22 td,
tr.booth23 td,
tr.booth24 td,
tr.booth25 td,
tr.booth26 td,
tr.booth27 td,
tr.booth28 td,
tr.booth29 td,
tr.booth30 td,
tr.booth31 td,
tr.boothXX td td,
tr.boothXXXXXX td {
    border: 1px solid #ddd
}

tr.boothXX {
    background: #9a8348 !important;
    color: #fff
}

tr.booth01,
tr.booth02,
tr.booth04,
tr.booth05,
tr.booth06,
tr.booth07,
tr.booth08,
tr.booth09,
tr.booth10,
tr.booth11,
tr.booth12,
tr.booth13,
tr.booth14,
tr.booth15,
tr.booth17,
tr.booth18,
tr.booth19,
tr.booth20,
tr.booth22,
tr.booth23,
tr.booth24,
tr.booth25,
tr.booth28,
tr.booth30,
tr.booth31 {
    background: #e5e9ef !important
}

tr.boothXXXXXX {
    background: #00285e !important;
    color: #fff
}

.sponsors table td:first-child {
    width: 240px;
    min-width: 240px;
    max-width: 450px;
    text-align: left !important
}

.sponsors table thead th {
    width: 10%;
    min-width: 10%;
    vertical-align: bottom
}

.sponsors table thead tr th {
    color: #fff;
    padding: 1em .5em;
    font-weight: 400
}

.sponsors table thead th span {
    font-size: 150%;
    font-weight: 600;
    line-height: 0
}

.sponsors table thead th:nth-child(2) {
    background-color: #202020
}

.sponsors table td:nth-child(2) {
    color: #202020 !important;
    background-color: #ccc
}

.sponsors table thead th:nth-child(3) {
    background-color: #06c
}

.sponsors table td:nth-child(3) {
    background-color: #c2daf3
}

.sponsors table thead th:nth-child(4) {
    background-color: #d2aa00
}

.sponsors table td:nth-child(4) {
    background-color: #f8f2d8
}

.sponsors table thead th:nth-child(5) {
    background-color: #909090
}

.sponsors table td:nth-child(5) {
    background-color: #eee
}

.sponsors table thead th:nth-child(6) {
    background-color: #aa6e3c
}

.sponsors table td:nth-child(6) {
    background-color: #f2e9e1
}

.sponsors table thead th:nth-child(7) {
    background-color: #94c4bb;
}

.sponsors table td:nth-child(7) {
    background-color: #faebd4
}

.sponsors table thead th:nth-child(8) {
    background-color: #94c4bb
}

.sponsors table td:nth-child(8) {
    background-color: #daf5f0
}

.sponsors table thead th:nth-child(9) {
    padding: .5em;
    vertical-align: middle;
    background-color: #414f6c
}

.sponsors table td:nth-child(9) {
    background-color: #c5d7fc
}

.event-details table td:first-of-type {
    text-align: left;
    width: 30%
}

@media only screen and (max-width: 760px),
(min-device-width:768px) and (max-device-width:1024px) {
    .event-details table td:first-of-type {
        width: 100%
    }

    .event-details table,
    .event-details tbody,
    .event-details td,
    .event-details th,
    .event-details thead,
    .event-details tr,
    .registration table .registration table thead,
    .registration table tbody,
    .registration table td,
    .registration table th,
    .registration table tr {
        display: block;
        text-align: left
    }

    .event-details tbody,
    .registration table tbody {
        border-top: none;
        border-bottom: none
    }

    .event-details table thead,
    .registration table thead {
        position: absolute;
        top: -9999px;
        left: -9999px
    }

    .event-details tr,
    .registration table tr {
        margin: 0 0 1.5em
    }

    .event-details tr:nth-child(odd),
    .registration table tr:nth-child(odd) {
        background: #fff
    }

    .event-details tr td:first-child,
    .registration table tr td:first-child,
    .registration table.ft td:nth-of-type(2),
    .registration table.ws td:nth-of-type(2) {
        background: #ededed
    }

    .event-details td,
    .registration table td {
        position: relative;
        padding: .5em !important
    }

    .event-details td:before,
    .registration table td:before {
        position: relative;
        white-space: nowrap
    }

    .event-details tfoot,
    .event-details tfoot td,
    .registration table.courses tfoot,
    .registration table.courses tfoot td {
        border: none
    }

    .event-details table td:first-of-type:before,
    .registration table.fees td:first-of-type:before,
    .registration table.ft td:first-of-type:before,
    .registration table.ft td:nth-of-type(2):before,
    .registration table.se td:first-of-type:before,
    .registration table.ws td:first-of-type:before,
    .registration table.ws td:nth-of-type(2):before {
        content: ""
    }

    .event-details table td:nth-of-type(2):before,
    .registration table.fees td:nth-of-type(2):before {
        content: "Early Rates:\00a0\00a0"
    }

    .event-details table td:nth-of-type(3):before,
    .registration table.fees td:nth-of-type(3):before {
        content: "Regular Rates:\00a0\00a0"
    }

    .event-details tfoot td,
    .registration table.courses tfoot td {
        padding-top: 0 !important
    }

    .registration table.fees td:nth-of-type(4):before {
        content: "On-site Rates:\00a0\00a0"
    }

    .registration table.fees td:nth-of-type(5):before {
        content: "Field Trip or Workshop Attendance Only:\00a0\00a0"
    }

    .registration table.fees td:nth-of-type(6):before {
        content: "Video Archive*:\00a0\00a0"
    }

    .registration table.ft td:nth-of-type(3):before,
    .registration table.se td:nth-of-type(2):before,
    .registration table.ws td:nth-of-type(3):before {
        content: "SEG Professional Member:\00a0\00a0"
    }

    .registration table.ft td:nth-of-type(4):before,
    .registration table.se td:nth-of-type(3):before,
    .registration table.ws td:nth-of-type(4):before {
        content: "SEG Student and Recent Graduate Members:\00a0\00a0"
    }

    .registration table.ft td:nth-of-type(5):before,
    .registration table.se td:nth-of-type(4):before,
    .registration table.ws td:nth-of-type(5):before {
        content: "Non-member:\00a0\00a0"
    }
}

table.ft .cancelled,
table.ft .sold-out,
table.se .cancelled,
table.se .sold-out,
table.ws .cancelled,
table.ws .sold-out {
    color: red
}

.schedule table {
    width: 100%;
    margin-bottom: 2em !important;
    text-align: left !important
}

.schedule table tbody tr:nth-child(odd) {
    background-color: #fff
}


.footer-content h2 {
    font-weight: 300;
    font-size: 90%;
    color: #fff !important;
    margin: 2em 0 .5em
}

.footer-content p {
    font-size: 110% !important;
    color: #fff !important;
    margin-bottom: .5em
}

.footer-content p:last-of-type {
    font-size: 90% !important;
    color: #fff !important;
    /* margin-bottom: 0; */
}

.footer-content a {
    color: #fff
}

.footer-content .social {
    margin: 2em 0
}

.footer-content .social a {
    margin-right: 1em;
    border: none
}

.footer-content .social a:last-of-type {
    margin-right: 0
}

.fa.fa-twitter::before {
    content: "Ã°Ââ€¢Â";
    font-size: 1.2em
}

.footer-nav-copyright {
    color: #fff;
    text-align: center;
    padding: 1em
}

.footer-nav-copyright p {
    font-size: 80%;
    color: #fff !important
}

.footer-sponsors {
    margin-top: 2em;
    padding: 0 0 2em;
    text-align: center;
    background-color: #f6f6f6
}

.footer-sponsors .bronze h3,
.footer-sponsors .gold h3,
.footer-sponsors .patron h3,
.footer-sponsors .premier h3,
.footer-sponsors .silver h3,
.footer-sponsors .supporter h3 {
    padding: .5em;
    margin-top: 3em;
    text-transform: uppercase;
    font-weight: 600
}

.footer-sponsors .patron h3 {
    color: #202020 !important;
    background-color: #ccc;
    border: 2px solid #202020;
    border-left: none;
    border-right: none;
    margin-top: 0
}

.footer-sponsors .premier h3 {
    color: #06c !important;
    background-color: #c2daf3;
    border: 2px solid #06c;
    border-left: none;
    border-right: none
}

.footer-sponsors .gold h3 {
    color: #d2aa00 !important;
    background-color: #f8f2d8;
    border: 2px solid #d2aa00;
    border-left: none;
    border-right: none
}

.footer-sponsors .silver h3 {
    color: #909090 !important;
    background-color: #eee;
    border: 2px solid #909090;
    border-left: none;
    border-right: none
}

.footer-sponsors .bronze h3 {
    color: #aa6e3c !important;
    background-color: #f2e9e1;
    border: 2px solid #aa6e3c;
    border-left: none;
    border-right: none
}

.footer-sponsors .supporter h3 {
    color: #94c4bb !important;
    background-color: #daf5f0;
    border: 2px solid #94c4bb;
    border-left: none;
    border-right: none
}

.footer-sponsors .bronze img,
.footer-sponsors .gold img,
.footer-sponsors .patron img,
.footer-sponsors .premier img,
.footer-sponsors .silver img,
.footer-sponsors .supporter img {
    margin: .75em
}

.footer-sponsors .silver img {
    width: 30%
}