/*
  Black Hat Bootstrap theme 2026 - derived from:
  https://startbootstrap.com/themes/
  https://startbootstrap.com/templates/modern-business/
  https://blackrockdigital.github.io/startbootstrap-modern-business/


  Font declarations

  - DrukWide: headers
  - Arial: plain text
*/

/*
  Custom font notice: 
  
  This font software is the property of Commercial Type.

  You may not modify the font software, use it on another website, or install it on a computer.

  License information is available at http://commercialtype.com/eula
  For more information please visit Commercial Type at http://commercialtype.com or email us at info[at]commercialtype.com

  Copyright (C) 2016 Schwartzco Inc.
  2605-XNTBQZ
*/
@font-face {
  font-family: 'Black Hat Druk Web';
  src: url('../fonts/BlackHatDruk-Medium-Web.woff2') format('woff2'),
       url('../fonts/BlackHatDruk-Medium-Web.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap; /* Recommended for performance */
}

@font-face {
  font-family: 'DrukWide';
  src: url('../fonts/DrukWide-Medium.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-display: swap; /* Recommended for performance */
}

h1, 
main .carousel .carousel-inner .carousel-item .carousel-caption h3, 
.event-header-info .event-date-location, 
.lockup, 
.lockup h2, 
.photo-splash h2, 
.special-features-header,
.special-font-bold, 
.special-font-light, 
.special-font-regular {
  /*font-family: 'DrukWide', sans-serif;*/
  font-family: 'Black Hat Druk Web', sans-serif;
}

body {
  font-family: Arial, sans-serif !important;
}

h2, h3, h4, h5, 
main fieldset legend, 
nav.main, 
.left-col-anchors, 
.page-anchors, 
.price-box, 
.price-box-wrapper a .left, 
#site-footer .links p strong, 
.item-box strong, 
.training-data .course-progress-bar.canceled {
  font-family: Arial, sans-serif;
}

/* Media queries */
/* Small screens/devices only */
@media (max-width: 991px) {
  #top-bar li.nav-item a.nav-link,
  #main-menu li.nav-item a.nav-link,
  .navbar-brand {
    font-family: Arial, sans-serif;
  }
}
/* Large screens/devices only */
@media (min-width: 992px) {
  #main-menu li.nav-item a.nav-link {
    font-family: Arial, sans-serif;
  }
}

/*

Pink:
#fd7ef5

Blue:
#36cdff

*/

/* --------------------------------------- */

.special-font-bold {
  text-transform: uppercase;
}
.special-font-regular {
  text-transform: lowercase;
}

a,
.blue-bottom h3, 
.portal-footer a, 
.view-more {
  color: #36cdff;
}

a {
  text-decoration: underline;
  transition: all .2s ease-in;
}
a:hover, a:active, a:focus {
  color: #fd7ef5;
  text-decoration: none;
}

a.dark, a.dark:hover, a.dark:active, a.dark:focus {
  color: #000;
}
a.dark:hover, a.dark:active, a.dark:focus {
  text-decoration: none;
}
a.light, a.light:hover, a.light:active, a.light:focus {
  color: #fff;
}
a.light:hover, a.light:active, a.light:focus {
  text-decoration: none;
}

html, body {
  height: 100%;
}
body {
  background: #fff;
  color: #000;
  font-family: Arial, sans-serif;
  font-size: 14px;
}

blockquote {
  font-size: inherit;
  margin: 0;
  padding-left: 1.8em;
  position: relative;
}
blockquote:before {
  content: '\201C'; /* Inserts a quote before blockquote */
  display: inline-block;
  font-size: 5em;
  position: absolute;
  top: -.3em;
  left: -.1em;
}

main {
  font-size: 16px;
}
main #main-menu-wrapper {
 font-size: .8em;
}

/* Used on call-for-papers.html and similar to dim closed listings, brightening them again on hover/focus, so they compete less with live listings */
.cfp-closed {
  opacity: .66;
  transition: all .2s ease-in;
}
.cfp-closed:focus, 
.cfp-closed:hover {
  opacity: 1;
}

h1, h2, h3, h4, h5, 
main fieldset legend, 
nav.main,
.left-col-anchors, 
.page-anchors {
  /*text-transform: uppercase;*/
}
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
h1 a:active, h2 a:active, h3 a:active, h4 a:active, h5 a:active, h6 a:active {
  text-decoration: none;
}
h1 {
  font-size: 34px;
  font-weight: bold;
  margin: 2px 0 40px;
  text-transform: uppercase;
}
h2 {
  font-size: 1.7em;
  line-height: .9em;
}
h2, h3 {
  margin: .33em 0;
}
a h2, a h3, 
a:active h2, a:focus h2, a:hover h2, 
a:active h3, a:focus h3, a:hover h3 {
  color: #000;
  text-decoration: none;
}
h2, h3, h4 {
  font-weight: normal;
}
h3  {
  font-size: 1.5em;
}
h4 {
  font-size: 1.4em;
}
h5 {
  letter-spacing: 1px;
}
h2, h3, h4, p {
  
}
h6 {
  font-size: 1.1em;
  margin: 0 0 2.5% 0;
}
hr {
  background: #000;
  border: none;
  height: 1px;
}

.invert {
  filter: invert(1);
}

main hr {
  margin: 30px auto;
}

img {
  border: none;
  height: auto;
  -ms-interpolation-mode: bicubic;
  max-width: 100%;
  width: 100%;
}
/* Where a non-responsive image is needed, wrap in or class as: */
.img-not-fluid img, 
img.img-not-fluid {
  width: auto;
}

large {
  font-size: 1.25em;
}

main h2 {
  margin-bottom: 15px;
}

main ol {
  margin-bottom: 0;
}
main ol li {
  padding-bottom: .75em;
}

main p {

}

main ol, 
main ul, 
.training-short-abstract ul {

}
main ul, 
ul.left-col-link-uptri, 
.training-short-abstract ul, 
main li {
  padding: 0;
}
main ol {
  padding-left: 22px;
}
main ul li, 
ul.left-col-link-uptri li, 
.list-by-year ul li {
  list-style-image: none;
  margin-left: 1em;
  padding-bottom: .5em;
}
main ul li:last-of-type {
  padding-bottom: 0;
}
main ul.no-bullet > li, 
ul.left-col-link-uptri, 
.list-by-year ul > li {
  list-style-type: none;
  margin: 0;
}

.training-short-abstract {
  margin-top: .5em;
}


.banners {
  margin: 0 0 30px 0;
}
.banners, .banners img {
  max-width: 100%;
}
.banners a img {
  border: 1px dotted #222;
  padding: 8px;
}

.center {
  margin: 0 auto;
  text-align: center;
  vertical-align: middle;
}

/* Used for instance on the available-webcasts page. */
.dated {
  font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
  margin: 0 0 15px 0;
}
.dated h2 {
  color: #76baf7;
}
.dated .month {
  border-bottom: 1px solid #444;
  padding: 15px 0;
}
.dated .month:first-of-type {
  border-top: 1px solid #444;
}
.dated .month .day, .dated .month p {
  display: inline-block;
  vertical-align: middle;
}
.dated .month .day {
  background: #bbb;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  line-height: 1;
  margin: 0 15px 0 0;
  padding: 0 auto;
  height: 60px;
  width: 60px;
  text-align: center;
  text-transform: uppercase;
  vertical-align: middle;
}
.dated .month .day strong {
  display: inline-block;
  font-size: inherit;
  margin: 13px auto 0 auto;
  vertical-align: middle;
}
.dated .month .day strong span {
  display: block;
}
.dated .month p {
  font-size: inherit;
  font-weight: bold;
  line-height: 1.5;
}
.dated .month p span {
  color: red;
  display: inline-block;
  padding: 0 0 0 15px;
  position: relative;
  text-transform: uppercase;
}
.dated .month p span:before {
  color: #fff;
  content: "-";
  display: block;
  position: absolute;
  top: 0;
  left: 1px;
}

.line-through {
  text-decoration: line-through;
  text-decoration-thickness: .1rem;
}

.margin-bottom {
  margin-bottom: 3em;
}

/* Nav-pills: tab styling, as used on code-of-conduct.html */
.nav-pills {
  background: rgba(31,102,141,.3);
  padding: .5em 0;
}
.nav-pills .nav-item .nav-link {
  color: #76baf7;
}
.nav-pills .nav-item .nav-link.active {
  background: #76baf7;
  color: #fff;
}

.normal-text {
  color: #fff;
  font-size: inherit;
  font-weight: normal;
  line-height: 25px;
  text-transform: none;
}

.photo-splash { /* For example useage, see event travel.html pages, or upcoming.html. Designed to mimic the .carousel look and feel, but for single images. Can be used on a <div> or an <a> (to link the whole box). */
  background: no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  display: block;
  margin: 0 auto;
  min-height: 35em;
  position: relative;
}
.photo-splash .caption {
  background: transparent;
  color: #fff;
  min-height: 5em;
  padding: 5px 20px 0;
  position: absolute;
    /* vertical alignment to center of .caption */
    top: 50%;
    transform: translateY(-50%);
  /*
  top: 1.1em;
  left: 0;
  */
  text-align: left;
  width: 100%;
}
.photo-splash .caption.outline {
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}
.photo-splash h2 {
  font-size: 3.3em;
  font-weight: bold;
  line-height: .95em;
  margin: 0 0 30px 0;
  text-transform: uppercase;
}
.photo-splash h2, 
.photo-splash:active h2, 
.photo-splash:focus h2, 
.photo-splash:hover h2 {
  color: #fff;
}
.photo-splash .caption .btn {
  display: inline-block;
  padding: .25em 6em;
}

.silhouette {
  background: transparent url(../images/icons/silhouette.png) no-repeat center center;
  background-size: contain;
  content: ' ';
  display: block;
  height: 66%;
  width: 66%;
}

.toggle .action, .toggle .thumb {
  cursor: pointer;
  font-weight: bold;
}
.toggle .hide {
  display: none;
}
/* For .toggle nested in .questions, we use a pseudo-element positioned to the left that includes a plus / minus sign, and adjust margins to accommodate. Used for instance on FAQ pages. Relies on /js/scripts.js to toggle .alt class. */
.questions .toggle {
  margin-left: 2.1em;
  position: relative;
  z-index: 1;
}
.questions .toggle.accordion .title:hover {
  cursor: pointer;
}
.questions .toggle:before {
  color: #000;
  content: '+';
  display: block;
  font-size: 2em;
  height: 2em;
  position: absolute;
  top: -.4em;
  left: -1.1em;
  width: 2em;
  z-index: -1;
}
.questions .toggle.alt:before {
  content: '-';
}
.questions .toggle h2.section-title, 
.questions .toggle h3.section-title {
  padding-left: .1em;
}
.questions .toggle .action {
  font-weight: normal;
}
.toggle.accordion {
  background: transparent;
  border: none;
  border-radius: 0;
  margin-bottom: .5em;
}
.toggle.accordion h2 {


}
.toggle.accordion .description {
  margin: 0 .5em .25em 0;
}

.audio, .doc, .email, .pdf, .xls {
  display: inline-block;
  min-height: 32px;
  padding: 15px 0 15px 35px;
}
.audio {
  background: url('../images/page-graphics-usa13/audio-icon.png') no-repeat left;
}
.doc {
  background: url('../images/page-graphics-usa13/doc-icon.png') no-repeat left;
}
.email {
  background: url('../images/page-graphics/email-icon.png') no-repeat left;
}
.pdf {
  background: url('../images/page-graphics-usa13/pdf-icon.png') no-repeat left;
}
.xls {
  background: url('../images/page-graphics-usa13/xls-icon.png') no-repeat left;
}

.travel-icon {
  background-position: center bottom;
  background-repeat: no-repeat;
  content: ' ';
  display: inline-block;
  height: 20px;
  margin: auto;
  width: 20px;
}
.travel-icon.parking {
  background-image: url('../images/icons/parking.png');
}
.travel-icon.pick-up-drop-off {
  background-image: url('../images/icons/pick-up-drop-off.png');
}

/* Site Menu, Event Menu - default small-screen styles - removed for Event Menu for larger screens (below) */
#top-bar-container-2026, 
#main-menu-wrapper {
  background: transparent;
  border-bottom: none;
}
#main-menu-wrapper .navbar-brand {
  display: none;
}



#top-bar-container-2026 a {
  text-decoration: none;
}

/* Top Bar - Sub-menu items (default font-size and text-align are for mobile / small screens) */
ul.navbar-nav img {
  width: auto;
}
#top-bar ul.navbar-nav li.nav-item.dropdown {}
#top-bar ul.navbar-nav li.nav-item.dropdown .dropdown-menu {
  background: transparent;
  border-radius: 0;
  font-size: 1.1em;
  margin: 0;
  padding: 0;
}
#top-bar ul.navbar-nav li.nav-item.dropdown a.dropdown-item {
  background: #fff;
  border-bottom: 1px solid #000;
  color: #000;
  padding: 5px 15px;
  text-align: center;
}
#top-bar ul.navbar-nav li.nav-item.dropdown a.dropdown-item:focus,
#top-bar ul.navbar-nav li.nav-item.dropdown a.dropdown-item:hover {
  background: #efefef;
}
#top-bar ul.navbar-nav li.nav-item.dropdown a.dropdown-item:last-of-type {
  border: none;
}

/* Main Menu - Sub-menu items */
#main-menu .dropdown-menu {
  background: #000;
  border-radius: 0;
  font-size: inherit;
  margin: 0;
  min-width: 180px;
  padding: 0;
}
#main-menu .dropdown-menu a.dropdown-item {
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  border-left: 1px solid #fff;
  color: #fff;
  font-size: inherit;
  padding: 5px 15px;
  text-align: center;
  text-decoration: none;
  transition-timing-function: ease-out;
  transition: .5s;
}
#main-menu .dropdown-menu a.dropdown-item:first-of-type {
  border-top: 1px solid #fff;
}
#main-menu .dropdown-menu a.dropdown-item:hover,
#main-menu .dropdown-menu a.dropdown-item:focus {
  background: #333;
}

/*
  Pop-up 'modal' window styles, used for example on ciso-summit.html pages in event site sub-directories.
  Respectfully adapted from https://codepen.io/sahil4test/pen/xERYvX
*/
.launch-popup .small {
  color: #fff;
}
.launch-popup:hover {
  text-decoration: none;
}
.launch-popup .action {
  margin: 5px 0 15px;
}
.overlay {
  background: rgba(0, 0, 0, .7);
  max-height: 100%; /* some content will be very long, don't let container become taller than screen */
  opacity: 0;
  overflow-y: auto; /* for very large popup content, allow user to vertically scroll */
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  visibility: hidden;
  z-index: 2;
}
.overlay:target {
  visibility: visible;
  opacity: 1;
}
.popup {
  background: #000;
  border-radius: 0;
  color: #fff;
  margin: 70px auto 35px auto;
  padding: 20px;
  transition: all 5s ease-in-out;
  width: 50%;
}
.popup h2 {
  color: #fff;
  margin-top: 0;
}
.popup .close {
  color: #fff;
  font-size: 30px;
  font-weight: bold;
  position: absolute;
  top: 20px;
  right: 30px;
  text-decoration: none;
  transition: all 200ms;
}
.popup .close:hover {
  color: #fff;
}
.popup .content {
  max-height: 30%;
  overflow: auto;
}
@media screen and (max-width: 700px) {
  .popup {
    width: 70%;
  }
}
/* End pop-up window styles */

/* schedule.html SCHEDULE AT A GLANCE table */
.conference-table table {
  border-collapse: separate;
  color: #000;
  width: 100%;
}
.conference-table table tr:first-of-type {
  background-color: transparent;
}
.conference-table table tr th {
  border-bottom: none;
  padding: 0 0 10px 0;
  text-align: center;
}
.conference-table table th span {
  font-size: inherit;
  text-transform: uppercase;
}
/*  Define the background color for all the ODD table columns  */
.conference-table tr td:nth-child(odd){
  background: transparent;
}
/*  Define the background color for all the EVEN table columns  */
.conference-table tr td:nth-child(even){
  background: transparent;
}
.conference-table tr td {
  border-right: 2px dotted #efefef;
  padding: 0 0 4px 4px;
}
.conference-table tr:last-of-type td {
  border-bottom: none;
}
.conference-table a[href], .conference-table a[href]:hover, .conference-table a[href]:focus {
  background: #36cdff;
  color: #fff;
  font-weight: bold;
}
.conference-table a, .conference-table a:hover, .conference-table a:focus {
  background: #000;
  color: #000;
  display: block;
  padding-top: 2em;
  padding-bottom: 2em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  width: 100%;
}
/* In nested table, remove some styles intended only for non-nested items */
.conference-table tr td:nth-child(odd) td, 
.conference-table tr td:nth-child(even) td {
  background: transparent;
  border: none;
}

/* Begin Sponsor News layout */
.list-by-year ul {
  list-style-image: none;
}
.list-by-year ul li {
  margin-bottom: 2.75em;
}
.list-by-year .description ul li {
  display: table-row;
  margin-bottom: 0;
}
.list-by-year .description ul li a,
.list-by-year .description ul li span {
  display: table-cell;
}
.list-by-year .description ul li a {
  position: relative;
}
.list-by-year .description ul li a:before {
  color: #777;
  content: '-';
  display: block;
  position: absolute;
  top: 0;
  left: -10px;
}
.list-by-year .description ul li span {
  padding: 0 15px 0 0;
  text-align: right;
  white-space: nowrap;
}
/* End of Sponsor News layout */


/* Special Notification creates a box you can use to draw attention to special messaging. See us-20/scholarships.html for use example. */
.alert, 
.special-notification {
  background: #000 url(../images/glitch/00.gif) no-repeat center center;
  background-size: cover;
  color: #fff;
  margin: 0 0 3em 0;
  padding: .5em 1em;
}
.alert h2, 
.special-notification h2 {
  font-size: 2em;
  font-weight: 800;
  letter-spacing: .025em;
}
.alert p, 
.special-notification p {
  font-size: 1.1em;
  margin-bottom: 0;
}
a.alert, 
a.special-notification {
  display: block;
}

a.alert:active, 
a.alert:focus, 
a.alert:hover, 
a.special-notification, 
a.special-notification:active, 
a.special-notification:focus, 
a.special-notification:hover {
  color: #fff;
  text-decoration: none;
  transition: all 5s ease-in-out;
}
a.alert:hover h2 span, 
a.special-notification:hover h2 span {

}

.lowercase {
  text-transform: lowercase;
}
.uppercase, .caps, .all-caps {
  text-transform: uppercase;
}

/* Header: wrapper */
.event-reg {
  margin: 10px auto 20px 0;
  text-align: left;
  text-transform: uppercase;
}
.event-reg.sitewide {
  margin-bottom: 60px;
}



/* Event site header - For the logo + event name */
.event-header-logo {
  display: inline-block;
  font-size: 16px;
  letter-spacing: auto;
  line-height: 32px;
  margin: 0 auto;
  text-transform: uppercase;
  text-shadow: none;
}
.event-header-logo,
.event-header-logo:active,
.event-header-logo:focus,
.event-header-logo:hover, 
.event-header-logo a {
  text-decoration: none;
}
.event-header-logo span {
  color: #000;
  display: block;
  font-size: 1.2em;
  line-height: .85em;
  margin: 1px 0 0 0;
  padding-left: 32px;
  position: relative;
  text-align: left;
}
.event-header-logo span:before {
  background: url(../images/icons/silhouette.png);
  background-size: cover;
  content: ' ';
  displace: block;
  height: 30px;
  position: absolute;
  top: -1px;
  left: 0;
  width: 30px;
}

/* Right side of event header, with the date and location, and the main reg button */
.event-header-info > * {
  margin-left: -10%; /* Pull-left the same amount as child .btn extends right */
}
.event-header-info .event-date-location {
  line-height: .85em;
}
.event-header-info .btn {
  width: calc(100% + 10%); /* Extend the button a bit out to right to match design */
}
/* Breakpoints for the date/location font sizes */
@media (min-width: 576px) {
  .event-header-info .event-date-location {
    font-size: 1.2em;
  }
}
@media (min-width: 768px) {
  .event-header-info .event-date-location {
    font-size: 1.6em;
  }
}
@media (min-width: 992px) {
  .event-header-info .event-date-location {
    font-size: 1.8em;
  }
}
@media (min-width: 1200px) {
  .event-header-info .event-date-location {
    font-size: 2em;
  }
}

/* Buttons */
.btn, /* default, Bootstrap class name */
.btn-primary, 
.course-preview-button, /* Used inside Schedule Viewers */
ul.left-col-link-uptri li a, /* Schedule Viewer */
.more, 
.submit-button-style /* Eloqua forms use this class */ {
  background-color: transparent;
  border: none !important;
  border-radius: 0 !important;
  color: #fff;
  display: block;
  font-size: .9em;
  font-weight: bold !important;
  height: auto;
  padding: 5px 10px;
  opacity: 1;
  position: relative;
  text-align: center;
  text-decoration: none;
  text-shadow: none;
  text-transform: uppercase;
  touch-action: manipulation;
  user-select: none;
  vertical-align: middle;
  white-space: nowrap;
  z-index: 1;
}
.btn:active, 
.btn:focus, 
.btn:hover, 
.btn-primary:active, 
.btn-primary:focus, 
.btn-primary:hover, 
.course-preview-button:active, 
.course-preview-button:focus, 
.course-preview-button:hover, 
ul.left-col-link-uptri li a:active, 
ul.left-col-link-uptri li a:focus, 
ul.left-col-link-uptri li a:hover, 
.more:active, 
.more:focus, 
.more:hover, 
.submit-button-style:active, 
.submit-button-style:focus, 
.submit-button-style:hover {
  background-color: transparent !important;
  color: #fff;
  opacity: 1;
}

.btn:after, 
.btn-primary:after, 
.course-preview-button:after, 
ul.left-col-link-uptri li a:after, 
.more:after, 
.submit-button-style:after {
  background-color: #36cdff; /* fallback */
  background: linear-gradient(to right, #36cdff, #fd7ef5);
  content: ' ';
  display: inline-block;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  z-index: -1;
}
.btn:active:after, 
.btn:focus:after, 
.btn:hover:after, 
.btn-primary:active:after, 
.btn-primary:focus:after, 
.btn-primary:hover:after, 
.course-preview-button:active:after, 
.course-preview-button:focus:after, 
.course-preview-button:hover:after, 
ul.left-col-link-uptri li a:active:after, 
ul.left-col-link-uptri li a:focus:after, 
ul.left-col-link-uptri li a:hover:after, 
.more:active:after, 
.more:focus:after, 
.more:hover:after, 
.submit-button-style:active:after, 
.submit-button-style:focus:after, 
.submit-button-style:hover:after {
  opacity: .80;
}

/* Secondary button style */
.btn-secondary {
  background: #fff;
  height: calc(100% - 2px);
  position: relative;
  width: calc(100% - 2px);
}
.btn-secondary, 
.btn-secondary:active, 
.btn-secondary:focus, 
.btn-secondary:hover {
  color: #000;
}
.btn-secondary:active, 
.btn-secondary:focus, 
.btn-secondary:hover {
  background-color: inherit;
  border-color: inherit;
  opacity: 1;
}
.btn-secondary:before, 
.btn-secondary:after {
  content: ' ';
  display: inline-block;
  position: absolute;
}
.btn-secondary:before {
  background: #fff;
  height: 100%;
  opacity: 1;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  z-index: -1;
}
.btn-secondary:after {
  background: linear-gradient(to right, #36cdff, #fd7ef5);
  height: calc(100% + 2px);
  top: -1px;
  left: -1px;
  bottom: 0;
  right: 0;
  width: calc(100% + 2px);
  z-index: -2;
}
.btn-secondary:active:after, 
.btn-secondary:focus:after, 
.btn-secondary:hover:after {
  opacity: .5;
}
/* Simulate a grayed-out button with no hover state */
.btn-inactive, 
.btn-inactive:hover {
  background-color: #d4d4d4 !important;
  border-color: transparent !important;
}
.btn-inactive:hover {
  cursor: default !important;
}
.btn-inactive:after {
  display: none;
}
form input[type=submit].btn {
  height: auto;
}
.view-more {
  display: inline-block;
  margin: 0 0 3em 0;
  padding: 0;
}


/* Featured - flex, normal */
.featured {
  background: #fff;
  display: block;
  margin: 0 0 6.25em 0;
  min-height: 160px;
  padding: 0;
  position: relative;
  z-index: 1;
}
.featured h2 a {
  color: #000;
  text-decoration: none;
}
.featured.dark h2 a {
  color: #fff;
}
.featured hr {
  background: #000;
  margin: 17px auto 20px;
}
.featured hr {
  background: #fff;
}
.featured footer {
  height: auto;
  position: absolute;
  bottom: -48px;
  left: 0;
  width: 100%;
}

/* Featured styles for price boxes (non-SV/Gen), tiles, et al */
.featured.tile {
  border-radius: 0;
  min-height: 240px;
  padding: 10px 20px;
  width: 100%;
}
.featured.tile h2 {
  line-height: 1em;
}
.featured.tile h3 {
  line-height: .9em;
}
.featured.tile.dark { /* light text on dark bg */
  background: #000;
  background-position: center center;
  background-repeat: no-repeat;
  color: #fff;
  background-size: cover;
}
.featured.tile.light { /* dark on light */
  background: #d4d4d4;
  color: #000;
}
/* reverse the normal anchor/hover colors on this tile, but not in any buttons (.btn) 
.featured.tile.light a:not(.btn) { 
  color: #fd7ef5;
}
.featured.tile.light a:not(.btn):hover, .featured.tile.light a:not(.btn):active, .featured.tile.light a:not(.btn):focus {
  color: #36cdff;
}
*/

/* Featured - light text on dark background, bolded lockups at left with thick underline */
.featured-highlight {
  background: #000;
  color: #fff;
  display: block;
  margin: 0;
  padding: 1em 1.5em;
}
.featured-highlight h2 {
  margin: 0;
}
.featured-highlight hr {
  background-color: #fff;
  height: 1em;
  margin: 0;
  opacity: 100;
  padding: 0;
}

.lockup {
  font-size: 14px;
  text-transform: lowercase;
}
.lockup h2 {
  display: inline;
  font-size: 3em;
  padding-bottom: 3px;
  position: relative;
  text-transform: uppercase;
}
.lockup h2:after {
  background: #000;
  content: ' ';
  display: block;
  position: absolute;
  height: 10px;
  bottom: 0;
  left: 0;
  width: calc(100% - 1px);
}
.featured.dark .lockup h2:after, 
.featured-highlight .lockup h2:after {
  background: #fff;
}
.lockup p {
  font-size: 1.25em;
  line-height: 2.2em;
}

.vertical-center { /* Vertically center item like an image, inside a container */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}


/* Useage example: see html/sponsors.html */
.small-logo-lockup {
  display: block;
  padding: 2em 0 3em;
}
.small-logo-lockup.light .special-font-light {
  font-size: .6em;
}
@media (min-width: 576px) {
  .small-logo-lockup.light .special-font-light {
    font-size: .7em;
  }
}
@media (min-width: 768px) {
  .small-logo-lockup.light .special-font-light {
    font-size: .9em;
  }
}
@media (min-width: 992px) {
  .small-logo-lockup.light .special-font-light {
    font-size: .7em;
  }
}
@media (min-width: 1200px) {
  .small-logo-lockup.light .special-font-light {
    font-size: .9em;
  }
}
/* End: .small-logo-lockup */

.thumb {
  border: none;
  display: block;
  margin: 0;
}
.thumb, 
.thumb img {
  width: 100%;
}
.thumb span {
  display: block;
}

/* For use at the top of pages like /trainings/index.html, /briefings/index.html, et al */
.subsection-header {
  background: #000 url(../images/subsection-header-bg.png) no-repeat center right;
  background-size: cover;
  border: 1px solid #6acdec;
  margin: 0 0 20px 0;
  min-height: 123px;
  text-transform: uppercase;
  width: 100%;
}
.subsection-header div {
  color: #fff;
  margin: 15px auto 0 30px;
  max-width: 230px;
  text-align: right;
}
.subsection-header img {
  width: 100%;
}
.subsection-header span {
  color: rgba(255,255,255,.9);
  display: inline-block;
  font-size: 2em;
  line-height: .75em;
  margin: 5px 3px 5px 0;
}
.subsection-header span small {
  font-size: .75em;
  line-height: .55em;
}


/*
  Item Box is used for instance on /briefings/index.html.
  It is similar to the treatment used on /trainings/index.html but not identical.  See trainings-2018.css for styles used there.
  Item Box is intended to be used for generic non-linked containers which may or may not contain links themselves, whereas the Trainings layout is itself a single linked box.
  If presented inside a container with class 'd-flex' applied, Item Box siblings will use Flex.
*/
.item-box {
  background: #000;
  color: #fff;
  display: inline-block;
  max-width: 100%;
  min-height: 200px;
  min-width: 100%;
  padding: 15px 20px;
}
.item-box:hover {
  text-decoration: none;
}
.item-box,
.item-box .event-name {
  border: none;
}
.item-box .event-name {
  background: #000;
  padding: 10px;
  margin: 0 auto 10px auto;
  text-align: center;
}
.item-box .event-name div {
  font-size: inherit;
  line-height: 16px;
  margin: 4% 4% 0 0;
  text-align: right;
  text-transform: uppercase;
}
.item-box .event-name img {
  margin: 0 auto;
  max-width: 95%;
}
.item-box strong {
  font-size: inherit;
  font-weight: normal;
  text-transform: uppercase;
}


/* Review Board 'faces' layout, landing pages */
.review-board-faces a h6 {
  text-decoration: underline;
}
.review-board-faces a:active h6, 
.review-board-faces a:focus h6, 
.review-board-faces a:hover h6 {
  text-decoration: none;
}
.review-board-faces a img {
  aspect-ratio: 1 / 1;
  height: calc(100% - 42px);
  width: 100%;
  object-fit: cover;
}
.review-board-faces h6 {
  display: inline-block;
}




/*
  Responsive iframes for Youtube, courtesy of:
  https://www.itsupportguides.com/knowledge-base/website-tips/how-to-make-embed-youtube-iframe-mobile-responsive/
*/
iframe[src*=youtube] {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}

/* Basic table styles */
table {
  width: 100%;
}
table thead tr th {
  background: #000;
  font-size: inherit;
}
table thead tr th, 
table tbody tr td {
  border: 2px solid transparent;
  color: #fff;
  padding: 5px 10px;
}
table tbody tr td img {
  width: auto;
}
table tbody tr:nth-child(odd) td {
  background: #ccc;
}
table tbody tr:nth-child(even) td {
  background: #efefef;
}
/* Pass Comparison, other 'generic' tables */
table.generic, 
.field-item table {
  border-collapse: separate;
  border-spacing: 2px;
  margin: 0 auto 3em auto;
  width: 100%;
}
table.generic th, 
.field-item table th {
  background-color: #000;
  color: #fff;
  min-width: 15%;
  padding: 5px;
  text-align: left;
}
table.generic thead tr th, 
table.generic tbody tr td {
  border: none;
}
/* Use for any row of THs that is not the very first */
table.generic tr.subheader th, 
.field-item table thead tr th {
  border-top: 1px solid transparent;
  padding-top: 45px;
}
table.generic tbody tr:first-child td, 
.field-item table tr:first-child td {
  border-top: 0;
}
table.generic tbody tr:last-child td, 
.field-item table tr:last-child td {
  border-bottom: 1px solid #000;
}
table.generic tbody tr:nth-child(odd) td, 
.field-item table tr:nth-child(odd) td {
  background-color: #191919;
}
table.generic tbody tr:nth-child(even) td, 
.field-item table tr:nth-child(even) td {
  background-color: #000;
}
table.generic tbody tr td, 
.field-item table tr td {
  padding: 8px;
  border-top: 1px solid #000;
  vertical-align: top;
}
table.generic tbody tr td:nth-child(1), 
.field-item table tr td:nth-child(1) {
  border-left: none;
}
/* .whos-hiring variant used on event pages like whos-hiring.html. Styles here are for handling an assumed image in the first table data cell. */
table.whos-hiring tr td:first-child {
  text-align: center;
  vertical-align: middle;
}
table.whos-hiring tr td:first-child {
  max-height: 90%;
  max-width:  90%;
}

/* Pass Comparison-specific table styles, for use example see [event]/pass-comparison.html */
table.pass-comparison tbody tr:nth-child(odd) td, 
table.pass-comparison tbody tr:nth-child(even) td {
  background-color: #000;
}
table.pass-comparison tbody tr td, 
table.pass-comparison tbody tr:last-child td {
  border: none;
}
table.pass-comparison th {
  min-width: 0%;
  text-transform: uppercase;
}
table.pass-comparison td, 
table.pass-comparison th {
  text-align: center;
  vertical-align: middle;
}
table.pass-comparison td.booth-staff, 
table.pass-comparison th.booth-staff, 
table.pass-comparison tr:nth-child(odd) td.booth-staff, 
table.pass-comparison tr:nth-child(even) td.booth-staff {
  background-color: #85807f;
  color: #fff;
}
table.pass-comparison td.in-person, 
table.pass-comparison th.in-person, 
table.pass-comparison tr:nth-child(odd) td.in-person, 
table.pass-comparison tr:nth-child(even) td.in-person {
  background-color: #fff;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  color: #000;
}
table.pass-comparison td.virtual, 
table.pass-comparison th.virtual, 
table.pass-comparison tr:nth-child(odd) td.virtual, 
table.pass-comparison tr:nth-child(even) td.virtual {
  background-color: #000;
  color: #fff;
}

/* Styles for breakdowns and stats on Sponsors pages */
.breakdown {
  border: 1px solid #222;
  border-left: none;
  display: flex;
  margin: 0 0 10px 0;
}
.breakdown header {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  min-height: 5em;
  padding: 5px 10px;
  width: 35%;
}
.breakdown header strong {
  display: block;
  font-size: 3.5em;
  line-height: .75em;
}
.breakdown header strong sup {
  font-size: .4em;
}
.breakdown header span {
  position: static;
  text-align: center;
}
.breakdown ul, .top-industries ul {
  list-style-image: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.breakdown ul {
  display: inline-block;
  margin: 0;
  padding: 5px 10px 5px 25px;
}
.breakdown ul li, .top-industries ul li {
  position: relative;
}
.breakdown ul li:before, .top-industries ul li:before {
  content: "\2192"; /* Right arrow. See http://www.evotech.net/blog/2007/04/named-html-entities-in-numeric-order/ */
  display: inline-block;
  position: absolute;
  top: 0;
  left: -17px;
}
.breakdown header, .top-industries header {
  color: #fff;
  text-transform: uppercase;
}

.breakdown.dark header {
  background: #941681;
}
.breakdown.dark ul li:before {
  color: #941681;
}
.breakdown.light header {
  background: #2cc9e8;
}
.breakdown.light ul li:before {
  color: #2cc9e8;
}
.breakdown.medium header {
  background: #00c257;
}
.breakdown.medium ul li:before {
  color: #00c257;
}

.graph-h {/* Horizontal Graph, for use IE on html/become-a-sponsor.html */
  background: #333;
  border: 1px solid #555;
  border-radius: 3px;
  display: block;
  font-size: 1.1em;
  height: 1.75em;
  margin-top: -3px;
  padding: 1px;
  text-align: center;
  width: 100%;
}
.graph-h div {
  border-radius: 2px;
  display: block;
  height: 100%;
  min-width: 1em;
  padding: 1px 0;
}

table.invitee-breakdown {
  margin-bottom: 2em;
}
table.invitee-breakdown tbody tr td {
  background-color: #36cdff; /* fallback */
  background: linear-gradient(to right, #36cdff, #fd7ef5);
  border: none;
  text-align: center;
  width: 50%;
}
table.invitee-breakdown tbody tr td h3, 
table.invitee-breakdown tbody tr td p {
  margin: 0;
  padding: 0;
}
table.invitee-breakdown tbody tr td h3 large {
  font-weight: bold;
}

ul.chart-legend li {
  list-style-image: none;
  list-style-type: none;
  padding-left: .75em;
  position: relative;
}
ul.chart-legend li:before {
  background-color: gray;
  content: " ";
  display: block;
  height: 10px;
  position: absolute;
  top: .25em;
  left: -.75em;
  width: 10px;
}

ul.chart-legend li.green:before, .graph-h .green {
  background-color: #54bb5d;
}
ul.chart-legend li.mustard:before, .graph-h .mustard {
  background-color: #faa61d;
}
ul.chart-legend li.purple:before, .graph-h .purple {
  background-color: #903b83;
}
ul.chart-legend li.sky:before, .graph-h .sky {
  background-color: #58c4eb;
}
ul.chart-legend li.teal:before, .graph-h .teal {
  background-color: #1b6791;
}

/* Top Industries */
.top-industries ul {
  border: 1px solid #222;
  border-top: none;
  padding: 15px 0 10px 22px;
}
.top-industries header {
  background-color: #606060; /* Default */
  background-position: right 10px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  font-size: 14px;
  line-height: normal;
  margin: 0;
  padding: 10px;
}
.top-industries header span {
  display: block;
  font-size: 11px;
}
/* Top Industries - Financial */
.top-industries .financial header {
  background-color: #2cc9e8;
  background-image: url(../images/icons/financial.png);
}
.top-industries .financial ul li:before {
  color: #2cc9e8;
}
/* Top Industries - Government */
.top-industries .government header {
  background-color: #00c257;
  background-image: url(../images/icons/government.png);
}
.top-industries .government ul li:before {
  color: #00c257;
}
/* Top Industries - Healthcare */
.top-industries .healthcare header {
  background-color: #941681;
  background-image: url(../images/icons/healthcare.png);
}
.top-industries .healthcare ul li:before {
  color: #941681;
}
/* Top Industries - Manufacturer */
.top-industries .manufacturer header {
  background-color: #9168b4;
  background-image: url(../images/icons/manufacturer.png);
}
.top-industries .manufacturer ul li:before {
  color: #9168b4;
}
/* Top Industries - Military */
.top-industries .military header {
  background-color: #f9a61a;
  background-image: url(../images/icons/military.png);
}
.top-industries .military ul li:before {
  color: #f9a61a;
}
/* Top Industries - Security */
.top-industries .security header {
  background-color: #008194;
  background-image: url(../images/icons/security.png);
}
.top-industries .security ul li:before {
  color: #008194;
}
/* Top Industries - Telecom */
.top-industries .telecom header {
  background-color: #676767;
  background-image: url(../images/icons/telecom.png);
}
.top-industries .telecom ul li:before {
  color: #676767;
}
/* Top Industries - Transportation */
.top-industries .transportation header {
  background-color: #672f90;
  background-image: url(../images/icons/transportation.png);
}
.top-industries .transportation ul li:before {
  color: #672f90;
}
.top-industries ul {
  margin: 0 0 15px 0;
}
/* End - Sponsors page graph styles */

/*
  Time-zone Banner
  On some events, we insert a banner to denote time-zone or other special messaging after the event menu.
  This is appended to the menu via navAppendMsg() in ../[event-name]/js/scripts.js
*/
#event-main-nav-append {
  background: #1a658f;
  display: none;
  height: auto;
  margin: 0 auto;
  overflow-x: hidden;
  text-align: center;
  width: 100%;
}
#event-main-nav-append p {
  margin: 0;
}
/* Larger screens/devices only, as the Time-zone banner can otherwise cause horizontal overflow on small screens */
@media (min-width: 576px) {
  #event-main-nav-append {
    overflow-x: visible;
    position: relative;
    width: 300px;
  }
  #event-main-nav-append:before, 
  #event-main-nav-append:after {
    content: ' ';
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    width: 33%;
  }
  #event-main-nav-append:before {
    background: linear-gradient(to left, #1a658f, transparent);
    left: -33%;
  }
  #event-main-nav-append:after {
    background: linear-gradient(to right, #1a658f, transparent);
    right: -33%;
  }
}
/* End - Time-zone Banner */

/* Partner logos */
.partners, 
.sponsor-anchor {
  margin: 0 0 3em 0;
  position: relative;
  text-align: center;
}
.partners a, 
.sponsor-anchor a, 
.logos-h .logo-wrap {
  background: #000;
  display: inline-block;
  line-height: 160px;
  margin: 0 5px 10px 5px;
  min-height: 160px;
  padding: 0 20px;
  text-decoration: none;
}
.partners a:active,
.partners a:focus,
.partners a:hover,
.sponsor-anchor a:active,
.sponsor-anchor a:focus,
.sponsor-anchor a:hover {
  text-decoration: none;
}
.partners a img, 
.sponsor-anchor a img, 
.logos-h .logo-wrap img {
  max-height: 110px;
  max-width: 180px;
  opacity: .95;
}
.partners a:hover img, 
.sponsor-anchor a:hover img, 
.logos-h .logo-wrap img {
  opacity: 1;
}
@media (max-width: 991px) {
  .partners a img, 
  .sponsor-anchor a img {
    max-height: 110px;
    max-width: 170px;
  }
}
/* 'h' = horizontal; for useage, see USA 2026 sponsors.html, logo partners section, mid page */
.logos-h .logo-wrap {
  margin: 0 auto 1em;
  min-height: 7.5em;
  padding: 0;
  position: relative;
  text-align: center;
  width: 100%;
}
.logos-h .logo-wrap img {
  height: auto;
  margin: auto;
  max-height: 70%;
  max-width: 70%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: auto;
}

/* event-sponsors page */
.exhibitor-logo {
  display: table-cell;
  float: right;
  line-height: 20px;
  margin-left: 20px;
  max-height: 80px;
  max-width: 140px;
  min-height: auto;
  padding: 10px;
  vertical-align: middle;
}
.turnbuckle_plus img {
  visibility: hidden;
}
.turnbuckle_plus.img {
  background: url('../images/turnbuckle-plus.png') no-repeat top left;
  padding-bottom: 1px;
}
.turnbuckle_plus.img.selected {
  background: url('../images/turnbuckle-minus.png') no-repeat top left;
}
table.exhibitorList img.social-icon {
  display: inline-block;
  margin: 0 .5em 0 0;
}

/* Right sidebar */
.sidebar h2 {
  font-size: 1em;
  font-weight: bold;
  margin: 0;
  padding: 5px 10px;
}

.sidebar article {
  font-size: 1em;
  margin: 0 auto 3em auto;
  padding: 10px 10px 1px 10px;
}
.sidebar article ul li {
  padding: 10px 0;
}
.sidebar article hr {
  display: none;
}

main article ul li {
  min-height: 20px;
}
main article ul li:last-of-type {
  border: none;
}

main ul.articles li { /* Used for example on /html/press.html */
  border-bottom: 1px solid #000;
  list-style-image: none;
  padding: 2em 0;
}

/* Fieldset is used for example on /sponsor-news.html in the Sponsor Posts section */
main fieldset {
  border-bottom: 1px solid #d4d4d4;
  border-radius: 0;
  margin: 0 auto 1em;
  padding-bottom: 1em;
}
main fieldset legend {
  font-size: inherit;
  font-weight: bold;
  margin:  0 0 .5em;
  padding: 0;
}
main fieldset ul {
  margin: 0;
}

main h1 s, main h2 s, main h3 s, main h4 s { /* Strike-throughs inside header text */
  /*
  color: gray;
  font-size: .75em;
  */
}

main .interview blockquote {
  border: none;
  font-size: inherit;
}
main .interview .circle { /* Use for images in interviews, to give a 'chat'-style interface */
  border: none;
  border-radius: 0;
  box-shadow: none;
  margin: auto;
}

/*
  Social icons within main content area (see: review-board.html for instance)
*/
main .social-icon {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  cursor: pointer;
  display: block;
  height: 35px;
  margin: auto auto auto 10px;
  position: relative;
  text-decoration: none;
  transition: all .5s ease-in;
  width: 35px;
}
main .social-icon:before {
  background: rgba(31,102,141,.66);;
  content: ' ';
  border-radius: 50%;
  display: block;
  height: calc(100% + 20px);
  padding: 5%;
  position: absolute;
  top: -10px;
  right: 0;
  bottom: 0;
  left: -10px;
  width: calc(100% + 20px);
  z-index: -1;
}
main .social-icon:active:before, 
main .social-icon:focus:before, 
main .social-icon:hover:before {
  background: rgba(31,102,141,.9);;
  opacity: 1;
}
main .social-icon.facebook {
  background-image: url(../images/icons/facebook.png);
}
main .social-icon.flickr {
  background-image: url(../images/icons/flickr.png);
}
main .social-icon.instagram {
  background-image: url(../images/icons/instagram.png);
}
main .social-icon.linkedin {
  background-image: url(../images/icons/linkedin.png);
}
main .social-icon.twitter {
  background-image: url(../images/icons/twitter.png);
}
main .social-icon.youtube {
  background-image: url(../images/icons/youtube.png);
}
main .social-icon.x {
  background-image: url(../images/icons/x.png);
}

.sticky-top {
  z-index: 999 !important; /* Lower than dropdown's default 1000 */
}


/*
  Informa footer styles
*/
#footer-brand {
  background: #000;
  margin: 3em 0 0;
  padding: 3em 0;
}
#footer-brand, 
#footer-brand a {
  color: #fff;
}
#footer-brand a:active, 
#footer-brand a:focus, 
#footer-brand a:hover {
  color: #d4d4d4;
}
#footer-brand .icon {
  background: transparent url(../images/icons/icon-white.png) no-repeat center center;
  background-size: contain;
  color: transparent;
  content: 'Black Hat';
  display: inline-block;
  height: 80px;
  margin: 0 0 30px;
  width: 80px;
}
#timezone {
  display: inline-block;
  float: right;
  padding: 36px 0 0 0;
  text-align: right;
}
#footer-brand ul, 
#footer-brand ul li {
  padding: 0;
}
#footer-brand ul li {
  list-style-type: none;
}
#footer-brand ul li a {
  text-decoration: underline;
}
#footer-brand ul li a:active, 
#footer-brand ul li a:focus, 
#footer-brand ul li a:hover {
  text-decoration: none;
}

#footer-corp {
  background: #09163f;
  color: #fff;
  padding: 3em 0 6em 0;
}
#footer-corp hr {
  background: #fff;
}
#footer-corp .logo {
  margin: 0 0 30px 0;
}
.list-h {
  font-size: inherit;
  margin: 0;
  padding: 0;
}
.list-h li {
  border-right: 1px solid #fff;
  display: inline-block;
  line-height: inherit;
  list-style-type: none;
  padding: 0 10px;
}
.list-h li:first-of-type {
  padding-left: 0;
}
.list-h li:last-of-type {
  border: none;
}
/* End Informa footer styles */


/* Gen-only styles */
.span-6 h2 { /* Hide 'On This Page' in left cols */
  display: none;
}
.element-invisible {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.field-name-field-paragraph-headline {
  font-size: inherit;
  text-shadow: none;
}
.paragraph-item-row {
  padding: 2em 0;
}
.main-container.edge-to-edge .paragraph-bg-dark {
  background: #282560;
  background-size: cover;
}
.main-container.edge-to-edge .paragraph-bg-light {
  background: #00B5BE;
  background-size: cover;
}
/* End Gen-only styles */

/* SB overrides */
/* Attempt to reset trainings, features, briefings, and other schedule viewers */
/* Override for SB styles, hopefully helps legibility of top row in SB */
.sb-header-search-day-tabs-wrapper {
  background: #000;
  margin-bottom: 1em;
}
.schedule-wrapper {
  margin-bottom: 30px;
}
main .schedule-wrapper ul li {
  margin: 0 !important;
  padding: 0 !important;
}
.schedule-time, 
.schedule-info {
  display: inline-block;
}
.schedule-time {
  min-width: 153px;
  margin-right: 15px;
}
.schedule-time, 
.schedule-info {
  min-height: 40px;
}
.schedule-info-description {
  min-width: 135px;
  margin: 0 10px 10px 0;
}
.schedule_wrapper {
  background: none;
  border-radius: 0 !important;
}
.schedule_wrapper .last {
  margin: auto;
}
.schedule_wrapper ol, 
.schedule_wrapper ul {
  margin: 0 !important;
  padding: 0 !important;
}
a.sd_link > span {
  color: #000 !important; /* Override inline style on this span */
}
ul.left-col-anchors li { /* Left col nav on detailed pages */
  list-style-image: none;
  list-style-type: none;
  margin: 0;
  padding: 0 0 .5em 0;
}
.display_mode_buttons_wrapper, 
.tools_wrapper, 
#tools_sidebar, 
.filter_header_background_hidden, 
.filter_header_background_shown, 
.sessions, 
.checkbox_label_wrapper {
  width: auto !important;
}
main .alpha-tab, 
main .day-tab, 
.day-tabs-wrapper li .day-tab:first-child, 
#tools_sidebar > .sb_button, 
.sb-header-search-day-tabs-wrapper, 
.filter_header_background_hidden, 
.filter_header_background_shown {
  /*height: auto !important;*/
}

.alpha-tab.active, .day-tab.active {
  background-color: #36cdff; /* fallback */
  background: linear-gradient(to right, #36cdff, #fd7ef5);
}
.alpha-tab.active, .day-tab.active, 
.alpha-tab.inactive, .day-tab.inactive {
  line-height: inherit;
}
a.alpha-tab.inactive, a.day-tab.inactive {
  color: #000 !important;
  font-size: .8em;
}

#tools_sidebar {
  margin-left: -5px !important;
  margin-right: 2% !important;
  max-width: 18% !important;
  min-width: 18% !important;
}

/* Attempt to style buttons in SV left bar similar to default btn-primary styles */
#tools_sidebar > .sb_button {
  background-color: transparent !important;
  border: none !important;
  color: #fff !important;
  display: block !important;
  font-size: .8em !important;
  font-weight: normal !important;
  height: auto;
  line-height: inherit !important;
  padding: 5px 10px !important;
  opacity: 1 !important;
  overflow-wrap: break-word;
  position: relative !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  text-transform: uppercase !important;
  vertical-align: middle !important;
  white-space: wrap !important;
  word-wrap: break-word;
  z-index: 1 !important;
}
#tools_sidebar > .sb_button:active, 
#tools_sidebar > .sb_button:focus, 
#tools_sidebar > .sb_button:hover {
  background-color: transparent !important;
  color: #fff !important;
  opacity: 1 !important;
}
#tools_sidebar > .sb_button:after {
  background-color: #36cdff !important; /* fallback */
  background: linear-gradient(to right, #36cdff, #fd7ef5) !important;
  content: ' ' !important;
  display: inline-block !important;
  height: 100% !important;
  position: absolute;
  top: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: -1 !important;
}
#tools_sidebar > .sb_button:active:after, 
#tools_sidebar > .sb_button:focus:after, 
#tools_sidebar > .sb_button:hover:after {
  opacity: .80 !important;
}
@media (max-width: 576px) {
  #tools_sidebar > .sb_button {
    font-size: .4em !important;
  }
}

/* For unscheduled but announced lists on Briefings SV. 2nd selector is due to misspelling in original */
.announce_header, 
.anounce_header {
  background-color: #000;
  color: #fff;
  display: block;
  font-size: inherit;
  font-weight: bold;
  line-height: inherit;
  margin: 16px 0;
  padding: 5px;
  text-transform: none;
  width: auto;
}
.features-tools-sidebar h3.filter_header { /* Text 'FORMAT' in left sidebar on Features Schedule Viewer is inserted by Schedule Viewer CSS in the h3:after element.  The below attempts to remove padding from bottom/top of the empty parent (original text is hidden) to reduce appearance of over-tall bottom margin. */
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.select_clear_all_link a, 
.filter_header_background_hidden, 
.filter_header_background_shown {
  color: #000 !important;
  text-transform: none !important;
}
.select_clear_all_link a {
  font-size: 1.3em !important;
}

.sb_button.active#all_sessions_btn {
  background-position: auto !important;
}
.filters_wrapper ul, 
.filters_wrapper ul li {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}
.filter_header_background_hidden, 
.filter_header_background_shown {
  min-height: 15px;
}
.filters_wrapper ul li .checkbox_wrapper, 
.filters_wrapper ul li .checkbox_wrapper input[type='checkbox'], 
.filters_wrapper ul li .track_type_icon, 
.filters_wrapper ul li .track_type_checkbox_label span {
  float: left;
}
.filters_wrapper ul li .checkbox_wrapper, 
.filters_wrapper ul li .track_type_icon, 
.filters_wrapper ul li .skill_level_icon, 
.filters_wrapper ul li label span {
  /*max-width: auto !important;*/
}
.filters_wrapper > * {
  hyphens: auto;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
main .alpha-tab, 
main .day-tab, 
.day-tabs-wrapper li .day-tab:first-child {
  border-height: auto;
  border-right: none !important;
  /*min-height: 25px !important; */
}


.alpha-tab:first-child, .day-tabs-wrapper li .day-tab:first-child {
  /*border-left: 1px solid #fff;*/
}


.sessions {
  border: none !important;
  max-width: 79% !important;
}
.sessions.features-description {
  width: 100% !important; /* Features Schedule Viewer main area needs this to stretch to full width of parent. */
}
.sb-header-search-day-tabs-wrapper {
  background: #d4d4d4;
  border: none !important;
  height: auto !important;
  margin: 0 0 1em 0 !important;
  min-height: 65px;
}

.alpha-tab {

}
.alpha-tab.active:after, .alpha-tab.active:before, .day-tab.active:after, .day-tab.active:before {
  display: none !important;
}

/* price-box overrides for SV/Gen */
.price-box, 
.price-box:hover, 
a.price-box-active, 
a.price-box-inactive {
  color: #d4d4d4;
  text-decoration: none;
}
a.price-box-active h2, 
a.price-box-inactive h2, 
a.price-box-active h3, 
a.price-box-inactive h3 {
  color: #d4d4d4;
} 
.price-box span, 
a.price-box-active, 
a.price-box-inactive {
  background: #000;
  border-radius: 0;
  color: #fff;
  display: block;
  font-size: inherit;
  font-weight: bold;
  line-height: normal;
  margin: 0 auto 10px;
  min-height: auto;
  padding: 0 0 10px 0;
  position: relative;
  text-align: center;
  text-decoration: none !important;
  transition: all .2s ease-in;
}
a.price-box-active h2, 
a.price-box-inactive h2 {
  font-weight: bold;
}
a.price-box-active h2, 
a.price-box-active h3, 
a.price-box-inactive h2, 
a.price-box-inactive h3 {
  line-height: normal;
  margin: 0;
  text-shadow: none;
}
a.price-box-active h3, 
a.price-box-inactive h3 {
  font-size: 1em;
  font-weight: normal;
}
.price-box span header, 
a.price-box-active .left, 
a.price-box-active:hover .left, 
a.price-box-inactive .left, 
a.price-box-inactive:hover .left {
  border-bottom: none;
  color: #fff;
  font-size: .8em;
  padding: 5px 10px;
  text-align: left;
}
.price-box span:hover,
.price-box span:hover header, 
a.price-box-active:hover, 
a.price-box-active:hover .left, 
a.price-box-inactive:hover, 
a.price-box-inactive:hover .left {
  color: #fff;
  text-shadow: none;
}
.price-box span strong, 
a.price-box-active h2, 
a.price-box-inactive h2 {
  display: block;
  font-size: 2.2em;
}
.price-box span.current, 
a.price-box-active {
  background: #000;
  color: #fff;
}
.price-box span.current header, 
a.price-box-active h2 {
  border-color: transparent;
  box-shadow: none;
  color: #fff;
}
.price-box:hover span.current,
.price-box:hover span.current hover, 
a.price-box-active, 
a.price-box-active:hover {
  color: #fff;
  text-shadow: none;
}
a.price-box-active .left, 
a.price-box-active:hover .left {
  color: #fff;
}
a.price-box-active br, 
a.price-box-inactive br {
  display: none;
  height: 0;
  width: 0;
}






/* Price boxes & status bars for canceled courses */
.training-data .course-progress-bar.canceled {
  background: #d4d4d4;
  border-radius: 0;
  box-shadow: none;
}
.training-data .course-progress-bar-fill.canceled {
  background: none;
}
.price-box-active.canceled, 
.price-box-inactive.canceled {
  background: #d4d4d4;
}
.price-box-active.canceled .left, 
.price-box-inactive.canceled .left {
  border-color: transparent;
  box-shadow: none;
}
.price-box-active.canceled:hover, 
.price-box-inactive.canceled:hover {
  box-shadow: none;
  cursor: auto;
}
.price-box-active.canceled:hover h2,
.price-box-active.canceled:hover h3, 
.price-box-inactive.canceled, 
.price-box-inactive.canceled h2,
.price-box-inactive.canceled h3, 
.price-box-inactive.canceled:hover, 
.price-box-inactive.canceled:hover h2,
.price-box-inactive.canceled:hover h3 {
  color: #fff;
  text-shadow: none;
}
/* End price-boxes (SV/Gen) */


.speaker_letter, 
.start_time_wrapper, 
.sb-header-search-day-tabs-wrapper, 
.calendar-cell.calendar-row {
  width: 100% !important;
}

.cal_row_start_time {
  cursor: default !important;
}

.speaker_letter, .start_time_wrapper {
  background-color: #000 !important;
  border: none !important;
  color: #fff !important;
  margin-top: 0 !important;
  padding: 5px;
}

.course-progress-bar-percentage {
  color: #fff !important;
  font-size: inherit !important;
  text-shadow: none !important;
}

.calendar-cell.calendar-row {
  background: transparent !important;
  border-color: #000 !important;
  max-width: 100% !important;
  padding-right: 0 !important;
}
.calendar-cell.calendar-row div.data-container, 
.calendar-cell.calendar-row div.training-data {
  float: left;
  width: 100% !important;
}
.calendar-cell.calendar-row div.data-container {
}
/* The sponsor logos on Features/Sponsored Sessions Schedule Viewer - if an image exists */
.calendar-cell.calendar-row div.business-hall-image img {
  max-width: 120px;
}
.calendar-cell.calendar-row div.business-hall-image:has(img) {
  background-color: #000;
  padding: .25em .5em;
}
.calendar-cell.calendar-row div.training-data {
  margin: 0;
  padding: 50px 0 0 0;
  position: relative;
}
.calendar-cell.calendar-row div.training-data div.course-progress-bar {
  background: #555;
  border: none;
  border-radius: 0;
  margin: 10px auto 15px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
}

/* Schedule Viewer progress bar background override */
.calendar-cell.calendar-row div.training-data div.course-progress-bar .course-progress-bar-fill {
  background: linear-gradient(to right, #36cdff, #fd7ef5);
  height: calc(100% - 1px);
}

.calendar-cell.calendar-row div > .span-4 {
  margin: 0 !important;
  width: 100% !important;
}
ul#cal_content_Day li.cal_row_content {
  width: 100% !important;
}
.course-sold-out-graphic { /* Attempt to replace static 2014 'sold out' graphic in Schedule Viewers with text + CSS */
  background: #000 !important;
  color: white;
  display: block;
  font-size: 1.2em;
  font-weight: bold;
  line-height: 2em;
  margin: .5em auto 1em auto !important;
  height: 3em !important;
  position: relative;
  text-align: center;
  text-shadow: none;
  text-transform: uppercase;
  width: 97% !important;
}
.course-sold-out-graphic:after {
  content: 'Sold Out';
  display: block;
  padding: .5em 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.course-sold-out-graphic:before {
  border: none;
  content: ' ';
  display: block;
  height: auto;
  width: auto;
  position: absolute;
  top: 2px;
  right: 2px;
  bottom: 2px;
  left: 2px;
  z-index: 5;
}
.speaker-bio-wrapper .speaker-headshot {
  float: left;
  margin: 0 22px 10px 0;
}
.speaker-bio-wrapper .speaker-bio-title {
  display: block !important;
}
/* SB override - media queries */
main > div.container:last-child:after {
  content: "";
  clear: both;
  display: table;
}

/* Left col nav on detailed pages - hide for smaller screens */
ul.left-col-link-uptri, 
ul.left-col-anchors { 
  display: none;
}
ul.left-col-link-uptri li {
  list-style-image: none;
  list-style-type: none;
  margin: 0;
}

/* Smallest screens/devices only */
@media (max-width: 576px) {
  ul#alpha-wrapper, 
  ul#date_wrapper {
    float: none !important;
    display: block !important;
    table-layout: auto !important;
    width: auto !important;
  }
  .sb-header-search-day-tabs-wrapper {
    min-height: auto !important;
  }
  .search_form_wrapper {
    float: none !important;
    margin: 0 !important;
  }
  ul#alpha-wrapper li, 
  ul#date_wrapper li.li2 {
    display: inline-block !important;
    height: auto !important;
    text-align: center !important;
  }
  .alpha-tabs-wrapper li a, 
  .day-tabs-wrapper li a {
    display: inline-block !important;
    padding: 1em !important;
  }
  /* Schedule Viewer - remove padding around buttons at top of left column */
  main #tools_sidebar > .sb_button {
    margin: 0 0 1em;
  }
  /* Schedule Viewer - left column sub-headers & 'select / clear' links */
  .filter_header_background_hidden, 
  .filter_header_background_shown, 
  .filters_wrapper .select_clear_all_link {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .filters_wrapper .select_clear_all_link {
    max-width: 90%;
    padding-bottom: 1em !important;
  }
  /* Reset right/left padding/margins and with for left col container & all children EXCEPT .track_type_icon and .skill_level_icon */
  .filters_wrapper > ul, 
  .filters_wrapper > ul > li, 
  .filters_wrapper ul li div.checkbox_wrapper, 
  .filters_wrapper ul li div.checkbox_wrapper input[type='checkbox'], 
  .filters_wrapper ul li div.checkbox_wrapper div.checkbox_label_wrapper, 
  .filters_wrapper ul li div.checkbox_wrapper label, 
  .filters_wrapper ul li div.checkbox_wrapper label span {
    margin-right: 0 !important;
    margin-left: 0 !important;
    max-width: auto !important;
    min-width: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    width: auto !important;
  }
  .filters_wrapper > ul {
    width: calc(100% - 10px);
  }
  .filters_wrapper > ul > li {
    width: 100%;
  }
  .filters_wrapper ul, 
  .filters_wrapper ul li {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}
@media (min-width: 576px) and (max-width: 991px) {
  main .container {
    max-width: 100% !important;
  }
}
@media (max-width: 991px) {
  #top-bar-container-2026 {
    margin-left: -15px; /* align top bar container flush to left on mobile */
  }
  .schedule_wrapper {
    width: 100% !important;
  }
  .sessions {
    border: none !important;
  }
  .track_type_checkbox_label span, 
  .skill_level_checkbox_label span {
    margin-left: 0 !important;
    width: auto !important;
  }
}
/* Extra-small and small screens only */
@media (max-width: 991px) {
  main #tools_sidebar > .sb_button {
    font-size: .9em !important;
    line-height: 1.2em !important;
    min-height: auto !important;
    padding: 10px 5px !important;
  }
}
/* Large screens/devices only */
@media (min-width: 992px) and (max-width: 1199px) {
  .sessions {
    border: none !important;
  }
  .tools_wrapper {
    max-width: 194px;
  }
  main #tools_sidebar {
    margin-right: 0;
    min-width: 18%;
  }
  .filter_header_background_hidden, 
  .filter_header_background_shown {
    max-width: 180px;
  }
}
@media (min-width: 992px) {
  .tools_wrapper, 
  #tools_sidebar {
    width: 100% !important; /* On large screens, ensure the left column takes up the maximum allotted horizontal space, to prevent line-breaking where possible. */
  }
  .schedule_wrapper ul {
    padding-left: 1% !important;
  }
  .calendar-cell.calendar-row div.data-container, 
  .calendar-cell.calendar-row div.training-data {
    float: left;
  }
  .calendar-cell.calendar-row div.data-container {
    padding-right: 2%;
    width: 73% !important;
  }
  .calendar-cell.calendar-row div.training-data {
    width: 25% !important;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1199.98px !important;
  }
  /* Left col nav on detailed pages - show for large screens */
  ul.left-col-link-uptri, 
  ul.left-col-anchors { 
    display: block;
  }
}
/* End SB overrides */

/* Media queries */
/* Small screens/devices only */
@media (max-width: 991px) {
  main .container, 
  main .container > * {
    /* overflow-x: hidden; */
  }
  main .container > .section-title {
    overflow-x: visible;
  }
  main .container .table-wrapper {
    overflow-x: auto;
  }
  main p, 
  main ol,
  main ul {
    hyphens: auto;
    overflow-wrap: break-word;
    word-wrap: break-word;
  }
  #top-bar-container-light {
    margin: 0 auto;
  }
  #top-bar ul.navbar-nav,
  #main-menu ul.navbar-nav {
    padding: 0;
  }
  #top-bar li.nav-item a.nav-link,
  #main-menu li.nav-item a.nav-link {
    color: #000;
  }

  #top-bar-container-2026 .navbar-toggler-icon { /* Top bar menu, small screens: make hamburger icon 'bars' black */
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E") !important;
  }
  #top-bar-container-2026 .navbar-toggler { /* Top bar menu, small screens: hamburger icon border = black */
    border-color: rgb(0, 0, 0);
  }

  /* Make 'hamburger menu for Event Menu light on dark, on mobile' */
  #main-menu-wrapper > div > button {
    background: #000;
  }
  #main-menu-wrapper .navbar-toggler-icon { /* Event menu, small screens: make hamburger icon 'bars' white */
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E") !important;
  }
  .navbar-brand img {
    max-width: auto;
    width: auto;
  }
  #top-bar li.nav-item a.nav-link,
  #main-menu li.nav-item a.nav-link {
    text-align: center;
    text-decoration: none;
  }
  #top-bar li.nav-item,
  #main-menu li.nav-item {
    background: #fff;
    border-bottom: 1px solid #000;
    color: #000;
  }
  #top-bar li.nav-item:last-child,
  #main-menu li.nav-item:last-child {
    border-bottom: none;
  }
  #top-bar li.nav-item a.nav-link span.home {
    display: inline-block;
    position: relative;
  }
  #top-bar li.nav-item a.nav-link span.home, 
  #top-bar li.nav-item a.nav-link span.home:after {
    height: 100%;
    width: 100%;
  }
  #top-bar li.nav-item a.nav-link span.home:after {
    content: 'Home';
    display: block;
    margin: 0 auto;
    position: absolute;
    top: -1em;
    right: 0;
    bottom: 0;
    left: 0;
  }
}

/* Large screens/devices only */
@media (min-width: 992px) {
  /* Event Menu - remove background and border for larger screens */
  #main-menu-wrapper {
    background: none;
    border: none;
  }
  /* Main menu styles for large screens only */
  .main-action-button {
    display: block;
    max-width: 80%;
    white-space: nowrap;
  }
  .navbar .navbar-brand {
    
  }

  /* Site Menu */
  #top-bar ul.navbar-nav li.nav-item {
    position: relative;
  }
  #top-bar ul.navbar-nav li.nav-item:not(:first-child):before {
    /*
    background: linear-gradient(#777 5%, #999 30%, #777 15%, #000);
    content: ' ';
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    */
  }
  #top-bar ul.navbar-nav li.nav-item a.nav-link {
    color: #000;
    font-size: .9em;
    padding: 10px;
  }
  #top-bar ul.navbar-nav li.nav-item:first-of-type a.nav-link {
    /*background: linear-gradient(to left, rgba(0,0,0,.5), transparent);*/
  }
  #top-bar ul.navbar-nav li.nav-item:last-of-type a.nav-link {
    /*background: linear-gradient(to right, rgba(0,0,0,.5), transparent);*/
  }
  #top-bar ul.navbar-nav li.nav-item a.nav-link:focus,
  #top-bar ul.navbar-nav li.nav-item a.nav-link:hover {
    /*background: linear-gradient(#053c50, #000);*/
  }
  #top-bar li.nav-item a.nav-link .home {
    display: none;
  }
  #top-bar li.nav-item a.nav-link span.home:after {
    display: none;
  }

  /* Site Menu - Sub-menu items - large screens only */
  #top-bar ul.navbar-nav li.nav-item.dropdown {}
  #top-bar ul.navbar-nav li.nav-item.dropdown .dropdown-menu {
    border: 1px solid #000;
    font-size: .9em;
  }
  #top-bar ul.navbar-nav li.nav-item.dropdown a.dropdown-item {
    text-align: left;
  }
  /* Show sub-menu items on hover over parent */
  #top-bar li.dropdown:hover > .dropdown-menu {
    display: block;
  }

  /* Event Menu */
  #main-menu {
    background: #000;
    display: block;
    margin: 0 auto 20px auto;
    padding: 0;
    width: 100%;
  }
  #main-menu ul.navbar-nav {
    margin: 0 auto;
    
  }
  #main-menu li.nav-item {
    padding: 0;
  }
  #main-menu li.nav-item a.nav-link {
    color: #fff;
    display: block;
    font-size: inherit;
    padding: 5px 10px;
    text-align: center;
    text-decoration: none;
    transition-timing-function: ease-out;
    transition: .5s;
    white-space: nowrap;
  }
  
  #main-menu li.nav-item a.nav-link:focus,
  #main-menu li.nav-item a.nav-link:hover {
    position: relative;
  }

  /* Turn off down arrows to right of top-menu items with dropdown sub-menus. */
  #main-menu .dropdown-toggle:after {
    color: #fff; /* color of the little arrows on top-level menu items with sub-menus */
  }
  #main-menu li.nav-item.dropdown a.nav-link:focus {
    outline: none;
  }

  /* The Sub-menu items */
  /* Show sub-menu items on hover over parent */
  #main-menu li.dropdown:hover > .dropdown-menu {
    border: none;
    display: block;
  }
  #main-menu .dropdown-menu a.dropdown-item {
    font-size: .9em;
    text-align: left;
    text-transform: none;
    transition-timing-function: ease-out;
    transition: .5s;
  }
}
/* End of large-screens/devices */


/* Very large screens only */
@media (min-width: 1200px) {
  /* -----------------------------------------------------------------------
    
    Adapted from Blueprint, to handle mark-up that cannot be brought into Bootstrap

   Blueprint CSS Framework 1.0
   http://blueprintcss.org

     * Copyright (c) 2007-Present. See LICENSE for more info.
     * See README for instructions on how to use Blueprint.
     * For credits and origins, see AUTHORS.
     * This is a compressed file. See the sources in the 'src' directory.

  ----------------------------------------------------------------------- */
  .span-1, 
  .span-2, 
  .span-3, 
  .span-4, 
  .span-5, 
  .span-6, 
  .span-7, 
  .span-8, 
  .span-9, 
  .span-10, 
  .span-11, 
  .span-12, 
  .span-13, 
  .span-14, 
  .span-15, 
  .span-16, 
  .span-17, 
  .span-18, 
  .span-19, 
  .span-20, 
  .span-21, 
  .span-22, 
  .span-23, 
  .span-24 {
    float: left;
    margin-right: 15px;
  }
  .last {margin-right: 0;}

  .span-1 {
    min-width: 27px;
    width: 2.7%;
  }
  .span-2 {
    min-width: 69px;
    width: 6.9%;
  }
  .span-3 {
    min-width: 111px;
    width: 11.2%;
  }
  .span-4 {
    min-width: 153px;
    width: 15.4%;
  }
  .span-5 {
    min-width: 195px;
    width: 19.6%;
  }
  .span-6 {
    min-width: 237px;
    width: 23.9%;
  }
  .span-7 {
    min-width: 279px;
    width: 28.1%;
  }
  .span-8 {
    min-width: 321px;
    width: 32.3%;
  }
  .span-9 {
    min-width: 363px;
    width: 36.6%;
  }
  .span-10 {
    min-width: 405px;
    width: 40.8%;
  }
  .span-11 {
    min-width: 447px;
    width: 45%;
  }
  .span-12 {
    min-width: 489px;
    width: 49.2%;
  }
  .span-13 {
    min-width: 531px;
    width: 53.5%;
  }
  .span-14 {
    min-width: 573px;
    width: 57.7%;
  }
  .span-15 {
    min-width: 615px;
    width: 61.9%;
  }
  .span-16 {
    min-width: 657px;
    width: 66.2%;
  }
  .span-17 {
    min-width: 699px;
    width: 70.4%;
  }
  .span-18 {
    min-width: 741px;
    width: 74.6%;
  }
  .span-19 {
    min-width: 783px;
    width: 78.9%;
  }
  .span-20 {
    min-width: 825px;
    width: 83.1%;
  }
  .span-21 {
    min-width: 867px;
    width: 87.3%;
  }
  .span-22 {
    min-width: 909px;
    width: 91.5%;
  }
  .span-23 {
    min-width: 951px;
    width: 95.8%;
  }
  .span-24 {
    margin-right: 0;
    min-width: 993px;
    width: 100%;
  }
  .border {padding-right:6px;margin-right:7px;border-right:1px solid #ddd;}
  .colborder {padding-right:28px;margin-right:28px;border-right:1px solid #ddd;}
  /* End: Blueprint adaptation */
}

/*!
  * Start Bootstrap - Full Slider (https://startbootstrap.com/template-overviews/full-slider)
  * Copyright 2013-2017 Start Bootstrap
  * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-full-slider/blob/master/LICENSE)
  */
 main .carousel .carousel-inner .carousel-item {
   min-height: 35em;
   background: no-repeat center center scroll;
   -webkit-background-size: cover;
   -moz-background-size: cover;
   -o-background-size: cover;
   background-size: cover;
 }
 main .carousel .carousel-inner .carousel-item .carousel-caption {
  background: transparent;
  color: #fff;
  font-size: 1.3em;
  margin-bottom: 20px;
  min-height: 5em;
  padding: 5px 20px 0 20px;
  position: absolute;
  top: 1.1em;
  left: 0;
  text-align: left;
  width: 100%;
  z-index: 1;
}
main .carousel-control-prev, 
main .carousel-control-next {
  z-index: 2;
}
main .carousel-control-prev {
  display: none; /* Omit the 'previous' functionality in the slider */
}
main .carousel .carousel-inner .carousel-item .carousel-caption, 
main .carousel .carousel-inner .carousel-item .carousel-caption h3, 
main .carousel .carousel-inner .carousel-item .carousel-caption p {
  text-shadow: none;
}
main .carousel .carousel-inner .carousel-item .carousel-caption h3 {
  font-size: 1.5em;
  font-weight: bold;
  line-height: .95em;
  margin: 0 0 30px 0;
  text-transform: uppercase;
}
main .carousel .carousel-inner .carousel-item .carousel-caption h3, 
main .carousel .carousel-inner .carousel-item .carousel-caption p .more {
  color: #fff;
}
main .carousel .carousel-inner .carousel-item .carousel-caption img {
  height: auto;
  width: auto;
}
main .carousel .carousel-inner .carousel-item .carousel-caption p {
  line-height: 1.2em;
}
main .carousel .carousel-inner .carousel-item .carousel-caption p .more {
  display: inline-block;
  font-size: .7em;
  padding: .25em 2em;
  width: auto;
}
main .carousel .carousel-inner .carousel-item .carousel-caption p .more:active, 
main .carousel .carousel-inner .carousel-item .carousel-caption p .more:focus, 
main .carousel .carousel-inner .carousel-item .carousel-caption p .more:hover {
  color: #fff;
  text-decoration: none;
}
main .carousel .carousel-indicators {
  margin-bottom: .8em;
  margin-left: .8em;
  right: auto;
}
main .carousel .carousel-indicators li {
  background: transparent;
  border: 1px solid #fff;
  border-radius: 50%;
  font-size: .8em;
  height: 1em;
  margin-right: .5em;
  opacity: 1;
  padding: 0;
  width: 1em;
}
main .carousel .carousel-indicators li.active {
  background: #fff;
}
main .carousel .carousel-item {
  min-height: 30em;
}
@media screen and (min-width: 700px) {
  main .carousel .carousel-inner .carousel-item .carousel-caption h3 {
    font-size: 2.5em;
  }
  main .carousel .carousel-inner .carousel-item .carousel-caption p .more {
    padding: .25em 6em;
  }
}
/* End slider */
