/* reset */

html {
  box-sizing: border-box;
}
*,
*::after,
*::before {
  box-sizing: inherit;
}

html,
body {
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  line-height: 1.15;
  text-rendering: optimizeLegibility;
}

body {
  font-size: 1rem; /* 16px */
  line-height: 1.5;
}

body,
button,
input,
select,
textarea {
  font-family: sans-serif;
}

a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

figure {
  margin: 0;
  padding: 0;
}

form,
fieldset {
  margin: 0;
  padding: 0;
}

fieldset {
  border: 0;
}

textarea {
  font: inherit;
  overflow: auto;
}

abbr[title] {
  border-bottom: none;
  cursor: help;
  text-decoration: underline dotted;
}

address {
  font-style: normal;
}

img {
  border: 0;
}


/* layout */

.container {
  margin: 0 auto;
}


/* grid */

.row {
  display: flex;
  margin: -1rem 0 0 -1rem;
}

.row--equal-sized-centered-columns > * {
  flex: 1;
  text-align: center;
}

.row--space-around {
  justify-content: space-around;
}

.row--space-between {
  justify-content: space-between;
}

.row--wrap {
  flex-wrap: wrap;
}

.column-auto {
  padding: 1rem 0 0 1rem;
}

.column-auto--grow {
  flex-grow: 1;
}


/* links */

a.disguised {
  color: currentColor;
}
a.disguised:not(:hover) {
  text-decoration: none;
}


/* tables */

th,
td {
  padding: 0 1em 0 0;
  text-align: left;
  vertical-align: top;
}
th.number,
td.number {
  text-align: right;
}

table.index th,
table.index td {
  padding: 0.35rem 1rem 0.35rem 0;
}
table.index th:last-child,
table.index td:last-child {
  padding-right: 0;
}
table.index th {
  font-size: 0.75rem; /* 12px / 16px */
  font-weight: bold;
}
table.index td {
  font-size: 0.8125rem; /* 13px / 16px */
}
table.index > tbody > tr > th,
table.index > tbody > tr > td {
  border-color: #dddddd;
  border-style: solid;
  border-width: 1px 0;
}
table.index .details {
  display: block;
  font-size: 0.6875rem; /* 11px / 16px */
  margin-top: 0.2rem;
}

table.wide {
  width: 100%;
}


/* forms */

fieldset li {
  margin: 0;
  padding: 0.2rem 0;
}

form label,
fieldset .label {
  display: inline-block;
  font-weight: bold;
  vertical-align: top;
  width: 100%;
}
.checkbox label,
.radio label {
  font-weight: normal;
  padding-top: 0.1rem;
  width: auto;
}
.checkbox,
.radio {
  padding-top: 0.3rem;
}

fieldset input:not([size]):not([type='checkbox']):not([type='radio']),
fieldset textarea,
fieldset .supplement {
  width: 100%;
}
fieldset input[type='number'] {
  text-align: right;
}
fieldset textarea {
  height: 20rem;
  resize: vertical;
}
fieldset textarea.wide {
  width: 100%;
}
fieldset textarea.collapsible {
  transition: height 0.5s;
}
fieldset textarea.collapsible.collapsed {
  height: 3rem;
}
fieldset .supplement {
  display: inline-block;
  margin-left: -4px;
}

@media (min-width: 45rem) { /* 720px / 16px */
  form label,
  fieldset .label {
    width: 22%;
  }

  fieldset input:not([size]):not([type='checkbox']):not([type='radio']),
  fieldset textarea,
  fieldset .supplement {
    width: 78%;
  }

  .checkbox,
  .radio {
    padding-left: 22%;
  }
}

fieldset.buttons {
  margin: 1.5rem -40px 0 -40px;
  padding: 0 40px;
  text-align: center;
}

form li.error {
  background-color: #ff9999;
  border: #ff1a1a solid 1px;
  border-radius: 3px;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.25);
  margin: 4px -8px;
  padding: 4px 7px;
}
form li.error .errors li {
  font-size: 0.6875rem; /* 11px / 16px */
  margin-top: 0.2rem;
}
form li.error .errors li span {
  font-style: italic;
}

form.single-row {
  display: flex;
  margin-left: -0.25rem;
}

form.single-row .button,
form.single-row input {
  font-size: 0.875rem; /* 14px / 16px */
  margin-left: 0.25rem;
  padding-bottom: 0.2rem;
  padding-top: 0.2rem;
}

form.unobtrusive .button,
form.unobtrusive input {
  opacity: 0.7;
}

form.unobtrusive:hover .button,
form.unobtrusive:hover input,
form.unobtrusive input:focus ~ .button {
  opacity: 1;
}


/* button rows */

.button-row {
  display: flex;
  flex-wrap: wrap;
  margin: 1.5rem 0 1.5rem -0.5rem;
}

.button-row--compact {
  margin-bottom: 0;
  margin-top: -0.5rem;
}

.button-row--center {
  justify-content: center;
}
.button-row--right {
  justify-content: flex-end;
}

.button-row > * {
  margin: 0.5rem 0 0 0.5rem;
}


/* buttons */

.button {
  align-items: center;
  -moz-appearance: none;
  background-color: #eeeeee;
  border-color: #cccccc;
  border-style: solid;
  border-width: 1px;
  border-radius: 3px;
  color: currentColor;
  cursor: pointer;
  display: inline-flex;
  font-size: 1rem; /* 16px */
  font-weight: normal;
  line-height: 1.3;
  padding: 0.375rem 0.75rem;
  text-align: center;
  text-decoration: none;
  -ms-user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
}
.button--compact {
  font-size: 0.875rem; /* 14px / 16px */
  padding: 0;
}
button.button[disabled],
.button--disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.button--icon-only {
  padding: 0 0.15rem;
}
.button--inline {
  font-size: 0.875rem; /* 14px / 16px */
  padding: 0 0.3rem;
}
.button.button--outlined {
  background-color: transparent;
}
.button:hover {
  box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
}
.button:active {
  box-shadow: inset 2px 2px 4px rgba(0, 0, 0, 0.2);
}

.button.button--clear,
.button.button--clear:active,
.button.button--clear:hover {
  background-color: transparent;
  border-color: transparent;
  box-shadow: none;
}
.button.button--clear:hover {
  border-color: #cccccc;
}

.button--wrapping {
  white-space: normal;
}


/* colors */

.button.color-primary {
  background-color: #99ddbb;
  border-color: #66aa88;
}

.button.color-danger,
.notification.color-danger {
  background-color: #ff9999;
  border-color: #ff2222;
}

.button.color-info,
.notification.color-info {
  background-color: #88ccff;
  border-color: #1199ff;
}

.button.color-success,
.notification.color-success {
  background-color: #99ee88;
  border-color: #55cc00;
}

.button.color-warning,
.notification.color-warning {
  background-color: #ffe777;
  border-color: #ffcc11;
}

.tag.color-danger {
  background-color: #ff2222;
}

.tag.color-info {
  background-color: #1199ff;
}

.tag.color-success {
  background-color: #55cc00;
}

.tag.color-warning {
  background-color: #ffcc11;
}


/* misc */

img {
  max-width: 100%;
}

.centered {
  text-align: center;
}

.nowrap {
  white-space: nowrap;
}

.dimmed {
  opacity: 0.5;
}

.hyphenate {
  -webkit-hyphens: auto;
  hyphens: auto;
}

.monospace {
  font-family: monospace;
  font-size: 0.75rem !important; /* 12px / 16px */
}
/* basic */

html {
  height: 100%;
}
body {
  background-color: #f4f4f4;
  border-color: #cc0000;
  border-style: solid;
  border-width: 3px 0;
  color: #333333;
  line-height: 1.4;
  min-height: 100%;
}

a {
  color: #0000ee;
}


/* layout */

@media (min-width: 60rem) { /* 960px / 16px */
  .container {
    max-width: 960px;
    width: 960px;
  }
}

#header-content,
#page {
  padding: 20px;
}
#footer {
  margin-bottom: 20px;
}

#page-grid {
  display: flex;
  flex-direction: column;
  margin: -20px 0 0 -20px;
}
#page-grid-main,
#page-grid-sidebar {
  padding: 20px 0 0 20px;
}
#page-grid-main {
  flex: 1;
}
#page-grid-sidebar {
  flex: 0 0 22%;
}

@media (min-width: 60rem) { /* 960px / 16px */
  #page-grid {
    flex-direction: row;
  }
}

main {
  font-size: 0.875rem; /* 14px / 16px */
}

#header,
#sidebar section,
#main,
.box {
  border-color: #cccccc;
  border-style: solid;
  border-width: 1px;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
}
#sidebar section,
#main,
.box {
  background-color: #ffffff;
  border-radius: 3px;
}
#main {
  padding: 20px 40px 40px 40px;
}
.box {
  padding: 20px;
}

/* tables */

@media (max-width: 60rem) { /* 960px / 16px */
  table.index.wide {
    display: block;
    overflow-x: auto;
  }
}

table.index td.bignumber {
  font-size: 1.6em;
  vertical-align: middle;
}


/* lists */

ol.index,
ol.index li {
  border-color: #cccccc;
  border-style: solid;
}
ol.index {
  border-width: 0 0 1px 0;
}
ol.index li {
  border-width: 1px 0 0 0;
  font-size: 0.875rem; /* 14px / 16px */
  padding: 0.35rem 0;
}

ol.index.fully-linked li {
  padding: 0;
}
ol.index.fully-linked a {
  color: currentColor;
  display: block;
  margin: 0 -40px;
  padding: 0.35rem 40px;
  text-decoration: none;
}
ol.index.fully-linked a:hover {
  background-color: #f8f888;
}

.list-grid {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: -8px 0 0 -8px;
  padding: 0;
}
.list-grid > li {
  padding: 8px 0 0 8px;
}


/* buttons */

.button.color-primary {
  background-color: #555555;
  border-width: 0;
  color: #f8f8f8;
  font-weight: normal;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
}
.button.color-primary:hover {
  background-color: #666666;
}


/* forms */

fieldset.buttons {
  background-color: #e8e8e8;
  border-color: #cccccc;
  border-style: solid;
  border-width: 1px 0;
  padding-bottom: 1rem;
  padding-top: 1rem;
}

/* northcon.css */
body {
  background-color: #111111;
  color: #f4f4f4;
}


/* fonts */

@font-face {
  font-family: Asap;
  font-style: normal;
  font-weight: 700;
  src: local('Asap Bold'),
       local('Asap-700'),
       url(fonts/Asap-700.woff2) format('woff2');
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #f4f4f4;
  font-family: Asap, sans-serif;
  font-weight: 700 !important;
}

.nav-main a,
.current-user .logged-out a {
  font-family: Asap, sans-serif;
  font-weight: 700 !important;
}

a {
  color: #dd0000;
}


/* top bar */

body {
  padding-top: 48px;
}

#topbar {
  background-color: #111111;
  box-shadow: 0 25px 20px rgba(17, 17, 17, 1);
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1010;
}

#topbar a {
  color: currentColor;
  text-decoration: none;
}

#topbar-body {
  flex-direction: row;
  justify-content: stretch;
  height: auto;
  padding: 0 10px;
}

.topbar-logo,
.authentication {
  flex: 0 0 auto;
}
.nav-main {
  flex: 1 1 auto;
}

.topbar-logo {
  background: url(crown.svg) no-repeat;
  background-position: 50%;
  background-size: contain;
  height: 2rem;
  margin-right: 0.4rem;
  width: 2rem;
}

.nav-main {
  overflow-x: auto;
}

.nav-main ol {
  display: flex;
  flex-direction: row;
}

.nav-main a,
.current-user .logged-out a {
  display: block;
  font-size: 0.6875rem; /* 11px / 16px */
  text-transform: uppercase;
}

.current-user .dropdown {
  border: none !important;
  padding: 0 !important;
}

.nav-main a,
.current-user .dropdown > a,
.current-user .logged-out a {
  line-height: 48px;
  padding: 3px 0.3125rem !important; /* 5px / 16px */
}

.nav-main .current a,
.nav-main a:hover,
.current-user .dropdown > a:hover,
.current-user .logged-out a:hover {
  border-bottom: #dd0000 solid 3px !important;
  padding-bottom: 0 !important;
}

.nav-main a:hover,
.current-user .dropdown > a:hover,
.current-user .logged-out a:hover {
  background-color: #dd0000;
}

#topbar .current-user .label-and-name {
  margin: 0.4rem 0.8rem;
  white-space: nowrap;
}

@media (min-width: 30rem) { /* 480px / 16px */
  #topbar-body {
    padding: 0 20px;
  }

  .nav-main a,
  .current-user .logged-out a {
    font-size: 0.8125rem; /* 13px / 16px */
    padding-left: 0.5rem !important; /* 8px / 16px */
    padding-right: 0.5rem !important; /* 8px / 16px */
  }
}

@media (min-width: 36rem) { /* 576px / 16px */
  .nav-main a,
  .current-user .logged-out a {
    font-size: 0.9375rem; /* 15px / 16px */
  }
}


/* header */

#tagline-wrapper {
  display: none;
}

@media (min-width: 48rem) { /* 768px / 16px */

  #tagline-wrapper {
    display: block;
    margin-top: 40px;
    padding: 0 20px;
  }

  #tagline {
    background: url(header-logo.svg) no-repeat;
    background-position: center;
    background-size: contain;
    display: inline-block;
    height: 120px;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    width: 100%;
  }

}


/* notifications */

.notification {
  border: none;
}


/* content and sidebar */

.page {
  display: flex;
  flex-direction: column;
  font-size: 0.875rem; /* 14px / 16px */
  margin-top: 40px;
  padding: 0 !important;
}

.page-body,
.page-sidebar {
  margin-bottom: 40px;
  padding: 0 20px 0 20px;
}

.page-body h1:first-child {
  margin-top: 0;
}

.page-sidebar {
  max-width: 220px;
}

@media (min-width: 48rem) { /* 768px / 16px */

  .page {
    flex-direction: row;
  }

  .page-body {
    flex: 1;
  }

  .page-sidebar {
    flex: 0 0 220px;
  }

  .page-body,
  .page-sidebar {
    padding: 0 40px 0 40px;
  }

  .page-sidebar {
    padding-left: 20px;
  }

}


/* sidebar */

.sidebar-section + .sidebar-section {
  margin-top: 2rem;
}

.sidebar-section h3 {
  font-size: 1.125rem; /* 18px / 16px */
  margin-bottom: 1rem;
  margin-top: 0;
}

.sidebar-section-body {
  font-size: 0.75rem; /* 12px / 16px */
}

.sidebar-section-body--sponsor + .sidebar-section-body--sponsor  {
  margin-top: 0.5rem;
}

.sidebar-section-body--sponsor .button {
  display: block;
}

.sidebar-section-body--sponsor img {
  display: block;
  margin: 0 auto;
}

@media (min-width: 48rem) { /* 768px / 16px */

  .sidebar-section-body--sponsor {
    text-align: center;
  }
}


/* footer */

#footer {
  opacity: 0.6;
  margin-bottom: 40px;
  margin-top: 20px;
  padding: 0 20px 0 20px;
}
#footer:hover {
  opacity: 1;
}

.footer-columns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: -20px 0 20px -60px;
}
.footer-column {
  padding: 20px 0 0 60px;
}

.footer-column ol {
  margin-top: 0.5rem;
  text-align: left;
}
.footer-column li + li {
  margin-top: 4px;
}

#footer a {
  color: currentColor;
  display: inline-block;
  text-decoration: none;
}
#footer a:hover {
  background-color: #dd0000;
  border-radius: 3px;
  margin: 0 -2px;
  padding: 0 2px;
}


/* tabs */

.tabs {
  border-color: #666666;
  border-width: 0 0 0 1px;
  flex-direction: column;
}

.tabs-tab {
  border-width: 0 0 0 3px;
  font-family: Asap, sans-serif;
  font-size: 0.875rem; /* 14px / 16px */
  font-weight: 700 !important;
  margin-bottom: -2px;
  padding: 0.5rem 0.75rem;
  text-transform: uppercase;
}

.tabs-tab:hover,
.tabs-tab--current {
  border-color: #dd0000;
}

.tabs-tab:hover {
  background-color: #dd0000;
}

@media (min-width: 36rem) { /* 576px / 16px */

  .tabs {
    align-items: flex-end;
    border-width: 0 0 1px 0;
    flex-direction: row;
  }

  .tabs-tab {
    border-width: 0 0 3px 0;
  }

}


/* images and figures */

img.framed {
  box-shadow: 0 0 0 1px #666666;
  box-sizing: content-box;
}

figure img {
  height: auto;
  vertical-align: middle;
}

figcaption {
  font-size: 0.75rem; /* 12px / 16px */
  font-style: italic;
  line-height: 1.4;
  padding: 0.3rem 0.5rem;
  text-align: left;
}

figcaption small {
  font-size: 0.6875rem; /* 11px / 16px */
  opacity: 0.5;
}

figure.framed {
  display: inline-block;
  overflow: hidden;
}

figure.framed,
figure.full-width {
  background-color: #666666;
  box-shadow: 0 0 0 1px #666666;
  margin-bottom: 15px;
}

figure.framed figcaption,
figure.full-width figcaption {
  background-color: #292929;
  margin-top: 1px;
}

figure.full-width {
  margin-left: -20px;
  margin-right: -20px;
}

figure.full-width figcaption {
  padding-left: 20px;
  padding-right: 20px;
}

@media (min-width: 36rem) { /* 576px / 16px */

  figure.full-width {
    margin-left: 0;
    margin-right: 0;
  }

  figure.full-width figcaption {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

}


/* user avatars */

.avatar.orga img {
  border-radius: 50%;
}

.avatar-orga-overlay {
  background: url(orga-avatar-overlay.svg) no-repeat;
  background-size: contain;
  height: 100%;
  width: 100%;
}


/* user profile */

.user-profile-background {
  background-color: #333333;
  border-bottom-color: #dd0000;
  border-radius: 5px;
}

.user-profile .screenname {
  font-size: 1.75rem; /* 28px / 16px */
}

.user-profile .stats {
  font-size: 1.5rem; /* 24px / 16px */
}

.user-profile-header-cell-top {
  font-family: Asap, sans-serif;
  font-weight: 700 !important;
}


/* color adjustments */

.button,
.notification,
.tag {
  background-color: #333333;
  color: #ffffff;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
}

.tag {
  background-color: #dd0000;
}

.button,
.button.color-primary,
.button.color-danger,
.notification.color-danger,
.button.color-info,
.notification.color-info,
.button.color-success,
.notification.color-success,
.button.color-warning,
.notification.color-warning {
  border-color: transparent;
}

.button.color-primary {
  background-color: #dd0000;
}

.button.color-danger,
.notification.color-danger,
.tag.color-danger {
  background-color: #f44433;
}

.button.color-info,
.notification.color-info,
.tag.color-info {
  background-color: #04aff4;
}

.button.color-success,
.notification.color-success,
.tag.color-success {
  background-color: #4aaf4f;
}

.button.color-warning,
.notification.color-warning,
.tag.color-warning {
  background-color: #ffcc11;
  color: #111111;
  text-shadow: none;
}

.button--clear,
.button--outlined {
  background-color: transparent;
}
.button--clear:hover,
.button--outlined:hover {
  background-color: #333333;
  border-color: transparent;
}

.button--outlined {
  border-color: #333333;
}

.button:not(.button--disabled):not([disabled]):hover {
  opacity: 0.9;
}

.button--call-to-action {
  border-color: #dd0000 !important;
  font-weight: bold;
  white-space: normal;
}
.button--call-to-action:hover {
  background-color: #dd0000;
  opacity: 1 !important;
}


nav.breadcrumbs a {
  text-decoration: none;
}

form.unobtrusive .button,
form.unobtrusive input {
  opacity: 0.9;
}

form li.error {
  background-color: #f44433;
  border: none;
  color: #111111;
}

form li.error a {
  color: #111111;
}

.dropdown > ol {
  background-color: #111111;
  border-color: #888888;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
}

.dropdown li > a:hover {
  background-color: #dd0000;
}

.dropdown li.divider {
  border-top-color: #888888;
}

#topbar .current-user .dropdown:hover,
#topbar .current-user .dropdown.open {
  background-color: #dd0000;
  border: none;
}

table.index > tbody > tr > th,
table.index > tbody > tr > td {
  border-color: #333333;
}

table.index > thead > tr > th {
  color: #888888;
  font-weight: normal;
}

nav.pagination li a:hover,
nav.pagination li.current {
  background-color: #333333;
  border-radius: 3px;
}

a.disguised.board-category-link:hover,
a.disguised.board-topic-link:hover {
  text-decoration: none;
}

.board-category-link:hover .board-category-title strong,
.board-topic-link:hover .board-topic-title strong {
  background-color: #dd0000;
  border-radius: 3px;
}

.board-category-description,
.board-topic-initial-posting {
  color: #888888;
}

.user-comment-main header,
.user-comment-main .body {
  border-color: #888888;
}

.user-comment-main header {
  background-color: #333333;
  color: #f4f4f4;
}

.user-comment-meta-top .user-link a {
  color: #f4f4f4;
}

@media (min-width: 48rem) { /* 768px / 16px */

  .user-comment-main::after,
  .user-comment-main::before {
    border: solid transparent;
    content: ' ';
    height: 0;
    pointer-events: none;
    position: absolute;
    right: calc(100% - 1px);
    top: 47px;
    width: 0;
  }
  .user-comment-main::after {
    border-color: transparent;
    border-right-color: #111111;
    border-width: 10px;
    margin-top: -10px;
  }
  .user-comment-main::before {
    border-color: transparent;
    border-right-color: #888888;
    border-width: 11px;
    margin-top: -11px;
  }

}

.user-comment:target header {
  border-color: #dd0000;
}
.user-comment:target .user-comment-main::before {
  border-right-color: #dd0000;
}
.user-comment:target .user-comment-main .body {
  border-bottom-color: #dd0000;
  border-left-color: #dd0000;
  border-right-color: #dd0000;
}

.user-comment-actions .dropdown:hover .dropdown-toggle,
.user-comment-actions .dropdown.open .dropdown-toggle {
  background-color: #dd0000;
  border-color: #dd0000;
  border-style: solid;
  border-width: 0 0 1px 0;
  margin-bottom: -1px;
}

.user-comment blockquote {
  background-color: #333333;
  border: #888888 solid 1px;
}

.user-comment-hidden {
  background-color: #dd0000;
}

.user-badge {
  background-color: #eeeeee;
}

.user-badge-uses-ticket svg {
  height: 24px;
  width: 24px;
}


/* smileys */

.smileys {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.smileys .button {
  height: 46px;
  justify-content: center;
  line-height: 46px;
  min-width: 40px;
  padding: 2px 8px;
  vertical-align: bottom;
}
.smileys .button:hover {
  background-color: #dd0000;
}

[class^="smiley-"] {
  background-repeat: no-repeat;
  display: inline-block;
  margin: 0 1px;
}
[class^="smiley-"] span {
  display: none;
}

.smiley-ah             { background-image: url("smileys/ah.gif");             height: 32px; width:  15px; }
.smiley-cheers         { background-image: url("smileys/cheers.gif");         height: 16px; width:  57px; }
.smiley-confused       { background-image: url("smileys/confused.png");       height: 22px; width:  15px; }
.smiley-dontunderstand { background-image: url("smileys/dontunderstand.gif"); height: 15px; width:  37px; }
.smiley-gaga           { background-image: url("smileys/gaga.gif");           height: 16px; width:  23px; }
.smiley-grin           { background-image: url("smileys/grin.png");           height: 15px; width:  15px; }
.smiley-grr            { background-image: url("smileys/grr.gif");            height: 16px; width:  16px; }
.smiley-kicker         { background-image: url("smileys/kicker.png");         height: 39px; width: 102px; }
.smiley-laugh          { background-image: url("smileys/laugh.gif");          height: 25px; width:  29px; }
.smiley-love           { background-image: url("smileys/love.gif");           height: 15px; width:  15px; }
.smiley-no             { background-image: url("smileys/no.gif");             height: 19px; width:  22px; }
.smiley-ohh            { background-image: url("smileys/ohh.gif");            height: 25px; width:  37px; }
.smiley-puke           { background-image: url("smileys/puke.gif");           height: 30px; width:  64px; }
.smiley-rolleyes       { background-image: url("smileys/rolleyes.gif");       height: 15px; width:  15px; }
.smiley-rtfm           { background-image: url("smileys/rtfm.png");           height: 24px; width:  19px; }
.smiley-sad            { background-image: url("smileys/sad.gif");            height: 15px; width:  15px; }
.smiley-smile          { background-image: url("smileys/smile.png");          height: 15px; width:  15px; }
.smiley-stink          { background-image: url("smileys/stink.png");          height: 15px; width:  24px; }
.smiley-tongue         { background-image: url("smileys/tongue.png");         height: 15px; width:  15px; }
.smiley-wink           { background-image: url("smileys/wink.png");           height: 15px; width:  15px; }
.smiley-xxx            { background-image: url("smileys/xxx.gif");            height: 22px; width:  74px; }
.smiley-yes            { background-image: url("smileys/yes.gif");            height: 15px; width:  15px; }
.smiley-zap            { background-image: url("smileys/zap.gif");            height: 23px; width:  62px; }
.smiley-zzz            { background-image: url("smileys/zzz.gif");            height: 25px; width:  27px; }


/* news items */

.news-items .news-item,
.news-items .pagination {
  border-top: #666666 solid 1px;
  margin: 40px 0 0;
  padding: 40px 0 0;
}


/* media */

.video-container {
  border: #888888 solid 1px;
  height: 0;
  max-width: 100%;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}
.video-container iframe,
.video-container object,
.video-container embed {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}


/* tickets */

.ticket-card,
.ticket-card-cell + .ticket-card-cell {
  border-color: #666666;
}

.ticket-card.ticket-used-by-me,
.ticket-card.ticket-used-by-me .ticket-card-cell {
  border-color: #dd0000;
}


/* ticket count */

.ticket-count {
  font-family: Asap, sans-serif;
  font-weight: 700 !important;
  position: relative;
  text-align: center;
}

.ticket-count-sold {
  font-size: 1.75rem; /* 28px / 16px */
}

.ticket-count-total {
  font-size: 1.25rem; /* 20px / 16px */
}

.ticket-count-text {
  margin-top: -0.25rem;
}

.ticket-count-bar {
  background-color: #333333;
  border-radius: 3px;
  height: 0.5rem;
  margin-bottom: 0.5rem;
  overflow: hidden;
}

.ticket-count-bar-sold {
  background-color: #dd0000;
  height: 100%;
}

.ticket-count-overlay-soldout {
  background-color: #333333;
  box-shadow: 0 0 1px 1px #dd0000, 0 0 2px 2px #111111;
  display: inline-block;
  font-size: 0.625rem; /* 10px / 16px */
  left: 5.2rem;
  padding: 0.2rem 0.4rem;
  position: absolute;
  top: -0.5rem;
  transform: rotate(-12deg);
}


/* attendees */

.attendee-name {
  font-weight: bold;
}

.attendee-name a:not(:hover) {
  color: currentColor;
  text-decoration: none;
}


/* misc */

.pull-left {
  float: left !important;
  padding-right: 15px;
}
.pull-right {
  float: right !important;
  padding-left: 15px;
}

/* simplified/modernized "micro clearfix" */
.clearfix::after {
  clear: both;
  content: '';
  display: table;
}

ul.condensed {
  margin: 0 0 0 1em;
  padding: 0;
}

hr {
  border: 0;
  border-top: #cccccc solid 1px;
  height: 0;
}

.tag.mapcode {
  background-color: #aaaaaa;
  text-decoration: none;
}


/* print view */

@media print {
  * {
    background-color: transparent !important;
    color: #000000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  body {
    border: none;
  }

  main {
    border: none;
  }
}

