/*
	ISBA main theme styles
*/

/* ---------- Custom properties ---------- */

:root {
  color-scheme: light dark;

  /* Weights */
  --font-weight-text: normal;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-heading: 600;
  --font-weight-link: 600;
  --font-weight-label: 600;
  --font-weight-button: 600;
  --font-weight-button-link: 700;

  /* Leading */
  --font-lineheight-tallest: 1.8;
  --font-lineheight-taller: 1.65;
  --font-lineheight-normal: 1.5;
  --font-lineheight-shorter: 1.35;
  --font-lineheight-shortest: 1.2;

  /* Absolute font sizes (11-25px) */
  --font-size-minus-4: 0.73334rem;
  --font-size-minus-3: 0.8rem;
  --font-size-minus-2: 0.86666rem;
  --font-size-minus-1: 0.93333rem;
  --font-size-base: 1rem; /* 15px */
  --font-size-plus-1: 1.06666rem;
  --font-size-plus-2: 1.13333rem;
  --font-size-plus-3: 1.2rem;
  --font-size-plus-4: 1.26666rem;
  --font-size-plus-5: 1.33333rem;
  --font-size-plus-6: 1.4rem;
  --font-size-plus-7: 1.46666rem;
  --font-size-plus-8: 1.53333rem;
  --font-size-plus-9: 1.6rem;
  --font-size-plus-10: 1.66666rem;

  /* Relative font sizes */
  --font-size-smaller-2: 0.86666em;
  --font-size-smaller: 0.93333em;
  --font-size-bigger: 1.06666em;
  --font-size-bigger-2: 1.13333em;

  /* Fonts */
  --font-family-text: "Open Sans", sans-serif;
  --font-ligatures-text: normal;
  --font-lineheight-text: var(--font-lineheight-normal);
  --font-size-content: var(--font-size-base);
  --font-text: var(--font-weight-text) var(--font-size-content)/var(--font-lineheight-text) var(--font-family-text);

  --font-family-heading: "Raleway", sans-serif;
  --font-ligatures-heading: no-common-ligatures; /* Prevent "ff" ligatures */
  --font-lineheight-heading: var(--font-lineheight-shortest);
  --font-heading: var(--font-weight-heading) var(--font-size-content)/var(--font-lineheight-heading) var(--font-family-heading);

  /* Colors */
  --color-primary: #910028; /* Brand red */
  --color-primary-light: #b80235;
  --color-primary-dark: #5d0000;

  /* Based on Open Color: https://yeun.github.io/open-color/ */
  --white:   #fff;
  --gray-0:  hsl(202deg, 1%, 98%);  /* #fafafa */
  --gray-1:  hsl(202deg, 2%, 95%);  /* #f2f2f3 */
  --gray-2:  hsl(202deg, 3%, 93%);  /* #ededee */
  --gray-3:  hsl(202deg, 3%, 89%);  /* #e2e3e4 */
  --gray-4:  hsl(202deg, 6%, 83%);  /* #d1d4d6 */
  --gray-5:  hsl(202deg, 8%, 71%);  /* #afb7bb */
  --gray-6:  hsl(202deg, 11%, 56%); /* #82929b */
  --gray-7:  hsl(202deg, 14%, 44%); /* #607480 (AA) */
  --gray-8:  hsl(202deg, 17%, 31%); /* #42535d (AAA) */
  --gray-9:  hsl(202deg, 19%, 23%); /* #2d3b43 */
  --gray-10: hsl(202deg, 20%, 18%); /* #253037 */
  --gray-11: hsl(202deg, 22%, 15%); /* #1e282f */
  --gray-12: hsl(202deg, 24%, 12%); /* #182026 */
  --black:   hsl(202deg, 25%, 9%);  /* #11181d */

  --color-secondary-light: var(--gray-8); /* Brand teal #42535d */
  --color-secondary: var(--gray-9); /* Dark teal */
  --color-secondary-dark: var(--gray-10);

  --color-text-dark: var(--gray-10);   /* or test #161e22 */
  --color-text: var(--gray-9);         /* Previous: #424a52; or test #2e3f49 */
  --color-text-lighter: var(--gray-8);
  --color-text-light: var(--gray-7);   /* Previous: #42535d; or test #445c69 */

  --color-heading: var(--gray-9);

  --color-text-bright: var(--gray-1); /* For always-dark backgrounds */
  --color-text-brighter: var(--gray-0);
  --color-text-brightest: var(--white);

  --color-link: var(--color-primary);
  --color-link-light: var(--color-primary-light);
  --color-link-dark: var(--color-primary-dark);
  --color-link-hover: var(--color-primary);

  --color-button-background: var(--color-primary);
  --color-button-background-hover: var(--color-primary-light);
  --color-button-text: var(--color-text-brightest);
  --color-button-text-hover: var(--color-text-brightest);

  --color-background: var(--white);

  --color-highlight-background: var(--gray-9);
  --color-highlight-background-hover: var(--gray-8);
  --color-highlight-text: var(--color-text-bright);
  --color-highlight-link: var(--color-text-brightest);
  --color-highlight-link-hover: var(--color-text-bright);

  --color-bar-background: var(--color-primary);
  --color-bar-text: var(--color-text-brightest);

  --color-box-background: var(--gray-2);
  --color-box-background-parts: 202deg, 3%, 93%; /* For translucent boxes */
  --color-box-text: var(--color-text);
  --color-box-sep: var(--gray-1);
  --color-box-hr: var(--gray-1);
  --color-box-background-highlight: var(--gray-0);

  --color-darker-box-background: var(--gray-4);
  --color-dark-box-background: var(--gray-3);

  --color-light-box-background: var(--gray-1);
  --color-light-box-text: var(--color-text);
  --color-light-box-border: var(--gray-2);
  --color-light-box-sep: var(--gray-0);
  --color-light-box-hr: var(--gray-0);

  --color-lightest-box-background: var(--gray-0);

  --color-hr: var(--gray-4); /* Old: d3d8db */
  --color-border: var(--gray-4);
  --color-border-light: var(--gray-2);

  --color-field-background: var(--color-background);
  --color-field-border: var(--gray-4);

  --color-unpublished-background: #fff4f4;
  --color-unpublished-background-dark: #f8d7da;
  --color-unpublished-text: #721c24;

  --color-mark: #feffc8;
}

@media (prefers-color-scheme: dark) {
  :root {
    --color-text-dark: var(--gray-1);
    --color-text: var(--gray-2);
    --color-text-lighter: var(--gray-3);
    --color-text-light: var(--gray-4);

    --color-heading: var(--gray-2);

    --color-link: #7abfff;
    --color-link-light: #9ccfff;
    --color-link-dark: #57aeff;
    --color-link-hover: #7abfff;

    --color-background: var(--black);

    --color-highlight-background: var(--gray-8);
    --color-highlight-background-hover: var(--gray-7);

    --color-box-background: var(--gray-10);
    --color-box-background-parts: 202deg, 20%, 18%; /* For translucent boxes */
    --color-box-sep: var(--gray-11);
    --color-box-hr: var(--gray-11);
    --color-box-background-highlight: var(--gray-12);

    --color-darker-box-background: var(--gray-8);
    --color-dark-box-background: var(--gray-9);

    --color-light-box-background: var(--gray-11);
    --color-light-box-border: var(--gray-10);
    --color-light-box-sep: var(--black);
    --color-light-box-hr: var(--black);

    --color-lightest-box-background: var(--gray-12);

    --color-hr: var(--gray-8);
    --color-border: var(--gray-8);
    --color-border-light: var(--gray-9);

    --color-field-background: var(--color-background);
    --color-field-border: var(--gray-8);

    --color-unpublished-background: #330606;
    --color-unpublished-background-dark: #570c0c;
    --color-unpublished-text: #f4bac0;

    --color-mark: #555;
  }

  /* Dim images */
  main img:not(".no-darkmode") {
    filter: brightness(85%) contrast(115%);
  }

  /* Brighten SVG icons */
  main img[src$=".svg"]:not(".no-darkmode") {
    filter: brightness(220%) contrast(120%);
  }
  /* Except those defined with alternate images (picture > source) */
  main picture > source[media] + img[src$=".svg"] {
    filter: unset;
  }
}



/* --------------- Formatting --------------- */

html {
  font-size: 0.9375em; /* 15px base */
  line-height: var(--font-lineheight-text);
  font-family: var(--font-family-text);
  height: 100%;

  /* Prevent iOS text size adjust after orientation change */
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  min-height: 100%;
	margin: 0;
	padding: 0;
	background-color: var(--color-background);
	overflow-x: hidden;
	overflow-y: auto;
	color: var(--color-text);
	font-family: inherit;
	line-height: inherit;
}

p, ul, ol, li, dt, dd, td, th {
	line-height: var(--font-lineheight-text);
}
sup,
sub {
	font-size: var(--font-size-minus-4);
}
small > sup,
small > sub {
  font-size: var(--font-size-minus-4);
}

/* --- Links --- */
a {
	text-decoration: none;
	font-weight: var(--font-weight-link);
	color: var(--color-link);
	transition: color 0.2s, background-color 0.2s;
}
a:hover,
a:active {
	text-decoration: underline;
}

/* No color links (typically for redundant heading links) */
a.no-color {
  color: var(--color-text-dark);
}

/* Force breaks in long links */
main a {
  overflow-wrap: break-word;
  word-break: break-word;
}


/* Link button */
.button {
  display: inline-flex; /* Prevent wrapping under icon */
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	-webkit-appearance: none;
	-moz-appearance: none;
	margin: 0;
	padding: 0.8rem 2.2rem;
	cursor: pointer;
	border: none;
	border-radius: 2.14rem;
	background-image: none;
	background-color: var(--color-button-background);
	color: var(--color-button-text);
	font-size: var(--font-size-minus-1);
	font-weight: var(--font-weight-button-link);
	font-family: var(--font-family-text);
	line-height: var(--font-lineheight-shortest);
	text-decoration: none;
	letter-spacing: 0.023rem;
	text-shadow: none;
	text-transform: uppercase;
	text-align: center;
}
	.button:hover,
	.button:active {
		background-color: var(--color-button-background-hover);
		border: none;
		color: var(--color-button-text-hover);
		text-decoration: none;
	}
	.button.disabled,
	.button[disabled] {
		opacity: 0.4;
		cursor: default;
	}
	.button.disabled:hover,
	.button.disabled:active,
	.button[disabled]:hover,
	.button[disabled]:active {
		background-color: var(--color-button-background);
	}

/* Teal color */
.button-highlight {
  background-color: var(--color-highlight-background);
  color: var(--color-highlight-link);
}
.button-highlight:hover,
.button-highlight:active {
  background-color: var(--color-highlight-background-hover);
  color: var(--color-highlight-link-hover);
}

/* Font Awesome icons */
.button > svg,
.button > i.fas {
  margin-right: 0.7em;
}

.button.small {
	font-size: var(--font-size-minus-2);
}
.button.big {
	font-size: var(--font-size-plus-2);
}

/* Inline read more links */
.links > .node-readmore .fa-chevron-right {
	margin-left: 0.5em;
	font-size: var(--font-size-minus-4);
	vertical-align: baseline;
}



/* --- Paragraphs and text --- */
p {
	margin: 0 0 1.6em;
}
address {
	font-style: normal;
	margin: 0 0 1.6em;
}

blockquote { /* Just indent */
	display: block;
	margin: 0 0 2rem 2.6rem;
	padding: 0;
}

.pullquote {
	position: relative;
	display: block;
	padding: 1.1rem 1rem 1.1rem 5.2rem;
	margin: 0 0 1.6em;
	border-left: 15px solid var(--color-primary);
	font-size: var(--font-size-plus-2);
}
.pullquote::before {
  content: "\201C";
  position: absolute;
  top: 0;
  left: 1.4rem;
  display: block;
  color: var(--gray-4);
  font: bold 6rem/1 Georgia, serif;
}

blockquote p,
.pullquote p {
	margin-bottom: 0.8em;
}
blockquote > *:last-child,
.pullquote > *:last-child {
	margin-bottom: 0;
}
blockquote.rightbox { /* Within right box */
  padding: 3rem 1.4rem 1.4rem;
}

code {
	margin: 0.6em 0;
}

small,
.small {
	font-size: var(--font-size-minus-2);
}
.intro {
  font-size: var(--font-size-plus-5);
}

big,
.big {
	font-size: var(--font-size-plus-1);
}

.alignleft {
	text-align: left;
}
.aligncenter {
	text-align: center;
}
.alignright {
	text-align: right;
}
.alignjustify {
	text-align: justify;
}

/* More links (requires FontAwesome icons) */
.link-wrapper {
  margin: 2.4em 0 1.6em;
}
.more svg,
.more i.fas,
.link-wrapper svg,
.link-wrapper i.fas { /* Bottom node links */
	margin-right: 0.5em;
	vertical-align: 0;
	font-size: var(--font-size-minus-4);
}

/* More links (includes arrow icons) */
a.more,
a.back {
  display: inline-block;
}
a.more::before,
a.back::before {
  content: "";
  display: inline-block;
  position: relative;
  top: -0.05rem;
  width: 0.5em;
  height: 1em;
  margin-right: 0.45em;
  vertical-align: middle;
  background-color: var(--color-link); /* Use mask to change color in dark mode */
  -webkit-mask: url("../images/bullet-chevron-right-solid.svg") no-repeat 0 50%;
  mask: url("../images/bullet-chevron-right-solid.svg") no-repeat 0 50%;
}
a.back::before { /* Flip image */
  transform: scaleX(-1);
}


mark {
  background-color: var(--color-mark);
  padding: 0.15em 0.4em;
  color: var(--color-text);
  border-radius: 0.1em;
}

.highlight {
	font-weight: var(--font-weight-semibold);
}
strong.highlight,
b.highlight,
.highlight strong,
.highlight b {
	font-weight: var(--font-weight-bold);
}


/* CKEditor indentation */
.rteindent1,
.indented {
	margin-left: 2rem;
}
.rteindent2 {
	margin-left: 4rem;
}
.rteindent3 {
	margin-left: 6rem;
}
.rteindent4 {
	margin-left: 8rem;
}

/* IBJ styles */
.scopenote {
	font-size: var(--font-size-plus-4);
	line-height: var(--font-lineheight-shorter);
}
p.scopenote {
  margin-bottom: 1.5em;
}

.dropcap::first-letter {
  float: left;
  font-size: 2.5em;
  line-height: 0.4;
  padding-top: 0.3em;
  padding-right: 0.15em;
  padding-left: 0.1em;
}

.author {
	margin: 0 0 1.4em;
	padding-top: 1.4em;
	border-top: 3px solid var(--color-hr);
	color: var(--color-text);
}
.author p {
  margin: 0;
  color: var(--color-text);
}

.footnotes {
	margin: 0 0 1.5em;
	padding-top: 1.4em;
	border-top: 3px solid var(--color-hr);
	color: var(--color-text);
	font-size: 92.8%;
}
.footnotes p {
  margin-bottom: 0.3em;
  color: var(--color-text);
}


/* Deprecated large box style (just use regular box) */
.box-large {
  margin: 0 0 1.8rem;
  padding: 1.4rem;
  border: 3px solid var(--color-hr);
  background-color: var(--color-box-background);
  color: var(--color-box-text);
  font-size: var(--font-size-plus-3);
}
.box-large > *:last-child {
  margin-bottom: 0;
}


/* Newsletter footnotes */
sup.footnote {
  padding-left: 0.2em;
}
sup.footnote > a:hover {
  text-decoration: none;
  color: var(--color-text);
}

.footnote-details div[data-popper-arrow],
.footnote-details div[data-popper-arrow]::before {
  position: absolute;
  width: 8px;
  height: 8px;
  z-index: -1;
}
.footnote-details div[data-popper-arrow]::before {
  content: "";
  transform: rotate(45deg);
  background: #333;
}

.footnote-details {
  display: inlne-block;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
  border-radius: 3px;
  background-color: rgba(0, 0, 0, 0.8);
  color: var(--color-text-brightest);
  line-height: var(--font-lineheight-shortest);
  white-space: normal;
  cursor: default;
  font-weight: bold;
  font-size: var(--font-size-minus-2);
}
/* Toggle visibility */
.footnote-details {
  display: none;
}
.footnote-details[data-show] {
  display: block;
}


/* Sponsored content bar */
.sponsored {
  margin: 0 0 1.4rem;
  padding: 0.8rem 1rem;
	background-color: var(--color-box-background);
	color: var(--color-box-text);
  text-align: center;
  font: var(--font-heading);
  font-variant-ligatures: var(--font-ligatures-heading);
  font-size: var(--font-size-plus-4);
}


/* Membership visibility classes (mutually exclusive: anonymous or logged-in non-members or logged-in members) */
body:not(.is-member):not(.cke_editable) .members-only,
body.not-logged-in:not(.cke_editable) .members-only {
	display: none;
}
body.cke_editable .members-only { /* CKEditor support */
  outline: 2px dotted #cc9597;
  background-color: #ffddd8;
}

body.is-member:not(.cke_editable) .not-member,
body.not-logged-in:not(.cke_editable) .not-member {
	display: none;
}
body.cke_editable .not-member {
  outline: 2px dotted #abce72;
  background-color: #d4edda;
}

body.logged-in:not(.cke_editable) .anonymous {
	display: none;
}
body.cke_editable .anonymous {
  outline: 2px dotted #a0cfdf;
  background-color: #e2f9ff;
}

@media (prefers-color-scheme: dark) {
  body.cke_editable .members-only,
  body.cke_editable .not-member,
  body.cke_editable .anonymous {
    color: #000;
  }
}


/* --- Images --- */

img {
  max-width: 100%;
  height: auto;
}
a img {
	border: none;
}

/* Floating images */
.floatleft {
	clear: left;
	float: left;
	margin: 0 1em 1em 0;
}
.floatright {
	clear: right;
	float: right;
	margin: 0 0 1em 1em;
}

/* Prevent floating on smaller columns; added by script */
.floatleft.no-float,
.floatright.no-float,
.photo.floatleft.no-float,
.photo.floatright.no-float {
  display: block;
  float: none;
  margin: 0 auto 1.5em;
}
.columns > *:last-child > .no-float:last-child,
.columns > * > *:last-child > .no-float:last-child {
  margin-bottom: 1.5em;
}

figure /* Limit caption width */ {
	display: table;
	margin-left: 0;
	margin-right: 0;
}
figure.image.cke_widget_element { /* CKEditor reset size */
	display: table;
}
body.cke_editable .cke_widget_wrapper.cke_widget_inline.cke_widget_image { /* CKEditor fix for image wrapper */
	display: inline;
}

	/* Allow for centering figures */
	.aligncenter figure,
	.aligncenter figure.image.cke_widget_element,
	figure.aligncenter,
	figure.aligncenter.image.cke_widget_element {
		width: auto;
		margin-left: auto;
		margin-right: auto;
	}

figure.floatright.no-float,
figure.floatleft.no-float {
  display: table;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* Document icons */
a[href$=".pdf"]::after,

/* Illinois court PDF downloads */
a[href*="illinoiscourts.gov/resources"][href$="/opinion"]::after,
a[href*=".uscourts.gov/cgi-bin/rssExec"]::after,

a[href$=".doc"]::after,
a[href$=".docx"]::after,
a[href$=".xls"]::after,
a[href$=".xlsx"]::after,
a[href$=".ppt"]::after,
a[href$=".pptx"]::after,
a[href$=".wpd"]::after,
a[href$=".wp5"]::after {
  content: "";
  display: inline-block;
  width: calc(16em / 14);
  height: calc(16em / 14);
  margin: 0 0.3em 0 0.38em;
  vertical-align: baseline;
  transform: translateY(0.2em);
  background-size: contain;
  background-repeat: no-repeat;
  -webkit-print-color-adjust: exact; /* Print background images */
  color-adjust: exact;
}

a[href$=".pdf"]::after,
a[href*="illinoiscourts.gov/resources"][href$="/opinion"]::after,
a[href*=".uscourts.gov/cgi-bin/rssExec"]::after {
	background-image: url("https://media.isba.org/drupal/isba2018/icon-pdf.svg");
}
a[href$=".doc"]::after,
a[href$=".docx"]::after {
	background-image: url("https://media.isba.org/drupal/isba2018/icon-word.svg");
}
a[href$=".xls"]::after,
a[href$=".xlsx"]::after {
	background-image: url("https://media.isba.org/drupal/isba2018/icon-excel.svg");
}
a[href$=".ppt"]::after,
a[href$=".pptx"]::after {
	background-image: url("https://media.isba.org/drupal/isba2018/icon-powerpoint.svg");
}
a[href$=".wpd"]::after,
a[href$=".wp5"]::after {
	background-image: url("https://media.isba.org/drupal/isba2018/icon_wpd.png");
}

a.no-icon::after { /* Manually remove document icon */
	content: none;
	margin: 0;
	background: none;
}
.field-icon-application-pdf { /* Delete filefield icons */
	display: none;
}


/* Documents list (similar to .box) */
.node .content .field-name-field-documents {
	clear: both;
	display: inline-block;
	margin: 2rem 0 1rem;
	padding: 1.4rem;
	background-color: var(--color-box-background);
	border: none;
}
.node .content .field-name-field-documents::after { /* Clear after floats */
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.node .content .field-name-field-documents .field-items > .field-item {
	margin: 0 0 1em;
	line-height: var(--font-lineheight-shorter);
}
.node .content .field-name-field-documents .field-items > .field-item:last-child {
  margin-bottom: 0;
}

.node .content .field-name-field-documents .file .file-icon { /* Hide file list document icons */
	display: none;
}


/* *** Still needed? */
img.photo,
.photo img /* Rounded corner photos */ {
	position: relative;
	padding: 0;
	border: 1px solid var(--gray-6);
	background-color: var(--gray-6);
	border-radius: 6px;
	box-shadow: 3px 3px 6px 0 rgba(0, 0, 0, 0.38);
}
.photo img {
	display: block;
}
	.aligncenter .photo img {
	  margin-left: auto;
	  margin-right: auto;
	}

/* CKEditor fix for intro photo */
body.cke_editable .intro .cke_widget_image {
	display: block;
}

.photo.floatleft {
	margin: 0 1em 0.9em 0;
}
.photo.floatright {
	margin: 0 0 0.8em 0.9em;
}


/* Dynamic image captions (uses alt text from img.captioned) */
.caption-wrap {
	display: block;
	margin-bottom: 1em;
}
.aligncenter > .caption-wrap {
  margin: 0 auto;
  text-align: left;
}

figcaption,
.caption-wrap .caption-text {
	display: table-caption;
	caption-side: bottom;
	margin: 7px 4px;
	color: var(--color-text-light);
	font-size: var(--font-size-minus-2);
	line-height: var(--font-lineheight-shorter);
}

a .caption-wrap > .caption-text {
  color: var(--color-link);
	text-decoration: none;
	cursor: pointer;
}

.caption-wrap > img {
	clear: none;
	display: block;
	float: none;
	margin: 0;
	padding: 0;
}


/* Badges */
.badge {
	display: inline-block;
	min-width: 10.9em;
	margin-bottom: 1.1em;
	padding: 8px 13px 8px 41px;
	border: 1px solid var(--color-border-light);
	border-radius: 18px;
	background: var(--color-lightest-box-background) none no-repeat 9px 50%;
	font-weight: var(--font-weight-bold);
}

.badge-probono {
	background-image: url("https://media.isba.org/drupal/isba2018/badge_probono.png");
	background-size: 24px auto;
	background-position: 9px 50%;
  -webkit-print-color-adjust: exact; /* Print background images */
  color-adjust: exact;
}

a.badge {
	transition: background-color 0.05s linear;
}
a.badge:hover {
  border-color: var(--color-light-box-border);
  background-color: var(--color-light-box-background);
  text-decoration: none;
}

.group .badge /* On gray background */ {
	border-color: var(--color-border);
	background-color: var(--color-background);
}
.group a.badge:hover {
  border-color: var(--color-border);
  background-color: var(--color-light-box-background);
}



/* --- Separators --- */

hr {
	background-color: var(--color-hr);
	height: 3px;
	margin: 2.5rem 0;
	padding: 0;
	border-width: 0;
	overflow: hidden;
}

hr.light {
	background-color: var(--color-border-light);
	height: 1px;
}

/* *** Still needed? */
hr.break /* Larger break */ {
	margin: 2.5em 0 2em;
}


/* --- Headings --- */

h1, h2, h3, h4, h5, h6, .subheading {
	margin: 0 0 0.6em;
	padding: 0;
	color: var(--color-heading);
  font: var(--font-heading);
  font-variant-ligatures: var(--font-ligatures-heading);
}

/* 48px */
h1,
h2.big {
	margin-bottom: 0.5em;
}
h1,
h2.big,
h2 big,
h2 .big {
	font-size: 3.2rem;
}

/* 32px */
h2,
h3.big,
.subheading, /* For older IBJ articles */
h3 big,
h3 .big {
	font-size: 2.13333rem;
}

/* 24px */
h3,
h2.small,
h2 small,
h2 .small,
h4.big,
h4 big,
h4 .big {
	font-size: var(--font-size-plus-9);
}

/* 20px */
h4,
h3.small,
h3 small,
h3 .small,
h5.big,
h5 big,
h5 .big {
	font-size: var(--font-size-plus-5);
}

/* 17px */
h5,
h4.small,
h4 small,
h4 .small,
h6.big,
h6 big,
h6 .big {
	font-size: var(--font-size-plus-2);
}

/* 15px */
h6,
h5.small {
	margin-bottom: 0.2em;
}
h6,
h5.small,
h5 small,
h5 .small {
	font-size: var(--font-size-base);
}


/* Heading bar */
h2.bar {
	margin: 0 0 1.4rem;
	padding: 1em 1.4rem;
	background-color: var(--color-bar-background);
	color: var(--color-bar-text);
	font-size: var(--font-size-plus-6);
}
h2.bar a {
	color: var(--color-bar-text);
  text-decoration: underline;
}
h2.bar a:hover {
  text-decoration: none;
}
h2.bar > svg,
h2.bar > i.fas { /* Font Awesome icons */
  margin-right: 0.7em;
  font-size: var(--font-size-minus-2);
  vertical-align: baseline;
}


/* Title prefixes (not title banners) */
.title-prefix {
  display: block;
  margin: 0;
	font-size: var(--font-size-plus-5);
}


/* Wrap long headings */
/* *** Move to mobile styles only on https://new.isbadev.org/leadership */
@media (max-width: 767px) {
  main h2,
  main h3 {
    overflow-wrap: break-word;
    word-break: break-word;
  }
}


/* --- Lists --- */

ul,
.item-list ul,
ul.menu {
	margin: 0 0 2em;
	padding: 0;
	list-style-type: none;
	list-style-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7'%3E%3Ccircle cx='3.2' cy='2.4' r='2.2' fill='%23910028'/%3E%3C/svg%3E");
}
@media (prefers-color-scheme: dark) {
  ul,
  .item-list ul,
  ul.menu {
  	list-style-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7'%3E%3Ccircle cx='3.2' cy='2.4' r='2.2' fill='%23e2e3e4'/%3E%3C/svg%3E");
  }
}

ul > li,
.item-list ul > li,
ul.menu > li {
  margin: 0 0 0.8em 1.1em;
  padding: 0;
  list-style-type: none;
}

li > ol,
li > ul {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}

ul.links > li /* Inline links */ {
	background-image: none;
	padding-left: 0;
	margin: 0 1em 0 0;
}
	ul.links > li:last-child {
		margin-right: 0;
}

ul.simple > li /* No bullets */ {
	list-style:none;
	margin-left: 0;
}

/* Drupal contextual links */
ul.contextual-links {
	list-style: none;
}
ul.contextual-links > li {
	margin: 0 !important;
	padding: 0;
}
ul.contextual-links > li > a {
	text-transform: none;
	font-weight: normal !important;
}

/* Block lists */
ul.link-list,
div.link-list ul:not(.contextual-links):not(.links) {
  margin: 0 0 1.8em;
  padding: 0;
  list-style: none;
}

ul.link-list > li,
div.link-list ul:not(.contextual-links):not(.links) > li {
  margin: 0;
  padding: 20px 0;
  list-style: none;
  border-bottom: 1px solid var(--color-border);
}

ul.link-list > li:not(:first-child),
div.link-list ul:not(.contextual-links):not(.links) > li:not(:first-child) { /* Overlap previous border, except for first child */
  border-top: 1px solid var(--color-border);
  margin-top: -1px;
}

/* Entire list item is clickable through script; stretch edges upon hover */
ul.link-list > li.hover,
div.link-list ul:not(.contextual-links):not(.links) > li.hover {
  margin-left: -30px;
  margin-right: -30px;
  padding-left: 30px;
  padding-right: 30px;
  background-color: var(--color-light-box-background);
  cursor: pointer;
}
@media (max-width: 414px) { /* Reduced edge padding on mobile */
  ul.link-list > li.hover,
  div.link-list ul:not(.contextual-links):not(.links) > li.hover {
    margin-left: -20px;
    margin-right: -20px;
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* Alternate stretching size within rightbox */
.rightbox ul.link-list > li.hover,
.rightbox div.link-list ul:not(.contextual-links):not(.links) > li.hover {
  margin-left: -1.4rem;
  margin-right: -1.4rem;
  padding-left: 1.4rem;
  padding-right: 1.4rem;
}

ul.link-list > li .link a,
ul.link-list > li a.link,
div.link-list ul > li .link a,
div.link-list ul > li a.link,
ul.link-list > li .link > span {
  display: block;
  margin: 0 0 0.7em;
  font: var(--font-heading);
  font-variant-ligatures: var(--font-ligatures-heading);
	font-size: var(--font-size-plus-2);
}
ul.link-list > li.hover .link a:hover,
ul.link-list > li.hover a.link:hover,
div.link-list ul > li.hover .link a:hover,
div.link-list ul > li.hover a.link:hover {
  text-decoration: none;
}

/* Remove extra bottom whitespace */
ul.link-list > li > *:last-child,
ul.link-list > li > *:last-child > *:last-child,
ul.link-list > li > *:last-child > *:last-child > *:last-child,
div.link-list ul:not(.contextual-links):not(.links) > li > *:last-child {
  margin-bottom: 0;
}

/* Separator pipe */
.link-list .sep {
  font-size: var(--font-size-minus-2);
  color: var(--color-text-light);
}
.link-list .field-content .sep { /* Nested pipes */
  font-size: inherit;
}

ul.link-list > li::after,
div.link-list ul:not(.contextual-links):not(.links) > li::after { /* Clear after floats */
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}


/* Checkbox lists */
ul.checkmarks {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  grid-gap: 0 1.2em;
  justify-items: start;
  align-items: start;
  list-style-image: none;
  font-size: var(--font-size-plus-2);
}
ul.checkmarks > li {
  position: relative;
  min-height: 38px;
  margin-left: 0;
  padding-top: 14px;
  padding-left: 57px;
}
ul.checkmarks > li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  height: 52px;
  width: 52px;
  background-image: url("https://media.isba.org/drupal/isba2018/bullet-check.svg");
  background-size: contain;
  background-repeat: no-repeat;
  -webkit-print-color-adjust: exact; /* Print background images */
  color-adjust: exact;
}

ul.checkmarks > li.unchecked::before {
  background-image: url("https://media.isba.org/drupal/isba2018/bullet-no-check.svg");
}


/* Icon lists */
ul.icons {
  margin: 0 0 2rem;
  padding: 0;
  list-style-image: none;
}

ul.icons > li {
  position: relative;
  margin: 0 0 1.5rem;
  padding: 0.4rem 0 0 75px;
}
  ul.icons > li::after { /* Clear after floats */
    content: "";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
  }

/* Icon must have .icon or be within a heading; <i> support for CKEditor */
ul.icons > li h2 img,
ul.icons > li h2 svg,
ul.icons > li h3 img,
ul.icons > li h3 svg,
ul.icons > li h4 img,
ul.icons > li h4 svg,
ul.icons > li img.icon,
ul.icons > li svg.icon,
ul.icons > li i.icon {
  position: relative;
  display: block;
  float: left;
  margin: 0 0 1.5rem -75px;
  width: 60px;
  height: auto;
  max-height: 60px; /* Prevent tall icon blow-out */
}

/* FontAwesome icons */
ul.icons > li h2 svg,
ul.icons > li h3 svg,
ul.icons > li h4 svg,
ul.icons > li svg.icon,
ul.icons > li i.icon {
  font-size: 27px;
}

ul.icons.large > li { /* Larger icons */
  padding-left: 115px;
}
ul.icons.large > li h2 img,
ul.icons.large > li h3 img,
ul.icons.large > li h4 img,
ul.icons.large > li img.icon {
  margin-left: -115px;
  width: 100px;
  max-height: 100px; /* Prevent tall icon blow-out */
}

ul.icons.lower > li { /* Push down text; closer to vertically centered icons */
  padding-top: 1.2rem;
}
ul.icons.lower > li h2 img,
ul.icons.lower > li h3 img,
ul.icons.lower > li h4 img,
ul.icons.lower > li img.icon {
  margin-top: -1.2rem;
}

ul.icons.circles > li { /* Icons within circles */
  padding-top: 0.3rem;
}
ul.icons.circles > li::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  background-color: var(--color-box-background);
  border-radius: 40px;
}

ul.icons.circles > li h2 img,
ul.icons.circles > li h3 img,
ul.icons.circles > li h4 img,
ul.icons.circles > li img.icon {
  width: 40px;
  max-height: 40px; /* Prevent tall icon blow-out */
  margin-top: -0.3rem;
  padding: 10px;
}


/* Fallback flexbox for IE grid design */
ul.icons.grid {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
}
ul.icons.grid > * {
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: calc(50% - 1em - 75px); /* 2 columns */
}
.columns ul.icons.grid > * { /* Collapse flexbox with columns */
  min-width: 90px;
}

/* Grid support */
@supports (display: grid) {
  ul.icons.grid {
    display: grid;
    grid-template-columns: repeat(2, 50%);
    grid-gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .columns ul.icons.grid > * { /* Undo flexbox */
    min-width: auto;
  }
}

ul.icons.grid > li {
  padding-right: 1em;
  line-height: var(--font-lineheight-shorter);
}

/* Collapse grid within columns */
@media (min-width: 768px) and (max-width: 1024px) {
  .columns ul.icons.grid {
    grid-template-columns: repeat(1, 100%);
  }
}
@media (max-width: 550px) {
  .columns ul.icons.grid {
    grid-template-columns: repeat(1, 100%);
  }
}

ul.icons h2,
ul.icons h3,
ul.icons h4,
ul.icons h5 {
  margin-bottom: 0.4em;
}


/* Wrapping lists */
ul.columns-two,
div.columns-two {
	columns: 2 3rem;
}
ul.columns-three,
div.columns-three {
	columns: 3 3rem;
}
ul.columns-two > *,
div.columns-two > *,
ul.columns-three > *,
div.columns-three > * /* Prevent break within list item */ {
	-webkit-column-break-inside: avoid;
	-moz-break-inside: avoid-column;
	page-break-inside: avoid;
	break-inside: avoid;
	break-inside: avoid-column;
}

@media (max-width: 640px) {
  ul.columns-two,
  div.columns-two,
  ul.columns-three,
  div.columns-three {
    columns: auto;
  }
}


/* Ordered lists */
ol {
	margin: 0 0 2em 33px;
	padding-left: 0;
}
ol > li {
  margin-bottom: 0.8em;
	background-image: none;
}
ol.upper-alpha > li {
	list-style-type: upper-alpha;
}
ol.upper-roman > li {
	list-style-type: upper-roman;
}
ol.lower-alpha > li {
	list-style-type: lower-alpha;
}
ol.lower-roman > li {
	list-style-type: lower-roman;
}


/* Definition lists */
dl {
	margin: 0 0 2em;
}
dl > dt {
  display: block;
  margin: 1em 0 0;
  padding: 0;
  font-weight: var(--font-weight-semibold);
}
dl > dd {
  margin: 0.1em 0 0;
  padding: 0;
}


/* --- Drupal pagination --- */

.item-list .pager {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0.4em 0.6em;
  margin: 2rem 0;
  border-top: 1px solid var(--color-hr);
  padding-top: 2rem;
  list-style: none;
  font-size: var(--font-size-plus-1);
}
.item-list .pager li {
  display: block;
  margin: 0;
  padding: 0;
}
.item-list .pager li > a {
  padding: 0.2em 0.6em;
}
.item-list .pager li[aria-current] {
  padding: 0.2em 0.7em;
  border-radius: 1.8em;
  background-color: var(--color-highlight-background);
  color: var(--color-highlight-text);
}


/* --- Tab panels --- */

div.tabs-links {
  margin: -1em 0 2.8em;
  padding: 1.5em 0 0;
  overflow-y: hidden;
}

div.tabs-links > ul {
  display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: stretch;
  margin: 0;
  border-bottom: 1px solid var(--color-hr);
  padding: 0 1em;
}

.tabs-links.space-evenly > ul {
	justify-content: space-evenly;
}
.tabs-links.center > ul {
	justify-content: center;
}

.tabs-links ul > li {
  margin: 0 1em -1px;
  padding: 1em 2em;
  border: 1px solid transparent;
  list-style: none;
  text-align: center;
  cursor: pointer;
}
.tabs-links ul > li.hover {
  box-shadow: 0 5px 30px 0 rgba(0, 0, 0, 0.08);
}

.tabs-links ul > li.active {
  border-color: var(--color-border);
  border-bottom-color: var(--color-background);
  box-shadow: 0 5px 30px 0 rgba(0, 0, 0, 0.1);
}
.tabs-links ul > li a:hover {
  text-decoration: none;
}

.tabs-links ul > li p {
  margin-bottom: 0.5em;
  text-align: center;
}
.tabs-links ul > li div {
  text-align: center;
}
.tabs-links ul > li > *:last-child,
.tabs-links ul > li > *:last-child > *:last-child {
  margin-bottom: 0;
}

/* Checkmark tabs */
.tabs-links ul.checkmarks > li {
  min-height: 0;
  padding: 1em 1.4em 1em 3.9em;
}
.tabs-links ul.checkmarks > li::before {
  top: 1px;
  left: 0.7em;
}
.tabs-links ul.checkmarks > li:not(.active)::before {
  background-image: url("https://media.isba.org/drupal/isba2018/bullet-no-check.svg");
}



dl.tabs {
  margin: 0 0 2em;
  padding: 0 0 1em;
}

/* Links */
dl.tabs > dt {
  margin: 0 0 0.9em;
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit;
	font-family: inherit;
}
dl.tabs > dd + dt { /* Space between collapsed buttons */
  margin-top: 2em;
}

dl.tabs > dt button.toggle {
  margin: 0 0 0.6em;
  padding: 0;
	border: none;
	border-radius: 0;
	letter-spacing: inherit;
	text-shadow: inherit;
	background: none;
	color: var(--color-link);
	font-weight: var(--font-weight-button);
	font-size: inherit;
	line-height: inherit;
	font-family: inherit;
	text-align: inherit;
	transition: color 0.2s;
}
dl.tabs > dt button.toggle h2,
dl.tabs > dt button.toggle h3,
dl.tabs > dt button.toggle h4,
dl.tabs > dt button.toggle h5,
dl.tabs > dt button.toggle h6 {
  position: relative;
  top: 0.2rem; /* Align with arrow */
  margin: 0;
	color: var(--color-link);
	transition: color 0.2s;
}
dl.tabs > dt button.toggle:hover,
dl.tabs > dt button.toggle:hover h2,
dl.tabs > dt button.toggle:hover h3,
dl.tabs > dt button.toggle:hover h4,
dl.tabs > dt button.toggle:hover h5,
dl.tabs > dt button.toggle:hover h6 {
	color: #b0384b;
}

dl.tabs > dt button.toggle * {
  display: inline-block;
}

/* Carrot icon */
dl.tabs > dt button.toggle i,
dl.tabs > dt button.toggle svg {
  position: relative;
  top: 0.2rem; /* Vertically center arrow */
  margin-right: 0.55rem;
  font-size: var(--font-size-plus-9);
  will-change: transform;
  transition: transform 0.15s;
}
dl.tabs > dt.open button.toggle i,
dl.tabs > dt.open button.toggle svg {
  transform: rotate(90deg) translateX(1px) translateY(2px);
}
@media (prefers-reduced-motion: reduce) {
  dl.tabs > dt button.toggle i,
  dl.tabs > dt button.toggle svg {
    transition: none;
  }
}

/* Tab content panel */
dl.tabs > dd {
  margin: 0 0 2.6em 1.5rem;
}
@media (max-width: 767px) {
  dl.tabs > dd { /* Remove left padding on mobile */
    margin-left: 0;
  }
}

dl.tabs > dd::after { /* Clear after floats */
  content: "";
  display: block;
  clear: both;
  visibility: hidden;
}
dl.tabs > dd > *:last-child { /* Reduce bottom padding */
  margin-bottom: 0;
}
dl.tabs > dd:last-child { /* Last item */
  padding-bottom: 0;
  border-bottom: 0;
}



/* ----- Disclosures ----- */

details {
  margin: 0 0 2rem;
  padding: 0 0 0 1.4rem;
}
details.box { /* Is a box: add extra indentation */
  padding-left: 2.8rem;
}

details > summary {
  display: block;
  list-style: none;
  margin: 0 0 0 -1.4rem;
  padding: 0 0 0 1.4rem;
  cursor: pointer;
  font: var(--font-heading);
  font-variant-ligatures: var(--font-ligatures-heading);
  font-size: var(--font-size-plus-2); /* <h5> equivalent */
  transition: color 0.2s;
}

details[open] > summary {
  margin-bottom: 1.2rem;
}

/* Change marker for better spacing control */
details summary::-webkit-details-marker,
details summary::marker {
  display: none;
}
details > summary::before {
  content: "\25BC";
  transform: rotate(-90deg);
  display: inline-block;
  width: 0.8rem;
  margin: 0 0.6rem 0 -1.4rem;
  vertical-align: middle;
  font-size: var(--font-size-minus-1);
  will-change: transform;
  transition: transform 0.15s;
}
details[open] > summary::before {
  transform: rotate(0deg) translateY(-1px);
}

details:not([open]) > summary {
  color: var(--color-link);
  transition: color 0.2s;
}
details:not([open]) > summary:hover {
	color: var(--color-link-light);
}

/* Custom options */
details > summary.plain,
p.plain-summary { /* Text appear same as summary */
  color: var(--color-text);
  font-weight: var(--font-weight-semibold);
  font-family: var(--font-family-text);
  font-size: var(--font-size-plus-1);
  line-height: var(--font-lineheight-text);
  font-variant-ligatures: var(--font-ligatures-text);
}

details > summary.small {
  font-size: var(--font-size-base);
}
details > summary.big,
details > summary *.big {
  font-size: var(--font-size-plus-5); /* <h4> equivalent */
}

/* Summary content */
details > summary > * {
  display: inline;
  margin-top: 0;
  margin-bottom: 0;
}
details > summary > :is(h2, h3, h4, h5, h6) {
  vertical-align: middle;
  color: inherit;
}

details > *:last-child { /* Reduce bottom padding */
  margin-bottom: 0;
}

/* Additional "read more" button: use data-suffix */
details:not([open]) > summary[data-suffix]::after {
  content: attr(data-suffix);
  display: block;
  max-width: max-content;
  margin: 0.3em 0 0;
  padding: 0.25em 0.75em;
  white-space: nowrap;
  background-color: var(--color-light-box-background);
  border-radius: 2.14rem;
  box-shadow: inset 1px 1px 1px rgb(0 0 0 / 0.03);
  letter-spacing: 0.023rem;
  text-transform: uppercase;
  font-size: var(--font-size-minus-4);
  font-weight: var(--font-weight-button-link);
  color: var(--color-link);
  transition: color 0.2s;
}
details:not([open]) > summary[data-suffix]:hover::after {
  box-shadow: none;
  color: var(--color-link-light);
}


/* Expand/collapse all widget */
.details-all {
  display: flex;
  flex-flow: row wrap;
  max-width: max-content;
  gap: 3px;
  margin: 0 0 2rem;
  color: var(--color-light-box-text);
  border: none;
}
@media print {
  .details-all {
    display: none;
  }
}

.details-open-all,
.details-close-all {
  display: inline-flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0.6rem 1rem;
  background-color: var(--color-box-background);
  cursor: pointer;
  border: none;
  color: var(--color-link);
  font-size: var(--font-size-plus-1);
  font-weight: var(--font-weight-link);
  font-family: var(--font-family-text);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s, opacity 0.4s;
}
.details-open-all {
  border-radius: 2.14rem 0 0 2.14rem;
}
.details-close-all {
  border-radius: 0 2.14rem 2.14rem 0;
}

.details-open-all:not([disabled]):hover,
.details-close-all:not([disabled]):hover,
.details-open-all:not([disabled]):active,
.details-close-all:not([disabled]):active {
  background-color: var(--color-darker-box-background);
  color: var(--color-link-light);
  text-decoration: none;
}

.details-open-all::before {
  content: "\25BC";
  display: inline-block;
  margin: 0 0.5rem 0 0;
  vertical-align: middle;
  font-size: var(--font-size-minus-1);
}
.details-close-all::before {
  content: "\25BC";  /* 25B6 appears differently on iOS */
  transform: rotate(-90deg);
  display: inline-block;
  margin: 0 0.4rem 0 0;
  vertical-align: middle;
  font-size: var(--font-size-minus-1);
}

/* Disabled state */
.details-open-all[disabled],
.details-close-all[disabled] {
  opacity: 0.5;
}

/* Toggle animation */
.details-open-all[disabled]::before {
  animation: 0.3s disclosureOpenAllToggle ease 1;
}
.details-close-all[disabled]::before {
  animation: 0.3s disclosureCloseAllToggle ease 1;
}

@keyframes disclosureOpenAllToggle {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(0.3em);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes disclosureCloseAllToggle {
  0% {
    transform: translateX(0) rotate(-90deg);
  }
  50% {
    transform: translateX(0.3em) rotate(-90deg);
  }
  100% {
    transform: translateX(0) rotate(-90deg);
  }
}


/* --- Help tooltip --- */

/* Previous sibling */
:is(h2, h3, h4, h5, h6):has(+ details.tooltip) {
  display: inline-block;
}
.tooltip-sibling { /* Alternate class for older browsers */
  display: inline-block;
}

details.tooltip {
  position: relative;
  display: inline-block;
  margin: 0 0.5rem 0.6rem;
  padding: 0;
  color: var(--color-text);
  font: var(--font-text); /* Default to plain text */
  font-variant-ligatures: var(--font-ligatures-text);
  font-size: var(--font-size-minus-1);
}
details.tooltip > summary {
  margin: 0;
  padding: 0;
  color: var(--color-link);
  font: var(--font-text);
  font-variant-ligatures: var(--font-ligatures-text);
}
details.tooltip[open] > summary {
  margin: 0;
}

details.tooltip > summary > svg {
  height: 1.1em; /* Font Awesome icon */
}

details.tooltip > summary:hover {
  color: var(--color-link-light);
}

/* Hide triangle marker */
details.tooltip > summary::before {
  content: none;
}

/* Swap images upon toggle */
details.tooltip:not([open]) > summary .tooltip-open,
details.tooltip[open] > summary .tooltip-closed {
  display: none;
}

/* Tip contents */
details.tooltip[open] > div {
  position: absolute;
  z-index: 2;
  display: block;
  top: 1.6rem;
  left: -1rem;
  width: 320px;
  max-width: calc(90vw - 2.2em);
  padding: 1.1em;
  box-shadow: 1px 1px 2px #666;
  border-radius: 3px;
  background-color: var(--gray-8);
  color: var(--color-text-brightest);
}

details.tooltip[open] > div p,
details.tooltip[open] > div ul {
  margin-bottom: 1.2em;
}
details.tooltip[open] > div > *:last-child {
  margin-bottom: 0;
}


/* --- Forms --- */
form {
	margin: 0;
	padding: 0;
}
form .processing-mark { /* Spinning FontAwesome icon */
  display: block;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 0.95rem;
  right: 0.95rem;
  color: var(--color-text);
  font-size: var(--font-size-plus-9);
	transition-property: opacity, visibility;
	transition-duration: 0.2s, 0s;
	transition-delay: 0s, 0.2s;
}
form.group-inline .processing-mark {
  top: 1.45rem;
}
  form.processing {
    position: relative;
  }
  form.processing .processing-mark {
		opacity: 1;
		visibility: visible;
		transition-delay: 0s, 0s;
	}

.form-item {
  margin-top: 1em;
  margin-bottom: 1.6em;
}

label.option { /* Checkbox/radio button labels */
	vertical-align: middle;
}
label:not(.option) {
  clear: both;
  display: block;
	margin-bottom: 0.25em;
	color: var(--color-text-dark);
	font-size: var(--font-size-plus-1);
	font-weight: var(--font-weight-label);
}

button {
  cursor: pointer;
}

/* Scroll snap validation errors below sticky header */
input:invalid,
select:invalid,
textarea:invalid {
  scroll-margin-top: var(--sticky-header-offset, 0px);
}


/* Other radio buttons */
input[type="checkbox"] + label,
input[type="radio"] + label {
  clear: none;
  display: inline-block;
}
.form-checkboxes input[type="checkbox"] + label,
.form-checkboxes input[type="radio"] + label { /* Fix wrapping for lists of multiple checkboxes */
  display: inline;
}

.description,
.form-item .description {
  clear: both;
	margin: 0.25em 0 0.75em;
	line-height: var(--font-lineheight-shorter);
	color: var(--color-text-lighter);
	font-size: var(--font-size-smaller);
	font-weight: var(--font-weight-text);
}
.form-item label + .description {
  margin-top: 0.4em;
  margin-bottom: 0.6em;
}

:is(.box, fieldset) .description,
:is(.box, fieldset) .form-item .description {
	color: var(--color-text); /* Darker text */
}

input, select, textarea {
	font: 1em/var(--font-lineheight-shorter) var(--font-family-text);
	color: var(--color-text);
	vertical-align: middle;
}
input.form-text,
input[type="text"],
input[type="email"],
input[type="search"],
input[type="tel"],
input[type="password"] {
  width: auto;
  max-width: calc(100% - 2rem - 2px);
  margin-left: 0;
  padding: 1rem;
  border: 1px solid var(--color-field-border);
  border-radius: 5px;
}

@media (max-width: 767px) {
  /* Stretch full width on mobile */
  input.form-text,
  input[type="text"],
  input[type="email"],
  input[type="search"],
  input[type="tel"],
  input[type="password"] {
    width: calc(100% - 2rem - 2px);
  }
  select {
    width: 100%;
  }

  /* Unless it has a prefix */
  .field-prefix + input.form-text,
  .field-prefix + input[type="text"],
  .field-prefix + input[type="email"],
  .field-prefix + input[type="search"],
  .field-prefix + input[type="tel"],
  .field-prefix + input[type="password"] {
    width: auto;
  }
}

textarea {
  width: calc(100% - 2rem - 2px);
  padding: 1rem;
  border: 1px solid var(--color-field-border);
  border-radius: 5px;
}
@media (prefers-color-scheme: dark) {
  /* Drupal grippie */
  .resizable-textarea .grippie {
    background-color: var(--color-dark-box-background);
    border-color: var(--color-field-border);
  }
}

input.form-text[readonly],
textarea[readonly],
select[readonly] {
	color: var(--gray-6);
}
span.form-required {
	color: #ffae00;
}


/* Submit buttons (minimal change in dark mode) */
input[type="submit"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 0.6em 0.9em;
	cursor: pointer;
	border: 1px solid var(--gray-9);
	border-radius: 2.14rem;
	white-space: normal;
	color: var(--gray-9);
	line-height: var(--font-lineheight-shortest);
	font-weight: var(--font-weight-button);
	letter-spacing: 0.02em;
	text-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
	text-decoration: none;
	background-color: var(--gray-4);
	background-image: -webkit-linear-gradient(var(--color-background) 0%, var(--gray-4) 100%);
	background-image: linear-gradient(var(--color-background) 0%, var(--gray-4) 100%);
}

.form-managed-file input[type="submit"][value="Upload"] /* File upload */ {
	margin-left: 0.5em;
	padding: 0.55em 0.9em;
	font-size: var(--font-size-minus-3);
}

input[type="submit"]:hover,
input[type="submit"]:active {
	background: var(--gray-4) none;
	border: 1px solid var(--gray-10);
	color: var(--gray-10);
}

input[type="submit"][disabled] {
	opacity: 0.4;
	cursor: default;
}
input[type="submit"][disabled]:hover {
  background-color: var(--gray-4);
  background-image: -webkit-linear-gradient(var(--white) 0%, var(--gray-4) 100%);
  background-image: linear-gradient(var(--white) 0%, var(--gray-4) 100%);
}

input[type="submit"].no-style { /* Remove styles for FontAwesome icons */
	padding: 0;
	border: none;
	border-radius: 0;
	letter-spacing: 0;
	text-shadow: none;
	background: transparent none;
	color: var(--color-text);
	font-size: var(--font-size-base);
}
input[type="submit"].no-style:hover {
  color: var(--color-link-hover);
}

@media (prefers-color-scheme: dark) {
  /* Keep lightish */
  input[type="submit"] {
    background-color: var(--gray-3);
    background-image: -webkit-linear-gradient(var(--gray-2) 0%, var(--gray-5) 100%);
    background-image: linear-gradient(var(--gray-2) 0%, var(--gray-5) 100%);
  	border-color: var(--black);
  }
  input[type="submit"]:hover,
  input[type="submit"]:active {
    background: var(--gray-3) none;
  	border-color: var(--black);
  }
  input[type="submit"][disabled]:hover {
    background-color: var(--gray-3);
    background-image: -webkit-linear-gradient(var(--gray-2) 0%, var(--gray-5) 100%);
    background-image: linear-gradient(var(--gray-2) 0%, var(--gray-5) 100%);
  }
}



/* --- Tables --- */
table {
	width: 100%;
	margin: 0 0 1.5em;
	padding: 0;
	border: none;
}
thead, tbody, tr, th, td,
tr.even, tr.odd {
	border: none;
}
tr.even, tr.odd {
	padding: 0;
}

thead th {
	background-color: var(--color-highlight-background);
	vertical-align: top;
	color: var(--color-highlight-text);
	font-weight: var(--font-weight-semibold);
	text-align: left;
}
thead th a {
	color: var(--color-highlight-link);
}
thead th a:hover {
	color: var(--color-highlight-link-hover);
}

td,
th {
	padding: 0.5em 0.7em;
}

tr:nth-child(odd) {
	background-color: var(--color-light-box-background);
}
tr:nth-child(even) {
	background-color: var(--color-background);
}

/* *** Update colors */
tr:nth-child(odd) td.active {
	background-color: var(--color-box-background);
}
tr:nth-child(even) td.active {
	background-color: var(--color-lightest-box-background);
}


/* Data tables */
table {
	width: 100%;
	margin: 0 0 1.6em;
}
table caption {
	margin: 0 0 0.5em;
	padding: 0;
	color: var(--color-text-dark);
	text-align: left;
	font-weight: var(--font-weight-semibold);
	font-size: var(--font-size-plus-3);
}

table tbody td {
	vertical-align: top;
}

/* Row gap */
table tr.break td {
	border-top: 2em solid var(--color-background);
}

/* Table in a box */
.box table td,
.rightbox table td {
	background-color: var(--color-lightest-box-background);
}
.box table tr:nth-child(even) td,
.rightbox table tr:nth-child(even) td {
	background-color: var(--color-light-box-background);
}
.box table tr.break td,
.rightbox table tr.break td {
	border-top-color: var(--color-box-background);
}



/* --- Video modal --- */

#video-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  width: 75vw;
  min-width: 180px;
  max-width: 1000px;
  height: auto;
  max-height: 90vh;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background-color: #000;
  box-shadow: 0 0 0.6rem 0.1rem rgba(0, 0, 0, 0.5);
}
html.open-modal-video .page-cover {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s, 0s;
}
html.open-modal-video #video-modal {
  display: block;
}

#video-modal .isba-fluid-width-video-wrapper { /* Assume 9/16 aspect ratio */
  padding-top: 56.25%;
}
#video-modal .close {
  -webkit-appearance: none;
  -moz-appearance: none;
  position: absolute;
  top: 0;
  right: -2.8rem;
  width: 2.2rem;
  height: 2.2rem;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-image: none;
  background-color: rgba(0, 0, 0, 0.3);
  font-size: var(--font-size-plus-8);
  line-height: 1px;
  color: var(--color-text-brightest);
  transition: background-color 0.2s;
}
  #video-modal .close:hover {
    background-color: var(--color-primary);
  }

/* Video icons */
a > .fa-video {
  margin-top: -0.15em;
  margin-left: 0.5em;
  margin-right: 0.2em;
  font-size: var(--font-size-minus-3);
  vertical-align: middle;
}


/* Responsive video iframes */
.isba-fluid-width-video-wrapper {
	width: 100%;
	position: relative;
	padding: 0;
}
.isba-fluid-width-video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/* Blog posts: Clear floats for inline videos */
.node-blog-post .content .isba-fluid-width-video-wrapper {
  clear: both;
}


@media (max-width: 910px) {
	/* General mobile support */
	table {
		max-width: 100% !important;
		max-height: none;
	}
	iframe {
		max-width: 100% !important;
	}

	/* Admin menu */
	#admin-menu { /* Crop to screen */
		height: 2.24em;
		overflow-y: hidden;
		overflow-x: auto;
	}
	#admin-menu ul#admin-menu-account { /* Hide account links */
		display: none;
	}
	#admin-menu ul.dropdown > li > ul.dropdown { /* Hide nested menus */
		display: none !important;
	}
}


/* --------------- Layout --------------- */

/*
 * There are three possible content area layout containers:
 *   1. Node or callback output within .region-content
 *   2. Edge-to-edge section within .region-content
 *   3. Additional section field after content region container
 *
 * Layout styles must consider column splits (try to keep right columns aligned in all three scenerios)
 * Separate vertical and horizontal spacing and collapsing
 * Edge-to-edge designs have padding to always display photo or background color
 *
 * Color options:
 *  .light    = Light gray
 *  .dark     = Dark teal
 *  .gradient = Light gray -> white vertical gradient
 *  .photo    = Image background
 *  .clear    = Used in addition to other colors; removes white background and extra padding
 */

/* Main layout wrapper */
.container {
	position: relative;
	width: 1110px;
	margin: 0 auto;
	padding: 0 30px;  /* Keeps whitespace on edges under 1170 pixels */
}
.container::after { /* Clear after floats */
  content: "";
  display: block;
  clear: both;
  visibility: hidden;
}

@media (max-width: 1170px) {
  /* Stretch to full browser width, keeping original 30px of edge padding */
	.container {
	  width: auto;
  	margin: 0;
	}
}
@media (max-width: 414px) {
  .container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.container > *:last-child {
  margin-bottom: 0;
}


/* Edge-to-edge sections (within content body or additional sections) */
.edges {
  position: relative;
  padding: 90px 0;
  background-repeat: no-repeat; /* Optional background image */
  background-size: cover;
}
.edges > .container {
  /* Internal padding in section containers */
  padding: 45px;
}
.edges > .container + .container {
  /* Two adjacent containers */
  padding-top: 0;
}

/* Stretched edges within container; main has overflow-x to fix when scrollbars appear */
.container .edges {
  width: 100vw;
  margin-left: -50vw;
  left: 50%;
}


/* Remove vertical padding for non-colored sections */
.edges:not(.light):not(.dark):not(.gradient):not(.photo),
.edges.clear {
  padding-top: 0;
  padding-bottom: 0;
}
.edges.clear > .container {
  margin: 0 auto;
  padding-left: 0;
  padding-right: 0;
}

@media (max-width: 1380px) {
  /* Stretch to full browser width with extra edge padding */
	.edges:not(.clear) > .container {
	  width: auto;
	  margin: 0 90px;
	}
}

@media (max-width: 1170px) {
  .edges {
    padding: 75px 0;
  }
	.edges:not(.clear) > .container {
	  margin: 0 75px;
	}
	.edges.clear > .container {
	  /* Default edge padding */
	  margin-left: 30px;
	  margin-right: 30px;
	}
}
@media (max-width: 910px) {
  .edges {
    padding: 60px 0;
  }
	.edges:not(.clear) > .container {
	  margin: 0 60px;
	}
}
@media (max-width: 640px) {
  .edges {
    padding: 45px 0;
  }
	.edges:not(.clear) > .container {
	  margin: 0 45px;
	}
}
@media (max-width: 480px) {
  .edges {
    padding: 30px 0;
  }
	.edges:not(.clear) > .container {
	  margin: 0 30px;
	}
}
@media (max-width: 414px) {
  .edges.clear > .container {
	  /* Default edge padding */
	  margin-left: 20px;
	  margin-right: 20px;
  }
}


/* Section and column colors */
.edges.light,
.columns > div.light {
  background-color: var(--color-box-background);
}
.edges.dark,
.columns > div.dark {
  background-color: var(--color-highlight-background);
}

.columns > div.dark {
  color: var(--color-highlight-text);
}
.columns > div.dark a {
  color: var(--color-highlight-link);
}

.edges.gradient {
  border-top: 1px solid var(--color-hr);
  background: -webkit-linear-gradient(var(--color-box-background) 50%, var(--color-background) 70%);
  background: linear-gradient(var(--color-box-background) 50%, var(--color-background) 70%);
}
.columns > div.gradient {
  background: -webkit-linear-gradient(var(--color-box-background) 50%, var(--color-background) 70%);
  background: linear-gradient(var(--color-box-background) 50%, var(--color-background) 70%);
}

.light > .container,
.dark > .container,
.gradient > .container,
.photo > .container {
  background-color: var(--color-background);
}
.clear > .container { /* Remove white container */
  background-color: transparent !important;
}


/* ----- Column layouts ----- */
/* 1+1, 1+1+1, or 2+1 are most common uses */
.columns {
	clear: both;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: stretch;
	margin: 0 0 1.8rem;
}

/* Collapse spacing between column groups */
.columns + .columns {
	margin-top: -1.8rem;
}

.columns > * {
	flex: 1;
	margin: 0;
	padding: 0 45px;
	min-width: 1px; /* Prevent column blow-out */
}
	/* Remove left and right edge padding */
	.columns > *:not(.box):not(.group):not(.dark):not(.light):not(.gradient):first-child {
		padding-left: 0;
	}
	.columns > *:not(.box):not(.group):not(.dark):not(.light):not(.gradient):last-child {
		padding-right: 0;
	}

  /* Remove bottom margin */
  .columns > * > *:last-child,
  .columns > * > *:last-child > *:last-child,
  .node > .content > .field:last-child > .field-items > .field-item:last-child > *:last-child,
  .node > .content > .field:last-child > .field-items > .field-item:last-child > *:last-child > *:last-child {
  	margin-bottom: 0;
  }

/* Equals 2+1 columns */
.columns > .sidebar,
.columns > aside {
  flex: 1 0 auto;
  max-width: 310px;
  margin-bottom: 2rem;
}

@media (max-width: 1070px) {
  /* Reduce whitespace */
  .columns > * {
    padding-left: 30px;
    padding-right: 30px;
  }
}


@media (max-width: 965px) {
  /* Collapse three columns */
  .columns {
    flex-flow: row wrap;
  }
  .columns > *:first-child:nth-last-child(3),
  .columns > *:first-child:nth-last-child(3) ~ * {
    flex-grow: 1;
    flex-shrink: 0;
    flex-basis: 60%;
  }

  /* TODO: Process .reverse class for three columns */
}


@media (max-width: 767px) {
  /* Collapse columns */
  .columns {
    flex-flow: column nowrap;
  }
  .columns > * {
    flex: 1 0 auto;
    margin: 0 0 2rem;
    padding: 0;
  }
  .columns > .sidebar,
  .columns > aside {
    flex: 1 0 auto;
    align-self: center;
    max-width: 380px;
    margin-left: auto;
    margin-right: auto;
  }

  /* Push last column to top on mobile (class on either wrapper or individual column) */
  .columns.reverse > *:last-child,
  .columns > .reverse {
    order: -1;
  }

  /* Reverse gaps */
  .columns.reverse > *:last-child,
  .columns > .reverse {
    margin-bottom: 2rem !important;
  }
  .columns.reverse > *:first-child {
    margin-bottom: 0;
  }
}

/* Dynamically hide sidebar */
@media (min-width: 768px) {
  #content.hide-sidebar > .columns > div:first-child {
    padding-right: 0;
  }
  #content.hide-sidebar > .columns > .sidebar {
    display: none;
  }
}


/* -------- Content sections -------- */
/* Use padding instead of margins to allow for background colors */

/* Remove bottom margin */
.edges > .container > *:last-child,
.field-name-field-content-sections-body > .field-items > .field-item > *:last-child {
  margin-bottom: 0;
}


/* Stretch columns to left+right edges */
.edges > .container > .columns,
.edges .field-name-field-content-sections-body > .field-items > .field-item > .columns {
  background-color: var(--color-background);
}
.edges.light:not(.clear) > .container > .columns,
.edges.dark:not(.clear) > .container > .columns,
.edges.gradient:not(.clear) > .container > .columns,
.edges.photo:not(.clear) > .container > .columns,
.edges .field-name-field-content-sections-body > .field-items > .field-item > .columns {
  margin-left: -45px;
  margin-right: -45px;
}

/* Stretch columns vertically if at top or bottom of section */
.edges.light > .container > .columns:first-child,
.edges.dark > .container > .columns:first-child,
.edges.gradient > .container > .columns:first-child,
.edges.photo > .container > .columns:first-child,
.edges.light .field-name-field-content-sections-body > .field-items > .field-item > .columns:first-child,
.edges.dark .field-name-field-content-sections-body > .field-items > .field-item > .columns:first-child,
.edges.gradient .field-name-field-content-sections-body > .field-items > .field-item > .columns:first-child,
.edges.photo .field-name-field-content-sections-body > .field-items > .field-item > .columns:first-child {
  margin-top: -45px;
}
.edges.light > .container > .columns:last-child,
.edges.dark > .container > .columns:last-child,
.edges.gradient > .container > .columns:last-child,
.edges.photo > .container > .columns:last-child,
.edges.light .field-name-field-content-sections-body > .field-items > .field-item > .columns:last-child,
.edges.dark .field-name-field-content-sections-body > .field-items > .field-item > .columns:last-child,
.edges.gradient .field-name-field-content-sections-body > .field-items > .field-item > .columns:last-child,
.edges.photo .field-name-field-content-sections-body > .field-items > .field-item > .columns:last-child {
  margin-bottom: -45px;
}

/* Undo for clear sections */
.edges.clear > .container > .columns:first-child,
.edges.clear .field-name-field-content-sections-body > .field-items > .field-item > .columns:first-child {
  margin-top: 0;
}
.edges.clear > .container > .columns:last-child,
.edges.clear .field-name-field-content-sections-body > .field-items > .field-item > .columns:last-child {
  margin-bottom: 0;
}

/* Pad columns to allow for background colors; remove margins between columns */
.edges > .container > .columns > *,
.field-name-field-content-sections-body > .field-items > .field-item > .columns > *,
#main .field-name-field-content-sections-body > .field-items > .field-item > .columns > * /* Precedence fix */ {
  margin: 0;
  padding: 45px;
}

@media (min-width: 768px) {
  /* Reduce column vertical spacing if no background (before responsive collapsing) */
  .edges:not(.light):not(.dark):not(.gradient):not(.photo) > .container > .columns > *:not(.light):not(.dark):not(.gradient),
  .edges:not(.light):not(.dark):not(.gradient):not(.photo) .field-name-field-content-sections-body > .field-items > .field-item > .columns > *:not(.light):not(.dark):not(.gradient) {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}


@media (max-width: 1070px) {
  .edges > .container {
    /* Internal padding in section containers */
    padding: 30px;
  }
  .edges.light:not(.clear) > .container > .columns,
  .edges.dark:not(.clear) > .container > .columns,
  .edges.gradient:not(.clear) > .container > .columns,
  .edges.photo:not(.clear) > .container > .columns,
  .edges .field-name-field-content-sections-body > .field-items > .field-item > .columns {
    margin-left: -30px;
    margin-right: -30px;
  }

  .edges.light > .container > .columns:first-child,
  .edges.dark > .container > .columns:first-child,
  .edges.gradient > .container > .columns:first-child,
  .edges.photo > .container > .columns:first-child,
  .edges.light .field-name-field-content-sections-body > .field-items > .field-item > .columns:first-child,
  .edges.dark .field-name-field-content-sections-body > .field-items > .field-item > .columns:first-child,
  .edges.gradient .field-name-field-content-sections-body > .field-items > .field-item > .columns:first-child,
  .edges.photo .field-name-field-content-sections-body > .field-items > .field-item > .columns:first-child {
    margin-top: -30px;
  }
  .edges.light > .container > .columns:last-child,
  .edges.dark > .container > .columns:last-child,
  .edges.gradient > .container > .columns:last-child,
  .edges.photo > .container > .columns:last-child,
  .edges.light .field-name-field-content-sections-body > .field-items > .field-item > .columns:last-child,
  .edges.dark .field-name-field-content-sections-body > .field-items > .field-item > .columns:last-child,
  .edges.gradient .field-name-field-content-sections-body > .field-items > .field-item > .columns:last-child,
  .edges.photo .field-name-field-content-sections-body > .field-items > .field-item > .columns:last-child {
    margin-bottom: -30px;
  }
  .edges > .container > .columns > *,
  .field-name-field-content-sections-body > .field-items > .field-item > .columns > * {
    padding: 30px;
  }
}

@media (max-width: 414px) {
  .edges > .container {
    /* Internal padding in section containers */
    padding: 20px;
  }
  .edges.light:not(.clear) > .container > .columns,
  .edges.dark:not(.clear) > .container > .columns,
  .edges.gradient:not(.clear) > .container > .columns,
  .edges.photo:not(.clear) > .container > .columns,
  .edges .field-name-field-content-sections-body > .field-items > .field-item > .columns {
    margin-left: -20px;
    margin-right: -20px;
  }
  .edges.light > .container > .columns:first-child,
  .edges.dark > .container > .columns:first-child,
  .edges.gradient > .container > .columns:first-child,
  .edges.photo > .container > .columns:first-child,
  .edges.light .field-name-field-content-sections-body > .field-items > .field-item > .columns:first-child,
  .edges.dark .field-name-field-content-sections-body > .field-items > .field-item > .columns:first-child,
  .edges.gradient .field-name-field-content-sections-body > .field-items > .field-item > .columns:first-child,
  .edges.photo .field-name-field-content-sections-body > .field-items > .field-item > .columns:first-child {
    margin-top: -20px;
  }
  .edges.light > .container > .columns:last-child,
  .edges.dark > .container > .columns:last-child,
  .edges.gradient > .container > .columns:last-child,
  .edges.photo > .container > .columns:last-child,
  .edges.light .field-name-field-content-sections-body > .field-items > .field-item > .columns:last-child,
  .edges.dark .field-name-field-content-sections-body > .field-items > .field-item > .columns:last-child,
  .edges.gradient .field-name-field-content-sections-body > .field-items > .field-item > .columns:last-child,
  .edges.photo .field-name-field-content-sections-body > .field-items > .field-item > .columns:last-child {
    margin-bottom: -20px;
  }
  .edges > .container > .columns > *,
  .field-name-field-content-sections-body > .field-items > .field-item > .columns > * {
    padding: 20px;
  }
}


/* Lead-in triangles to next additional content section (tablet and desktop only) */
@media (min-width: 641px) {

  /* Triangle design */
  .field-name-field-content-sections > .field-items > .field-item:first-child .edges::before,
  .field-name-field-content-sections > .field-items > .field-item:not(:last-child) .edges::after,
  .edges.lead-in::before,
  .edges.lead-out::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    z-index: 2;
    left: calc(50% - 3rem);
    border-left: 3rem solid transparent;
    border-right: 3rem solid transparent;
    border-top: 2.3rem solid var(--color-background); /* White by default */
  }
  .edges.lead-in::before {
    top: 0;
  }


  /* Top of first sections */
  .field-name-field-content-sections > .field-items > .field-item:first-child .edges::before {
    top: -1px;
  }

  /* Overlap bottom of other sections (except last) with alternate colors */
  .field-name-field-content-sections > .field-items > .field-item:not(:last-child) .edges::after,
  .edges.lead-out::after {
    bottom: calc(-2.3rem + 1px);
  }
  .field-name-field-content-sections > .field-items > .field-item:not(:last-child) .edges.dark::after,
  .edges.lead-in.lead-in-dark::before,
  .edges.dark.lead-out::after {
    border-top-color: var(--color-highlight-background);
  }
  .field-name-field-content-sections > .field-items > .field-item:not(:last-child) .edges.light::after,
  .edges.lead-in.lead-in-light::before,
  .edges.light.lead-out::after {
    border-top-color: var(--color-box-background);
  }
}


/* Indent content down */
.push-top {
  padding-top: 3.7rem;
}

/* Accessible hide */
.sr-only,
.hide:not(.show),
.hide:not(.show) * {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	border: 0;
}

/* Float clearing */
.clear {
	clear: both;
}
.clear-block::after /* Clear after floats */ {
	content: "";
	display: block;
	clear: both;
	visibility: hidden;
}


/* ---------- Top alert region ---------- */

.region-top-alert .content > *:last-child,
.region-top-alert .content p {
  margin-bottom: 0;
}

/* Undo alert box spacing */
.region-top-alert .content > .alert-red,
.region-top-alert .content > .alert-yellow,
.region-top-alert .content > .alert-green,
.region-top-alert .content > .alert-blue,
.region-top-alert .content > .alert-gray,
.region-top-alert .content > .highlight-box,
.region-top-alert .content > .warning-box {
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
}


/* ---------- Header ---------- */

header .header-content {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
	padding-top: 24px;
	padding-bottom: 24px;
}

/* Logo */
.header-logo {
  flex: 0 1 358px;
  min-width: 250px;
	margin-right: 1.1rem;
}
.header-logo h1 {
	margin: 0;
}
.header-logo a {
  cursor: pointer;
}

.header-logo img {
	display: block;
}
@media (prefers-color-scheme: dark) {
  /* Convert to white */
  .header-logo img {
    filter: grayscale(1) brightness(10);
  }
}


/* Header navigation */
header .region-header {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
}
.header-links {
  flex: 0 1 auto; /* Default */
}
.header-links .content ul {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
	align-items: center;
	align-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}
.header-links .content ul > li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.header-links .content ul > li:first-child {
  text-align: right;
}

.header-links .content ul > li > a {
	display: inline-block;
	padding: 3px 0.85em;
	color: var(--color-text-dark);
	white-space: nowrap;
}
	.header-links .content ul > li > a.active {
		color: var(--color-link-dark);
	}
	.header-links .content ul > li > a:hover,
	.header-links .content ul > li > a:active {
		color: var(--color-link-hover);
		text-decoration: none;
	}

.header-links .content ul > li .button {
  display: inline-flex;
	margin: 0 0.7em;
	padding: 0.7em 1.1em;
	text-transform: none;
	font-weight: var(--font-weight-text);
	color: var(--color-button-text);
	font-size: var(--font-size-base);
  white-space: nowrap;
}
.header-links .content ul > li .button:hover,
.header-links .content ul > li .button:active {
  color: var(--color-button-text-hover);
}

/* Paired pill buttons */
.header-links .content ul > li .button-start {
	margin: 0;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
.header-links .content ul > li .button-middle {
	margin: 0;
	border-left: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 0;
}
.header-links .content ul > li .button-end {
	margin: 0;
	border-left: 1px solid rgba(255, 255, 255, 0.3);
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}


/* Icons */
.header-links .content ul > li > .button > i.fa-lock { /* Lock icon placeholder before svg conversion */
	display: inline-block;
	width: 9px;
	height: 12px;
	margin-right: 0.6em;
	font-size: var(--font-size-minus-4);
}
.header-links .content ul > li > .button > svg.fa-lock {
	margin-right: 0.6em;
	font-size: var(--font-size-minus-4);
}

.header-links .content ul > li > .button > i.fa-chevron-down { /* Down chevron placeholder before svg conversion  */
	display: inline-block;
	margin: 0 0 0 0.5em;
	width: 9px;
	height: 13px;
	font-size: var(--font-size-minus-2);
}
.header-links .content ul > li > .button > svg.fa-chevron-down {
	margin: 0 0 0 0.5em;
	font-size: var(--font-size-minus-2);
}

/* Account submenu */
.header-links .content ul > li.header-account {
	position: relative;
}
.header-links .content ul > li.header-account > .button {
  position: relative;
  z-index: 90;
  margin-left: 0;
  margin-right: 0;
}

.header-links .content ul > li .item-list {
	opacity: 0;
	visibility: hidden;
	position: absolute;
	z-index: 89;
	top: 50%;
	right: 0;
	min-width: calc(100% - 2px);
	background-color: var(--color-background);
	border-radius: 0 0 3px 3px;
	border: 1px solid var(--color-border-light);
	transition-property: opacity, visibility;
	transition-duration: 0.3s, 0s;
	transition-delay: 0s, 0.3s;
}
.header-links .content ul > li.open .item-list {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s, 0s;
}

.header-links .content ul > li .item-list ul {
	display: block;
	margin: 0;
	padding: 1.7em 0.2em 0.7em;
	font-size: var(--font-size-minus-1);
}
.header-links .content ul > li .item-list ul > li {
	display: block;
	margin: 0;
	padding: 0;
}
.header-links .content ul > li .item-list ul > li > a {
	display: block;
	margin: 0;
	padding: 0.4em 0.8em;
	text-align: right;
	font-weight: var(--font-weight-text);
	line-height: var(--font-lineheight-shortest);
	color: var(--color-text);
	white-space: normal;
}
.header-links .content ul > li .item-list ul > li > a:hover,
.header-links .content ul > li .item-list ul > li > a:active {
  color: var(--color-link-hover);
  text-decoration: none;
}



/* Mobile menu open toggle */
header .menu-toggle {
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent none;
	color: var(--color-text);
	font-size: 2.6em;
	font-weight: var(--font-weight-text);
	letter-spacing: 0;
	text-shadow: none;
	cursor: pointer;
}
header .menu-toggle:hover {
  background: transparent none;
  color: var(--color-link-hover);
}
header .menu-toggle:focus {
  outline: none;
  color: var(--color-link-hover);
}


/* ----- Main menu ----- */

.main-menu {
  --color-menu-background: rgba(238, 238, 238, 0.97); /* Translucent sticky menu */
  z-index: 80;
  width: 100%;
  background-color: var(--color-menu-background);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  font-size: var(--font-size-smaller);
}
@media (prefers-color-scheme: dark) {
  .main-menu {
    --color-menu-background: hsla(202deg, 23%, 21%, 0.97);
  }
}

/* Sticky menu */
.main-menu.sticky {
  position: fixed;
  top: 0;
}

/* Position below admin menu */
body.admin-menu .main-menu.sticky {
  top: 30px;
}


/* Scroll snap targets below sticky header */
@media (min-width: 911px) {
  :root {
    --sticky-header-offset: 6.57rem;
  }
}
*:target {
  scroll-margin-top: var(--sticky-header-offset, 0px);
}


/* Resets */
.main-menu ul.menu,
.main-menu ul.menu > li {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* First level links */
.main-menu > .container > ul.menu {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: stretch;
	margin: 0 0 0 -18px; /* Align with indented mega menus */
}

.main-menu > .container > ul.menu > li {
	flex-grow: 1; /* No gaps */
}

.main-menu > .container > ul.menu > li > a {
	position: relative;
	z-index: 41;
	display: block;
	margin: 0;
	padding: 1.5em 0.3em;
	min-height: calc(100% - 3em); /* Stretch when wrapping to different number of lines */
	text-align: center;
	font-weight: var(--font-weight-semibold);
	font-family: unset;
	font-size: var(--font-size-plus-2);
	line-height: var(--font-lineheight-shortest);
	color: var(--color-text);
}
.main-menu > .container > ul.menu > li > a:hover {
  text-decoration: none;
}

.main-menu > .container > ul.menu > li > a.active,
.main-menu > .container > ul.menu > li > a.active-trail { /* Active nav */
  color: var(--color-link);
}
.main-menu > .container > ul.menu > li:hover > a {
  background-color: var(--color-background);
  color: var(--color-link);
}

.main-menu > .container > ul.menu > li > a .last-word { /* Prevent arrow wrapping by itself */
  white-space: nowrap;
}
.main-menu > .container > ul.menu > li > a .last-word > i { /* Down chevron placeholder before svg conversion */
	display: inline-block;
	width: 10px;
	height: 11px;
	margin-left: 0.6em;
	font-size: var(--font-size-minus-2);
}
.main-menu > .container > ul.menu > li > a .last-word > svg.fa-chevron-down { /* Down chevron */
	position: relative;
	top: -0.2em;
	margin-left: 0.6em;
	font-size: 68%;
	vertical-align: middle;
  will-change: transform;
  transition: transform 0.2s;
}

.main-menu a > .fa-external-link-alt { /* External links */
  margin-left: 0.6em;
  vertical-align: -0.02em;
}


/* Menu logo (sticky only) */
.main-menu > .container > ul.menu > li.main-menu-home {
  align-self: center;
  overflow: hidden;

  opacity: 0;
  flex: 0 0 0px;
  will-change: transform;
  transform: translateX(-60px);
  visibility: hidden;

  /* Hide off-screen animation */
  transition: opacity 0.2s ease-in,
              flex-basis 0.3s ease-in,
              transform 0.3s ease-in,
              visibility 0.5s ease-in;
}
.main-menu > .container > ul.menu > li.main-menu-home > a {
  display: block;
  min-height: auto;
  padding: 0;
  text-align: center;
  color: var(--color-text);
}
.main-menu > .container > ul.menu > li.main-menu-home:hover > a {
  background-color: transparent;
  color: var(--color-link-hover);
}
.main-menu > .container > ul.menu > li.main-menu-home > a:hover,
.main-menu > .container > ul.menu > li.main-menu-home > a:active,
.main-menu > .container > ul.menu > li.main-menu-home > a:focus {
  color: var(--color-link-hover);
}

.main-menu.sticky > .container > ul.menu > li.main-menu-home {
  opacity: 1;
  flex-basis: 84px;
  will-change: transform;
  transform: translateX(0);
  visibility: visible;

  /* Reveal on-screen animation */
  transition: opacity 0.25s ease-out,
              flex-basis 0.25s ease-out,
              transform 0.25s ease-out,
              visibility 0s ease-out;
}

@media (prefers-reduced-motion: reduce) {
  .main-menu-home {
    transition: none !important;
  }
}


/* Search Toggle button */
.main-menu > .container > ul.menu > li.search-toggle {
	flex-grow: 0;
	align-self: center;
	margin-left: 1rem;
	margin-right: -10px;
	text-align: right;
}

@media (min-width: 911px) and (max-width: 1000px) {
  /* Give menu links more room */
  .main-menu > .container > ul.menu > li.search-toggle {
    margin-left: 0.2rem;
  }
}

.main-menu .search-toggle > button {
	display: inline-block;
	padding: 10px;
	border: none;
	border-radius: 30px;
	background: transparent none;
	color: var(--color-text);
	font-size: var(--font-size-plus-5);
	font-weight: var(--font-weight-text);
	letter-spacing: 0;
	text-shadow: none;
}
	.main-menu .search-toggle > button:hover,
	.main-menu .search-toggle > button:active,
	.main-menu .search-toggle > button:focus {
		background: transparent none;
    color: var(--color-link-hover);
	}

.main-menu .search-toggle > button > i { /* Search icon placeholder before svg conversion */
  display: inline-block;
	width: 18px;
	height: 18px;
}


/* Reduce wrapping when possible */
@media (min-width: 1081px) and (max-width: 1130px) {
  /* Menu links */
  .main-menu > .container > ul.menu > li > a {
  	padding: 1.4em 0.3em;
    font-size: var(--font-size-plus-1);
  }
  /* Menu logo padding */
  .main-menu.sticky > .container > ul.menu > li.main-menu-home {
    flex-basis: 72px;
  }
}
@media (min-width: 911px) and (max-width: 1080px) {
  .main-menu > .container > ul.menu > li > a {
  	padding: 1.3em 0.3em;
    font-size: var(--font-size-base);
  }
  .main-menu.sticky > .container > ul.menu > li.main-menu-home {
    flex-basis: 64px;
  }
}
@media (min-width: 911px) and (max-width: 990px) {
  /* Mobile switch occurs at 910px */
  .main-menu > .container > ul.menu > li > a svg.fa-chevron-down {
    display: none; /* Hide chevron to eek out a little more space */
  }
}
@media (min-width: 911px) and (max-width: 940px) {
  .main-menu > .container > ul.menu > li > a {
    font-size: var(--font-size-minus-1);
  }
}


/* Popup mega menu */
.main-menu > .container > ul.menu > li > ul.menu {
  --mega-menu-shadow: 0 0.3rem 0.5rem rgba(0, 0, 0, 0.2);
  --mega-menu-background-end: var(--gray-2);
  display: none;
  flex-flow: row nowrap;
  justify-content: space-around;
  align-items: flex-start;
  position: absolute;
  z-index: 40;
  top: 100%;
  left: 12px;
  width: calc(100% - 24px - 40px); /* Indented */
  padding: 15px;
  box-shadow: 0 0.3rem 0.5rem rgba(0, 0, 0, 0.2);
  background-color: var(--color-background);
  background: -webkit-linear-gradient(var(--color-background) 75%, var(--mega-menu-background-end) 150%);
  background: linear-gradient(var(--color-background) 75%, var(--mega-menu-background-end) 150%);
}
@media (prefers-color-scheme: dark) {
  .main-menu > .container > ul.menu > li > ul.menu {
    --mega-menu-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.8);
    --mega-menu-background-end: var(--gray-10);
  }
}

.main-menu > .container > ul.menu > li.open > ul.menu {
  display: flex; /* Show upon hover/focus */
}


/* 2nd-level headings */
.main-menu > .container > ul.menu > li > ul.menu > li {
  width: 100%;
  margin: 0 15px 0 0;
}
.main-menu > .container > ul.menu > li > ul.menu > li:last-child {
  margin-right: 0;
}

.main-menu > .container > ul.menu > li > ul.menu > li > h3 { /* Tag converted in script */
  display: block;
  margin: 0 0 0.7em;
  padding: 7px 15px;
  background-color: var(--color-box-background);
  color: var(--color-text-light);
  font: var(--font-text);
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-minus-1);
}


/* 3rd-level menu */
.main-menu > .container > ul.menu > li > ul.menu > li > ul.menu {
  font-size: var(--font-size-minus-2);
}
.main-menu > .container > ul.menu > li > ul.menu li > a {
  display: block;
  padding: 10px 15px;
  border-bottom: 1px solid var(--color-border-light);
  color: var(--color-text);
  text-decoration: none;
  line-height: var(--font-lineheight-shortest);
}
.main-menu > .container > ul.menu > li > ul.menu li > a.active,
.main-menu > .container > ul.menu > li > ul.menu li > a.active-trail { /* Active nav */
  color: var(--color-link);
}

/* No border on 2nd-level orphan links or end of 3rd-level */
.main-menu > .container > ul.menu > li > ul.menu > li > a,
.main-menu > .container > ul.menu > li > ul.menu > li li:last-child > a {
  border-bottom: none;
}
.main-menu > .container > ul.menu > li > ul.menu li > a:hover {
  background-color: var(--color-primary);
  color: var(--color-text-brightest);
}


/* Hide potential 4th-level menu */
.main-menu > .container > ul.menu > li > ul.menu > li > ul.menu > li > ul.menu {
	display: none;
}



/* Main menu ads */
.main-menu > .container > ul.menu > li > ul.menu .menu-ads a {
  display: block;
  padding: 0;
}
.main-menu > .container > ul.menu > li > ul.menu .menu-ads a img {
  display: block;
}
.main-menu > .container > ul.menu > li > ul.menu .menu-ads a > .fa-external-link-alt {
  display: none;
}


/* Public section main menu */
.section-public .main-menu {
  background-color: hsla(202deg, 23%, 21%, 0.97); /* Translucent --gray-9 */
}
@media (prefers-color-scheme: dark) {
  .section-public .main-menu {
    background-color: hsla(202deg, 22%, 15%, 0.97); /* Translucent --gray-10 */
  }
}

.section-public .main-menu > .container > ul.menu > li > a {
  color: var(--color-highlight-link);
}
.section-public .main-menu > .container > ul.menu > li > a.active,
.section-public .main-menu > .container > ul.menu > li > a.active-trail { /* Active nav */
  background-color: rgba(255, 255, 255, 0.06);
  color: var(--color-highlight-link);
}
.section-public .main-menu > .container > ul.menu > li:hover > a {
  background-color: var(--color-highlight-background-hover);
  color: var(--color-highlight-link);
}

/* ISBA logo */
.section-public .main-menu > .container > ul.menu > li.main-menu-home:hover > a {
  background-color: transparent;
  color: rgba(255, 255, 255, 0.75);
}

.section-public .main-menu .search-toggle > button {
  color: var(--color-highlight-link);
}
.section-public .main-menu .search-toggle > button:hover,
.section-public .main-menu .search-toggle > button:active,
.section-public .main-menu .search-toggle > button:focus {
  background-color: var(--color-highlight-background-hover);
  color: var(--color-highlight-link);
}

/* Prevent flyout menus */
.section-public .main-menu > .container > ul.menu > li > ul.menu {
  display: none;
}



/* ----- Site search ----- */

.site-search {
	display: none;
	position: absolute;
	z-index: 45;
	top: 0;
	left: 30px;
	width: calc(100% - 60px);
	height: 100%;
}
.search-toggle.open .site-search {
  display: block;
}

/* Hide menu links and toggle button when search is visible */
.main-menu > .container > ul.menu.open-search > li,
.main-menu > .container > ul.menu.open-search > li.main-menu-home,
.main-menu .search-toggle.open > button {
  visibility: hidden;
}
.main-menu > .container > ul.menu.open-search > li.search-toggle {
  visibility: visible;
}

.site-search > form,
.site-search > div[role="form"] /* RiSE scraper version */ {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	height: 100%;
}

.site-search input[type="search"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	flex-grow: 1;
	margin: 0 0.8em 0 0;
	padding: 10px;
	border: none;
	border-radius: 10px;
	color: var(--color-text);
	font-weight: var(--font-weight-semibold);
	font-size: var(--font-size-base);
	line-height: var(--font-lineheight-shortest);
}

.site-search button.form-submit {
	display: inline-block;
	margin-left: 0;
	margin-right: -8px;
	padding: 10px;
	border: none;
	border-radius: 0;
	background: transparent none;
	color: var(--color-text);
	font-size: var(--font-size-plus-5);
	font-weight: var(--font-weight-text);
	letter-spacing: 0;
	text-shadow: none;
}
	.site-search button.form-submit:hover,
	.site-search button.form-submit:active,
	.site-search button.form-submit:focus {
		background: transparent none;
		color: var(--color-link);
	}
	.site-search button.form-submit[disabled]:hover {
		color: var(--color-text);
	}


/* Public section site search (desktop) */
@media (min-width: 911px) {
  .section-public .site-search button.form-submit {
    color: var(--gray-3);
  }
  .section-public .site-search button.form-submit:hover,
  .section-public .site-search button.form-submit:active,
  .section-public .site-search button.form-submit:focus {
    background: transparent none;
    color: var(--color-text-brightest);
  }
  .section-public .site-search button.form-submit[disabled] {
    opacity: 0.2;
  }
  .section-public .site-search button.form-submit[disabled]:hover {
    color: var(--gray-3);
  }
}

@media (max-width: 910px) {
	/* Toggle mobile menu */
/*
	header .header-links {
		display: none;
	}
	header #menu-toggle {
		display: block;
	}
	nav.main-menu {
		display: none;
	}
*/
}


/* ----- Mobile menu ----- */

/* Full page cover */
.page-cover {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.35);
  -webkit-backdrop-filter: blur(1px);
  -moz-backdrop-filter: blur(1px);
  backdrop-filter: blur(1px);
  transition-property: opacity, visibility;
  transition-duration: 0.4s, 0s;
  transition-delay: 0s, 0.4s;
}
html.open-menu .page-cover {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s, 0s;
}


/* Hide mobile header */
header > .header-mobile {
  display: none;
}

/* Mobile menu close toggle */
header > .header-full button.menu-toggle {
  display: none;
}

/* At mobile breakpoint */
@media (max-width: 910px) {

  /* Show separate mobile header */
	header > .header-mobile {
	  display: block;
	}
  header > .header-mobile .header-content {
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
	}
  header > .header-mobile .header-logo {
    min-width: auto;
  }


  /* Mobile menu close toggle */
  header > .header-full button.menu-toggle {
    display: block;
  }

  /* Mobile header block */
  header .header-full {
    display: block;
    position: fixed;
    top: 0;
    left: -320px;
    height: 100vh;
    z-index: 999999;
    width: 320px;
    overflow-x: hidden;
    overflow-y: auto;
    background-color: var(--color-background);
    transition: left 0.4s ease, box-shadow 0.4s ease;
  }

  /* Prevent shifting if scrollbar appears */
  header > .header-full > * {
    width: 320px;
  }

  /* Slide open */
  html.open-menu header .header-full {
    left: 0;
    box-shadow: 0.3rem 0 0.4rem rgba(0, 0, 0, 0.2);
  }

  /* Header links */
  header .header-full .container {
    width: auto;
    padding: 0;
  }
  header > .header-full > .container {
    width: 320px;
  }
  header .header-full .header-content {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    padding: 1.4rem 25px 0;
  }

  header .header-full .header-logo {
    flex: 1 88%;
    align-self: center;
    width: auto;
    min-width: 0;
    margin: 0 0 0 -8px;
  }
  header .header-full .menu-toggle {
    flex: 1 12%;
    text-align: right;
    margin: 0 -6px 0 0.9rem;
    font-size: 2.4em;
  }

  .header-links {
    flex: 1 100%;
    margin: 1.8rem 0 0;
  }
  .header-links .content ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
  }
  .header-links .content ul > li {
    flex: 1 100%;
  }

  /* Make links match menu bar; reorder to end */
  .header-links .content > .item-list > ul > li:first-child {
    text-align: left;
    margin: 1.2rem -25px 0; /* Stretch to edges */
    order: 99;
  }
  .header-links .content > .item-list > ul > li:first-child > a {
    display: block;
    border-top: 1px solid var(--color-border-light);
    padding: 0.7em 25px;
    font-size: var(--font-size-plus-2);
    color: var(--color-text);
  }
  .header-links .content > .item-list > ul > li:first-child > a:hover,
  .header-links .content > .item-list > ul > li:first-child > a:active {
    color: var(--color-link);
  }
  .header-links .content ul > li.header-account {
    flex: 0 1 auto; /* Keep flyout to same width as button */
  }

  /* Reset buttons */
  .header-links .content ul > li .button {
    margin: 0 0 0.5rem;
    white-space: normal; /* Allow wrapping */
    text-align: left;
  }
  .header-links .content ul > li .button-start,
  .header-links .content ul > li .button-middle,
  .header-links .content ul > li .button-end {
    border-left: none;
    border-radius: 2.14rem;
  }

  /* Mobile menu */
  .main-menu {
    position: static;
    z-index: 0;
    background-color: transparent;
    box-shadow: none;
  }
  .main-menu.sticky {
    position: static;
    width: auto;
  }
  header .sticky-shim { /* Hide sticky menu shim; used to push content down */
    display: none;
  }

  .main-menu > .container > ul.menu {
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    margin: 0;
  }
  .main-menu > .container > ul.menu > li {
    border-top: 1px solid var(--color-border-light);
  }

  /* Hide logo mark */
  .main-menu > .container > ul.menu > li.main-menu-home {
    display: none;
  }

  .main-menu > .container > ul.menu > li > a {
    position: relative;
    top: 0;
    padding: 0.7em 25px;
    background-color: transparent;
    min-height: auto;
    text-align: left;
    color: var(--color-text);
  }

  .main-menu > .container > ul.menu > li > a .last-word { /* Prevent arrow wrapping by itself */
    white-space: normal;
  }
  .main-menu > .container > ul.menu > li > a .last-word > i,
  .main-menu > .container > ul.menu > li > a .last-word > svg.fa-chevron-down { /* Down chevron */
    float: right;
    top: -0.4em;
    margin-right: -12px;
    padding: 0.7em 1.1em;
    border-radius: 20px;
    font-size: var(---font-size-minus-1);
    will-change: transform;
  	transition: transform 0.25s;
  }
	.main-menu > .container > ul.menu > li.open > a .last-word > svg.fa-chevron-down { /* Up chevron */
	  transform: rotate(180deg);
	}
  @media (prefers-reduced-motion: reduce) {
    .main-menu > .container > ul.menu > li > a .last-word > i,
    .main-menu > .container > ul.menu > li > a .last-word > svg.fa-chevron-down {
      transition: none;
    }
  }

  /* Nested flyout menus */
  .main-menu > .container > ul.menu > li > ul.menu {
    display: none;
    flex-flow: row wrap;
    position: static;
    top: 0;
    left: 0;
    width: auto;
    margin: 0.7rem 25px 1rem;
    padding: 0;
    box-shadow: none;
  }
  .main-menu > .container > ul.menu > li.open > ul.menu {
    display: block; /* Show upon hover/focus */
  }

  /* 2nd-level headings */
  .main-menu > .container > ul.menu > li > ul.menu > li {
    margin-right: 0;
  }
  .main-menu > .container > ul.menu > li > ul.menu > li > h5 {
    margin: 0;
  }

  /* 3rd-level menu */
  .main-menu > .container > ul.menu > li > ul.menu > li > ul.menu {
    margin-bottom: 1rem;
  }
  /* Remove hover state */
  .main-menu > .container > ul.menu > li > ul.menu li > a:hover {
    background-color: transparent;
    color: inherit;
  }


  /* Search bar */
  .main-menu > .container > ul.menu > li.search-toggle {
    flex: 1 0 auto;
    width: auto;
  	align-self: flex-start;
  	margin: 0;
  	padding: 1.1rem 25px;
    background-color: var(--color-box-background);
	  text-align: left;
  }

  /* Hide toggle */
  .main-menu > .container > ul.menu > li.search-toggle > button {
    display: none;
  }

  /* Show search form */
  .site-search {
    display: block;
    position: static;
    left: 0;
    width: auto;
    height: auto;
  }
  .site-search form {
    height: auto;
  }

  .site-search input[type="search"] {
    width: 100%;
    max-width: 232px;
    margin: 0 0.7em 0 0;
    padding: 8px;
  }
  .site-search input[type="search"]::placeholder {
    font-size: var(--font-size-minus-1);
  }
}



/* ---------- Content layout ---------- */

main {
	min-height: 400px;
}
main > .container { /* Padding after title area */
	padding-top: 3rem;
}

.region-content {
  clear: both;
}

/* Padding at bottom of main content */
.region-content > .block-system > .content {
  margin-bottom: 6rem;
}
/* Remove main region padding if last element is an edge-to-edge section */
.region-content > .block-system > .content > .node > .content > .field-name-body > .field-items > .field-item > .edges:last-child,
.region-content > .block-system > .content > .edges:last-child {
  margin-bottom: -6rem;
}

@media (max-width: 767px) {
  .region-content > .block-system > .content {
    margin-bottom: 2rem;
  }
  .region-content > .block-system > .content > .node > .content > .field-name-body > .field-items > .field-item > .edges:last-child,
  .region-content > .block-system > .content > .edges:last-child {
    margin-bottom: -2rem;
  }
}




/* ----- Title banner ----- */

/* Title banner */
.title-banner {
  position: relative;
  display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  margin: 0;
  padding: 2.8rem 0 0;
}

.title-banner.size-short { /* Short height */
  min-height: 102px;
  padding: 1.8rem 0;
  background-color: var(--gray-8);
}
.title-banner.size-tall { /* Tall height */
  min-height: 202px;
  padding: 1.8rem 0;
  background-color: var(--gray-8);
}

/* Dim for dark mode */
@media (prefers-color-scheme: dark) {
  .title-banner.size-short::before,
  .title-banner.size-tall::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.35);
  }
}

/* Title field */
.title-banner h1 {
  margin: 0;
  padding: 0;
  background-color: transparent;
  color: var(--color-text-dark);
}

.title-banner.size-short h1,
.title-banner.size-tall h1 {
  color: var(--color-text-brightest);
  text-shadow: 0 0 7px rgba(0, 0, 0, 0.7);
}


/* Subheading above/below title */
.title-banner .title-prefix,
.title-banner .title-suffix {
  margin: 0 0 0.15rem;
  color: var(--color-text-dark);
  font: var(--font-heading);
  font-variant-ligatures: var(--font-ligatures-heading);
  font-size: var(--font-size-plus-5);
  line-height: var(--font-lineheight-shortest); /* ??? vs 1.1 */
}
.title-banner .title-suffix {
  margin: 0.7rem 0 0;
}

.title-banner .title-prefix a,
.title-banner .title-suffix a {
  color: inherit;
  text-decoration: none;
}
  .title-banner .title-prefix a:hover,
  .title-banner .title-prefix a:active,
  .title-banner .title-suffix a:hover,
  .title-banner .title-suffix a:active {
  	color: var(--color-link-hover);
    text-decoration: none;
  }

.title-banner.size-short .title-prefix,
.title-banner.size-tall .title-prefix,
.title-banner.size-short .title-suffix,
.title-banner.size-tall .title-suffix {
  color: var(--color-text-brightest);
  text-shadow: 0 0 7px rgba(0, 0, 0, 0.7);
}

/* SVG images */
.title-banner.size-short .title-prefix img,
.title-banner.size-tall .title-prefix img,
.title-banner.size-short .title-suffix img,
.title-banner.size-tall .title-suffix img {
  filter: drop-shadow(0 0 7px rgba(0, 0, 0, 0.7));
}

.title-banner.size-short .title-prefix a,
.title-banner.size-tall .title-prefix a,
.title-banner.size-short .title-suffix a,
.title-banner.size-tall .title-suffix a {
  color: var(--color-text-brightest);
}
  .title-banner.size-short .title-prefix a:hover,
  .title-banner.size-short .title-prefix a:active,
  .title-banner.size-tall .title-prefix a:hover,
  .title-banner.size-tall .title-prefix a:active,
  .title-banner.size-short .title-suffix a:hover,
  .title-banner.size-short .title-suffix a:active,
  .title-banner.size-tall .title-suffix a:hover,
  .title-banner.size-tall .title-suffix a:active {
    color: rgba(255, 255, 255, 0.75);
  }


/* Homepage */
.front .title-banner h1 {
	text-align: center;
	font-size: 3.85rem;
}
.front .title-banner .container {
	margin:0 auto;
}
.title-banner .title-wrap { /* Wrap groupings of text */
  display: block;
}

@media (max-width: 910px) {
  .title-banner {
    border-top: 3px solid var(--color-hr);
    min-height: auto;
  }
  .title-banner.size-short {
    border-top: none;
    min-height: 52px;
  }
  .title-banner.size-tall {
    border-top: none;
    min-height: 119px;
  }

  .title-banner .title-prefix {
    margin-bottom: 0.2em;
    font-size: var(--font-size-base);
  }
	.title-banner h1,
	.front .title-banner h1 {
		font-size: 2.5rem;
	}

  .title-banner .title-wrap { /* Don't wrap text block */
    display: inline;
  }

  .title-banner .title-prefix,
  .title-banner .title-suffix {
    font-size: var(--font-size-plus-3);
  }
}
@media (max-width: 550px) {
	.title-banner h1,
	.front .title-banner h1 {
		font-size: 2rem;
	}

  .title-banner .title-prefix,
  .title-banner .title-suffix {
    font-size: var(--font-size-base);
  }
}


/* Section newsletter banner */
.title-banner.section-newsletter {
  background-color: #dee0e4;
  padding: 3rem 0;
  text-align: left;
}

/* IBJ banner */
.title-banner.ibj {
  background-color: var(--color-lightest-box-background);
  padding: 2rem 0;
}
.title-banner.ibj > .container {
  margin: 0 auto;
}
.title-banner.ibj h1 {
  line-height: 1px; /* Prevent space blow-out from inline-block link */
  text-align: center;
}
.title-banner.ibj h1 > a {
  display: inline-block;
}
.title-banner.ibj h1 img {
  display: block;
  margin: 0 auto;
  width: 420px;
}
@media (max-width: 700px) {
  .title-banner.ibj h1 img {
    width: 360px;
  }
}
@media (max-width: 520px) {
  .title-banner.ibj h1 img {
    max-width: 90%;
    width: auto;
  }
}

/* IBJ homepage */
.page-node-41249 .title-banner.ibj h1 > a {
  cursor: default;
}
.page-node-41249 .title-banner.ibj h1 img {
  width: 620px;
}
@media (max-width: 700px) {
  .page-node-41249 .title-banner.ibj h1 img {
    width: 500px;
  }
}
@media (max-width: 520px) {
  .page-node-41249 .title-banner.ibj h1 img {
    max-width: 100%;
    width: auto;
  }
}

/* Bar News banner */
.title-banner.barnews {
  --color-barnews-title-back: var(--gray-5);
  background-color: var(--color-barnews-title-back);
  padding: 2rem 0 0.4rem;
}
@media (prefers-color-scheme: dark) {
  .title-banner.barnews {
    --color-barnews-title-back: var(--gray-8);
  }
}

.title-banner.barnews > .container {
  margin: 0 auto;
}
.title-banner.barnews h1 {
  line-height: 1px; /* Prevent space blow-out from inline-block link */
  text-align: center;
}
.title-banner.barnews h1 > a {
  display: inline-block;
}
.title-banner.barnews h1 img {
  display: block;
  margin: 0 auto;
  width: 420px;
}
@media (max-width: 700px) {
  .title-banner.barnews h1 img {
    width: 360px;
  }
}
@media (max-width: 520px) {
  .title-banner.barnews h1 img {
    max-width: 90%;
  }
}


/* Ads */

h6.ad,
.block-ad > h2 /* Heading */ {
	margin: 0 0 0.2em;
	font: var(--font-text);
  font-size: var(--font-size-minus-4);
  line-height: var(--font-lineheight-shortest);
	color: var(--color-text-light);
}
h6.ad.hidden /* Invisible heading for column alignment */ {
	visibility: hidden;
}

/* Sticky sidebar advertisement */
.sidebar {
  display: flex;
  flex-flow: column nowrap;
}
.sidebar > .region {
  flex-grow: 1;
}
.sidebar .block.block-ad {
  position: sticky;
  top: 8rem;
}

/* Below ad link */
.ad-link {
  margin-top: 0.75rem;
  text-align: center;
  font-size: var(--font-size-minus-1);
}
.ad-link > a {
  padding: 0.1em 0.2em;
}
@media (pointer: coarse) {
  .ad-link > a {
    padding: 0.3em; /* Larger tap target */
  }
}

/* Ad image */
.image-advertisement a img {
	display: block;
}
.ad-image-counter {
	width: 0;
	height: 0;
	overflow: hidden;
}



/* ----- Boxes and alert colors ----- */

/* Dark teal */
.highlight-box {
  margin-bottom: 1.8rem;
  padding: 1.4rem;
  background-color: var(--color-highlight-background);
  color: var(--color-highlight-text);
}
.highlight-box * {
  color: var(--color-highlight-text);
}

.highlight-box a:not(.button),
.highlight-box a * {
  text-decoration: underline;
  color: var(--color-highlight-link);
}
.highlight-box a:hover {
  text-decoration: none;
  color: var(--color-highlight-link-hover);
}

.highlight-box .button { /* Reverse colors */
  background-color: var(--color-highlight-text);
  color: var(--color-primary);
  text-decoration: none;
}
.highlight-box .button:hover,
.highlight-box .button:active {
  background-color: var(--color-highlight-link);
  color: var(--color-primary-light);
}


/* Dark red */
.warning-box {
  --color-alert-text: #ececec;

  margin-bottom: 1.8rem;
  padding: 1.4rem;
  background-color: #730e14;
  color: var(--color-alert-text);
}

.warning-box h2,
.warning-box h3,
.warning-box h4,
.warning-box h5,
.warning-box h6 {
  color: var(--color-alert-text);
}
.warning-box a:not(.button),
.warning-box a * {
  text-decoration: underline;
  color: #fff;
}
.warning-box a:hover {
  text-decoration: none;
}


.alert-red {
  --color-alert-text: var(--color-unpublished-text);

  position: relative;
  margin: 0 0 1.8rem;
  padding: 1.4rem;
  background-color: var(--color-unpublished-background-dark);
  color: var(--color-alert-text);
}

.alert-red h2,
.alert-red h3,
.alert-red h4,
.alert-red h5,
.alert-red h6 {
  color: var(--color-alert-text);
}
.alert-red a:not(.button),
.alert-red a * {
  text-decoration: underline;
  color: #520004;
}
.alert-red a:hover {
  text-decoration: none;
}

@media (prefers-color-scheme: dark) {
  .alert-red a:not(.button),
  .alert-red a * {
    color: #ffdedf;
  }
}


.alert-yellow {
  --color-alert-text: #856404;

  margin: 0 0 1.8rem;
  padding: 1.4rem;
  background-color: #fff3cd;
  color: var(--color-alert-text);
}

.alert-yellow h2,
.alert-yellow h3,
.alert-yellow h4,
.alert-yellow h5,
.alert-yellow h6 {
  color: var(--color-alert-text);
}
.alert-yellow a:not(.button),
.alert-yellow a * {
  text-decoration: underline;
  color: #654400;
}
.alert-yellow a:hover {
  text-decoration: none;
}
@media (prefers-color-scheme: dark) {
  .alert-yellow {
    --color-alert-text: #654400;
    background-color: #dfd3ad;
  }
  .alert-yellow a:not(.button),
  .alert-yellow a * {
    color: #452400;
  }
}


.alert-green {
  --color-alert-text: #155724;

  margin: 0 0 1.8rem;
  padding: 1.4rem;
  background-color: #d4edda;
  color: var(--color-alert-text);
}

.alert-green h2,
.alert-green h3,
.alert-green h4,
.alert-green h5,
.alert-green h6 {
  color: var(--color-alert-text);
}
.alert-green a:not(.button),
.alert-green a * {
  text-decoration: underline;
  color: #003704;
}
.alert-green a:hover {
  text-decoration: none;
}
@media (prefers-color-scheme: dark) {
  .alert-green {
    --color-alert-text: #003704;
    background-color: #b4cdba;
  }
  .alert-green a:not(.button),
  .alert-green a * {
    color: #002000;
  }
}


.alert-blue {
  --color-alert-text: #004085;

  margin: 0 0 1.8rem;
  padding: 1.4rem;
  background-color: #cce5ff;
  color: var(--color-alert-text);
}

.alert-blue h2,
.alert-blue h3,
.alert-blue h4,
.alert-blue h5,
.alert-blue h6 {
  color: var(--color-alert-text);
}
.alert-blue a:not(.button),
.alert-blue a * {
  text-decoration: underline;
  color: #002065;
}
.alert-blue a:hover {
  text-decoration: none;
}
@media (prefers-color-scheme: dark) {
  .alert-blue {
    --color-alert-text: #002065;
    background-color: #acc5df;
  }
  .alert-blue a:not(.button),
  .alert-blue a * {
    color: #000045;
  }
}


.alert-gray {
  --color-alert-text: var(--gray-9);

  margin: 0 0 1.8rem;
  padding: 1.4rem;
  background-color: var(--gray-2);
  color: var(--color-alert-text);
}

.alert-gray h2,
.alert-gray h3,
.alert-gray h4,
.alert-gray h5,
.alert-gray h6 {
  color: var(--color-alert-text);
}
.alert-gray a:not(.button),
.alert-gray a * {
  text-decoration: underline;
  color: var(--gray-12);
}
.alert-gray a:hover {
  text-decoration: none;
}
@media (prefers-color-scheme: dark) {
  .alert-gray {
    --color-alert-text: var(--gray-11);
    background-color: var(--gray-4);
  }
  .alert-gray a:not(.button),
  .alert-gray a * {
    color: var(--black);
  }
}


/* Reduce bottom spacing */
.highlight-box > *:last-child,
.highlight-box > *:last-child > *:last-child,
.warning-box > *:last-child,
.warning-box > *:last-child > *:last-child,
.alert-red > *:last-child,
.alert-red > *:last-child > *:last-child,
.alert-yellow > *:last-child,
.alert-yellow > *:last-child > *:last-child,
.alert-green > *:last-child,
.alert-green > *:last-child > *:last-child,
.alert-blue > *:last-child,
.alert-blue > *:last-child > *:last-child,
.alert-gray > *:last-child,
.alert-gray > *:last-child > *:last-child {
	margin-bottom: 0;
}

/* Inline version */
span.highlight-box,
em.highlight-box,
strong.highlight-box,
a.highlight-box,
span.warning-box,
em.warning-box,
strong.warning-box,
a.warning-box,
span.alert-red,
em.alert-red,
strong.alert-red,
a.alert-red,
span.alert-yellow,
em.alert-yellow,
strong.alert-yellow,
a.alert-yellow,
span.alert-green,
em.alert-green,
strong.alert-green,
a.alert-green,
span.alert-blue,
em.alert-blue,
strong.alert-blue,
a.alert-blue,
span.alert-gray,
em.alert-gray,
strong.alert-gray,
a.alert-gray {
  margin: 0;
	padding: 0.1em 0.31em;
}



/* *** Switch HTML to just single box class */

/* Fieldset grouping box */
.group,
.box {
	clear: both;
	position: relative;
	margin: 0 0 2rem;
	padding: 1.4rem;
	background-color: var(--color-box-background);
	background-image: none;
	color: var(--color-box-text);
	border: none;
	border-radius: 0;
}
.group.group-inline,
.box.box-inline {
	display: inline-block;
}

/* Clear after floats */
.group::after,
.box::after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

/* Reduce bottom padding */
.group > *:last-child,
.group > *:last-child > *:last-child,
.group > *:last-child > *:last-child > *:last-child,
.box > *:last-child,
.box > *:last-child > *:last-child,
.box > *:last-child > *:last-child > *:last-child {
  margin-bottom: 0;
}

/* Stretch full height box (within columns) */
.box.stretch,
.group.stretch {
  min-height: calc(100% - 2.8rem);
}


/* Heading bar */

/* Align with box if first element */
.group > h2.bar:first-child,
.box > h2.bar:first-child,
.sidebar .box > h2.bar:first-child, /* Include if in sidebar */
.group > .columns:first-child > div > h2.bar:first-child,
.box > .columns:first-child > div > h2.bar:first-child {
  margin: -1.4rem -1.4rem 1.4rem;
}


.group hr,
.box hr {
  margin: 1.6rem -1.6rem;
  background-color: var(--color-background);
}
.group + .group,
.box + .box {
	margin-top: 1.6em;
}
.group .group,
.box .box {
	background-color: var(--color-lightest-box-background);
}


/* Right floating box */
.rightbox {
	float: right;
	width: 300px;
	margin: 0 0 2rem 1.6em;
	padding: 1.4rem;
	background-color: var(--color-box-background);
	color: var(--color-box-text);
}
.rightbox p {
	margin-bottom: 1em;
}
.rightbox > *:last-child,
.rightbox > *:last-child > *:last-child {
	margin-bottom: 0;
}

@media (max-width: 767px) {
  .rightbox {
    float: none;
    width: auto;
    margin: 0 auto 2.5rem;
  }
}


/* -------- Member sections -------- */

/* Status/join bar */
.region-banner .block-isba-membersections {
  padding-top: 0.9rem;
  padding-bottom: 0.9rem;
  background-color: var(--color-lightest-box-background);
  color: var(--color-box-text);
  border-bottom: 1px solid var(--color-border-light);
  font-size: var(--font-size-plus-1);
}

@media screen and (max-width: 910px) {
  .region-banner .block-isba-membersections {
    font-size: var(--font-size-base);
  }
}

/* Add margin if no title banner image */
.region-banner .title-banner:not(.size-short):not(.size-tall) + .block-isba-membersections {
  margin-top: 2.7rem;
}

/* Columns */
.region-banner .block-isba-membersections .block-spread {
  min-height: 2.4rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.6rem 1.2rem;
}

.region-banner .block-isba-membersections .block-spread > * {
  margin: 0;
}
.region-banner .block-isba-membersections .block-spread a.button {
  font-size: var(--font-size-minus-2);
}
.region-banner .block-isba-membersections svg {
  margin-right: 0.8em;
}


/* Newsletter archives members-only message */
.members-only-box {
	margin: 0 0 1.4rem;
	padding: 1em 1.4em;
	background: var(--color-primary);
	color: var(--color-text-brightest);
	font-size: var(--font-size-plus-2);
	line-height: var(--font-lineheight-shorter);
}

.members-only-box > .fa-lock /* Lock icon */ {
	margin-right: 0.8em;
	vertical-align: baseline;
}
.members-only-box a {
	color: var(--color-text-brightest);
	text-decoration: underline;
}
.members-only-box a:hover,
.members-only-box a:active {
  text-decoration: none;
}


/* -------- Member section stats box -------- */

/* Move block to top on mobile */
@media (max-width: 767px) {
  .section-stats-sidebar {
    order: -1;
    margin-bottom: 2rem !important; /* Fix for bottom margin removal of last element */
  }
}

/* Uses highlight-box; based on fa-ul styles */
.section-stats-sidebar .content ul {
  margin-left: 2rem;
  padding: 0;
  list-style: none;
}
.section-stats-sidebar .content ul > li {
  position: relative;
  list-style: none;
}
.section-stats-sidebar .content ul > li .icon {
  position: absolute;
  left: -2rem;
  width: 2rem;
  text-align: center;
  line-height: inherit;
}
.section-stats-sidebar .content ul > li .icon svg {
  margin-left: -2rem;
  font-size: 2rem;
}

.section-stats-sidebar .content h3 {
  font-size: var(--font-size-plus-4);
}

/* In-page link row */
.section-stats .content p {
  font-size: var(--font-size-plus-2);
}



/* ---------- Photo boxes ---------- */

/*
  Box width = 100% of available space
  Box *minimum* height is set to image height or combined content
  Foreground image converted to background for better sizing
*/

.photobox {
  position: relative;
  width: 100%;
  min-height: 100px;
  overflow: hidden;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-end;
  margin-bottom: 1.8rem;
}

/* Dim for dark mode */
@media (prefers-color-scheme: dark) {
  .photobox .image::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.2);
  }
}

/* Background image */
.photobox .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 55%; /* Off-centered to account for captions */
  will-change: transform;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .photobox .image {
    transition: none;
  }
}


/* Alignment options */
.photobox .image.align-top {
  background-position: 50% 5%;
}
.photobox .image.align-middle {
  background-position: 50% 55%;
}
.photobox .image.align-bottom {
  background-position: 50% 75%;
}

.photobox:hover .image { /* Scale upon hover */
	transform: scale(1.1);
	opacity: 0.6;
}
.photobox.clickable .image { /* Change cursor if clickable */
  cursor: pointer;
}
.photobox .image img { /* If scripting disabled, keep foreground image */
  display: block;
  max-width: none;
}

/* Alternate logo images */
.photobox .image.photobox-logo-lawed {
  background-size: 60% auto;
  background-position: 50% 35%;
  background-color: var(--color-light-box-background);
  background-image: url("/sites/default/files/logos/law-ed.svg");
}
@media (prefers-color-scheme: dark) {
  .photobox .image.photobox-logo-lawed {
    background-image: url("/sites/default/files/logos/law-ed-white.svg");
  }
}

.photobox .image.photobox-logo-isba {
  background-size: 40% auto;
  background-position: 50% 25%;
  background-color: var(--color-primary);
}


/* Visible content */
.photobox > .content {
  position: relative;
  padding: 1.6rem;
}

.photobox > .content,
.photobox .more {
  background: hsl(202deg, 6%, 83%, 0.9); /* Translucent --gray-4 */
}
@media (prefers-color-scheme: dark) {
  .photobox > .content,
  .photobox .more {
    background: hsl(202deg, 17%, 31%, 0.9); /* Translucent --gray-8 */
  }
}

/* Tag */
.photobox .tag {
  position: absolute;
  top: 5%;
  left: 0;
  width: 40%;
  margin: 0 auto;
  padding: 0.35rem 0.5rem;
  background: var(--color-button-background);
  text-align: center;
	font: var(--font-text);
  font-variant-ligatures: var(--font-ligatures-text);
	font-size: var(--font-size-minus-4);
  color: var(--color-text-brightest);
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}

/* Date */
.photobox .date {
  font-size: var(--font-size-smaller);
}
.photobox .date .fa-calendar-alt {
  margin-right: 0.5em;
  margin-bottom: 0.1em;
  font-size: var(--font-size-minus-2);
}

/* Hidden content */
.photobox .more {
  position: relative;
  padding: 0 1.6rem 1.6rem;
}

@media (max-width: 472px) {
  /* Caption always visible on mobile */
  .photobox {
    overflow: visible;
    display: block;
  }

  .photobox .image,
  .photobox:hover .image {
    position: relative;
    opacity: 1;
    transition: none;
    transform: none;
  }
  .photobox .more {
    display: block !important;
  }
}

/* Reduce bottom margins */
.photobox .content > *:last-child,
.photobox .more > *:last-child {
  margin-bottom: 0;
}

.photobox h2,
.photobox h3,
.photobox h4,
.photobox h5 {
  margin-bottom: 0.5rem;
}
.photobox p,
.photobox ul,
.photobox ol {
  margin-bottom: 1rem;
}

/* Reduce heading sizes */
.photobox h2 {
  font-size: 2rem;
}
.photobox h3 {
  font-size: var(--font-size-plus-6);
}
.photobox h4 {
  font-size: var(--font-size-plus-4);
}
.photobox h5 {
  font-size: var(--font-size-base);
}

@media (max-width: 472px) {
  /* Reduce size on mobile */
  .photobox h2 {
    font-size: var(--font-size-plus-6);
  }
  .photobox h3 {
    font-size: var(--font-size-plus-4);
  }
  .photobox h4 {
    font-size: var(--font-size-base);
  }
}

/* Diminish link color */
.photobox h2 a,
.photobox h3 a,
.photobox h4 a,
.photobox h5 a,
.photobox h6 a {
  color: var(--color-text-dark);
}

/* CKEditor support */
body.cke_editable .photobox {
  max-width: 600px;
}

body.cke_editable .photobox .image {
  position: static;
  width: auto;
  height: auto;
}
body.cke_editable .photobox:hover .image {
	transform: none;
	opacity: inherit;
}

body.cke_editable .photobox .tag {
  position: relative;
  top: 0;
  left: 0;
  width: 40%;
  margin: 0 0 0.5rem;
}

body.cke_editable .photobox > .content::before {
  content: 'Always Visible';
  position: relative;
  top: -1.4rem;
  left: -1rem;
  font-size: var(--font-size-minus-3);
  color: var(--color-text-brightest);
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
}

body.cke_editable .photobox > .more {
  padding-top: 1.6rem;
  margin-top: 0.5rem;
}
body.cke_editable .photobox > .more::before {
  content: 'Hidden';
  position: relative;
  top: -1.4rem;
  left: -1rem;
  font-size: var(--font-size-minus-3);
  color: var(--color-text-brightest);
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
}




/* ---------- Right sidebar ---------- */

/* Make blocks flexbox to allow order changes */
.sidebar .region-sidebar-first {
  display: flex;
  flex-flow: column nowrap;
}

.sidebar .block {
	margin: 0 0 2rem;
}
.sidebar .block .box {
  margin-bottom: 0; /* Remove double-margin */
}


/* Ads */
.sidebar .image-advertisement a img {
  margin-left: auto;
  margin-right: auto;
}

/* Lists and menus */
.sidebar .block-menu-block > h2,
.sidebar .block-menu > h2,
.sidebar .block-isba-rise > h2,
.sidebar .box > h2.bar {
	margin: 0;
	padding: 1em 1.4rem;
	text-align: center;
	background-color: var(--color-bar-background);
	color: var(--color-bar-text);
	font-size: var(--font-size-plus-6);
}
.sidebar .block-menu-block .content,
.sidebar .block-menu .content,
.sidebar .block-isba-rise .content {
	background-color: var(--color-box-background);
	color: var(--color-box-text);
	padding-top: 0.4em;
}

.sidebar ul.menu {
	margin: 0;
	padding: 0;
	list-style: none;
}
.sidebar .box ul { /* Undo padding for faux-sidebar menus */
	margin: -1rem -1.4rem -1.4rem;
	padding: 0;
	list-style: none;
}
.sidebar .box > .item-list > ul:last-child,
.sidebar .box > ul:last-child {
  margin-bottom: -1.4rem;
}

/* Generic menu links */
.sidebar .box ul > li,
.sidebar ul.menu > li {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--color-box-sep);
	line-height: var(--font-lineheight-shortest);
	list-style: none;
}

.sidebar .box ul > li a,
.sidebar ul.menu > li a {
	display: block;
	padding: 0.8em 1.2rem 0.8rem 1.8rem;
	color: var(--color-text-dark);
}

/* Active link */
.sidebar .box ul > li a.active,
.sidebar ul.menu > li a.active,
.sidebar ul.menu > li.leaf > a.active-trail,
.sidebar ul.menu > li.collapsed.active-trail > a.active-trail {
  background-color: var(--color-box-background-highlight);
  color: var(--color-link);
}
.sidebar .box ul > li a:hover,
.sidebar ul.menu > li a:hover {
  color: var(--color-link-hover);
  text-decoration: none;
}

/* Fourth-level links */
.sidebar .box ul > li > ul > li a,
.sidebar ul.menu > li > ul.menu > li a {
  padding-left: 2.8rem;
}

/* Show down arrow on injected top/third-level link */
.sidebar .box ul > li > a.parent::before,
.sidebar ul.menu > li > a.parent::before {
  content: "";
  display: inline-block;
  position: relative;
  top: -0.05rem;
  width: 0.5rem;
  height: 1rem;
  margin: 0 0.5rem 0 -1rem;
  vertical-align: middle;
  background-color: var(--color-link); /* Use mask to change color in dark mode */
  -webkit-mask: url("../images/bullet-chevron-right-solid.svg") no-repeat 0 50%;
  mask: url("../images/bullet-chevron-right-solid.svg") no-repeat 0 50%;
  transform: rotate(90deg);
}

.sidebar .box ul > li > a.parent:not(.active)::before,
.sidebar ul.menu > li > a.parent:not(.active)::before {
  /* Rotate to UP arrow when on children pages */
  transform: rotate(270deg);
}



/* Inline FUSE search forms */
.inline-search {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 1.5em;
  border: 1px solid var(--color-field-border);
  padding: 5px 6px;
  border-radius: 0;
  background-color: var(--color-background);
}

/* Within sidebar */
.menu-block-wrapper .inline-search {
  margin: 0.9rem 1.4rem 1rem;
}
.menu-block-wrapper .block-isba-fuse {
  margin-bottom: 0;
}


.inline-search input.form-text {
  width: 100%;
  max-width: 85%;
  max-width: calc(100% - 22px);
  margin: 0;
  padding: 0 4px;
  border: none;
  background-color: transparent;
  font-size: var(--font-size-base);
  line-height: var(--font-lineheight-taller);
  -webkit-appearance: textfield;
}
.inline-search input.form-text::-webkit-search-decoration {
  -webkit-appearance: none;
}
.inline-search input.form-text::placeholder {
  font-size: var(--font-size-minus-1);
  line-height: var(--font-lineheight-taller);
}

.inline-search button {
  padding: 1px;
  border: 0;
  border-radius: 0;
  letter-spacing: 0;
  text-shadow: none;
  background: transparent none;
  font-size: var(--font-size-base);
}
.inline-search button:hover {
  color: var(--color-link-hover);
}



/* ---------- Footer ---------- */

footer {
  clear: both;
  padding: 2.5rem 0;
  background-color: var(--color-secondary-dark);
  font-size: var(--font-size-smaller);
  color: var(--gray-4);
}
footer .content p {
  margin: 0;
}

.region-footer {
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  align-items: center;
}

/* Copyright and links */
#block-isba-settings-footer-links {
  margin-bottom: 1rem;
}
#block-isba-settings-footer-links .content ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0.3em 0.5em;
  margin: 0;
  padding: 0;
  list-style: none;
}

#block-isba-settings-footer-links .content ul > li {
  margin: 0;
  padding: 0;
}
#block-isba-settings-footer-links .content ul > li.copyright {
  padding-right: 0.6em; /* Equal spacing as links */
}

#block-isba-settings-footer-links .content ul > li a {
  display: block;
  padding: 0.6em 0.6em;
  white-space: nowrap;
  color: var(--color-highlight-link);
  font-weight: var(--font-weight-text);
}

/* Social links */
#block-isba-settings-footer-social h2 { /* Hide heading */
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  border: 0;
  color: var(--color-text-brightest); /* Contrast for accessibility */
}

#block-isba-settings-footer-social .content ul {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0.9em;
  margin: 0;
  padding: 0;
  list-style: none;
}
#block-isba-settings-footer-social .content ul > li {
  margin: 0;
  padding: 0;
}

#block-isba-settings-footer-social .content ul > li a {
  display: block;
  color: var(--color-highlight-text);
  font-size: 2.2rem;
  font-weight: var(--font-weight-text);
}
#block-isba-settings-footer-social .content ul > li a:hover {
  color: var(--gray-4);
}


@media (max-width: 890px) {
  /* Wrap copyright */
  #block-isba-settings-footer-links .content ul > li.copyright {
    flex: 1 0 100%;
    margin: 0 0 1em;
    padding-right: 0;
    text-align: center;
  }
}

@media (max-width: 640px) {
  /* Create room for Olark chat button to prevent overlap */
  footer {
    padding-bottom: 5.6rem;
  }
}

@media (max-width: 390px) {
  /* Single column links */
  #block-isba-settings-footer-links .content ul {
    flex-direction: column;
  }
}


/* ----- Link icon grids and row ----- */

/* Fallback flexbox for IE */
.link-grid {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: stretch;
  margin-left: 0;
  margin-right: 0;
  padding: 0;
  list-style: none;
  background-color: #fff;
}
.link-grid > * {
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: calc(25% - 2.4rem - 2px); /* 4 columns */
}
@media (max-width: 1060px) {
  .link-grid > * {
    flex-basis: calc(33.3% - 2.4rem - 2px); /* 3 columns */
  }
}
@media (max-width: 808px) {
  .link-grid > * {
    flex-basis: calc(50% - 2.4rem - 2px); /* 2 columns */
  }
}
@media (max-width: 560px) {
  .link-grid > * {
    flex-basis: calc(100% - 2.4rem - 2px); /* Collapse columns */
  }
}

/* Grid support */
@supports (display: grid) {
  .link-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    margin-left: 0;
    margin-right: 0;
    padding: 0;
    list-style: none;
    background-color: var(--color-background);
  }
}

.link-row,
.item-list .link-row {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: stretch;
  margin-left: 0;
  margin-right: 0;
  padding: 0;
  list-style: none;
  background-color: var(--color-background);
}
.link-row.link-row-wrap { /* Allow wrapping */
  flex-wrap: wrap;
}

@media (max-width: 665px) {
  .link-row { /* Collapse columns */
    display: block;
  }
}

.link-row > * {
  flex: 1 0;
}
.link-grid > *,
.link-row > *,
.item-list .link-row > * {
  position: relative;
  margin: 0 -1px -1px 0;
  padding: 2.4rem 1.2rem 2.3rem;
  list-style: none;
  border: 1px solid var(--color-hr);
  text-align: center;
}

/* Entire grid is clickable through script */
.link-grid > *.hover,
.link-row > *.hover {
  box-shadow: 0 5px 40px 0 rgba(0, 0, 0, 0.1);
  z-index: 2;
  cursor: pointer;
}
@media (prefers-color-scheme: dark) {
  .link-grid > *.hover,
  .link-row > *.hover {
    box-shadow: 0 5px 40px 0 rgba(255, 255, 255, 0.15);
  }
}

.link-grid img,
.link-row img {
  display: block;
  margin: 0 auto 0.3em;
  width: 100%;
  max-width: 90px;
  min-width: 70px;
  height: auto;
  max-height: 90px; /* Prevent tall icon blow-out */
}

/* Font Awesome icons */
.link-grid svg,
.link-row svg,
.link-grid i.icon,
.link-row i.icon {
  display: block;
  margin: 0 auto 1.2rem;
  width: auto !important;
  height: 70px;
  color: var(--color-secondary);
}

.link-grid h2,
.link-grid h3,
.link-grid h4,
.link-grid h5,
.link-row h2,
.link-row h3,
.link-row h4,
.link-row h5 {
  font-size: var(--font-size-plus-5);
}
.link-grid a:hover,
.link-row a:hover {
  text-decoration: none;
}

/* Ribbon text */
.link-grid .ribbon,
.link-row .ribbon {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 0.6em + 0.5px);
  margin: 0;
  padding: 0.7em 0.3em;
  background-color: var(--color-primary);
  text-align: center;
  font-size: var(--font-size-minus-4);
  line-height: var(--font-lineheight-shortest);
  color: var(--color-text-brightest);
}
.link-grid .ribbon.bottom,
.link-row .ribbon.bottom {
  top: auto;
  bottom: 0;
}

/* Remove extra bottom whitespace */
.link-grid > * > *:last-child,
.link-grid > * > *:last-child > *:last-child,
.link-row > * > *:last-child,
.link-row > * > *:last-child > *:last-child {
  margin-bottom: 0;
}



/* ---------- YLD News Box ---------- */

.news-box {
  clear: both;
  position: relative;
  margin: 0 0 2em;
  padding: 1.4rem;
  border: 1px solid var(--color-highlight-background);
  border-radius: 0;
}
  /* Clear after floats */
	.news-box::after {
		content: "";
		display: block;
		height: 0;
		clear: both;
		visibility: hidden;
	}

.news-box > *:last-child,
.news-box > *:last-child > *:last-child {
  margin-bottom: 0;
}

.news-box h2.bar {
  margin-left: -1.4rem;
  margin-right: -1.4rem;
  background-color: var(--color-box-background);
  color: inherit;
  text-align: center;
}
.news-box h2.bar:first-child {
  margin-top: -1.4rem;
}

.news-box .news-date {
  margin-left: -1.4rem;
  margin-right: -1.4rem;
  padding: 0.6em;
  background-color: var(--color-highlight-background);
  color: var(--color-highlight-text);
  font-size: var(--font-size-plus-3);
  text-align: center;
}
.news-box h2.bar + .news-date,
.news-box h2.bar + div > .news-date {
  margin-top: -1.4em;
}

.news-box .news-more {
  margin-left: -1.4rem;
  margin-right: -1.4rem;
  padding: 0.6em;
  background-color: var(--color-highlight-background);
  color: var(--color-highlight-text);
  text-align: center;
}
.news-box .news-more:last-child {
  margin-bottom: -1.4rem;
}

.news-box .news-date a,
.news-box .news-more a {
  color: var(--color-highlight-link);
}




/* ---------- Node types ---------- */


/* ----- Events ----- */

.node-isbaevent .content .field-name-field-multidates {
  margin-bottom: 1em;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-plus-7);
}

.node-isbaevent .content .field-name-field-grouptravel .field-item {
  float: right;
  display: inline-block;
  margin: 0 0 1em 1em;
  padding: 6px 10px;
  border: 1px solid var(--color-border-light);
  border-radius: 18px;
  background-color: var(--color-lightest-box-background);
  font-weight: var(--font-weight-bold);
}

.node-isbaevent .content .field-name-field-grouptravel .field-item:empty {
  display: none;
}

.node-isbaevent .content .field-name-field-event-type::after /* Remove clearfix */ {
  content: none;
}
.node-isbaevent .content .field-name-field-event-city {
  clear: left;
  margin-bottom: 1.2em;
}

.node-isbaevent .content .field-name-body {
  margin-top: 1.2em;
}



/* ----- CLE ----- */

/* Mini views metadata */
.view .link-list .views-field-field-multidates,
.view .link-list .views-field-field-event-time,
.view .link-list .views-field-field-event-city,
.view .link-list .views-field-field-cle-city,
.view .link-list .views-field-unpublish-on,
.view .link-list .views-field-unpublish-on-1, /* Accreditation expires */
.view .link-list .views-field-sponsors,
.view .link-list .views-field-field-cle-mcle,
.view .link-list .views-field-field-cle-pmcle {
  font-size: var(--font-size-minus-2);
  color: var(--color-text-light);
}
.view .link-list .views-field-field-cle-mcle,
.view .link-list .views-field-field-cle-pmcle {
  white-space: nowrap;
}


/* CLE Sections Activities view sponsor badges */
.view-section-activities-cle .badge {
  display: inline;
  min-width: none;
  margin: 0 0.2em 0 0;
  padding: 0.15em 0.65em;
  border: none;
  border-radius: 18px;
  background-color: var(--color-light-box-background);
  font-size: var(--font-size-minus-2);
  font-weight: var(--font-weight-semibold);
  line-height: var(--font-lineheight-shorter);
}


/* Calendar icon */
.view .link-list .views-field-field-multidates .fa-calendar-alt {
  margin-right: 0.5em;
  margin-bottom: 0.1em;
  font-size: var(--font-size-minus-2);
}

/* Start time within other views */
.views-field-field-event-time {
  white-space: nowrap;
}

/* Blue Sky event date */
.node-bluesky-cle .field-name-field-multidates {
  margin: 0 0 1em;
  font-size: var(--font-size-plus-4);
  font-weight: var(--font-weight-bold);
}

/* Blue Sky description cleanup */
.node-bluesky-cle .content span[style] {
  font-family: var(--font-family-text) !important;
}


/* List view */
table.event-list span.cle-label /* Show extra labels only on mobile view */ {
	display: none;
}



/* ----- Daily Legal News ----- */

.node-dailylegalnews h2 {
	margin-bottom: 0.2em;
	font-size: var(--font-size-plus-2);
}
.node-dailylegalnews .content {
	margin-bottom: 1.4em;
}
.node-dailylegalnews .content p {
	margin-bottom: 0.1em;
}
.node-dailylegalnews .content .field-name-field-newssource .field-label {
	font-weight: normal;
}
.node-dailylegalnews .content .field-name-field-newssource .field-items {
	font-style: italic;
}

/* Unpublished nodes */
.view-dailylegalnews .node-unpublished {
	padding: 1em;
	margin: -1em -1em 1.3em;
}
.view-dailylegalnews .node-unpublished .content {
	margin-bottom: 0;
}

/* Admin sortable view: Unpublished row (class added in script) */
#draggableviews-table-dailylegalnews-reorder tr.row-unpublished td {
	background-color: var(--color-unpublished-background);
}




/* ----- Bar News (formerly ILN) ----- */

/* --- Top link bar --- */

/* Add space if no image */

.title-banner + .barnews-links {
  margin-top: 2.2rem;
}
.title-banner.barnews + .barnews-links,
.title-banner.size-short + .barnews-links,
.title-banner.size-tall + .barnews-links {
  margin-top: 0;
}

.region-banner > .barnews-links {
  --color-barnews-title-back: var(--gray-5);
  background-color: var(--color-barnews-title-back);
}
@media (prefers-color-scheme: dark) {
  .region-banner > .barnews-links {
    --color-barnews-title-back: var(--gray-8);
  }
}

.region-banner > .barnews-links > .container {
  padding-top: 1.3rem;
  padding-bottom: 1.3rem;
}

/* Columns */
.barnews-links .content > .item-list > ul {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  list-style: none;
}
.barnews-links .content > .item-list > ul > li {
  position: relative;
  flex: 1 1 auto;
  margin: 0 1.5rem 0 0;
  padding: 0;
}
  .barnews-links .content > .item-list > ul > li:last-child {
    margin-right: 0;
  }

@media (max-width: 690px) {
  /* Collapse columns on mobile */
  .barnews-links .content > .item-list > ul {
    flex-flow: column nowrap;
    justify-content: space-between;
    font-size: var(--font-size-minus-1);
  }
  .barnews-links .content > .item-list > ul > li {
    margin: 0 0 1.2rem;
  }
  .barnews-links .content > .item-list > ul > li:last-child {
    margin-bottom: 0;
  }
}

/* Button and heading */
.barnews-links .content h3 {
  margin: 0;
  padding: 0;
  font-size: var(--font-size-base);
}
.barnews-links .content h3 button {
  display: flex;
  flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
  width: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	margin: 0;
	padding: 0.8rem 1rem;
	border: none;
	border-radius: 0;
	background-color: var(--color-lightest-box-background);
	background-image: none;
	text-align: left;
	font: var(--font-text);
  font-variant-ligatures: var(--font-ligatures-text);
	font-size: var(--font-size-plus-2);
	font-weight: var(--font-weight-button);
	letter-spacing: 0;
	text-shadow: none;
	color: var(--color-text-light);
}
.barnews-links .content h3 button > span {
  margin-right: 0.3rem;
}
.barnews-links .content h3 button > span.active { /* Injected by script */
  color: var(--color-link);
}

/* Hidden link lists */
.barnews-links .content .view-iln-sidebar {
  display: none;
  position: absolute;
  z-index: 10;
  width: 100%;
  background-color: var(--color-background);
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.barnews-links .content .view-iln-sidebar .view-content ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.barnews-links .content .view-iln-sidebar .view-content ul > li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--color-border);
}
.barnews-links .content .view-iln-sidebar .view-content ul > li:last-child {
  border-bottom: none;
}
.barnews-links .content .view-iln-sidebar .view-content ul > li.vocabulary { /* Category name injected by script */
  padding: 0.6rem 1rem;
  background-color: var(--color-light-box-background);
	font-weight: var(--font-weight-semibold);
	font-size: var(--font-size-plus-2);
  color: var(--color-text-light);
}

.barnews-links .content .view-iln-sidebar .view-content ul > li a {
  display: block;
  padding: 0.6rem 1rem;
  color: var(--color-text);
}
.barnews-links .content .view-iln-sidebar .view-content ul > li a:hover {
  background-color: var(--color-box-background);
  text-decoration: none;
}
.barnews-links .content .view-iln-sidebar .view-content ul > li a.active {
  color: var(--color-link);
}


/* --- Intro photo boxes --- */

/* Grid support */
#block-isba-iln-photoboxes-landing .content > .item-list > ul {
  display: grid;
  grid-template-columns: calc(60% - 10px) calc(40% - 10px);
  grid-gap: 20px;
  margin: 0 0 4rem;
  padding: 0;
  list-style: none;
}

#block-isba-iln-photoboxes-landing .content > .item-list > ul > li {
  margin: 0;
  padding: 0;
}
#block-isba-iln-photoboxes-landing .content > .item-list > ul > li:first-child {
  grid-row-start: span 2;
}

#block-isba-iln-photoboxes-landing .content .photobox {
  margin: 0;
}

@media (max-width: 820px) {
  /* Tablet: Collapse grid; make all boxes same size (larger) */
  #block-isba-iln-photoboxes-landing .content > .item-list > ul {
    grid-template-columns: auto;
  }
  #block-isba-iln-photoboxes-landing .photobox,
  #block-isba-iln-photoboxes-landing .photobox > .image {
    min-height: 340px !important;
  }
}
@media (max-width: 472px) {
  /* Mobile: Make all boxes same size (smaller) */
  #block-isba-iln-photoboxes-landing .photobox,
  #block-isba-iln-photoboxes-landing .photobox > .image {
    min-height: 150px !important;
  }
}


/* Main view */
.view-iln .views-field-created,
.view-iln .views-field-field-iln-categories {
  font-size: var(--font-size-minus-2);
  color: var(--color-text-light);
}
.view-iln .views-field-field-iln-categories a {
  color: inherit;
  font-weight: var(--font-weight-text);
}
.view-iln .views-field-title {
  margin-top: 0.4em;
  margin-bottom: 1.2em;
}
.view-iln .views-field-body > .field-content > p:last-child { /* Remove teaser bottom margin */
  margin-bottom: 0;
}

/* Featured/gallery image */
.view-iln .views-field-field-gallery-images,
.view-iln .views-field-field-featured-image {
  float: right;
  margin: 0 0 0.1rem 1.5rem;
}
.view-iln .views-field-field-gallery-images img,
.view-iln .views-field-field-featured-image img { /* Limit height of image only */
  max-height: 160px;
  width: auto;
}

@media (min-width: 768px) and (max-width: 840px) {
  /* Don't float image */
  .view-iln .views-field-field-gallery-images,
  .view-iln .views-field-field-featured-image {
    float: none;
    margin: 0 auto 1rem;
    text-align: center;
  }
  .view-iln .views-field-field-gallery-images img,
  .view-iln .views-field-field-featured-image img {
    height: auto;
    max-height: none;
  }
}
@media (max-width: 450px) {
  /* Don't float image */
  .view-iln .views-field-field-gallery-images,
  .view-iln .views-field-field-featured-image {
    float: none;
    margin: 0 auto 1rem;
    text-align: center;
  }
  .view-iln .views-field-field-gallery-images img,
  .view-iln .views-field-field-featured-image img {
    height: auto;
    max-height: none;
  }
}


/* Sponsored row */
.view-iln ul.link-list > li.row-sponsored {
  position: relative;
  z-index: 2;
  margin-left: -30px;
  margin-right: -30px;
  border: 1px solid var(--color-primary);
  padding: 0 30px 30px;
}
.view-iln ul.link-list > li.row-sponsored + li.row-sponsored { /* Separate multiples */
  margin-top: 1.5em;
}

.row-sponsored .sponsored { /* Heading */
  margin: 0 -30px 1.4rem;
  padding: 0.8rem 1rem;
  background-color: var(--color-bar-background);
  color: var(--color-bar-text);
}

@media (max-width: 414px) { /* Reduced edge padding on mobile */
  .view-iln ul.link-list > li.row-sponsored {
    margin-left: -15px;
    margin-right: -15px;
    padding-left: 15px;
    padding-right: 15px;
  }
  .row-sponsored .sponsored {
    margin-left: -15px;
    margin-right: -15px;
  }
}


/* Read more */
.node-blog-post.node-teaser .content .field-name-body .field-item > *:last-child /* Space body appropriately */ {
	margin-bottom: 0;
}

/* Featured image */
.node-blog-post .field-name-field-featured-image {
  margin: 0 auto 1.5rem;
  text-align: center;
}
@media (min-width: 900px) {
  .node-blog-post .field-name-field-featured-image {
    float: right;
    max-width: 50%;
    margin: 0 0 1.5rem 1.5rem;
  }
}


/* Node metadata */
.node-blog-post .content .blog-author,
.node-image-gallery .content .blog-author {
	margin: 1.5em 0 0.2em 0.2em;
	border-top: 1px solid var(--color-hr);
	padding-top: 1.6em;
	font-size: var(--font-size-minus-1);
}

.node-blog-post.node-teaser .content .blog-author, /* Above content on teasers */
.node-image-gallery.node-teaser .content .blog-author {
	margin: -1.1em 0 1em;
	border: none;
	padding: 0;
	color: var(--color-text-light);
	font-size: var(--font-size-minus-2);
}

.node-blog-post .field-type-taxonomy-term-reference,
.node-image-gallery .field-type-taxonomy-term-reference {
  display: flex;
  margin-bottom: 0.2em;
  margin-left: 0.2em;
  font-size: var(--font-size-minus-1);
}
.node-blog-post .field-type-taxonomy-term-reference > *,
.node-image-gallery .field-type-taxonomy-term-reference > * {
  float: none;
}

.node-blog-post .field-type-taxonomy-term-reference .field-label,
.node-image-gallery .field-type-taxonomy-term-reference .field-label {
  min-width: 6em;
  margin-right: 0.2em;
  font-weight: normal;
}
.node-blog-post .field-type-taxonomy-term-reference .field-items .field-item,
.node-image-gallery .field-type-taxonomy-term-reference .field-items .field-item {
  display: inline-block;
  margin-right: 1.2em;
  white-space: pre-line;
}

.node-blog-post .content .field-name-body .field-item img /* Shrink any images too wide for the available space */ {
	max-width: 100%;
	height: auto;
}
.node-blog-post .content .field-name-body figure /* Undo caption width limits */ {
	width: auto;
	margin: 0 0 1em;
}
  .node-blog-post .content .field-name-body figure.floatright {
    margin-left: 1em;
  }
  .node-blog-post .content .field-name-body figure.floatleft {
    margin-right: 1em;
  }

/* Legacy WordPress captions */
.node-blog-post .content .field-name-body figure.legacy-photo {
	float: right;
	margin: 0 0 1em 1em;
}


/* Photo Gallery View */
.node-image-gallery.node-teaser .field-name-field-gallery-images /* Left-column thumbnail */ {
	float: left;
	margin: 0.3em 0 0;
}
.node-image-gallery.node-teaser .field-name-field-gallery-images img /* Reduce retina-sized image */ {
	display: block;
	width: 120px;
	height: 120px;
}

.node-image-gallery.node-teaser > h2,
.node-image-gallery.node-teaser > .content /* Indent title and teaser content */ {
	margin-left: 135px;
}
.node-image-gallery.node-teaser .content .blog-author::after /* Remove clearfix */ {
	clear: none;
	display: none;
}
.node-image-gallery.node-teaser .content .field-item:last-child p:last-child {
	margin-bottom: 0;
}

/* Login button */
.node-blog-post + p {
  margin-top: 1rem;
}



/* -------- Ethics -------- */

.node-ethics .content > .field {
	margin-bottom: 0.6em;
}

/* Show date fields together */
.node-ethics .content > .field-name-field-month,
.node-ethics .content > .field-name-field-month *,
.node-ethics .content > .field-name-field-year,
.node-ethics .content > .field-name-field-year * {
	display: inline;
}
.node-ethics .content > .field-name-field-year .field-item::before {
	content: " ";
}

/* Hide file icon */
.node-ethics .content > .field-name-field-ethics-opinion-file img.file-icon {
	display: none;
}



/* -------- Expert Services -------- */

/* Landing page */
.view-expertsdirectory-term .view-content .views-row {
	margin-bottom: 2em;
	padding-bottom: 1em;
	border-bottom: 3px solid var(--color-hr);
}

/* Taxonomy term pages */
.node-expertservices h3.subtitle {
	margin: -0.4em 0 1.2em;
}

.node-expertservices .content .field-label {
	float: none;
	display: inline-block;
	font-weight: normal;
}
.node-expertservices .content .field-items {
	float: none;
	display: inline-block;
}
.node-expertservices .content .field {
	display: block;
}

.node-expertservices .field-name-field-expertlogo {
	margin-bottom: 1em;
}

/* Address */
.node-expertservices .content .field-name-field-expertcity,
.node-expertservices .content .field-name-field-expertstate,
.node-expertservices .content .field-name-field-expertzipcode {
	display: inline;
}

.node-expertservices .content .field-name-field-expertcity::after {
	content: ", ";
}
.node-expertservices .content .field-name-field-expertstate::after {
	content: " ";
}
.node-expertservices .content .field-name-field-expertzipcode::after {
	content: "";
	clear: both;
	margin-bottom: 1.4em;
}

.node-expertservices .content .field-name-field-expertphone,
.node-expertservices .content .field-name-field-experturl {
	margin-top: 0.8em;
}

/* Main content */
.node-expertservices .content .field-name-body {
	clear: both;
	margin-top: 1.5em;
}

/* Related terms (display as comma-separated list) */
.node-expertservices .content .field-name-field-service-areas {
	margin: 1.2em 0;
	padding: 1em 0 0;
	border-top: 3px solid var(--color-hr);
}
.node-expertservices .content .field-name-field-service-areas .field-items .field-item {
	display: inline;
}
.node-expertservices .content .field-name-field-service-areas .field-items .field-item::after {
	content: ", ";
}
	.node-expertservices .content .field-name-field-service-areas .field-items .field-item:last-child::after {
		content: none;
}




/* Experts Services order webform */
#webform-client-form-1217 #webform-component-category_other {
	margin-left: 30px;
	margin-bottom: 1.5em;
}

#webform-client-form-1217 #webform-component-listing_type {
	margin: 1.5em 0;
}
#webform-client-form-1217 #webform-component-listing_type .form-radios {
	margin-top: 0.5em;
}

#webform-client-form-1217 #webform-component-listing_type .form-radios label {
	font-size: var(--font-size-plus-2);
	vertical-align: baseline;
}
#webform-client-form-1217 #webform-component-listing_type .form-radios input {
	vertical-align: baseline;
}

#webform-client-form-1217 span.indent {
	display: block;
	margin: 0 0 1em 22px;
}
#webform-client-form-1217 span.price {
	color: #0e736d;
}
#webform-client-form-1217 span.price strong {
	font-size: var(--font-size-base);
}


#webform-client-form-1217 #webform-component-print_and_mail {
	font-size: var(--font-size-minus-1);
}
#webform-client-form-1217 #webform-component-print_and_mail p {
	margin-bottom: 1.1em;
}

#webform-client-form-1217 #edit-submitted-field-payment-expiration-month-wrapper {
	float: left;
	margin: 0 20px 0 0;
}



/* ----- ISBA elections webform ----- */

/* Textarea word count */
.webform-client-form .form-item.webform-component--about-the-applicant--biography label,
.webform-client-form .form-item.webform-component--about-the-applicant--illinois-lawyer-now-bio label {
	float: left;
}
.webform-client-form .wordcount {
	float: right;
	font-weight: 700;
}

.webform-client-form .form-item.webform-component--about-the-applicant--biography textarea,
.webform-client-form .form-item.webform-component--about-the-applicant--illinois-lawyer-now-bio textarea {
	clear: both;
}



/* ----- New Lawyers MCLE calculator ----- */

/* Questions */
#mcle-calculator form p {
  display: flex;
  flex-flow: row wrap;
  gap: 0.3rem 0.8rem;
}

#mcle-calculator form .question {
  flex-basis: 50%;
  font-weight: var(--font-weight-label);
  font-size: var(--font-size-plus-1);
}
@media (max-width: 600px) {
  /* Wrap flexbox */
  #mcle-calculator form .question {
    flex-basis: 100%;
  }
}

@media (max-width: 767px) {
  /* Override mobile form styles */
  #mcle-calculator form select {
    width: auto;
  }
}

#mcle-calculator form label {
  margin-bottom: 0;
  font-size: var(--font-size-base);
}
#mcle-calculator form label:not(.question) {
  font-weight: var(--font-weight-text);
}
#mcle-calculator form input[type="radio"] {
  margin-right: 0.3em;
}


/* Results */
#mcle-calculator h5 {
  margin: 1.8em 0 0.6em;
}
#mcle-calculator .answer-default {
  color: var(--color-box-text);
  font-size: var(--font-size-minus-1);
}
#mcle-calculator .answer-calculated { /* Hide real answer by default */
  display: none;
}
.cke_editable #mcle-calculator .answer-calculated { /* Show within CKEditor */
  display: block;
}

#mcle-calculator .answer-calculated mark.answer {
  white-space: nowrap;
  font-weight: var(--font-weight-bold);
}



/* -------- Member Section list views -------- */

@media (min-width: 768px) {
  /* Collapse main content bottom */
  #block-system-main + #block-views-member-sections-block-unjoined,
  #block-system-main + #block-views-member-sections-block-joined,
  #block-system-main + #block-views-member-sections-block-all {
    margin-top: -3.5rem;
  }
}

/* Content bottom whitespace */
#block-views-member-sections-block-unjoined,
#block-views-member-sections-block-joined,
#block-views-member-sections-block-all {
  margin-bottom: 4rem;
}

.view-member-sections .view-content ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 560px) {
  /* Show in columns */
  .view-member-sections .view-content ul {
    column-count: 2;
    column-gap: 1.8rem;
  }
}

.view-member-sections .view-content ul > li {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: var(--font-lineheight-shorter);
}
.view-member-sections .view-content ul > li > div {
  -webkit-column-break-inside: avoid;
  break-inside: avoid-column;
  padding: 0 0 1.1em;
}

/* Joined sections block (similar to highlight-box) */
#block-views-member-sections-block-joined {
  padding: 1.5rem 1.5rem 0.3rem;
  background-color: var(--color-box-background);
}

#block-views-member-sections-block-unjoined,
#block-views-member-sections-block-all {
  border-top: 3px solid var(--color-hr);
  padding-top: 2.5rem;
}

#block-views-member-sections-block-joined + #block-views-member-sections-block-unjoined {
  margin-top: -1rem; /* Collapse if both lists are visible */
  border-top: 0;
  padding-top: 0;
}

#block-views-member-sections-block-joined h2 svg {
  margin-right: 0.4em; /* Checkmark icon */
  font-size: var(--font-size-minus-3);
}
.view-display-id-block_joined .view-content {
  font-size: var(--font-size-plus-2);
}




/* ----- Member section nodes ----- */

/* Separate articles and cases */
.node-section #section-articles + #section-cases {
	margin-top: 1.2em;
	padding-top: 1.2em;
	border-top: 1px solid var(--color-hr);
}

.node-section #section-cases ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.node-section #section-cases ul > li {
  margin: 0 0 1.3rem;
  padding: 0;
  list-style: none;
}
.node-section #section-cases ul > li h4 {
  margin: 0 0 0.25rem;
  font-size: var(--font-size-plus-2);
}


.node-section #section-cle,
.node-section #section-events {
	margin-bottom: 1.2em;
	border-bottom: 1px solid var(--color-hr);
}


/* Section event view title (may not be linked) */
.view-section-events .views-field-field-redirect {
  font-weight: bold;
}



/* ----- Section Newsletters ----- */

/* Issue metadata block */
#block-isba-membersections-newsletter-issue-number .content {
  margin-bottom: 1.6rem;
  color: var(--color-text-light);
  line-height: var(--font-lineheight-shortest);
}
#block-isba-membersections-newsletter-issue-number .content span { /* Don't wrap individual components */
  white-space: nowrap;
}
#block-isba-membersections-newsletter-issue-number .content a {
	font-weight: var(--font-weight-text);
}
#block-isba-membersections-newsletter-issue-number .file-icon { /* Hide default PDF icon */
  display: none;
}


/* Credits block */
.sectionnews-credits {
	text-align: center;
}

/* Wrap long headings */
.sectionnews-credits h2 {
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

.sectionnews-credits div.field-disclaimer,
.sectionnews-credits div.field-disclaimer p {
	text-align: left;
}

/* Columns */
#sectionnews-issues {
	float: left;
	width: 326px;
	margin: 0 0 1em;
}

/* Issue lists */
#newsletter-index-link {
	margin: 0.9em 0 1.2em;
	font-weight: var(--font-weight-bold);
}

#archive-list h3 {
	display: block;
}
#archive-list a.index-link {
	display: block;
	margin: 0.7em 0 0.4em;
	font-size: var(--font-size-minus-2);
}
#archive-list ul {
	margin-top: 0.4em;
}
	#archive-list ul.columns-two > li /* Fix two column spacing */ {
		margin-bottom: 0;
		padding-bottom: 0.6em;
	}


/* Issue from HTML newsletter */
.node-section-newsletter > .newsletter { /* Account for unpublished node background */
  background-color: transparent;
}
.node-section-newsletter * {
  font-family: var(--font-family-text) !important;
}
.node-section-newsletter table {
	margin: 0;
}
.node-section-newsletter table tbody {
	border: none;
}
.node-section-newsletter table tr:nth-child(odd) {
	background-color: transparent;
}
.node-section-newsletter table td {
	padding: 0;
}

/* Hide old newsletter ads */
.node-section-newsletter .newsletter-intro .floatright,
.node-section-newsletter .newsletter-intro img[align="right"] {
  display: none;
}

/* Advertisements */
.node-section-newsletter .newsletter-intro + .newsletter-ads {
  margin-top: 1.5rem;
}

.node-section-newsletter .image-advertisement a,
.node-section-newsletter .image-advertisement a img {
  display: inline-block;
}

/* Override email footer */
.node-section-newsletter .newsletter-footer {
  background-color: transparent;
  border-top: 1px solid var(--color-hr);
}
.node-section-newsletter .newsletter-footer td {
  padding: 2.5rem 0 0;
}
.node-section-newsletter .newsletter-footer-logo {
  display: none;
}
.node-section-newsletter .newsletter-footer p {
  color: var(--color-text);
  font-size: var(--font-size-minus-1);
  line-height: var(--font-lineheight-text);
}
.node-section-newsletter .newsletter-footer a {
	text-decoration: none;
	font-weight: var(--font-weight-link);
	color: var(--color-link);
}
.node-section-newsletter .newsletter-footer a:hover,
.node-section-newsletter .newsletter-footer a:active {
  text-decoration: underline;
  color: var(--color-link-hover);
}
.node-section-newsletter .newsletter-footer p:last-child {
  margin-bottom: 0;
}


/* Article input */
#edit-field-month-value-wrapper,
#edit-field-year-0-value-wrapper {
	margin-top: 0;
	margin-bottom: 0;
}


/* - Article - */

.node-section-article h2#issuenum {
	margin-bottom: 0.9em;
	font-size: var(--font-size-plus-3);
}
.node-section-article .sectionnews-authors {
	margin: 0 0 1.4em;
	font-size: var(--font-size-plus-1);
	font-style: italic;
}


/* ---- Doug's styles dugnap ----*/

.pad-left-right {
	padding-right: 9px;
	padding-left: 9px;
}
cite,
.citation {
	font-style: italic;
	color: var(--color-text-light);
}
.underline {
	text-decoration: underline;
}


/* --- Doug's IBJ styles --- */

.copyhead {
	font-weight: bold;
	font-size: var(--font-size-plus-1);
}
.bio {
	font-style: italic;
}
.emphasis {
	font-weight: bold;
}

.ilu-copyhed-2 {
	color: var(--color-text);
	font-size: var(--font-size-plus-4);
}
p.ilu-copyhed-2 {
	margin-bottom: 1.4em;
}

.ilu-approved-line,
.ilu-copyhed-3,
.ilu-admhed-4 {
	font-weight: bold;
	font-size: var(--font-size-plus-1);
}
p.ilu-approved-line,
.ilu-copyhed-3,
.ilu-admhed-4 {
	margin-top: -1.5em;
	margin-bottom: 0.5em;
}

/* --- Doug's previous newsletter styles --- */

.pad {
	padding: 6px;
}
.author-bio,
.author-bio-gp {
	font-style: italic;
}
.subheading,
.subhead {
	font-size: var(--font-size-plus-3);
	font-weight: bold;
}
.sub-subheading {
	font-weight: bold;
}
.italic,
.body-italic,
.hyperlink_italic {
	font-style: italic;
}
.hyperlink-bold-italic,
.bold-italic,
.body-bold-italic {
	font-style: italic;
	font-weight: bold;
}
.bold,
.body-bold {
	font-weight: bold;
}
.superscript,
.headline-superscript {
	vertical-align: super;
	font-size: 60%;
}
.bullets {
	margin-left: 2em;
}
.bullets-2 {
	margin-left: 4em;
}
.bullets-3 {
	margin-left: 6em;
}
.bullets-4 {
	margin-left: 8em;
}
.bullets_5,
.bullets-5 {
	margin-left: 10em;
}
.bullets-6 {
	margin-left: 12em;
}
.bullets-7 {
	margin-left: 14em;
}
.bullets-8 {
	margin-left: 16em;
}
.quote-bullets,
.quote {
	margin-left: 3em;
	margin-right: 3em;
}
.quote-bullets-2,
.quote-2 {
	margin-left: 6em;
	margin-right: 6em;
}
.quote-bullets-3,
.quote-3 {
	margin-left: 9em;
	margin-right: 6em;
}
.quote-bullets-4,
.quote-4 {
	margin-left: 12em;
	margin-right: 6em;
}
.table-copy {
	font-size: var(--font-size-minus-1);
}
.pubinfo {
	font-weight: var(--font-weight-bold);
}
.endnotes {
	font-style: italic;
	font-size: var(--font-size-minus-1);
}



/* -------- Court cases -------- */

/* Full nodes */
.node .content .field-name-field-cases-ilcourt {
	font-weight: bold;
	font-size: var(--font-size-plus-2);
}
.node .content .field-name-field-cases-type {
	font-weight: bold;
	font-size: var(--font-size-plus-1);
}

.node .content .field-name-field-court-case-subjects {
	margin: 0.4em 0 1em;
}
.node .content .field-name-field-court-case-subjects .field-item {
	display: inline;
}

.node .content .field-name-field-court-case-subjects .field-items::before {
	content: "Subject: ";
}

.node .content .field-name-field-court-case-subjects .field-item::before {
	content: ", ";
}
.node .content .field-name-field-court-case-subjects .field-item:first-child::before {
  content: none;
}

.node .content .field-name-field-cases-url {
	float: right;
	font-size: var(--font-size-plus-2);
}
.node .content .field-name-field-cases-url .fa-external-link-alt {
	margin-right: 0.5em;
	vertical-align: -0.05em;
}

.node .content .group-citation .fieldset-wrapper .field-label {
	min-width: 9em;
	margin-right: 0.4em;
}

/* Teaser nodes (View) */
.view-case-digest .view-content .item-list > ul {
	margin: 0 0 1.4em;
	padding: 0;
}
.view-case-digest .view-content .views-row {
	margin: 0 0 1.6em;
	padding: 0 0 1.8em;
	border-bottom: 3px solid var(--color-hr);
	list-style: none;
	background: none;
}
.view-case-digest .view-content .views-row.views-row-last {
	border-bottom: none;
}

.view-case-digest .view-content .views-row .views-field-field-court-case-subjects {
	margin-bottom: 0.1em;
	font-weight: bold;
	font-size: var(--font-size-plus-1);
}

.view-case-digest .views-field-title {
  font-style: italic;
}

.view-case-digest .view-content .views-row .views-field-title .field-content::after /* Separate case number */ {
	content: ", ";
}
.view-case-digest .view-content .views-row .views-field-field-cases-number .field-content,
.view-case-digest .view-content .views-row .views-field-field-cases-date .field-content {
	white-space: nowrap;
}

.view-case-digest .view-content .views-row .views-field-body {
	margin-top: 0.7em;
}
.view-case-digest .view-content .views-row .views-field-body > .field-content > *:last-child {
	margin-bottom: 0;
}

.view-case-digest .view-content .views-row .views-field-field-cases-ilcourt {
	clear: both;
	display: inline-block;
	margin: 0.9em 0 0;
	color: var(--color-text-light);
	font-size: var(--font-size-minus-1);
}
.view-case-digest .view-content .views-row .views-field-field-cases-type {
	display: inline-block;
	color: var(--color-text-light);
	font-size: var(--font-size-minus-1);
}


/* --- Case Digest exposed filter form --- */

#views-exposed-form-case-digest-page {
	margin: 0 0 1.5rem;
	padding: 1.4rem;
	background-color: var(--color-box-background);
	color: var(--color-box-text);
}
#views-exposed-form-case-digest-page > h3 {
	margin: 0 0 0.5em;
}

#views-exposed-form-case-digest-page input.form-text { /* Reduce textfield size */
  padding: 0.2rem 0.4rem;
  font-size: var(--font-size-base);
}
@media (max-width: 767px) {
  #views-exposed-form-case-digest-page input.form-text {
    width: auto;
    max-width: 65vw;
  }
}

/* Groups */
#views-exposed-form-case-digest-page .views-exposed-widgets > fieldset {
	margin: 0 0 0.6em;
	padding: 0.6em 0 0.8em;
	border: none;
	border-bottom: 1px solid var(--color-background);
	background-color: transparent;
}
#views-exposed-form-case-digest-page .views-exposed-widgets > fieldset::after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

/* Group icons */
#views-exposed-form-case-digest-page .views-exposed-widgets > fieldset > legend {
	float: left;
	min-width: 9.5em;
	height: auto;
	font-size: var(--font-size-plus-2);
	margin: 0.2em 0 0;
	padding: 0;
	font-weight: bold;
}
#views-exposed-form-case-digest-page .views-exposed-widgets > fieldset > legend .fa-fw {
	margin-right: 0.4em;
}

#views-exposed-form-case-digest-page .views-exposed-widgets > fieldset > div {
	float: none;
	margin-left: 12em;
	padding: 0;
}

/* Mobile support */
@media (max-width: 767px) {
	#views-exposed-form-case-digest-page .views-exposed-widgets > fieldset {
		width: auto;
  }
	#views-exposed-form-case-digest-page .views-exposed-widgets > fieldset > legend {
		float: none;
		min-width: 0;
		margin: 0 0 0.3em;
	}
	#views-exposed-form-case-digest-page .views-exposed-widgets > fieldset > div {
		margin-left: 0;
	}
}

/* Keywords */
#views-exposed-form-case-digest-page #filter-keywords {
	padding-top: 0;
}
#views-exposed-form-case-digest-page #edit-keywords-wrapper > label {
	display: none;
}
#views-exposed-form-case-digest-page #edit-keywords-wrapper .views-operator {
	display: inline-block;
	margin-right: 0.2em;
	margin-bottom: 0.3em;
}
#views-exposed-form-case-digest-page #edit-keywords-wrapper div {
	display: inline;
}

/* Courts */
#views-exposed-form-case-digest-page #edit-ilcourt-wrapper > label,
#views-exposed-form-case-digest-page #edit-7thcourt-wrapper > label {
	display: none;
}

#views-exposed-form-case-digest-page #edit-ilcourt-wrapper {
	margin-bottom: 0;
}

#views-exposed-form-case-digest-page #edit-7thcourt-wrapper::after,
#views-exposed-form-case-digest-page #edit-type-wrapper::after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

#views-exposed-form-case-digest-page #edit-ilcourt-wrapper .form-item,
#views-exposed-form-case-digest-page #edit-7thcourt-wrapper .form-item {
	float: left;
	margin-right: 1em;
}

#views-exposed-form-case-digest-page #edit-ilcourt-wrapper .form-item label,
#views-exposed-form-case-digest-page #edit-7thcourt-wrapper .form-item label,
#views-exposed-form-case-digest-page #edit-type-wrapper .form-item label {
	font-weight: normal;
}

#views-exposed-form-case-digest-page #edit-type-wrapper {
	margin-top: 0.5em;
}
#views-exposed-form-case-digest-page #edit-type-wrapper > label /* Make Type label inline */ {
	display: inline-block;
	margin-right: 0.5em;
}
#views-exposed-form-case-digest-page #edit-type-wrapper * {
	display: inline-block;
}
#views-exposed-form-case-digest-page #edit-type-wrapper .form-item {
	margin-right: 1.1em;
}

/* Topics */
#views-exposed-form-case-digest-page #filter-topic > legend {
  margin-top: -0.2em;
}
#views-exposed-form-case-digest-page #edit-practice-areas-wrapper > label {
	display: none;
}

@media (max-width: 767px) {
	#views-exposed-form-case-digest-page #filter-topic .views-exposed-widget select {
		width: 100%;
  }
}

/* Dates */
#views-exposed-form-case-digest-page .views-widget-filter-field_cases_date_value > label { /* Replaced with custom label */
	display: none;
}

#views-exposed-form-case-digest-page .views-widget-filter-field_cases_date_value .form-type-textfield {
  display: flex;
  flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
}
#views-exposed-form-case-digest-page .views-widget-filter-field_cases_date_value > .views-widget label {
	flex-basis: 7.5rem;
	margin-bottom: 0;
	font-weight: normal;
	font-size: var(--font-size-minus-1);
}

#views-exposed-form-case-digest-page .views-widget-filter-field_cases_date_value > .views-widget .description {
	display: none;
}
#views-exposed-form-case-digest-page .views-widget-filter-field_cases_date_value #edit-field-cases-date-value-min-wrapper {
	margin-bottom: 0.4em;
}
#views-exposed-form-case-digest-page .views-widget-filter-field_cases_date_value .container-inline-date {
	clear: none;
}

/* Submit button */
#views-exposed-form-case-digest-page .views-exposed-widget.views-submit-button {
	clear: both;
	float: none;
	margin: 0 0 0 12em;
	padding: 0;
}
#views-exposed-form-case-digest-page .views-exposed-widget.views-submit-button .form-submit {
	margin-top: 0.5em;
}

@media (max-width: 767px) {
	#views-exposed-form-case-digest-page .views-exposed-widget.views-submit-button {
		margin-left: 0;
  }
}



/* ----- Legislation ----- */

.node-legislation .content .field-name-field-legislation-topic {
	margin: 0 0 1.4em;
	font-size: var(--font-size-plus-2);
}

.node-legislation .content .field-name-field-cases-url {
	clear: both;
	float: none;
	display: block;
	margin: 1.4em 0 0;
	font-size: var(--font-size-plus-2);
	font-weight: bold;
}



/* -------- E-Clips web view -------- */

/* Hide mobile help text */
#eclips-mobile-help {
	display: none;
}

/* Override default table styles */
#eclips tbody {
  border-top: none;
}
#eclips tr:nth-child(odd) {
  background-color: transparent;
}

/* Override inline fonts/colors */
#eclips td,
#eclips li,
#eclips p {
  font-family: var(--font-family-text) !important;
  color: var(--color-text) !important;
}
#eclips h2,
#eclips h3,
#eclips h4,
#eclips h5 {
  font-family: var(--font-family-heading) !important;
  color: var(--color-heading) !important;
}
#eclips a,
#eclips a:link,
#eclips a:visited,
#eclips a:hover {
  color: var(--color-link);
}

#eclips hr {
  color: var(--color-hr);
  background-color: var(--color-hr);
}

/* Nav links */
#eclips-nav td {
  border-color: var(--color-background) !important;
}
#eclips-nav a {
  font-family: var(--font-family-text) !important;
}

/* CLE column */
#eclips-cle-col > table {
  background-color: var(--color-box-background);
}
#eclips-cle-col > table table {
  background-color: var(--color-background);
  border-color: var(--gray-6) !important;
}
#eclips-cle-col > table table h3 {
  color: var(--color-text-brightest) !important;
}

/* Ads */
#eclips .eclips-ad h6 {
  font-family: var(--font-family-text) !important;
  color: var(--color-text-light) !important;
}

/* More links */
#eclips-more td {
  border-color: var(--color-background) !important;
}
#eclips-more td,
#eclips-more h2 {
  color: var(--color-text-brightest) !important;
}


/* Dark mode */
@media (prefers-color-scheme: dark) {
  /* Hide shadow image */
  #eclips img[src$="ad-shadow.png"] {
    visibility: hidden;
  }
  #eclips-logo img {
    clip-path: inset(0 0 23% 0);
  }
}



/* ----- News: Press Releases ----- */

/* Latest Releases */
.view-pressreleases.view-display-id-latest .view-content ul {
  margin: 0 0 1.4em;
  padding: 0;
}
.view-pressreleases.view-display-id-latest .view-content ul > li {
  margin: 0 0 1.1em;
  padding: 0;
  list-style-type: none;
  background: none;
  line-height: var(--font-lineheight-shortest);
}

/* Year browser (inline list wrapping) */
.view-pressreleases.view-display-id-years .view-content ul.views-summary {
  display: flex;
  flex-flow: row wrap;
	justify-content: flex-start;
	align-items: flex-start;
}
.view-pressreleases.view-display-id-years .view-content ul.views-summary > li {
  margin-bottom: 0.2em;
  margin-right: 0.9em;
}


/* Full pages */
.node-pressrelease .content .field-name-field-presscontact {
	margin-bottom: 1.2em;
}
.node-pressrelease .content .field-name-field-presscontact .field-label {
	text-transform: uppercase;
}

.node-pressrelease .content .field-name-field-singledate {
	margin-bottom: 1.2em;
}
.node-pressrelease .content .field-name-field-singledate .field-label {
	text-transform: uppercase;
	font-style: italic;
}
.node-pressrelease .content .field-name-field-singledate .field-items {
	font-style: italic;
}

/* Yearly archives (teasers) */
.node-pressrelease.node-teaser .field-name-field-singledate {
	display: block;
	margin: 0 0 0.1em;
	font-size: var(--font-size-plus-1);
	font-weight: bold;
}
.node-pressrelease.node-teaser .field-title {
	margin: 0;
}
.node-pressrelease.node-teaser .content .field-name-body {
	margin-bottom: 1.6em;
}



/* ---------- Illinois Bar Journal (IBJ) ---------- */

/* Masthead */
.ibj-submast {
	margin: 0 auto 2.1em;
	color: var(--color-text-light);
}
.ibj-submast p {
	margin: 0;
	line-height: var(--font-lineheight-shortest);
}
.ibj-submast span {
	white-space: nowrap;
}
.ibj-submast a {
	font-weight: var(--font-weight-text);
}

/* Printer icon (injected by script) */
.ibj-submast span.ibj-print a > .fa-print {
	margin-right: 0.3em;
}


/* - Current Issue - */
.view-ibj-current {
	margin: 0 0 1.5em;
}
.view-ibj-current .views-field-field-ibj-cover {
	float: right;
	margin: -4em 0 8px 10px;
}
.view-ibj-current .views-field-title {
	margin-bottom: 0.2em;
	font-weight: bold;
}


/* - Archive covers - */
.view-ibj-archives .view-content h3 {
  margin-bottom: 1em;
  font-size: var(--font-size-plus-10);
}

.view-ibj-archives .view-content .item-list ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
	align-items: flex-start;
	align-content: flex-start;
  margin: 0 0 1.4em;
  padding: 0;
  list-style: none;
}
.view-ibj-archives .view-content .item-list ul > li {
  margin: 0 1.4em 1.4em 0;
  padding: 0;
	text-align: center;
	font-weight: bold;
}
.view-ibj-archives .views-field-field-ibj-cover {
	margin-bottom: 0.2em;
}


/* - Table of contents - */

/* Cover image */
#ibj-cover {
	position: relative;
	z-index: 1;
	float: right;
	margin: 0 0 1em 16px;
	text-align: center;
	font-weight: bold;
	font-size: var(--font-size-plus-2);
}

@media (max-width: 900px) {
  /* Wrap on mobile */
  #ibj-cover {
    float: none;
    margin: 0 0 1.2em;
  }
}

/* Download link */
.node-ibj-issue #ibj-cover a::after {
	content: " ";
	position: relative;
	top: -2px;
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-left: 8px;
	vertical-align: middle;
	background: url("https://media.isba.org/drupal/isba2018/icon_pdf.png") no-repeat;
	background-size: 14px auto;
  -webkit-print-color-adjust: exact; /* Print background images */
  color-adjust: exact;
}
.node-ibj-issue #ibj-cover img {
	display: block;
	margin: 0 auto 0.8em;
}


/* Groups */
.node-ibj-issue > h3,
.view-ibj-toc .view-content > h3 {
	margin-bottom: 0.3em;
	padding-bottom: 0.2em;
	border-bottom: 1px solid var(--color-hr);
	text-transform: uppercase;
	font-size: var(--font-size-plus-8);
}

.node-ibj-issue .view-ibj-toc {
	margin-bottom: 2.5em;
}
.node-ibj-issue .views-row.views-row-last {
	margin-bottom: 2.5em;
}

.node-ibj-issue .view-ibj-toc .ibj-practicenews .teaser {
	margin: 0.2em 0;
}

.node-ibj-issue .view-ibj-toc .ibj-practicenews p {
	margin-bottom: 0;
	line-height: var(--font-lineheight-shorter);
}

/* LawPulse */
.view-ibj-lawpulse .view-content ul {
	margin-top: 0.3em;
}
.node-ibj-lawpulse .view-ibj-lawpulse .view-content ul { /* When embedded within node */
  margin-bottom: 0;
}
.view-ibj-lawpulse .view-content ul > li {
	margin-bottom: 0.4em;
}

/* Page number */
.node-ibj-issue .views-row /* Push space for page number */ {
	margin-bottom: 0.7em;
	padding-left: 4.2em;
}

.node-ibj-issue .views-field-field-ibj-page {
	float: left;
	margin: 0 10px 0.8em -4.2em;
}
.node-ibj-issue .views-field-field-ibj-page .field-content {
	font-weight: 300; /* Open Sans 300 loaded only on this template */
	font-size: 2rem;
	line-height: var(--font-lineheight-shortest);
	color: var(--color-text);
}

/* Title pillbox */
.node-ibj-issue .views-field-field-ibj-subtitle {
	display: inline-block;
	margin: 0.5em 0.55em 0.1em 0;
	padding: 0.1333em 0.35em;
  font: var(--font-heading);
  font-variant-ligatures: var(--font-ligatures-heading);
	text-transform: uppercase;
}
.node-ibj-issue .views-field-field-ibj-subtitle div {
  display: inline;
}

.node-ibj-issue .views-row.ibj-practicenews .views-field-field-ibj-subtitle {
  background-color: #253453;
  color: #fff;
}
.node-ibj-issue .views-row.ibj-Articles .views-field-field-ibj-subtitle {
  background-color: #bfa98a;
  color: #730e14;
}
.node-ibj-issue .views-row.ibj-Columns .views-field-field-ibj-subtitle {
  background-color: #233b2e;
  color: #c4af96;
}


/* LawPulse authors */
.node-ibj-issue .views-field-field-lawpulse-authors {
	display: inline;
	margin: 6px 0 0 6px;
	font-weight: bold;
}

.node-ibj-issue .views-field-field-lawpulse-authors span /* Don't wrap individual names */ {
  white-space: nowrap;
}

/* Article authors */
.node-ibj-issue .views-field-field-authors {
	display: inline-block;
	margin: 6px 0 0 6px !important;
	font-weight: bold;
}

.node-ibj-issue .views-field-field-title {
	display: block;
	margin-top: 0.4em;
}
.node-ibj-issue .views-field-body {
	display: block;
	margin-top: 0.2em;
	line-height: var(--font-lineheight-shorter);
}
.node-ibj-issue .views-field-body p /* Reset all body styles */ {
	margin-bottom: 0;
	line-height: var(--font-lineheight-shorter);
}

/* Stylize unpublished LawPulse (admins/editor only)  */
.view-ibj-lawpulse .row-unpublished {
  background-color: var(--color-unpublished-background);
  outline: 0.3rem solid var(--color-unpublished-background);
}

/* Unpublished IBJ Issue: Change style color (articles are visible) */
.node-ibj-issue.node-unpublished {
  background-color: var(--color-background);
}

/* Stylize unpublished articles (admins/editor only)  */
.node-ibj-issue .views-row.row-unpublished {
  background-color: var(--color-unpublished-background);
  outline: 0.6rem solid var(--color-unpublished-background);
}
.node-ibj-issue .views-row.row-unpublished .views-field-field-ibj-page .field-content {
  opacity: 0.7;
}


/* - Articles and ILU - */

/* Subtitle on top */
.node-ibj-article h2#ibj-subtitle,
.node-ibj-lawpulse h1#ibj-title {
	margin-bottom: 0.2em;
	font-size: var(--font-size-plus-7);
	color: var(--color-text-light);
}

.node-ibj-article h1#ibj-title {
	margin-bottom: 0.7em;
	font-size: 1.857em;
}

.node-ibj-article .field-name-field-authors,
.node-ibj-lawpulse .field-name-field-authors,
.node-ibj-ilu .ibj-authors,
.view-ibj-ilu .ibj-authors {
	margin: -0.3em 0 1.9em;
}


/* Takeaways */
.field-name-field-ibj-takeaways {
	clear: both;
	position: relative;
	margin: 0 0 2em;
	padding: 1.4rem;
  background-color: var(--color-box-background);
  color: var(--color-box-text);
	border: none;
	border-radius: 0;
}
.field-name-field-ibj-takeaways .field-item > *:last-child,
.field-name-field-ibj-takeaways .field-item > ul:last-child > li:last-child {
	margin-bottom: 0;
}

.field-name-field-ibj-takeaways h3.title {
  margin: 0 0 0.6em;
	text-transform: uppercase;
}


/* Illinois Law Update (ILU) */
.field-name-field-ilu-heading .field-item p,
.view-ibj-ilu .views-field-field-ilu-heading {
	margin: 0 0 0.7em;
	color: var(--color-text-light);
  font: var(--font-heading);
  font-variant-ligatures: var(--font-ligatures-heading);
  font-size: var(--font-size-plus-5);
}

.view-ibj-ilu .views-field-field-title {
	margin: 0 0 1em;
	font-size: var(--font-size-plus-5);
	line-height: var(--color-heading);
}

.field-name-field-ilu-subtitle,
.view-ibj-ilu .views-field-field-title + .views-field-field-ilu-subtitle {
	margin: -0.9em 0 1.2em;
	font-weight: var(--font-weight-bold);
	font-size: var(--font-size-plus-2);
	line-height: var(--font-lineheight-shortest);
}

.field-name-field-ilu-subtitle {
  margin-top: 0;
}

.view-ibj-ilu .views-field-field-ilu-heading p,
.view-ibj-ilu .views-field-field-title p,
.view-ibj-ilu .views-field-field-ilu-subtitle p {
  margin: 0;
}

/* View header and footer */
.view-ilu-header {
	margin: -0.3em 0 1.4em;
}
.view-ilu-contributors {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 3px solid var(--color-hr);
}
.view-ilu-contributors > *:last-child {
	margin-bottom: 0;
}


/* Primary Grouping */
.view-ibj-ilu .view-header > h2 {
	margin-bottom: 0.4em;
	font-size: 171.4%;
}
.view-ibj-ilu .view-content > h3 {
	margin-bottom: 1.5em;
	font-size: var(--font-size-plus-9);
}
.view-ibj-ilu.view-display-id-page > .view-content > h3 {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 3px solid var(--color-hr);
}

/* Cases sub-grouping */
.view-ibj-ilu.view-ibj-ilu-cases .view-content > h3 {
	margin-bottom: 1em;
	font-size: var(--font-size-plus-7);
}
.view-ibj-ilu.view-ibj-ilu-cases .views-row + h3 {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--color-hr);
}


/* Row separtors */
.view-ibj-ilu .view-content .views-row {
	margin-bottom: 1.5rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--color-hr);
}
.view-ibj-ilu .view-content .views-row-last {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.view-ibj-ilu .view-content .views-row .views-field-body .field-content > *:last-child /* Remove bottom margin */ {
	margin-bottom: 0;
}


/* - IBJ and Section Newsletter Indexes (Author, Subject, Title) - */

/* Summary lists */

/* Manual columns on subjects (to control wrapping) */
.indexes-summary {
	clear: both;
}
.indexes-summary h3 {
	margin-bottom: 0.5em;
}

/* Year lists */
.indexes-summary.indexes-titles ul {
	columns: 3;
}
.indexes-summary.indexes-titles ul > li {
  white-space: nowrap;
}


/* Author/subject dynamic index filter */
#index-filter {
	padding-right: 48px;
}
#index-filter label {
	display: inline;
	font-weight: var(--font-weight-label);
	margin-right: 2px;
}
#index-filter-letters {
	-webkit-appearance: textfield;
	-moz-appearance: textfield;
	appearance: textfield;
	margin: 0;
	padding: 0.4rem 0.2rem;
}


/* Indexes list wrapper */
.indexes {
  margin: 0 0 2em;
}
.indexes .index-row {
  clear: both;
  margin: 0 0 1.6em;
}

/* Section newsletter repository View wrapper */
/* TODO: Use these styles when converting other article displays to Views */
.article-list .view-content .item-list > ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.article-list .view-content .item-list > ul > li {
  margin: 0 0 1.6em;
  padding: 0;
}


/* Article fields */
.article-list .views-field-field-title .field-content,
.node-ibj.node-teaser > h2,
.indexes .title {
  display: block;
  margin: 0 0 0.2rem;
  color: var(--color-text);
  font: var(--font-text);
  font-variant-ligatures: var(--font-ligatures-text);
  font-size: var(--font-size-plus-1);
  line-height: var(--font-lineheight-shortest);
}

.node-teaser .content .field-name-field-authors,
.indexes .authors {
  display: block;
  margin-top: 0;
  margin-bottom: 0.2rem;
}
.node-teaser .content .field-name-field-authors span,
.indexes .authors span /* Prevent wrapping of individual names */ {
  white-space: nowrap;
}

.article-list .views-field-field-section .field-content,
.article-list .views-field-isba-month-year .field-content,
.indexes .date,
.indexes .type {
  font-weight: bold;
}

.article-list .views-field-body .field-content,
.node-ibj.node-teaser .content .field-name-body,
.indexes .teaser {
  display: block;
  margin-top: 0.3rem;
  font-size: var(--font-size-minus-1);
  line-height: var(--font-lineheight-shorter);
}
.article-list .views-field-body .field-content p,
.node-ibj.node-teaser .content .field-name-body p,
.indexes .teaser p {
  /* Reset all body styles */
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}


/* Top pager */
.indexes .pager-top .pager {
	margin-top: 0.7rem;
	border-top: none;
	padding-top: 0;
}


/* IBJ node teaser formatting for indexes (NEW) */
.indexes > .node-ibj.node-teaser {
	clear: both;
	margin: 0 0 1.5rem;
}

.node-ibj.node-teaser .content .field-name-field-month,
.node-ibj.node-teaser .content .field-name-field-year,
.node-ibj.node-teaser .content .field-name-field-ibj-articletype,
.node-ibj.node-teaser .content .field-name-field-ibj-page,
.node-ibj.node-teaser .content .field div {
	display: inline;
}

.node-ibj.node-teaser .content .field-name-field-year::before,
.node-ibj.node-teaser .content .field-name-field-ibj-articletype::before {
	content: " ";
}

.node-ibj.node-teaser .content .field-name-field-month,
.node-ibj.node-teaser .content .field-name-field-year,
.node-ibj.node-teaser .content .field-name-field-ibj-articletype {
	font-weight: bold;
}


/* Comment metadata (also used for Bar News) */
.comment-data {
  display: block;
	margin-top: 0.3rem;
}

.comment-data > a.comment-count { /* Remove link color */
  color: var(--color-text);
}
.comment-data > .comment-count > svg {
  margin-right: 0.4em;
  margin-left: 0.1em;
  color: var(--gray-6); /* Neutral on both light/dark modes */
}
.comment-data > .last-comment-date {
  margin-left: 0.3em;
  font-size: var(--font-size-minus-1);
}


/* Title indexes year navigation */
.index-years {
	border-bottom: 1px solid var(--color-hr);
	padding-bottom: 1.6em;
	margin-bottom: 1.6em;
}
.index-years h3 {
  margin-bottom: 0.4em;
  font-size: var(--font-size-base);
}
.index-years ul {  /* Section newsletters */
  columns: 7;
  margin: 0;
}
.page-ibj .index-years ul { /* IBJ */
  columns: 4;
}

@media (max-width: 860px) {
  .index-years ul {
    columns: 5;
  }
  .page-ibj .index-years ul {
    columns: 3;
  }
}
@media (max-width: 640px) {
  .index-years ul {
    columns: 3;
  }
}

.index-years ul > li {
  margin: 0;
  padding: 0;
  list-style: none;
  white-space: nowrap;
}
.index-years strong,
.index-years a /* Year name */ {
	font-size: var(--font-size-plus-1);
}
.index-years span {
	margin-left: 0.4em;
}


/* Sidebar logos */
.sidebar .block-ibj_logo .content img,
.sidebar .block-barnews_logo .content img {
	display: block;
  margin: 0 auto;
}

/* IBJ sidebar article cover */
#block-isba-ibj-ibj-current-issue .content {
  text-align: center;
}


/* ----- President's IBJ View ----- */

/* Add comma separator after link */
.view-ibj-president .views-field-title .field-content::after {
  content: ", ";
}



/* -------- Custom blocks -------- */

/* Member gate; uses box class with extra border */
#block-membergate {
	border: 0.4rem solid var(--color-bar-background);
}
#block-membergate > h2 {
  margin: -1.8rem -1.8rem 1.8rem;
}
#block-membergate .group /* Special messages */ {
	background-color: var(--color-lightest-box-background);
}
#block-membergate p {
  font-size: var(--font-size-plus-1);
}


/* Daily Legal News date pager */
.dln-pager {
  display: flex;
  flex-flow: row wrap;
	justify-content: center;
	align-items: center;
	margin: 2.5rem 0 1rem;
	font-size: var(--font-size-plus-2);
}

.dln-pager a {
  margin: 0 1em;
  padding: 0.4em;
  white-space: nowrap;
}
.dln-pager .current-page {
  margin: 0 0.8em;
  white-space: nowrap;
}
.dln-pager strong {
  display: inline-block;
	padding: 0.2em 0.7em;
	border-radius: 1.8em;
	background-color: var(--color-highlight-background);
	color: var(--color-highlight-text);
}
.dln-pager .current-page .fa-caret-left {
  margin-right: 0.1em;
  color: var(--color-highlight-background);
}
.dln-pager .current-page .fa-caret-right {
  margin-left: 0.1em;
  color: var(--color-highlight-background);
}


/* With ad sidebar */
@media (min-width: 768px) and (max-width: 940px) {
  /* Tighten spacing */
  .dln-pager strong {
    padding: 0.3em 0.6em;
  }

  /* Hide arrows */
  .dln-pager .fa-caret-left,
  .dln-pager .fa-caret-right {
    display: none;
  }

  .dln-pager a,
  .dln-pager .current-page {
    margin: 0 0.35em;
  }
}
@media (min-width: 768px) and (max-width: 819px) {
  .dln-pager {
  	font-size: var(--font-size-base);
  }
}


/* Collapsed ad sidebar */
@media (max-width: 566px) {
  /* Tighten spacing */
  .dln-pager strong {
    padding: 0.3em 0.6em;
  }

  /* Hide arrows */
  .dln-pager .fa-caret-left,
  .dln-pager .fa-caret-right {
    display: none;
  }

  .dln-pager a,
  .dln-pager .current-page {
    margin: 0 0.35em;
  }
}

@media (max-width: 460px) {
  .dln-pager {
  	font-size: var(--font-size-base);
  }
}

@media (max-width: 374px) {
  .dln-pager {
  	font-size: var(--font-size-minus-2);
  }
  .dln-pager a,
  .dln-pager .current-page {
    margin: 0 0.15em;
  }
}


/* --- Custom pages --- */

/* Fastcase Login */
#node-16.node-single h1 {
	margin-bottom: 1em;
}


/* --- Practice Resource Center views --- */

.view-prc-articles {
	margin-top: 0.7em;
}
.view-prc-articles .view-content > .item-list > ul {
	margin: 0 0 1.5em;
	padding: 0;
	list-style: none;
}
.view-prc-articles .view-content > .item-list > ul > li.views-row {
	margin: 0 0 1.4em;
	padding: 0;
	list-style: none;
	background: none;
}

.view-prc-articles .view-content .views-field-field-title {
	margin-bottom: 0.1em;
	font-size: var(--font-size-plus-1);
	line-height: var(--font-lineheight-shortest);
	font-weight: bold;
}

.view-prc-articles .view-content .views-field-field-authors,
.view-prc-articles .view-content .views-field-field-sectionnews-masthead,
.view-prc-articles .view-content .views-field-field-month,
.view-prc-articles .view-content .views-field-field-year {
	color: var(--color-text-light);
}

.view-prc-articles .view-content .views-field-field-teaser {
	clear: both;
	margin-top: 0.2em;
}
.view-prc-articles .view-content .views-field-field-teaser p {
	margin: 0;
}



/* -------- Custom webforms -------- */
/* Additional styles for specific webforms located in isba_webform module */

/* Save Draft button */
input.webform-draft {
  margin-right: 1rem;
  color: #252;
}


/* Taller select boxes */
select.tall {
  min-height:13em;
}
select.taller {
  min-height:25em;
}


/* Join a section */
#webform-component-sections > label {
	display: none;
}
#webform-component-total {
	margin-bottom: 1.4em;
	font-size: var(--font-size-plus-4);
}

#webform-component-creditcard_type div.form-radios::after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

#webform-component-creditcard_type div.form-radios div.form-item,
#edit-submitted-group-payment-expiration-month-wrapper,
#webform-component-webform_cardtype div.form-item {
	float: left;
	margin: 0 20px 0 0;
}


/* Payment */
#payinfo fieldset#ccinfo {
	margin-left: 30px;
	padding-top: 0.1em;
}

#payinfo img.cctypes /* Inline types */ {
	display: block;
	margin: 0.8em 0 0.5em;
}

#payinfo #edit-ccnumexpire-wrapper .form-item label /* Inline expiration */ {
	display: inline;
}

#payinfo.condensed #edit-ccnum-wrapper {
	float: left;
	margin: 0 20px 0 0;
}
#payinfo.condensed #edit-ccexpires-wrapper {
	float: left;
	margin: 0;
}
#payinfo.condensed #edit-ccexpires-wrapper::after /* Clear after floats */ {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

#payinfo.condensed .form-submit {
	display: block;
	clear: both;
}


/* Subtotal (older version) */
fieldset#payinfo {
	position: relative;
}
#register-total {
	margin-bottom: 1.2rem;
	padding: 1rem 1.2rem;
	background-color: var(--color-bar-background);
	font-size: var(--font-size-plus-5);
	line-height: var(--font-lineheight-shortest);
	color: var(--color-bar-text);
	border-radius: 0.8rem;
}
#register-total.free {
  background-color: var(--color-secondary-light);
  color: var(--color-text-brightest);
}
#register-total span {
	margin-left: 8px;
	font-weight: bold;
}

/* Running subtotal field (newer version uses .subtotal wrapper class) */
.webform-client-form .form-item.subtotal {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 2rem;
	padding: 1rem 1.2rem;
  background-color: var(--color-bar-background);
	font-size: var(--font-size-plus-5);
  line-height: var(--font-lineheight-shortest);
	color: var(--color-bar-text);
  border-radius: 0.8rem;
}
.webform-client-form .form-item.subtotal.free {
  background-color: var(--color-secondary-light);
  color: var(--color-text-brightest);
}

.webform-client-form .form-item.subtotal > label {
  margin: 0 0.6rem 0 0;
  padding: 0;
  color: var(--color-text-brightest);
  font-weight: var(--font-weight-text);
}
.webform-client-form .form-item.subtotal > .field-prefix {
  margin-right: 0.1rem;
  font-weight: var(--font-weight-semibold);
}
.webform-client-form .form-item.subtotal > input.form-text {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  min-width: 4em;
  height: auto;
  margin: 0;
  padding: 0;
  background: transparent none;
  border: none;
  border-radius: 0;
  color: var(--color-text-brightest);
  font-weight: var(--font-weight-semibold);
  font-size: inherit;
}


/* Nested fieldset columns (used by May Madness) */
.fieldset-columns > .fieldset-wrapper {
  display: flex;
}
.fieldset-columns > .fieldset-wrapper > fieldset {
  flex: 1 1 auto;
  margin: 0 2rem 0 0;
  padding: 0;
  background-color: transparent;
}
.fieldset-columns > .fieldset-wrapper > fieldset:last-child {
  margin-right: 0;
}

.fieldset-columns input[type="checkbox"] + label,
.fieldset-columns input[type="radio"] + label { /* Allow better wrapping */
  display: inline;
}

@media (max-width: 680px) {
  /* Collapse on mobile */
  .fieldset-columns > .fieldset-wrapper {
    display: block;
  }
  .fieldset-columns > .fieldset-wrapper > fieldset {
    border-bottom: 1px solid var(--color-background);
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .fieldset-columns > .fieldset-wrapper > fieldset:last-child {
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 0;
  }
}


/* ----- Form Exchange ----- */

.view-form-exchange h3 {
	font-size: var(--font-size-plus-7);
}



/* ----- Drupal Views search results ----- */

.view.search .view-filters {
	margin-bottom: 2.5em;
}
.view.search .views-exposed-form input.form-text {
	min-width: 300px;
}

.view.search li.views-row {
	margin-bottom: 1.7em;
	padding-left: 0;
	background: none;
}

.view.search .result-title {
	margin-bottom: 0.2em;
	font-weight: bold;
	font-size: var(--font-size-plus-2);
}
.view.search .fa {
	margin-right: 0.4em;
	color: var(--color-text-light);
}
.view.search .search-info {
	margin-bottom: 0.3em;
	font-size: var(--font-size-minus-1);
}

@media (max-width: 568px) {
	/* Wrap URLs on mobile */
	.view.search .search-snippet {
    overflow-wrap: break-word;
    word-break: break-word;
  }
}

.view.search .item-list /* Pager */ {
	margin-top: 1.5em;
}




/* ---------- Homepage ---------- */

/* ----- Top tasks section ----- */

.home-top {
  margin-bottom: 2rem;
}

.home-top .sidebar .box h2 {
  margin: 0 0 0.5em;
  padding: 0;
  background-color: transparent;
  font-size: 2.0666rem;
  color: var(--color-text);
}

.home-top-tasks { /* Collapse default column whitespace */
  padding-right: 0;
}
.home-top-tasks ul.icons {
  padding: 0 12px;
}
.home-top-tasks ul.icons h3 {
  font-size: var(--font-size-plus-8);
}
.home-top-tasks ul.icons p {
  line-height: var(--font-lineheight-shorter);
}

@media (min-width: 919px) and (max-width: 1024px) {
  /* Keep two columns longer than default icon list grid */
  .columns .home-top-tasks ul.icons.grid {
    grid-template-columns: repeat(2, 50%);
  }
}


/* ISBA Mutual box */
.home-isbamutual {
  margin-bottom: 1.4rem;
  border: 2px solid var(--color-border);
  padding-top: 10px;
}
.home-isbamutual ul.icons {
  margin-bottom: 0;
  padding: 0 10px;
}
.home-isbamutual ul.icons > li { /* Reduce grid bottom padding */
  margin-bottom: 0;
}
.home-isbamutual .isbamutual-tag {
  margin: 0;
  padding: 0.6rem 10px;
  text-align: center;
  font-size: var(--font-size-minus-1);
}
.home-isbamutual .isbamutual-tag a {
  color: var(--color-link);
  font-weight: var(--font-weight-bold);
}

.home-isbamutual .isbamutual-tag img {
  display: inline-block;
  width: 166px;
  vertical-align: middle;
  margin: 0 0.6em;
}


/* ----- Sidebar ----- */

/* Match ad width */
.home-top .sidebar {
  max-width: 300px;
}


/* ----- News section ----- */

/* Reduce column padding */
.home-news .columns > div:nth-child(1) {
  padding-left: 0;
}
.home-news .columns > div:nth-child(2) {
  padding-top: 1.5rem;
  padding-left: 0;
  padding-right: 0;
  background-color: var(--color-background);
}
.home-news .columns > div:nth-child(3) {
  padding-right: 0;
}

@media (min-width:966px) and (max-width: 1140px) {
  /* Reduce heading size before mobile collapse */
  .home-news h2 {
    font-size: 2rem;
  }
}
@media (max-width:965px) {
  /* Stretch columns on mobile */
  .home-news .columns > div:nth-child(1),
  .home-news .columns > div:nth-child(3) {
    padding-left: 0;
    padding-right: 0;
  }
}

.view-dailylegalnews.view-display-id-front .view-content ul.link-list > li {
  padding-left: 30px;
  padding-right: 30px;
}
.view-dailylegalnews.view-display-id-front .view-content ul.link-list > li:hover { /* Undo negative margins */
  margin-left: 0;
  margin-right: 0;
}

.view-dailylegalnews.view-display-id-front .views-field-field-newssource {
  font-size: var(--font-size-minus-1);
  color: var(--color-text-light);
}
.view-dailylegalnews.view-display-id-front .view-footer {
  padding: 1em 0;
}
.view-dailylegalnews.view-display-id-front .view-footer p {
  margin: 0;
}
.view-dailylegalnews.view-display-id-front .views-field-field-newssource .field-content {
  display: inline;
}

/* Empty list */
.view-dailylegalnews .view-empty {
  padding-left: 30px;
  padding-right: 30px;
}


/* ----- Notice section ----- */
.home-notice {
  padding-top: 1.8rem;
  padding-bottom: 1.8rem;
}
.home-notice p {
  font-size: var(--font-size-plus-2);
}
.home-notice > .container > *:last-child,
.home-notice .content > *:last-child {
  margin-bottom: 0;
}

/* Light design */
.home-notice.light {
  border-top: 1px solid var(--color-hr);
  border-bottom: 1px solid var(--color-hr);
}

/* Dark teal design */
.home-notice.dark {
  box-shadow: inset 0 0.4rem 1rem rgba(0, 0, 0, 0.5);
}
.home-notice.dark * {
  color: var(--color-highlight-text);
}
.home-notice.dark h2 {
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
}
.home-notice.dark a.button {
  background-color: var(--color-highlight-text);
  color: var(--color-primary);
  box-shadow: 0.2rem 0.2rem 0.4rem rgba(0, 0, 0, 0.5);
}
.home-notice.dark a.button:hover {
  background-color: var(--color-highlight-link);
  color: var(--color-primary);
  box-shadow: none;
}

/* Teal borders design */
.home-notice.dark-borders {
  border-top: 2rem solid var(--color-secondary);
  border-bottom: 2rem solid var(--color-secondary);
  box-shadow: inset 0 0.4rem 1rem rgba(0, 0, 0, 0.5);
}
.home-notice.dark-borders *:not(.button) {
  color: var(--color-text);
}


/* Show when visible */
html.js .home-notice .show-on-scroll {
  will-change: transform, opacity;
  opacity: 0;
  transform: scale(0.9);
  transition: transform 1.1s ease-out,
              opacity 1.3s ease-out;
}
html.js .home-notice .show-on-scroll.is-visible {
  opacity: 1;
  transform: scale(1);
}
@media (prefers-reduced-motion: reduce) {
  html.js .home-notice .show-on-scroll {
    transition: none;
  }
}


/* ---------- Drupal Administration ---------- */

/* Bar News */
#edit-field-month-value-wrapper {
	float: left;
	margin-right: 14px;
}
#edit-field-barnewstype-value-Article-wrapper {
	float: left;
	margin: 0 14px 0 0;
}


/* Fullname author field */
#field_authors_values td > div {
	float: left;
	margin: 0 15px 0 0;
}

#field_authors_values .cck_fullname_first_wrapper input,
#field_authors_values .cck_fullname_last_wrapper input {
	width: 150px !important;
}

#field_authors_values .cck_fullname_middle_wrapper input {
	width: 100px !important;
}

#field_authors_values .cck_fullname_prefix_wrapper input,
#field_authors_values .cck_fullname_suffix_wrapper input {
	width: 60px !important;
}


#field-sectionnews-byline-items {
	margin: 1em 12px 1.5em;
	padding: 2px 12px 1em;
	background-color: var(--color-light-box-background);
}

#field-sectionnews-byline-items label,
#field-sectionnews-byline-items input {
	opacity: 0.6;
}

/* Deprecated IBJ article ILU option */
#edit-field-ibj-articletype-value-lawupdate-wrapper {
	opacity: 0.5;
}

/* Deprecated old teaser field */
#edit-field-ibj-teaser-0-value-wrapper,
#edit-field-sectionnews-abstract-0-value-wrapper {
	opacity: 0.6;
	margin: 1em 12px 1.5em;
	padding: 12px 12px 3px;
  background-color: var(--color-box-background);
  color: var(--color-box-text);
}


/* HTML title and subtitle fields: hide input format */
#edit-field-title-0-value-wrapper + fieldset.collapsible,
#edit-field-sectionnews-title-0-value-wrapper + fieldset.collapsible,
#edit-field-lawpulse-title-0-value-wrapper + fieldset.collapsible,
#edit-field-ibj-subtitle-0-value-wrapper + fieldset.collapsible,
#edit-field-ilu-heading-0-value-wrapper + fieldset.collapsible,
#edit-field-ilu-subtitle-0-value-wrapper + fieldset.collapsible {
	display: none;
}



/* -------- Comments -------- */

/* Comment wrapper */
#comments {
  clear: both;
  position: relative;
  margin: 2.5rem 0 0;
  border-top: 3px solid var(--color-hr);
  padding-top: 2.5rem;
}

@media (min-width: 911px) {
  #comments:target {
    /* Sticky header height minus top border/padding */
    scroll-margin-top: calc(var(--sticky-header-offset, 0px) - 2.5rem - 3px);
  }
}


#comments > h2.title {
  margin-block-end: 0.6em;
}

/* Comment count */
#comments > h2.title > small {
  position: relative;
  margin-inline-start: 5px;
}

/* Comment form */
.node + #comment-form /* Extra spacing for full-page edit forms */ {
  margin-block-start: 2em;
}
.region-content > .block-system + .comment-form {
  margin-block-start: -4.4rem;
}

#comment-form {
  margin-block-end: 2.5rem;
}
.comment + #comment-form {
  margin-block-start: 2.5rem; /* Extra space following comments */
}

#comment-form fieldset {
  margin: 0;
}
#comment-form h2 {
  margin-block-end: 0.6em;
}
#comment-form .form-item {
  margin: 0 0 1em;
}

#comment-form .form-item-comment-body-und-0-value label {
  margin-block-end: 0.2em;
}
#comment-form .filter-wrapper.form-wrapper /* Hide format bar */ {
  display: none;
}
#comment-form .form-actions {
  margin: 1em 0 0;
}


/* Individual comments */
.comment {
  margin-block-end: 1.5rem;
  padding: 1rem;
  background-color: var(--color-light-box-background);
}

/* Header area */
.comment .comment-header {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.6rem 1rem;
  margin: -1rem -1rem 1rem;
  padding: 0.8rem 1rem;
  background-color: var(--color-dark-box-background);
}

/* Author metadata */
.comment .submitted {
  font-weight: var(--font-weight-semibold);
}
.comment .comment-date,
.comment .comment-time {
  white-space: nowrap;
}

/* Action links */
.comment ul.links {
  display: flex;
  flex-flow: row wrap;
  gap: 0.2rem 1rem;
  margin: 0;
  padding: 0;
  font-size: var(--font-size-minus-2);
  line-height: var(--font-lineheight-shortest);
}
.comment ul.links li {
  margin: 0;
  padding: 0;
}
.comment ul.links a {
  display: inline-block;
  text-transform: capitalize;
  white-space: nowrap;
}
.comment ul.links svg /* Icons */ {
  margin-inline-end: 0.4em;
}


/* Own comment */
.comment.comment-by-viewer,
.comment.comment-by-viewer .comment-header {
  background-color: var(--color-darker-box-background);
}

/* Unpublished */
.comment.comment-unpublished {
  background-color: var(--color-unpublished-background);
}
.comment.comment-unpublished .comment-header {
  background-color: var(--color-unpublished-background-dark);
}

/* Member photo */
.comment .comment-photo {
  float: right;
  position: relative;
  z-index: 2;
  margin: 0 0 1.2em 1.5em;
}
.comment .comment-photo img.member-photo {
  display: block;
  max-width: 120px;
  max-height: 100px;
  border-radius: 4px;
}

/* Comment content */
.comment > .content > .field > .field-items > .field-item > *:last-child /* Reduce bottom padding */ {
  margin-bottom: 0;
}

/* New flag */
.comment > .content span.new {
  float: left;
  margin: 0 0.4em 0 0;
  padding: 2px 6px;
  background-color: #c83a14;
  border-radius: 4px;
  color: var(--color-text-brightest);
  font-size: var(--font-size-minus-1);
  font-weight: bold;
  line-height: var(--font-lineheight-shortest);
}

/* Blockquotes */
.comment > .content blockquote {
  margin: 0.8em 0 0.8em 0.6em !important;
  border-left: 3px solid #bec3c7 !important;
  padding: 1px 0 1px 1em !important;
}

.comment > .content br + blockquote {
  margin-top: 0;
}
.comment > .content blockquote blockquote {
  border-left-color: #ced3d7 !important;
}
.comment > .content blockquote blockquote blockquote {
  border-left-color: #dee3e7 !important;
}



/* -------- Drupal interface styles -------- */

.block {
	position: relative;
}

#content a#edit-cancel {
	margin-left: 1em;
	font-size: var(--font-size-minus-3);
	font-weight: normal;
}

span.submitted {
	font-size: var(--font-size-minus-2);
	color: #6c6c6c;
}

/* - Collapsible fieldsets - */
fieldset {
  position: relative;
	margin: 2em 0;
	padding: 1.4rem;
	border: none;
  background-color: var(--color-box-background);
  color: var(--color-box-text);
}

fieldset fieldset {
	background-color: var(--color-lightest-box-background);
}

fieldset.collapsible .fieldset-wrapper /* Fix horizontal scrolling bug */ {
	width: 100.3%;
}

fieldset .legend {
	display: block;
	position: relative;
	margin: 0 0 1.4em;
  font: var(--font-heading);
  font-variant-ligatures: var(--font-ligatures-heading);
  font-size: var(--font-size-plus-4);
	color: var(--color-text-dark);
}
fieldset > legend { /* Fix Safari jumping bug */
  height: 0;
}

fieldset.collapsed {
	margin-bottom: 1em;
	background: transparent;
	padding-top: 0;
	padding-bottom: 0.6em;
}
fieldset.collapsible legend a {
	padding-left: 1.4em;
	background: url("/themes/garland/images/menu-expanded.gif") no-repeat 0 50%;
}
fieldset.collapsed legend a {
	background: url("/themes/garland/images/menu-collapsed.gif") no-repeat 0 50%;
}

fieldset ul.clear-block li {
	margin: 0;
	padding: 0;
	background-image: none;
}

fieldset > .fieldset-wrapper > .form-item:first-child { /* Remove extra top margin */
  margin-top: 0;
}
fieldset > *:last-child,
fieldset > .fieldset-wrapper > *:last-child /* Remove last elements margin */ {
	margin-bottom: 0;
}



/* ----- Local page tabs ----- */

ul.primary,
ul.secondary {
  display: flex;
  flex-flow: row wrap;
  gap: 0.4rem;
	margin: 0 0 1.8rem;
	padding: 0 0 0 1rem;
	border-bottom: 2px solid var(--color-box-background);
	white-space: normal;
	list-style: none;
}
ul.secondary {
	margin: -0.8rem 0 1.8rem 2rem;
	font-size: var(--font-size-smaller);
}

ul.primary > li,
ul.secondary > li {
  display: block;
	margin: 0;
	padding: 0;
}

ul.primary li a,
ul.secondary li a {
  display: block;
  margin: 0;
	padding: 0.6rem 1.2rem 0.55em;
	border: 2px solid var(--color-box-background);
	border-bottom: none;
  background-color: var(--color-box-background);
	color: var(--color-text-dark);
	text-decoration: none;
	line-height: var(--font-lineheight-shortest);
	white-space: nowrap;
	border-radius: 1rem 1rem 0 0;
}
ul.primary > li a:hover,
ul.secondary > li a:hover {
  border-color: var(--color-light-box-background);
  background-color: var(--color-light-box-background);
  color: inherit;
}

/* Active tab */
ul.primary > li.active a,
ul.secondary > li.active a {
  transform: translateY(2px);
	border: 2px solid var(--color-box-background);
	border-bottom: none;
	background-color: var(--color-background);
	color: var(--color-link);
	font-weight: var(--font-weight-bold);
}
ul.primary > li.active a:hover,
ul.secondary > li.active a:hover {
	color: var(--color-link-hover);
}


/* ----- Messaging elements ----- */

div.error,
.error {
  color: #8c2e0b;
}
@media (prefers-color-scheme: dark) {
  div.error,
  .error {
    color: #b04026;
  }
}

div.messages,
div.warning,
div.error {
	position: relative;
	margin: 0 0 2rem;
	padding: 1.4rem;
	border: none;
	background: none;
}
div.messages + div.messages {
  margin-top: -1rem;
}

div.messages a,
div.warning a,
div.error a {
	color: #22343e;
}

div.messages.error {
	color: var(--color-unpublished-text);
	background-color: var(--color-unpublished-background-dark);
}

div.messages.warning {
	color: #856404;
	background-color: #fff3cd;
}
div.messages.status {
	color: #155724;
	background-color: #d4edda;
}

div.messages ul { /* Override defaults */
	margin: 0 0 1.4em;
}
div.messages > ul > li {
	margin: 0 0 0.6em;
	padding: 0;
}

/* Nested item lists */
div.messages .item-list > h3 {
  margin: 0.5em 0;
  font-size: var(--font-size-base);
  color: inherit;
}
div.messages .item-list > ul > li {
  margin: 0 0 0.1em 1.1em;
  list-style-image: url("https://media.isba.org/drupal/isba2018/bullet-black.svg");
}
div.messages .item-list > ul > li a {
  font-weight: normal;
}


div.messages ul.krumo-node { /* Devel debugging */
  margin-bottom: 0;
}
div.messages ul.krumo-node ul {
  margin-left: 1.8em;
  margin-bottom: 0;
}

.messages > *:last-child,
.messages > *:last-child > *:last-child {
	margin-bottom: 0;
}


/* ----- Nodes ----- */

div.unpublished,
span.unpublished {
	background-color: var(--color-unpublished-background);
}

.node-unpublished {
  margin: 0 -1.2rem;
  padding: 1.2rem;
  background-color: var(--color-unpublished-background);
}

/* Alert message */
.node-unpublished:not(.views-row)::before {
  content: "Unpublished — Only viewable by staff";
  display: block;
  margin: -1.2rem -1.2rem 1.4rem;
  padding: 1.5rem 1.2rem 1.5rem 3.1rem;
  background: var(--color-unpublished-background-dark) url("../images/icon-unpublished.svg") no-repeat 1.4rem 50%;
  background-size: 1.2rem auto;
  color: var(--color-unpublished-text);
  font-size: var(--font-size-plus-2);
  font-weight: bold;
  line-height: var(--font-lineheight-shortest);
}
@media (prefers-color-scheme: dark) {
  .node-unpublished:not(.views-row)::before {
    background-image: url("../images/icon-unpublished-light.svg");
  }
}


/* -------- Maintenance page -------- */

body.in-maintenance {
  font-size: var(--font-size-plus-2);
}
body.in-maintenance header {
  border-bottom: 10px solid rgba(238, 238, 238, 0.97);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
body.in-maintenance main h1 {
  font-size: 3rem;
}


/* --- Inline node edit link --- */

a.edit,
.views-field-edit-node .field-content a {
	float: right;
	margin: 0.1rem 0 0.3rem 0.5rem;
	padding: 0.43rem 1.1rem;
	cursor: pointer;
	border: none;
	border-radius: 2.14rem;
	background-image: none;
	background-color: var(--color-highlight-background);
	color: var(--color-highlight-link);
	font-size: var(--font-size-minus-3);
	font-weight: var(--font-weight-button);
	line-height: var(--font-lineheight-shortest);
	text-decoration: none;
	text-shadow: none;
	text-transform: uppercase;
	text-align: center;
	white-space: nowrap;
}

a.edit,
.views-field-edit-node .field-content a {
  color: var(--color-highlight-link);
}
a.edit:hover,
.views-field-edit-node .field-content a:hover {
  background-color: var(--color-highlight-background-hover);
  color: var(--color-highlight-link-hover);
}

a.edit.inline {
	float: none;
	display: inline-block;
	margin: 0;
}




/* -------- CKEditor integration -------- */

body.cke_editable {
  padding: 0.8rem;
}

/* Remove plain/rich text switch link */
.form-type-textarea + a.ckeditor_links {
	display: none !important;
}

/* Textarea form fields */
.filter-wrapper {
	padding: 0.5em 0;
}
.filter-wrapper .filter-help,
.filter-wrapper .filter-guidelines {
	display: none;
}

/* All option boxes */
body.cke_ltr {
	background: none #fff;
}
body.cke_ltr .cke_panel_block > h1 {
	font: bold 87.5% arial,sans-serif;
}

/* Styles boxes */
body.cke_ltr .cke_panel_block ul.cke_panel_list > li {
	padding-left: 0;
	background: none;
}
body.cke_ltr .cke_panel_block ul.cke_panel_list > li > a > * {
	float: none;
	width: auto;
	margin: 0;
	padding-top: 0;
	padding-bottom: 0;
}

@media (prefers-color-scheme: dark) {
  body.cke_ltr .cke_panel_block ul.cke_panel_list {
    background-color: var(--black);
  }
  body.cke_ltr .cke_panel_listItem.cke_selected a,
  body.cke_ltr .cke_panel_listItem a:hover,
  body.cke_ltr .cke_panel_listItem a:focus,
  body.cke_ltr .cke_panel_listItem a:active {
    background-color: var(--gray-11);
  }
}

/* Membership visibility classes */
body.cke_ltr .cke_panel_block ul.cke_panel_list > li .members-only {
	display: block;
	padding: 0.1em 0.3em;
	background-color: #ffddd8;
	opacity: 0.7;
}
body.cke_ltr .cke_panel_block ul.cke_panel_list > li .not-member {
	display: block;
	padding: 0.1em 0.3em;
	background-color: #d4edda;
	opacity: 0.7;
}
body.cke_ltr .cke_panel_block ul.cke_panel_list > li .anonymous {
	display: block;
	padding: 0.1em 0.3em;
	background-color: #e2f9ff;
	opacity: 0.7;
}

@media (prefers-color-scheme: dark) {
  body.cke_ltr .cke_panel_block ul.cke_panel_list > li .members-only,
  body.cke_ltr .cke_panel_block ul.cke_panel_list > li .not-member,
  body.cke_ltr .cke_panel_block ul.cke_panel_list > li .anonymous {
    color: #000;
  }
}
