/* Hugo-specific parity fixes for the legacy RC20 page components. */
footer.footer { clear: both; width: 100%; }

.eventPageHeader { box-sizing: border-box; padding: 0 24px; }
.eventPageHeader .pageTitle { margin-left: 0; margin-right: 0; }
.eventPageHeader .separator { margin-left: 0; margin-right: 0; }
.rightSideBar a.eventSubmissionLink,
.rightSideBar a.eventSubmissionLink:visited { color: #98C962; }

.rc20-grid-row { clear: both; overflow: hidden; padding: 22px 0; }
.rc20-grid-media { width: 250px !important; min-height: 220px; display: flex !important; align-items: flex-start; justify-content: center; }
.rc20-grid-media img { display: block; height: auto; margin: 0 auto; max-height: 250px; max-width: 250px; object-fit: contain; width: 100%; }
.rc20-grid-copy { box-sizing: border-box; margin-left: 20px; width: calc(100% - 290px) !important; }
.rc20-grid-copy .sponsors { margin: 0 0 14px; overflow-wrap: break-word; }
.rc20-grid-copy p { line-height: 1.45; overflow-wrap: break-word; }
.rc20-page-intro { margin-left: 20px; }

.speakerPhoto { height: 200px !important; max-width: 200px !important; object-fit: cover !important; object-position: center; width: 200px !important; }

.venueAction { display: block !important; float: none !important; height: 45px !important; margin: 18px 0 28px !important; min-height: 45px !important; min-width: 0 !important; padding: 0 !important; width: 160px !important; }
.venueAction a { align-items: center; box-sizing: border-box; display: flex !important; height: 45px !important; justify-content: center; min-height: 45px; padding: 0 !important; text-align: center; width: 100% !important; }
.venueAction h3 { box-sizing: border-box; display: block; font-size: 18px !important; line-height: 18px !important; margin: 0 !important; padding: 0 !important; position: static !important; text-align: center !important; text-indent: .14em; white-space: nowrap; width: 100%; }

#holder { box-sizing: border-box; padding: 0 24px; }
#cfp { box-sizing: border-box; padding: 0 24px; }
.registrationPlans { align-items: stretch; display: flex; flex-wrap: wrap; gap: 34px; justify-content: center; margin: 25px auto 35px; }
.registrationPlans .whole { display: block; padding: 0; width: 350px; }
.registrationPlans .type { border-radius: 5px 5px 0 0; height: 72px; width: 100%; }
.registrationPlans .type p { color: #fff; font-family: 'capture_itregular', Impact, Helvetica, sans-serif; font-size: 29px; font-weight: 800; line-height: 1.05; margin: 0; padding-top: 10px; text-align: center; }
.registrationPlans .humanplus { background: #4A598F; border-bottom: 3px solid #4A598F; }
.registrationPlans .human { background: #35794C; border-bottom: 3px solid #35794C; }
.registrationPlans .plan { background: #25292D; border-radius: 0 0 5px 5px; box-sizing: border-box; color: #fff; font-size: 17px; text-align: center; width: 350px; }
.registrationPlans ul.inclusions { color: #bbb; font-size: 17px; list-style: none; margin: 0; padding: 10px; }
.registrationPlans li.inclusions { border-bottom: 1px solid #494a5a; box-sizing: border-box; height: auto; line-height: 1.25; margin: 0; min-height: 52px; padding: 15px 4px; text-align: center; }
.registrationPlans .price { height: 56px; }
.registrationPlans .cart { color: #A2C86F; font-size: 20px; font-weight: 800; margin: 0; padding-top: 14px; }
.training-list, .training-item { margin: 0; }
.pageTitleSmall { font-size: 26px !important; line-height: 1.2 !important; margin: 0 !important; }
#trainings { box-sizing: border-box; padding: 0 24px; }

.faqContent { box-sizing: border-box; padding: 0 24px 20px; }
.faqContent .subtitle { margin-left: 0; }

.talkMain { box-sizing: border-box; padding: 0 18px 0 34px; }
.talkPost { box-sizing: border-box; clear: both; padding: 22px 0 30px; width: 100%; }
.talkPost .sponsors { margin: 0 0 16px; max-width: 100%; overflow-wrap: break-word; }
.talkMeta { color: #bdbdbd; margin-bottom: 14px; }
.trackBadge { border-radius: 2px; display: inline-block; font-size: .78em; font-weight: 700; line-height: 1.2; margin-bottom: 8px; padding: 2px 7px; text-transform: uppercase; }
.trackBadgeGreen { background: #d8edcf !important; color: #2f7d20 !important; }
.trackBadgeYellow { background: #fff3bf !important; color: #8a6d00 !important; }
.trackBadgeBlue { background: #d8ecff !important; color: #1c5f91 !important; }
.trackBadgePurple { background: #dfd3f6 !important; color: #5b3aa0 !important; }
.trackBadgeRed { background: #ffd6d6 !important; color: #9f2525 !important; }
.talkSpeakerLink, .talkSpeakerLink:visited, .talkSpeakerLink:hover { color: #98C962; font-weight: 700; }

.scheduleDay { margin: 34px 20px 0; }
.scheduleSessions { border-top: 1px solid rgba(152, 201, 98, .35); }
.scheduleLocation { justify-self: start; width: 150px; }
.scheduleTrack { border-radius: 2px; box-sizing: border-box; font-size: .78em; text-transform: uppercase; white-space: nowrap; width: 100%; }
.scheduleTrackMain { background: #00eb78 !important; color: #07130d !important; }
.scheduleTrackTwo { background: #ffcc00 !important; color: #171300 !important; }
.scheduleTrackThree { background: #007aff !important; color: #fff !important; }
.scheduleTrackFour { background: #ff9500 !important; color: #171000 !important; }
.scheduleTrackFive { background: #af52de !important; color: #fff !important; }
.scheduleTrackSpeedTalk { background: #ff3b30 !important; color: #fff !important; }
.scheduleSpeaker { color: #bdbdbd; margin: 0; }
.scheduleVillage { color: #bdbdbd; display: block; font-size: .76em; line-height: 1.3; margin-top: 6px; max-width: 150px; }

.contestSectionTitle { color: #bdbdbd; font-weight: 700; }
.contestSubsection { color: #bdbdbd; margin-left: 10px; }

@media only screen and (max-width: 767px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  #maincontent main, #maincontent main > article, #maincontent main > section { box-sizing: border-box; max-width: 100%; }
  #maincontent .rc20-grid-row { box-sizing: border-box; margin-left: 0 !important; margin-right: 0 !important; max-width: 100%; width: 100% !important; }
  .rc20-grid-row > .rc20-grid-media,
  .rc20-grid-row > .rc20-grid-copy { clear: both; display: block !important; }
  .rc20-grid-row > .rc20-grid-media { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; }
  .rc20-grid-row > .rc20-grid-copy { margin-left: 10px !important; margin-right: 10px !important; padding: 0; width: calc(100% - 20px) !important; }
  .rc20-grid-media { min-height: 0; margin-bottom: 18px !important; }
  .rc20-grid-media img { max-width: 200px; }
  .rc20-page-intro { box-sizing: border-box; margin-left: 0; overflow-wrap: break-word; padding-left: 10px; padding-right: 10px; width: 100%; }
  .speakerPhoto { height: 180px !important; width: 180px !important; }
  #holder, #trainings, .faqContent { max-width: 100%; overflow-wrap: break-word; padding-left: 10px; padding-right: 10px; }
  .registrationPlans { box-sizing: border-box; gap: 24px; max-width: 100%; width: 100%; }
  .registrationPlans .whole, .registrationPlans .plan { max-width: 280px; width: 100%; }
  .talkMain { padding-left: 10px; padding-right: 10px; }
  .scheduleDay { margin-left: 0; margin-right: 0; }
  .scheduleLocation { width: 150px; }
}
