/**********************************************************

 ISCA Conference Template
 STYLE.CSS
 
 Author:       Saugata Ghose (ghose at illinois dot edu)
 Maintainers:   
    - Mark Jeffrey (mcj at ece dot utoronto dot ca)
 Last Updated: August 27, 2026

 **********************************************************/


 /* ## Styles Not Fully Understood */

/* font import */
@import url('https://fonts.googleapis.com/css?family=Roboto+Slab:regular,b|Alegreya+Sans:regular,b,i,bi|Source+Sans+Pro:300,regular,600,b');


/* compatibility for browsers w/o HTML5 support */
header, section, footer, aside, nav, main, article, figure {
    display: block;
}


/* body padding to compensate for fixed navbar */
body {
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 10px;
    font-family: 'Alegreya Sans', sans-serif;
    font-size: medium;
}

@media (max-width:767px) {
    body {
        padding-top: 50px;
    }
}


/* global formatting */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'Roboto Slab', sans-serif;
    font-weight: bold;
}

img {
    max-width: 100%;
}


.vertical-align {
    display: flex;
    align-items: center;
}

.list-indent {
    margin-left: 25px;
}


@media (max-width: 767px) {
    .navbar-header {
        float: none;
    }
    
    /* Modifies Bootstrap: Set color of hamburger menu background */
    .navbar-toggle {
        display: block;
        background: #fefefe;
    }
    
    /* Modifies Bootstrap: Set color of hamburger menu bars */
    .navbar .icon-bar {
        background: #cb0000;
    }

    .navbar-collapse {
        border-top: 1px solid transparent;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
    }
 
    .navbar-collapse.collapse {
        display: none !important;
    }

    .navbar-nav {
        float: none !important;
        margin: 7.5px -15px;
    }

    .navbar-nav > li {
        float: none;
    }

    .navbar-nav > li > a {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .navbar-text {
        float: none;
        margin: 15px 0;
    }
    
    .navbar-collapse.collapse.in { 
        display: block !important;
    }

    .collapsing {
        overflow: hidden !important;
    }
}

/* custom styles */

.navbar-brand {
    height: 50px;
    padding: 15px;
    font-family: 'Roboto Slab', sans-serif;
    font-weight: bold;
    color: #ffffff;
}

/* 
Modifies Bootstrap: Set small-screen navbar conference name (upper left)
background and text colors on mouseover.
*/
.navbar-brand:hover, .navbar-brand:active {
    background: #cb0000;
    color: #ffffff;
}

.navbar-nav a {
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
}

.navbar .container {
    background: #202020;
    background: rgba(32, 32, 32, 0.4);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
}

.navbar .container:hover {
    background: #202020;
    background: rgba(32, 32, 32, 1.0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
}

.navbar .nav-scroll-down {
    background: #202020;
    background: rgba(32, 32, 32, 0.8);
    border-radius: 0px 0px 10px 10px;
}

@media (max-width: 767px) {
    .navbar .container, .navbar .container:hover {
        background: #202020;
        background: rgba(32, 32, 32, 1.0);
	}
}

@media(min-width:768px) {
    .navbar-brand {
        display: none;
    }
    
    .navbar .container {
        height: 50px;
    }
}

.navbar .navbar-nav a:link, .navbar .navbar-nav a:visited {
    color: #dddddd;
    text-shadow: 1px 1px 3px #000000;
}

.navbar-nav li.active > a {
    color: #ffffff !important;
}

.navbar .navbar-nav a:hover, .navbar .navbar-nav a:active {
    color: #000000;
    text-shadow: 0 0 0;
}

.navbar .dropdown-menu {
    background: rgba(32, 32, 32, 1.0);
}
.navbar .dropdown-menu > li > a {
    color: rgba(32, 32, 32, 1.0);
}

/* Modifies Bootstrap: Set navbar background and text colors on mouseover */
.navbar .dropdown-menu > li > a:hover,
.navbar .dropdown-menu>li>a:focus {
    background: #cb0000 !important;
    color: #fefefe;
}

@media (min-width:768px) {
    ul.nav li.dropdown:hover {
        background: rgba(32, 32, 32, 1.0);
        color: #ffffff;
    }

    ul.nav li.dropdown:hover > ul.dropdown-menu {
        display: block;        
    }
}

.navbar .navbar-nav li.dropdown.open > .dropdown-toggle,
.navbar .navbar-nav li.dropdown.active > .dropdown-toggle,
.navbar .navbar-nav li.dropdown.open.active > .dropdown-toggle {
    background: rgba(32, 32, 32, 1.0);
    color: #ffffff;
}

@media (min-width: 768px) {
    .center-pills {
        display: flex;
        justify-content: center;
    }
    
    .center-pills li {
        display: flex;
        flex: 1;
    }
    
    .center-pills li a {
        display: flex;
        flex: 1;
        justify-content: center;
        text-align: center;
    }
}

.jumbotron {
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 10px;
    background: #ffffff;
    color: #ffffff;
    text-shadow: 4px 4px 6px #000000;
}

.jumbotron > .container {
    background: #123884;
    background-size: cover;
    padding: 0;
}

.jumbotron h2, .jumbotron h3 {
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 600;
}

.jumbotron #jlogo {
    height: 80px;
    box-shadow: 2px 2px 3px #000000;
}

.jumbotron h3#conferenceName {
    display: none;
    margin-top: 0;
    font-family: 'Alegreya Sans', sans-serif;
}

.jumbotron #conferenceDates {
    font-weight: 300;
    text-shadow: 4px 4px 6px #000000;
}

.jumbotron h2#conferenceDates {
    text-shadow: 4px 4px 6px #000000;
}

.jumbotron h3#conferenceDates {
    margin-top: 0;
}

.jumbotron .banner {
    background-position: center center;
    background-size: cover;
}

.jumbotron .banner#banner1 {
    background-image: url(../images/banner1.jpg);
    /* credit: Raleigh Convention Center */
}

.jumbotron .banner#banner2 {
    background-image: url(../images/banner2.jpg);
    /* credit: Raleigh Convention Center */
}

@media (max-width: 767px) {
    .jumbotron {
        padding: 0;
    }

    .jumbotron .jumbotron-text {
        margin: 0;
        padding: 25px 0;
    }
    
    .jumbotron h3#conferenceName {
        display: none;
    }

	.jumbotron #jlogo {
        height: 50px;
    }

    .jumbotron .row {
        margin: 0;
        padding: 0;
    }

    .jumbotron .carousel .banner {
        background: none;
    }
}

@media (min-width: 768px) {
    .jumbotron .carousel {
        border-radius: 0 0 20px 20px;
        overflow: hidden;
    }

    .jumbotron .carousel .item {
        width: 100%;
        overflow: hidden;
    }

    .jumbotron .jumbotron-text {
        position: absolute;
    }
    
    .jumbotron .short-jumbotron-text {
        padding-top: 50px;
        margin-bottom: 25px;
    }

    .jumbotron #pageTitle {
        margin-bottom: 35px;
    }
}

@media (max-width: 1199px) {
    .jumbotron .carousel .item {
        height: 375px !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .jumbotron .jumbotron-text {
        position: absolute;
        top: 50px;
        width: 97%;
    }

	.jumbotron #jlogo {
        height: 60px;
    }

    .jumbotron h2#conferenceLocation {
        margin-top: 0;
    }
}

@media (min-width: 1200px) {
    .jumbotron .jumbotron-text {
        position: absolute;
        top: 75px;
        width: 97.5%;
    }

	.jumbotron h3#conferenceName {
        margin-top: 0;
        margin-bottom: 75px;
    }

    .jumbotron .carousel .item {
        height: 450px !important;
    }

    .jumbotron h1 {
        margin-top: 30px;
    }
}

@media (min-width: 768px) {
    .jumbotron > .container {
        border-radius: 0 0 20px 20px;
    }
}

@media (max-width: 767px) {
    .jumbotron .carousel-container {
        padding-left: 0;
        padding-right: 0;
    }

    .jumbotron > .container {
        padding-bottom: 15px;
    }
}

.container-pad-top {
    margin-top: 25px;
}

.panel-heading h1, .panel-heading h2, .panel-heading h3, .panel-heading h4, .panel-heading h5, .panel-heading h6 {
    margin: 0;
}

.btn {
    white-space: normal !important;
    word-wrap: break-word;
}


/* ## General Page Layout Styles */

/* Add padding above anchors so content shows below navbar. */
a.anchor {
    display: block; 
    position: relative;
    top: -10px;
    padding-top: 50px;
    margin-top: -50px;
    visibility: hidden;
}

/* Set affiliation text styles in organizer tables. */
.affiliation {
    font-style: italic;
    font-size: 95%;
    color: #666666;
}

/* Set deadline styles in dates tables. */
@media (max-width: 767px) {
    .deadline-date {
        display: block;
        margin-bottom: 5px;
    }
}

@media (min-width: 768px) {
    .deadline-date {
        display: inline-block;
    }
}

/* Set style for image caption */
.caption, .caption a {
    font-size: small;
    font-style: italic;
    color: #999999;
}

/* ### Table-of-Contents Styles */

/*
At one-column sizes, add plus/minus indicators for collapsible,
page-top table-of-contents.
*/
@media (max-width: 992px) {

    /* Set append styles. */
    .sidebar-title a:after {
        position: relative;
        float: right;
        top: 1px;
        font-family: 'Glyphicons Halflings';
        font-style: normal;
        font-weight: 400;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        transition: transform .25s linear;
        -webkit-transition: -webkit-transform .25s linear;
        content: "5";
    }

    /* Rotate and switch to minus sign on click-to-expand. */
    .sidebar-title a[aria-expanded="true"]:after {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
        content: "\2212";
    }

    /* Rotate and switch to plus sign on click-to-collapse. */
    .sidebar-title a[aria-expanded="false"]:after {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        content: "\002b";
    }

}

/*
At two-column screen sizes, keep table-of-contents expanded and in view 
while scrolling.
*/
@media (min-width: 992px) {

    /* Stick table-of-contents to viewing window below navbar. */
    .contents {
        position: sticky;
        top: 85px;
    }

    /*
    Force table of contents to be visible at two-column screen sizes.
    The collapse can be toggled at any time by clicking the table-of-contents
    title, but this keeps it visible regardless of the toggle's state.
    */
    #sidebar-content
    {
        display: inline;
    }

}

/* Indent sub-section pill links in table-of-contents. */
.indent-1{
    margin-left: 20px
}

/* ### Footer Styles */

/* Center-align footer conference name. */
footer .footer-name {
    text-align: center;
}

/* Center-align footer privacy policy. */
footer .footer-privacy {
    text-align: center;
}


/* ## Homepage Styles */

/* ### Important Dates Callout Box Styles */

/* Strikethrough and fade important dates that have passed on the homepage. */
.past-date {
    background-color: #f5f5f5;
    color: #777;
    text-decoration: line-through;
}

/* Also strikethrough Bootstrap Label components (e.g. "Updated") in important dates. */
.past-date span{
    text-decoration: line-through;
}

/* ### Announcements Styles */

.newsitem {
    margin-top: 25px;
    margin-bottom: 35px;
}

.newsitem .title {
    margin-bottom: 10px;
    color: #123884;
}

.newsitem h3 {
    margin-top: 0;
    margin-bottom: 0;
    font-family: 'Source Sans Pro', sans-serif;
}

.newsitem .date {
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 300;
    margin-bottom: 0px;
    margin-top: 2px;
}

/* ### Sponsor Acknowledgements Styles */

/* Align logo and links */
.sponsor {
    text-align: center;
    vertical-align: bottom;
}

/* 
Set default bounding box for logos to (1) create separation in the
grid and (2) maintain size consistency. This interacts with the grid
to create the apparent visual size.

The default is used for the "medium-sized" logos given to gold- and
silver-level sponsors.
*/
.sponsor img {
  max-height: 68px;
  max-width: 80%;
}

/*
Set bounding box for small logos. This interacts with the grid
to create the apparent visual size.

Used for bronze, technical, and student travel sponsors.
*/
.sponsor img.small {
  max-height: 64px;
  max-width: 90%;
}

/* Affects spacing on sponsor rows. Possibly remove? */
.vertical-center {
  display: flex;
  align-items: center;
}


/* ## Submit Guidelines Page Styles */

/* Add light border to sample paper image */
.border-light {
    border: 1px solid #cde0ed;
}


/* ## Registration Page(s) Styles */

.earlyfees {
    text-align: right;
    color: #888888;
}

.latefees {
    text-align: right;
    color: #888888;
}


/* ## Program Pages Styles*/

/* ### Main Program Page Styles */

/* #### Schedule Styles */

/* Set vertical separation between schedule rows. */
.schedule-row {
    margin-top: 5px;
}

/* ##### Schedule Block Styles */

/* ###### Default Schedule Block Styles */

.schedule-block {
    margin-bottom: 5px;
}

.schedule-block>.panel-heading {
    padding: 0;
    background-color: #f6f6f6;
    color: #428bca;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.schedule-block>.panel-heading a {
    display: block;
    padding: 10px 15px;
}

.schedule-block .session-location {
    padding: 5px 15px;
}

.schedule-block .session-chair {
    font-family: 'Alegreya Sans', sans-serif;
    font-size: 15px;
    font-style: italic;
    padding: 0px 15px 10px 15px;
    font-weight: bold;
}

/* ####### Rotating plus/minus indicators for collapsible schedule blocks */

/* Set append styles. */
.schedule-block>.panel-heading a:after {
    position: relative;
    float: right;
    top: 1px;
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition: transform .25s linear;
    -webkit-transition: -webkit-transform .25s linear;
    content: "";
}

/* Rotate and switch to minus sign on click-to-expand. */
.schedule-block>.panel-heading a[aria-expanded="true"]:after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    content: "\2212";
}

/* Rotate and switch to plus sign on click-to-collapse. */
.schedule-block>.panel-heading a[aria-expanded="false"]:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    content: "\002b";
}

/* ###### Keynote Schedule Block Styles */

/* Set keynote schedule block border color. */
.schedule-block.schedule-block-keynote {
    border-color: #337ab7;
}

/* Set keynote schedule block header styles. */
.schedule-block.schedule-block-keynote>.panel-heading {
    background-color: #337ab7;
    border: none;
    color: #fff;
}

/* Set keynote schedule block location bar and presenter bar styles. */
.schedule-block.schedule-block-keynote .session-location, .schedule-block.schedule-block-keynote .session-chair {
    background-color: #6b9cc6;
    color: #fff;
}

/* ###### Paper Session Schedule Block Styles */

/* Set paper session schedule block border color. */
.schedule-block.schedule-block-papers {
    border-color: #bce8f1;
}

/* Set paper session schedule block header styles. */
.schedule-block.schedule-block-papers>.panel-heading {
    background-color: #d9edf7;
    border: none;
    color: #31708f;
}

/* Set paper session schedule block location bar and session chair bar styles. */
.schedule-block.schedule-block-papers .session-location, .schedule-block.schedule-block-papers .session-chair {
    background-color: #eefaff;
    color: #31708f;
}

/* ###### Break Schedule Block Styles */

/* Set break schedule block border color. */
.schedule-block.schedule-block-break {
    border-color: #ddd;
}

/* Set break schedule block header styles. */
.schedule-block.schedule-block-break>.panel-heading {
    background-color: #f5f5f5;
    border: none;
    color: #333;
}

/* Set paper session schedule block location bar and session chair bar styles. */
.schedule-block.schedule-block-break .session-location {
    background-color: #fff;
    color: #333;
}

/* ###### Miscellaneous Panel */

/* Set misc. schedule block border color. */
.schedule-block.schedule-block-misc {
    border-color: #777;
}

/* Set misc. schedule block header styles. */
.schedule-block.schedule-block-misc>.panel-heading {
    background-color: #595959;
    border: none;
    color: #fff;
}

/* Set misc. schedule block location bar and session chair bar styles. */
.schedule-block.schedule-block-misc .session-location {
    background-color: #c9c9c9;
    color: #333;
}

/* ##### Paper Session Content Styles */

/* Set text style for time in paper session schedule blocks. */
.paper .paper-time {
    color: #666666;
    font-size: 95%;
}

/* Set text style for title in paper session schedule blocks. */
.paper .paper-title {
    padding-bottom: 5px;
    font-weight: bold;
}

/* Set text style for authors in paper session schedule blocks. */
.paper .paper-authors {
    font-size: small;
}

/* ### Workshops / Tutorials Program Page Styles */ 

/* Set linked workshop title color and size in workshop / tutorial program. */
.workshop {
    color: dodgerblue;
    font-size:20px;
}

/* Set unlinked workshop title color and size in workshop / tutorial program. */
.workshop.nolink {
    color: unset;
    font-size:20px;
}

/* Set workshops / tutorials program table styles. */
.workshop_program th, .workshop_program td {
    border: 1px solid black;
    border-collapse: collapse;
    padding-left: 8px;
    text-align: center;
    vertical-align: middle;
}


/* ## Committees Page(s) Styles */

.table .affiliation-header {
    font-weight: normal;
}

.table > tbody > tr > td.affiliation {
    vertical-align: middle;
}

@media (max-width: 991px) {
    .left-table, .left-table table {
        margin-bottom: 0;
        padding-bottom: 0;
    }

    .right-table, .right-table table {
        margin-top: 0;
        padding-top: 0;
    }
}
