@font-face {
    font-family: 'Rockwell';
    src: url('../fonts/Rockwell-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
body {
  line-height: 1;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
.clear:after {
  content: "";
  display: table;
  clear: both;
}
* {
  -webkit-box-sizing: border-box;
  /* Safari/Chrome, other WebKit */
  -moz-box-sizing: border-box;
  /* Firefox, other Gecko */
  box-sizing: border-box;
}
body {
  margin: 0 auto;
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 300;
  margin-top: 0;
}
h1 {
  font-size: 2.5rem;
  line-height: 3rem;
  color: #E3252A;
}
h1 span {
  color: #969696;
}
h2 {
  font-size: 1.8rem;
  line-height: 2.3rem;
  margin-bottom: 0.5rem;
}
h3 {
  font-size: 1.6rem;
  margin-bottom: 2rem;
  font-weight: bold;
  margin-top: 2rem;
}
h4 {
  font-size: 1.1rem;
  font-weight: bold;
}
em {
  font-style: italic;
}
strong {
  font-weight: bold;
}
img.align_left {
  float: left;
  margin-right: 1rem;
  margin-bottom: 1rem;
}
header {
  padding: 24px 15px;
  background: #F6EFF3;
  margin-top: 0;
}
header.site-header {
  /* padding: 0.75rem 0 0; */
  padding: 0;
  background: white;
  margin-top: 0;
}
date {
  font-size: 0.9rem;
  font-style: italic;
  color: #424041;
  line-height: 2;
  display: block;
}
header date {
  color: #969696;
  margin-top: 1rem;
}
article {
  padding: 24px 15px;
  color: #141414;
}
article p,
article li {
  margin-bottom: 1rem;
  line-height: 1.5;
  font-size: 18px;
  color: #2D2D2D;
}
article ul,
article ol {
  margin-bottom: 1rem;
  list-style-type: disc;
  margin-left: 1.2rem;
}
article ol {
  list-style-type: decimal;
}
article li {
  line-height: 1.6;
  margin-bottom: 0.25rem;
}
body.page-portfolio article {
  padding: 2rem 0;
}

ul.member-buttons {
  list-style: none;
  margin: 0;
  overflow-y: hidden;
  margin-bottom: 1rem;
}
ul.member-buttons li {
  float: left;
  margin-right: 1rem;
}
.member-button {
  display: inline-block;
  *display: inline;
  zoom: 1;
  line-height: normal;
  white-space: nowrap;
  vertical-align: baseline;
  text-align: center;
  cursor: pointer;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-family: inherit;
  font-size: 100%;
  *font-size: 90%;
  *overflow: visible;
  padding: 0.5em 1em;
  color: #444444;
  color: rgba(0, 0, 0, 0.8);
  *color: #444444;
  border: 1px solid #999999;
  border: none rgba(0, 0, 0, 0);
  background-color: #e6e6e6;
  text-decoration: none;
  border-radius: 2px;
}
.member-button::-moz-focus-inner {
  padding: 0;
  border: 0;
}
.member-button-hover,
.member-button:hover {
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#1a000000', GradientType=0);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(transparent), color-stop(40%, rgba(0, 0, 0, 0.05)), to(rgba(0, 0, 0, 0.1)));
  background-image: -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05) 40%, rgba(0, 0, 0, 0.1));
  background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.1));
  background-image: -o-linear-gradient(transparent, rgba(0, 0, 0, 0.05) 40%, rgba(0, 0, 0, 0.1));
  background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.05) 40%, rgba(0, 0, 0, 0.1));
}
.member-button:focus {
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#1a000000', GradientType=0);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(transparent), color-stop(40%, rgba(0, 0, 0, 0.05)), to(rgba(0, 0, 0, 0.1)));
  background-image: -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05) 40%, rgba(0, 0, 0, 0.1));
  background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.1));
  background-image: -o-linear-gradient(transparent, rgba(0, 0, 0, 0.05) 40%, rgba(0, 0, 0, 0.1));
  background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.05) 40%, rgba(0, 0, 0, 0.1));
  outline: 0;
}
.member-button-active,
.member-button:active {
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset, 0 0 6px rgba(0, 0, 0, 0.2) inset;
}
.member-button[disabled],
.member-button-disabled,
.member-button-disabled:hover,
.member-button-disabled:focus,
.member-button-disabled:active {
  border: none;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  filter: alpha(opacity=40);
  -khtml-opacity: 0.4;
  -moz-opacity: 0.4;
  opacity: 0.4;
  cursor: not-allowed;
  box-shadow: none;
}
.member-button-hidden {
  display: none;
}
.member-button-primary,
.member-button-selected,
a.member-button-primary,
a.member-button-selected {
  background-color: #0078e7;
  color: #ffffff;
}
hr {
  display: inline-block;
  width: 100%;
  border: none;
  border-top: 1px solid #ccc;
  margin-bottom: 1rem;
}
hr:last-of-type {
  display: none;
}
.files {
  margin-bottom: 1rem;
  background: #f3f3f3;
  padding: 1rem;
}
.nav_top,
.nav_main {
  font-size: 0.9rem;
}
.nav_top ul,
.nav_main ul {
  z-index: 2;
  margin-top: 1rem;
  float: right;
  text-align: left;
  display: inline;
  list-style: none;
}
.nav_top ul li,
.nav_main ul li {
  display: inline-block;
  position: relative;
  padding: 0.6rem;
  cursor: pointer;
}
.nav_top ul li a:link,
.nav_main ul li a:link,
.nav_top ul li a:visited,
.nav_main ul li a:visited {
  color: #424041;
  text-decoration: none;
  font-weight: bold;
}
.nav_top ul li:hover,
.nav_main ul li:hover {
  background: #F3F3F3;
  color: #fff;
}
.nav_top ul li.current,
.nav_main ul li.current {
  background: #F3F3F3;
}
.nav_top ul li ul,
.nav_main ul li ul {
  padding: 0;
  background: white;
  position: absolute;
  top: 1rem;
  left: 0;
  min-width: 10rem;
  display: none;
  opacity: 0;
  visibility: hidden;
  -moz-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.45);
  -webkit-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.45);
  box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.45);
}
.nav_top ul li ul li,
.nav_main ul li ul li {
  display: block;
  color: #fff;
}
.nav_top ul li ul li a:link,
.nav_main ul li ul li a:link {
  font-weight: normal;
  text-decoration: none;
}
.nav_top ul li ul li:hover,
.nav_main ul li ul li:hover {
  background: #D5D5D5;
}
.nav_top ul li:hover ul,
.nav_main ul li:hover ul {
  display: block;
  opacity: 1;
  visibility: visible;
}
.nav_main {
  font-size: 1.1rem;
  padding: 1rem 1.5rem 1rem 1.5rem;
  /* padding: 1.5rem; */
  /* padding-left: 0;
  padding-right: 0; */
  background: #424041;
}
.nav_main ul {
  margin-top: 0;
  float: left;
}
.nav_main ul li {
  padding: 0.8rem;
}
.nav_main ul li:hover {
  background-color: #5E5D5E;
  color: #fff;
}
.nav_main ul li ul {
  top: 2.8rem;
  border-top: 3px solid #424041;
  background: #5E5D5E;
}
.nav_main ul li a:link,
.nav_main ul li a:visited {
  color: white;
  text-transform: uppercase;
  font-weight: normal;
}
.nav_main ul li.current {
  background: #E3252A;
}
.nav_main ul li a:hover {
  color: white;
}
.nav_main ul li ul {
  min-width: 15rem;
  background: #5E5D5E;
}
.nav_main ul li ul li a:link {
  text-decoration: none;
  text-transform: none;
}
.nav_main ul li ul li:hover {
  background: #454545;
}
.nav_main li.current,
.nav_main li.parent {
  background: #E3252A;
}
.nav_main li.current:hover,
.nav_main li.parent:hover {
  background: #E3252A;
}




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

.home-images li {
  float: left;
  width: 12.5%;
  height: 147px;
}

.home-images li img {
  max-width: 100%;
}

.home-images li.home-featured {
  width: 50%;
  overflow-y: hidden;
  height: 147px;
}

.home-images li.home-featured a {
  display: block;
  width: 100%;
}

.home-images li.home-featured a.featured-artist,
.home-images li.home-featured a.featured-event {
  padding: 0.8rem;
  background: #E3252A;
  overflow-y: hidden;
  width: 100%;
  height: 147px;
}
.home-images li.home-featured a.featured-artist:link,
.home-images li.home-featured a.featured-event:link,
.home-images li.home-featured a.featured-artist:visited,
.home-images li.home-featured a.featured-event:visited {
  color: white;
  text-decoration: none;
}
.home-images li.home-featured a.featured-artist:link h3,
.home-images li.home-featured a.featured-event:link h3,
.home-images li.home-featured a.featured-artist:visited h3,
.home-images li.home-featured a.featured-event:visited h3 {
  text-align: center;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.2;
  padding-bottom: 0.6rem;
}
.home-images li.home-featured a.featured-artist:link h3 span,
.home-images li.home-featured a.featured-event:link h3 span,
.home-images li.home-featured a.featured-artist:visited h3 span,
.home-images li.home-featured a.featured-event:visited h3 span {
  font-weight: bold;
}
.home-images li.home-featured a.featured-event:link img,
.home-images li.home-featured a.featured-event:visited img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}
.home-images li.home-featured a.featured-event:link h3,
.home-images li.home-featured a.featured-event:visited h3 {
  font-size: 1.5rem;
  padding-bottom: 0.3rem;
}
.home-images li.home-featured a.featured-event:link p,
.home-images li.home-featured a.featured-event:visited p {
  font-size: 0.8rem;
  line-height: 1.3;
  margin-bottom: 0.4rem;
  text-align: center;
}
.home-images li.home-featured .content {
  padding: 1rem;
}
.home-images-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-images-2 .grid-item {
  width: auto;
  height: auto;
}
.home-images-2 a {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.home-images-2 img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.grid-item {
  width: 12.5%;
  height: 147px;
}
.grid-item--width15 {
  width: 12.5%;
}
.grid-item--width2 {
  width: 24.9%;
}
.grid-item--width4 {
  width: 588px;
}
.grid-item--height2 {
  height: 294px;
}
.grid-item--height4 {
  height: 588px;
}
.home-page-feature {
  border-bottom: 1px dotted #d4d4d4;
}
.home-page-feature em {
  font-size: 0.7rem;
}
.home-page-feature .banner img {
  width: 95%;
  display: block;
  margin: 0.5rem auto;
  margin-bottom: 1rem;
}
.home-page-feature div.text {
  padding: 0.5rem 1rem;
}
.home-page-feature p {
  font-size: 0.8rem;
  margin-bottom: 0.5rem;
  line-height: 1.4;
}
.home-page-feature p em {
  margin-bottom: 1rem;
}
.home-images-2 {
  overflow: visible;
  z-index: 1;
  margin-bottom: 0;
}
.home-images-2 li {
  float: left;
  width: 12.5%;
  height: 147px;
}
.home-images-2 li img {
  max-width: 100%;
}
.home-images-2 li.home-featured-2 {
  width: 50%;
  display: block;
  overflow-y: hidden;
  height: 294px;
}
.home-images-2 li.home-featured-2 a {
  display: block;
  width: 100%;
}
.home-images-2 li.home-featured-2 a.featured-artist,
.home-images-2 li.home-featured-2 a.featured-event {
  padding: 0.8rem;
  background: #E3252A;
  overflow-y: hidden;
}
.home-images-2 li.home-featured-2 a.featured-artist:link,
.home-images-2 li.home-featured-2 a.featured-event:link,
.home-images-2 li.home-featured-2 a.featured-artist:visited,
.home-images-2 li.home-featured-2 a.featured-event:visited {
  color: white;
  text-decoration: none;
}
.home-images-2 li.home-featured-2 a.featured-artist:link h3,
.home-images-2 li.home-featured-2 a.featured-event:link h3,
.home-images-2 li.home-featured-2 a.featured-artist:visited h3,
.home-images-2 li.home-featured-2 a.featured-event:visited h3 {
  text-align: center;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.2;
  padding-bottom: 0.6rem;
}
.home-images-2 li.home-featured-2 a.featured-artist:link h3 span,
.home-images-2 li.home-featured-2 a.featured-event:link h3 span,
.home-images-2 li.home-featured-2 a.featured-artist:visited h3 span,
.home-images-2 li.home-featured-2 a.featured-event:visited h3 span {
  font-weight: bold;
}
.home-images-2 li.home-featured-2 a.featured-event {
  height: 294px;
}
.home-images-2 li.home-featured-2 a.featured-event:link img,
.home-images-2 li.home-featured-2 a.featured-event:visited img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}
.home-images-2 li.home-featured-2 a.featured-event:link h3,
.home-images-2 li.home-featured-2 a.featured-event:visited h3 {
  font-size: 1.5rem;
  padding-bottom: 0.3rem;
}
.home-images-2 li.home-featured-2 a.featured-event:link p,
.home-images-2 li.home-featured-2 a.featured-event:visited p {
  font-size: 0.8rem;
  line-height: 1.3;
  margin-bottom: 0.4rem;
  text-align: center;
}
.home-images-2 li.home-featured-2 .content {
  padding: 1rem;
}
.portfolio_intro_text {
  color: #2D2D2D;
  font-size: 16px;
  line-height: 1.5;
}
.portfolio_intro_text p {
  margin-bottom: 1rem;
}
.portfolio_intro_text ul {
  margin: 0 0 1rem 1.25rem;
  list-style-type: disc;
}
.portfolio_intro_text li {
  margin-bottom: 0.75rem;
}
.portfolio_directory_intro {
  margin-bottom: 2rem;
  font-size: 16px;
  line-height: 1.6;
}
.portfolio_directory_intro p {
  margin-bottom: 1rem;
}
.portfolio_filter_group {
  margin-bottom: 1.5rem;
}
.portfolio_filter_group h3 {
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 0.85rem;
  color: #E3252A;
}
.portfolio_chip_list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.portfolio_chip_list li {
  margin: 0 !important;
}
.portfolio_chip_list li.current a,
.portfolio_chip_list li.current a:link,
.portfolio_chip_list li.current a:visited {
  background: #E3252A;
  border-color: #E3252A;
  color: white;
}
.portfolio_chip_list a:link,
.portfolio_chip_list a:visited {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid #d9d9d9;
  border-radius: 999px;
  background: #faf7f8;
  color: #2D2D2D;
  font-size: 0.95rem;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.portfolio_chip_list a:hover {
  background: #f3eaee;
  border-color: #cdb8c1;
  color: #111;
  text-decoration: none;
}
.portfolio_chip_list i.fa {
  font-size: 0.9rem;
}
.off {
  display: none;
}
.side_panel img {
  margin-bottom: 1rem;
}
.side_panel_related {
  margin-bottom: 3rem;
  border-bottom: 10px solid #F7EFF3;
}
.site-search-form {
  float: right;
}
.footer_nav .site-search-form {
  float: left;
}
.site-search-form .site-search-input {
  float: right;
  font-size: 1rem;
  line-height: 1.2;
  border: none;
  padding: 0.68rem 1rem;
  padding-left: 2.85rem;
  background: #DADADA url('../images/search_bg.png') no-repeat center left;
  background-size: 24px auto;
  background-position: 12px center;
  margin-bottom: 0;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
}
.site-search-form .site-search-input::-webkit-input-placeholder {
  color: #424041;
}
.site-search-form .site-search-input:-moz-placeholder {
  /* Firefox 18- */
  color: #424041;
}
.site-search-form .site-search-input::-moz-placeholder {
  /* Firefox 19+ */
  color: #424041;
}
.site-search-form .site-search-input:-ms-input-placeholder {
  color: #424041;
}
.site-search-form .site-search-submit {
  display: none;
}
.site-search-form p.search_options {
  text-transform: uppercase;
  font-size: 0.6rem;
  text-align: center;
  letter-spacing: 0.2rem;
}
.site-search-form p.search_options a:link,
.site-search-form p.search_options a:visited {
  color: white;
  text-decoration: none;
}
.artist_grid h3 {
  font-size: 1rem;
  color: #E3252A;
}
.artist_grid ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.artist_results {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.artist_result_card {
  margin: 0;
  min-width: 0;
}
.artist_result_link {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  text-decoration: none;
  color: #111;
}
.artist_result_thumb {
  display: block;
  aspect-ratio: 1 / 1;
  background: #f6f6f6;
  overflow: hidden;
}
.artist_result_thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  outline: 1px solid #e9e9e9;
}
.artist_result_link h4 {
  display: block;
  margin: 0;
  font-size: 1rem;
  line-height: 1.3;
}
.artist_result_link .last_name {
  display: inline;
}

.study_grid h3 {
  font-size: 1rem;
  color: #E3252A;
}
.study_grid ul {
  list-style-type: none;
}
.study_grid ul li {
  float: left;
  margin-right: 0.75rem;
  margin-bottom: 1rem;
}
.study_grid ul li a:link,
.study_grid ul li a:visited {
  text-decoration: none;
  color: #111;
}
.study_grid ul li h4 {
  display: block;
  font-size: 0.8rem;
  line-height: 3;
}
.study_grid ul li img {
  outline: 1px solid #e9e9e9;
}
.study_grid ul {
  list-style-type: none;
}
.study_grid ul li {
  text-align: center;
  padding: 1rem;
  outline: 1px solid #e9e9e9;
}
.study_grid ul li h4 {
  line-height: 1;
}
.study_grid ul li img {
  outline: none;
  margin-bottom: 0.5rem;
}
.agent-grid hr {
  margin: 2rem 0;
}
.agent-grid ul {
  list-style-type: none;
}
.agent-grid ul li {
  text-align: center;
  padding: 1rem;
  outline: 1px solid #e9e9e9;
}
.agent-grid ul li h4 {
  line-height: 1;
}
.agent-grid ul li img {
  outline: none;
  margin-bottom: 0.5rem;
}
ul.portfolio_main_sort {
  list-style: none;
  margin: 0 0 2.5rem;
}
ul.portfolio_main_sort li {
  margin-bottom: 0.9rem;
}
ul.portfolio_main_sort li a:link,
ul.portfolio_main_sort li a:visited {
  background: #ccc;
  padding: 0.5rem;
  font-size: 0.9rem;
  text-decoration: none;
  color: black;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
ul.portfolio_main_sort li a:hover {
  background: #E3252A / 2;
  text-decoration: none;
  color: white;
}
ul.portfolio_main_sort li.current a {
  background: #E3252A;
  color: white;
}
ul.split-list {
  padding: 0;
  margin: 0;
}
ul.split-list ul.sub-list {
  padding: 0;
  margin: 0;
  width: 33%;
  float: left;
}
ul.split-list ul.sub-list li {
  margin: 0;
  float: none;
}
ul.split-list ul.sub-list li a:link,
ul.split-list ul.sub-list li a:visited {
  margin: 0;
}
.artist_bio p,
.artist_bio li {
  font-size: 18px;
  line-height: 1.5rem;
}
.artist_bio p {
  margin-bottom: 0.75rem;
}
.collage-container {
  margin-left: -1rem;
}
.portfolio_collage_shell {
  position: relative;
  min-height: 12rem;
}
.portfolio_collage_shell.is-loading .Collage {
  visibility: hidden;
  pointer-events: none;
  height: 0;
  overflow: hidden;
  padding-top: 0;
  padding-bottom: 0;
}
.portfolio_collage_spinner {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.25s ease, visibility 0.25s ease;
  z-index: 1;
}
.portfolio_collage_spinner span {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  border: 3px solid #e6e6e6;
  border-top-color: #E3252A;
  border-radius: 50%;
  animation: portfolio-spinner 0.7s linear infinite;
}
.portfolio_collage_shell:not(.is-loading) .portfolio_collage_spinner {
  opacity: 0;
  visibility: hidden;
}
.portfolio_collage_shell:not(.is-loading) {
  min-height: 0;
}
@keyframes portfolio-spinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.Collage {
  font-size: 0; /* eliminate whitespace gaps between inline-block images */
}
.Collage img {
  vertical-align: bottom;
  opacity: 0;
  cursor: pointer;
}
.artist_temp_image {
  width: 200px;
  height: 200px;
  text-align: center;
}
.artist_categories h3,
.event_categories h3 {
  font-size: 0.8rem;
  line-height: 2;
  margin-bottom: 0.5rem;
  color: #E3252A;
}
.artist_categories ul.artist_categories_list,
.event_categories ul.artist_categories_list,
.artist_categories .event_categories_list,
.event_categories .event_categories_list {
  margin: 0;
  margin-bottom: 2rem;
  list-style-type: none;
}
.artist_categories ul.artist_categories_list li,
.event_categories ul.artist_categories_list li,
.artist_categories .event_categories_list li,
.event_categories .event_categories_list li {
  line-height: 1.4;
}
.artist_categories ul.artist_categories_list li a:link,
.event_categories ul.artist_categories_list li a:link,
.artist_categories .event_categories_list li a:link,
.event_categories .event_categories_list li a:link,
.artist_categories ul.artist_categories_list li a:visited,
.event_categories ul.artist_categories_list li a:visited,
.artist_categories .event_categories_list li a:visited,
.event_categories .event_categories_list li a:visited {
  font-size: 0.85rem;
  text-decoration: none;
  color: black;
}
.artist_categories ul.artist_categories_list li.current,
.event_categories ul.artist_categories_list li.current,
.artist_categories .event_categories_list li.current,
.event_categories .event_categories_list li.current {
  font-weight: bold;
}
.artist_categories ul.artist_categories_list li.current i,
.event_categories ul.artist_categories_list li.current i,
.artist_categories .event_categories_list li.current i,
.event_categories .event_categories_list li.current i {
  margin-left: -1rem;
  padding-right: 0.7rem;
}
#az {
  margin: 0;
  height: auto;
}
.listNav {
  margin-bottom: 1.5rem;
}
.ln-letters {
  overflow: hidden;
}
.ln-letters a {
  width: 3.7%;
  font-size: 0.9rem;
  display: block;
  float: left;
  text-align: center;
  padding: 0.5rem 0;
  border: 1px solid silver;
  border-right: none;
  text-decoration: none;
  color: #E3252A;
  font-weight: bold;
}
.ln-letters a.ln-last {
  border-right: 1px solid silver;
}
.ln-letters a:hover,
.ln-letters a.ln-selected {
  background-color: #E3252A;
  color: white;
}
.ln-letters a.ln-disabled {
  color: #F6EFF3;
}
.ln-letters a.ln-disabled:hover {
  background: none;
  cursor: default;
}
.listNavHide {
  display: none;
}
ul.artist_details {
  overflow-y: hidden;
  margin: 1rem 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem 1.5rem;
}
ul.artist_details li {
  position: static;
  min-width: 0;
  width: auto;
  float: none;
  margin-left: 0;
  padding-left: 0;
  padding-right: 0;
}
ul.artist_details li p {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 18px;
  line-height: 1.4;
  margin-bottom: 0.35rem;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
ul.artist_details li a:link,
ul.artist_details li a:visited {
  text-decoration: none;
  color: #333;
  overflow-wrap: anywhere;
  word-break: break-word;
}
ul.artist_details li a:hover {
  text-decoration: none;
  color: #777;
}
ul.artist_details li.artist_social {
  width: auto;
  padding-left: 0.25rem;
}
ul.artist_details li.artist_social a {
  width: auto;
  min-width: 1.5rem;
  display: inline-block;
  font-size: 1.5rem;
  margin-right: 0.5rem;
}
ul.artist_details li.artist_social a:hover {
  color: #111;
}
ul.artist_details i.fa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 1rem;
  width: 1rem;
  margin-right: 0;
  margin-top: 0.15rem;
  position: static;
  top: auto;
  left: auto;
  vertical-align: top;
}
ul.artist_details li:last-of-type {
  border-right: none;
}

.events_upcoming dl dt {
  font-size: 1.7rem;
  color: #E3252A;
  margin-bottom: 0.7rem;
  width: 60%;
  float: right;
}
.events_upcoming dl dd.event_upcoming_image {
  width: 40%;
  float: left;
}
.events_upcoming dl dd.event_upcoming_image img {
  max-width: 90%;
}
.events_upcoming dl dd {
  float: right;
  width: 60%;
}
.events_upcoming dl dd.event_upcoming_summary {
  margin-bottom: 0.7rem;
  line-height: 1.5;
}
.events_past {
  background: #F7F4F5;
  padding: 1.5rem;
}
.events_past dl dt {
  font-size: 1.4rem;
  line-height: 1.2;
  color: #E3252A;
  margin-bottom: 0.7rem;
  width: 65%;
  float: right;
}
.events_past dl dd.event_past_image {
  width: 30%;
  float: left;
  margin-bottom: 1rem;
}
.events_past dl dd.event_past_image img {
  max-width: 90%;
}
.events_past dl dd {
  float: right;
  width: 65%;
}
.events_past dl dd.event_past_summary {
  margin-bottom: 0.7rem;
  line-height: 1.4;
  font-size: 0.9rem;
}
.side_panel_gallery a:link,
.side_panel_gallery a:visited {
  display: block;
  color: #E3252A;
  text-align: center;
  padding: 1rem;
  text-decoration: none;
  margin-bottom: 1rem;
  background: #f8f8f8;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
}
.side_panel_gallery a:hover {
  background: #E3252A;
  color: white;
}
ul.artist-exhibition {
  list-style-type: none;
  margin: 0;
  overflow-y: hidden;
}
ul.artist-exhibition h2 {
  font-size: 1rem;
  line-height: 1.5;
  display: block;
  height: 2.6rem;
  padding-right: 3rem;
}
ul.artist-exhibition h2 span.event-award {
  font-size: 0.8rem;
  display: block;
  font-style: italic;
}
ul.artist-exhibition li {
  width: 25%;
  min-height: 20rem;
  float: left;
  margin-bottom: 2rem;
}
ul.artist-exhibition li a:link,
ul.artist-exhibition li a:visited {
  text-decoration: none;
  color: #111;
}
ul.artist-exhibition-extended {
  list-style-type: none;
  margin: 0;
  overflow-y: hidden;
}
ul.artist-exhibition-extended h2 {
  font-size: 2rem;
  line-height: 1.2;
  margin-bottom: 1rem;
}
ul.artist-exhibition-extended h5.event-award {
  font-size: 1.2rem;
  display: block;
  font-weight: bold;
  color: #E3252A;
  margin-bottom: 0.5rem;
}
ul.artist-exhibition-extended p {
  margin-bottom: 0;
}
ul.artist-exhibition-extended li {
  border-bottom: 1px solid #E3252A;
  padding-bottom: 3rem;
  width: 100%;
  padding-right: 1rem;
  float: left;
  display: inline-block;
  margin-bottom: 2rem;
}
ul.artist-exhibition-extended li img {
  margin-bottom: 2rem;
}
ul.artist-exhibition-extended li a:link,
ul.artist-exhibition-extended li a:visited {
  text-decoration: none;
  color: #111;
}
.exhibition-artist-single img {
  display: block;
  margin-bottom: 1rem;
}
a.read_more:link,
a.read_more:visited {
  color: white;
  font-size: 1.25rem;
  padding: 0.5rem;
  background: #E3252A;
  text-decoration: none;
  margin-bottom: 2.5rem;
  margin-right: 0.5rem;
  display: inline-block;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
a.read_more:hover {
  background: #E3252A / 1.5;
}
a.read_more i {
  margin-right: 0.25rem;
}
a.read_more_gallery {
  display: inline-block;
  margin: 1rem 0;
}
a.read_more_gallery:link,
a.read_more_gallery:visited {
  color: white;
  padding: 0.5rem;
  background-color: #dedcdd;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
a.read_more_gallery:hover {
  color: white;
  background-color: #F7F4F5 / 1.5;
}
a.read_more_members:link,
a.read_more_members:visited {
  background-color: #F7F4F5 / 1.5;
}
/* next/prev nav */
ol.sibling-nav {
  font-size: 0.8rem;
  overflow-y: hidden;
}
ol.sibling-nav li {
  background: #f9f9f9;
  list-style-type: none;
  display: block;
  padding: 0.5rem;
}
ol.sibling-nav li a:link,
ol.sibling-nav li a:visited {
  text-decoration: none;
  color: #333;
}
ol.sibling-nav li i {
  font-size: 0.8rem;
  padding: 0 0.5rem;
}
ol.sibling-nav li:hover {
  background: #f4f4f4;
}
ol.sibling-nav li#prev {
  float: left;
}
ol.sibling-nav li#next {
  float: right;
}
body.page-award-entry .award-entry-single img {
  max-width: 90%;
}
div.award-products a.snipcart-add-item:link,
div.award-products a.snipcart-add-item:visited {
  color: white;
  font-size: 0.9rem;
  padding: 0.5rem;
  background: #E3252A;
  text-decoration: none;
  margin-bottom: 0.5rem;
  margin-right: 0.5rem;
  display: inline-block;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
div.award-products a.snipcart-add-item:hover {
  background: #E3252A / 1.5;
}
a.like-button {
  display: inline-block;
}
ul.award-entries {
  overflow-y: hidden;
  list-style-type: none;
  outline: 1px dotted red;
  margin: 0;
}
ul.award-entries li {
  outline: 1px dotted red;
  float: left;
  margin-right: 1rem;
}
.template-shop-list img {
  margin-bottom: 1rem;
}
form table tbody tr {
  display: block;
}
form table tbody tr td select {
  display: block;
  margin: 0.5rem 0;
}
.footer {
  border-top: 10px solid #F7EFF3;
}
.footer_sponsors {
  text-align: center;
  padding: 2rem 0;
}
.footer_sponsors p {
  font-size: 0.75rem;
  margin-bottom: 1.5rem;
  font-style: italic;
}
.footer_sponsors ul {
  list-style: none;
}
.footer_sponsors ul li {
  display: inline;
  margin: 0 1rem;
}
.footer_sponsors ul li img {
  height: 3rem;
}
.footer_nav {
  color: white;
  padding: 0rem 1rem 1em 1rem;
  background-color: #E3252A;
  margin-bottom: 0;
}
.footer_nav ul.footer_navigation li a:link,
.footer_nav ul.footer_navigation li a:visited {
  color: white;
  text-decoration: none;
  font-size: 0.8rem;
  line-height: 1.3;
}
.footer_nav ul.footer_navigation li a:hover {
  text-decoration: underline;
}
.footer_nav ul.footer_navigation li.current {
  text-decoration: underline;
}
.footer_nav .credits p {
  display: inline-block;
  font-weight: bold;
  font-size: 0.65rem;
  color: white ;
}
.footer_nav .credits p a:link,
.footer_nav .credits p a:visited {
  color: white ;
}
.footer_nav .credits p.site_copyright {
  color: white;
}
.footer_nav .credits p.site_copyright span {
  color: #ff8293;
}
.footer_nav .credits p.site_credit {
  display: inline-block;
  float: right;
  font-weight: normal;
  margin-top: 1rem;
}
.footer_nav .credits p.site_credit a:link,
.footer_nav .credits p.site_credit a:visited {
  text-decoration: none;
}
.footer_nav .credits p.site_credit a:hover {
  text-decoration: underline;
}
.footer_nav .credits p .social_icons {
  position: relative;
  margin-left: 0.5rem;
  top: 0.5rem;
}
.footer_nav img.IA-logo-footer {
  margin-bottom: 1rem;
}
footer.has-admin-bar {
  padding-bottom: 4rem !important;
}

.user_admin_bar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 0.5rem 1rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: rgba(42, 42, 42, 0.75);
  z-index: 2000;
}
a.fredi,
a.fredi-view {
  font-size: 1em;
  padding: 1em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  align-self: stretch;
  background-color: #E3252A;
}
a.fredi:link,
a.fredi-view:link,
a.fredi:visited,
a.fredi-view:visited {
  color: #fff;
  text-decoration: none;
}
a.fredi:hover,
a.fredi-view:hover {
  color: white;
  background-color: #b51d21;
}
.admin-bar-greeting {
  color: #fff;
  font-size: 1em;
  padding: 0.5em 0;
}
p.sys_msg {
  display: block;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #E3252A;
  color: white;
  padding: 0.5rem;
  text-align: center;
}
.event-gallery-bid-item img {
  max-width: 100%;
  margin-bottom: 1rem;
}
.bid-item a:link,
.bid-item a:visited {
  color: #111;
  text-decoration: none;
}
.bid-item .bid-item-title {
  height: 4rem;
  padding-right: 1rem;
}
.bid-item h2 {
  font-size: 1rem;
  line-height: 1.2;
  margin-bottom: 0;
  padding-right: 3rem;
}
.bid-item h2 + p {
  font-style: italic;
  line-height: 1.1;
}
.bid-item img {
  margin-bottom: 0.5rem;
  margin-top: 2rem;
}
#bidform sup {
  vertical-align: super;
  font-size: smaller;
}
#bidform label {
  float: left;
  width: 8rem;
  font-size: 1rem;
}
#bidform input,
#bidform input.error {
  width: 10rem;
  clear: both;
  margin-bottom: 1rem;
}
#bidform input[type=submit] {
  margin-bottom: 1rem;
  width: auto;
  clear: both;
}
#bidform input[type=checkbox] {
  width: auto;
  margin-bottom: 2rem;
}
#bidform label.error {
  width: 100%;
  font-size: 70%;
  font-weight: 700;
  display: block;
  color: red;
}
.bid_button:link,
.bid_button:visited {
  text-transform: uppercase;
  text-decoration: none;
  font-size: 0.8rem;
  font-weight: 700;
  color: white;
  padding: 0.25em 0.5em;
  background-color: #E3252A;
  margin-top: 1rem;
  display: inline-block;
}
.bid_button:hover {
  background-color: #E3252A / 2;
}
.bid-instructions {
  width: 45%;
}
/* Edit button when logged in */
a.editpage {
  font-size: 1em;
  padding: 1em;
  margin: 1em;
  background-color: #ccc;
  position: fixed;
  top: 0;
  right: 0;
}
a.editpage:link,
a.editpage:visited {
  color: black;
  text-decoration: none;
}
a.editpage:hover {
  color: white;
  background-color: red;
}
body {
    /* min-height: 1.1vh !important; */
}

a.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: rgb(66, 64, 65);
    font-size: 1.1rem;
    color: white;
    text-decoration: none;
    /* Removes underline from links */
    padding: 1rem 1rem;
    padding-right: 1.35rem;
    border-radius: 8px;
    /* Slightly rounded corners */
    transition: background-color 0.3s ease, color 0.3s ease;
    /* Smooth transition for background and text color */
    /* font-family: Arial, sans-serif; */
    /* Example font, adjust as needed */
    text-transform: uppercase;
}

a.button::before {
    /* Replace 'icon.png' with the path to your icon */
    margin-right: 8px;
    /* Space between icon and text */
}

a.button:link,
a.button:visited {
    background-color: rgb(66, 64, 65);
    color: white;
}

a.button:hover,
a.button:active {
    background-color: #dadada;
    color: black;
}

a.button i {
    margin-right: 8px;
}

/* Footer */

.subscribe-wrapper {

    display: flex;
    justify-content: end;
    align-items: center;
    flex-direction: row;
    gap: 0.9rem;
}

.subscribe-wrapper .button {
    font-size: 10pt;
    padding-left: 12px;
    padding-right: 12px;
    padding-top: 8px;
    padding-bottom: 6px;
}

.footer_nav {
    padding-top: 10px !important;
    padding-bottom: 0 !important;
    padding-left: 25px !important;
    padding-right: 25px !important;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.5rem;
    align-items: start;
}

.footer-credits {
    min-width: 0;
    font-size: 0.75rem;
    font-family: HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    /* font-weight: 700; */
}

.footer-copyright-notice {
    display: block;
    height: 100%;
    width: 100%;
    margin: 0;
    padding-top: 10px;
}

.footer-social-icons {
    list-style-type: none;
    display: flex;
    gap: 0.625rem;
}

.footer-social-icons li a:link,
.footer-social-icons li a:visited,
.footer-social-icons li a:hover,
.footer-social-icons li a:active {
    color: white;
    font-size: 32px;
}

.footer-bottom-wrap {
    background: white;
    padding: 0.75rem 25px 1rem;
}

.footer-bottom {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.5rem;
    align-items: start;
}

.footer-legal {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1.5rem;
}

.footer-legal a:link,
.footer-legal a:visited {
    color: #424041;
    font-size: 1rem;
    text-decoration: none;
}

.footer-legal a:hover,
.footer-legal a:active {
    color: rgb(223, 39, 45);
    text-decoration: underline;
}

.footer-abn {
    width: 100%;
    color: #888;
    font-size: 0.75rem;
    margin: 0.25rem 0 0;
}

.footer-acknowledgement {
    text-align: right;
}

.footer-acknowledgement p {
    color: #666;
    font-size: 0.95rem;
    margin: 0;
    font-style: normal;
}

/* Inline body text links — only classless <a> elements (buttons/CTAs have classes) */
article a:not([class]):link,
article a:not([class]):visited {
    color: #0057b8;
    text-decoration: underline;
}

article a:not([class]):hover,
article a:not([class]):active {
    color: #003d82;
}

/* ================================
   Site button — general purpose
   ================================ */
.btn-site,
.btn-join {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgb(223, 39, 45);
    color: white;
    text-decoration: none;
    padding: 0.7rem 1.6rem;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    font-size: 0.9rem;
    font-weight: 600;
    border: 0;
    border-radius: 0;
    cursor: pointer;
    transition: background 0.2s ease;
}

.btn-site:link, .btn-site:visited,
.btn-join:link, .btn-join:visited {
    color: white;
    text-decoration: none;
}

.btn-site:hover, .btn-site:focus,
.btn-join:hover, .btn-join:focus {
    background: #b8222a;
    color: white;
    text-decoration: none;
}

.page-home {
    /* margin-top: 0; */
    /* height: 1080px; */
}

.nav_top ul.navigation li,
.nav_main ul.navigation li {
    padding: 0;
    cursor: default;
}

.nav_top ul.navigation li > a,
.nav_main ul.navigation li > a {
    display: block;
    padding: 0.5rem 0.6rem;
}

.nav_main ul.navigation li > a {
    padding: 0.8rem;
}

.nav_top ul.navigation li ul li > a,
.nav_main ul.navigation li ul li > a {
    display: block;
    padding: 0.5rem 0.8rem;
}

.nav_top ul.navigation li a {
    font-size: 17px;
    font-weight: 600;
}

.nav_top ul.navigation {
    margin-top: 0;
    float: none;
}

/* ---- Desktop main nav ---- */

.nav_top ul.navigation,
.nav_main ul.navigation {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav_top ul.navigation li.has-dropdown,
.nav_main ul.navigation li.has-dropdown {
    position: relative;
}

.nav_top ul.navigation li.has-dropdown {
    display: flex;
    align-items: center;
}

.nav-dropdown-toggle {
    background: none;
    border: none;
    padding: 0.3rem 0.4rem 0.3rem 0;
    cursor: pointer;
    color: #424041;
    line-height: 1;
}

.nav_top ul.navigation li.has-dropdown > a {
    padding-right: 0.1rem;
}

.nav_top ul.navigation li.has-dropdown.is-open .nav-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.nav_top ul.navigation li.has-dropdown.is-open .nav-dropdown-chevron {
    transform: rotate(180deg);
}

.nav-dropdown-chevron {
    font-size: 0.7em;
    margin-left: 0.3rem;
    vertical-align: middle;
    transition: transform 0.2s ease;
}

.nav_top ul.navigation li.has-dropdown:hover .nav-dropdown-chevron,
.nav_main ul.navigation li.has-dropdown:hover .nav-dropdown-chevron {
    transform: rotate(180deg);
}

/* High-specificity rules override legacy LESS .nav_top ul li ul { top: 1rem; display: none } */
.nav_top ul.navigation li .nav-dropdown,
.nav_main ul.navigation li .nav-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    display: block;
    list-style: none;
    margin: 0;
    padding: 0.4rem 0;
    background: white;
    min-width: 210px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.12);
    border-top: 2px solid rgb(223, 39, 45);
    z-index: 1050;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
}

.nav_top ul.navigation li.has-dropdown:hover .nav-dropdown,
.nav_main ul.navigation li.has-dropdown:hover .nav-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.nav-dropdown li a {
    display: block;
    padding: 0.55rem 1rem;
    color: #333;
    font-size: 17px;
    text-decoration: none;
    white-space: nowrap;
}

.nav_top ul li .nav-dropdown li a:link,
.nav_top ul li .nav-dropdown li a:visited {
    font-weight: 600;
}

.nav-dropdown li a:hover {
    color: rgb(223, 39, 45);
    background: #faf7f8;
}

/* ---- Mobile slide nav ---- */

.mobile-nav-panels {
    overflow: hidden;
}

.mobile-nav-slider {
    display: flex;
    width: 200%;
    transition: transform 0.3s ease;
}

.mobile-nav-level {
    width: 50%;
    flex-shrink: 0;
    box-sizing: border-box;
}

.mobile-nav-panels.show-level2 .mobile-nav-slider {
    transform: translateX(-50%);
}

.mobile-nav-expand {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0.7rem 0;
    border: none;
    border-bottom: 1px solid #ececec;
    background: transparent;
    font-size: 1rem;
    color: #222;
    cursor: pointer;
    text-align: left;
}

.mobile-nav-expand:hover,
.mobile-nav-expand:focus {
    color: rgb(223, 39, 45);
}

li.current .mobile-nav-expand {
    color: #b33b49;
}

.mobile-nav-back {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    width: 100%;
    padding: 0.7rem 0;
    margin-bottom: 0.25rem;
    border: none;
    border-bottom: 1px solid #ececec;
    background: transparent;
    font-size: 1rem;
    font-weight: 600;
    color: rgb(223, 39, 45);
    cursor: pointer;
}

/* ── Site name lockup (logo + wordmark) ──────────────────── */

.site-logo-lockup {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    text-decoration: none;
    flex-shrink: 1;
    min-width: 0;
}

.site-name-text {
    font-family: 'Rockwell', Georgia, serif;
    font-weight: normal;
    color: rgb(223, 39, 45);
    font-size: 3rem;
    line-height: 1;
    min-width: 0;
    margin-left: 0;
    /* letter-spacing: 0.01rem; */
    margin-top: 1rem;
}

.IA-logo {
  /* position: absolute; */
  z-index: 1000;
  height: 6rem;
  margin-bottom: 0.5rem;
  margin-top: 0.5rem;
  /* display: none; */
}

.mobile-header-bar {
    padding: 0 10px 8px;
}

.mobile-header-logo img {
    display: block;
    max-width: 100%;
    height: auto;
}

.mobile-header-logo .IA-logo {
    margin-left: 0 !important;
    margin-bottom: 0 !important;
}

.mobile-nav-toggle {
    color: #424041;
    border: 0;
    padding: 0.5rem 0.75rem;
    line-height: 1;
    flex-shrink: 0;
    z-index: 2200;
}

.mobile-nav-toggle:focus,
.mobile-nav-toggle:hover {
    color: #424041;
}

.mobile-nav-toggle-box {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 28px;
    height: 28px;
}

.mobile-nav-toggle-line {
    display: block;
    width: 28px;
    height: 2px;
    background: #424041;
    transition: transform .35s ease, opacity .35s ease;
    transform-origin: center;
}

.mobile-nav-toggle.is-active .mobile-nav-toggle-line--top {
    transform: translateY(7px) rotate(45deg);
}

.mobile-nav-toggle.is-active .mobile-nav-toggle-line--middle {
    opacity: 0;
}

.mobile-nav-toggle.is-active .mobile-nav-toggle-line--bottom {
    transform: translateY(-7px) rotate(-45deg);
}

.nav_main_mobile {
    background: #424041;
    padding: 0.75rem 15px;
}

.nav_main_desktop {
    display: none;
}

.nav_main_inner {
    display: none;
}

.nav_main_mobile_link {
    display: block;
    background: rgb(223, 39, 45);
    color: white !important;
    text-decoration: none;
    text-align: center;
    border-radius: 0;
    padding: 0.9rem 1rem;
    font-size: 1.1rem;
    line-height: 1.2;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.mobile-nav-panel {
    background: white;
    width: min(88vw, 420px);
    transform: none !important;
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s ease, visibility .35s ease;
    z-index: 2100;
}

.offcanvas-backdrop {
    z-index: 2050;
}

.mobile-nav-panel.show,
.mobile-nav-panel.showing {
    opacity: 1;
    visibility: visible;
}

.mobile-nav-panel.hiding {
    opacity: 0;
    visibility: visible;
}

html.mobile-nav-open,
body.mobile-nav-open {
    overflow: hidden;
    overscroll-behavior: none;
    touch-action: none;
}

body.mobile-nav-open main,
body.mobile-nav-open footer,
body.mobile-nav-open .nav_main_mobile {
    pointer-events: none;
}

body.mobile-nav-open .mobile-nav-panel,
body.mobile-nav-open .mobile-nav-toggle,
body.mobile-nav-open .offcanvas-backdrop {
    pointer-events: auto;
}

.mobile-nav-panel .offcanvas-header {
    padding: 1rem 1rem 0.5rem;
    align-items: center;
    justify-content: center;
    position: relative;
}

.mobile-nav-panel .offcanvas-title {
    font-size: 1.25rem;
    margin: 0;
}

.mobile-panel-logo {
    display: block;
    margin: 0 auto;
    text-align: center;
}

.mobile-panel-logo img {
    display: block;
    height: 76px;
    width: auto;
    margin: 0 auto;
    filter: grayscale(1) opacity(0.35);
}

.mobile-nav-panel .offcanvas-body {
    padding: 0 1rem 1rem;
}

.mobile-nav-search {
    padding-top: 0.25rem;
    margin-bottom: 1rem;
}

.mobile-nav-primary-cta-wrap {
    margin: 1.25rem 0 1.5rem;
}

.mobile-nav-search .site-search-form,
.mobile-search-form {
    float: none;
}

.mobile-nav-search .site-search-input,
.mobile-search-form .site-search-input {
    width: 100%;
    float: none;
    margin-bottom: 0;
}

.mobile-nav-search .site-search-input:focus,
.mobile-search-form .site-search-input:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(223, 39, 45, 0.25);
}

.mobile-nav-menu {
    padding-bottom: 1rem;
}

.mobile-nav-panel ul.navigation,
.mobile-nav-panel ul.navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-nav-panel ul.navigation + ul.navigation {
    margin-top: 0;
}

.mobile-nav-panel ul.navigation > li + li,
.mobile-nav-panel ul.navigation ul li + li {
    margin-top: 0.25rem;
}

.mobile-nav-panel ul.navigation li {
    display: block;
    padding: 0;
    position: static;
}

.mobile-nav-panel ul.navigation li a {
    display: block;
    padding: 0.7rem 0;
    text-decoration: none;
    color: #222;
    border-bottom: 1px solid #ececec;
}

.mobile-nav-panel ul.navigation li.current > a {
    color: #b33b49;
}

.mobile-nav-panel ul.navigation li ul {
    display: block;
    opacity: 1;
    visibility: visible;
    position: static;
    box-shadow: none;
    background: transparent;
    min-width: 0;
    margin-left: 1rem;
}

.mobile-nav-panel ul.navigation li ul a {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.95rem;
    border-bottom-color: #f1f1f1;
}

.mobile-nav-panel a.mobile-nav-primary-link {
    display: block;
    background: rgb(223, 39, 45);
    color: white !important;
    border-bottom: 0;
    border-radius: 0;
    padding: 1rem 1rem;
    text-align: center;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.2;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.mobile-nav-panel li.current > a.mobile-nav-primary-link {
    color: white;
}

.mobile-nav-actions {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: 0.75rem;
    padding: 1rem;
    border-top: 1px solid #ececec;
    background: white;
}

.mobile-nav-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border-radius: 0;
    text-decoration: none;
    font-weight: 600;
    padding: 0.75rem 1rem;
    color: white;
}

.mobile-nav-action--primary {
    background: rgb(223, 39, 45);
    color: white !important;
}

.mobile-nav-action--secondary {
    background: transparent;
    color: rgb(223, 39, 45) !important;
    border: 1px solid rgb(223, 39, 45);
}

.mobile-nav-action--profile {
    background: rgb(223, 39, 45);
    color: white !important;
    gap: 0.5rem;
}

.mobile-nav-action--logout {
    background: transparent;
    color: rgb(223, 39, 45) !important;
    border: 1px solid rgb(223, 39, 45);
}

/* Account section — hide the secondary nav bar and mobile CTA strip */
.template-account .nav_main_desktop,
.template-account .nav_main_mobile {
    display: none !important;
}

.template-login article {
    padding-top: 32px;
}

.template-login article {
    float: none;
    width: 100%;
    margin: 0 auto;
}

.login-card-wrap {
    display: flex;
    justify-content: center;
}

.login-card {
    width: min(100%, 420px);
    background: #faf7f8;
    border: 1px solid #eadde1;
    padding: 28px 24px;
    text-align: center;
}

.login-card-title {
    font-size: 1.6rem;
    margin-bottom: 0.75rem;
}

.login-card-intro,
.login-card-status,
.login-card-help {
    font-size: 1rem;
    line-height: 1.5;
}

.login-card-status {
    color: rgb(223, 39, 45);
}

.login-card-form {
    margin-top: 1.25rem;
}

.login-card-field {
    display: block;
    text-align: left;
}

.login-card-field + .login-card-field {
    margin-top: 0.9rem;
}

.login-card-field span {
    display: block;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.4rem;
    color: #555;
}

.login-card-field input {
    width: 100%;
    border: 1px solid #d7ccd0;
    border-radius: 0;
    padding: 0.9rem 1rem;
    font-size: 1rem;
    background: white;
}

.login-card-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    margin-top: 1rem;
    padding: 0.85rem 1.4rem;
    border: 0;
    border-radius: 0;
    background: rgb(223, 39, 45);
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.login-card-help {
    margin-top: 1rem;
    margin-bottom: 0;
}

.login-card-join {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid #eadde1;
}

/* ================================
   /join page
   ================================ */

.page-join section {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}

.page-join section:first-of-type {
    padding-top: 0;
}

/* --- Intro --- */

.intro-lead {
    font-size: 1.25rem;
    line-height: 1.6;
    color: #333;
    margin-bottom: 1rem;
}

/* --- Membership Drive banner --- */

.drive-banner {
    background: rgb(223, 39, 45);
    color: white;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 1rem;
    gap: 1rem;
}

.drive-banner-inner {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1;
    justify-content: center;
    flex-wrap: wrap;
}

.drive-banner-text {
    font-size: 0.95rem;
    font-weight: 600;
    text-wrap: balance;
    text-align: center;
}

.drive-banner-btn,
.drive-banner-btn:link,
.drive-banner-btn:visited {
    font-size: 0.85rem;
    font-weight: 700;
    color: white;
    border: 1px solid rgba(255,255,255,0.7);
    padding: 0.2rem 0.75rem;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.drive-banner-btn:hover {
    background: rgba(255,255,255,0.15);
    border-color: white;
    text-decoration: none;
    color: white;
}

.drive-banner-close {
    background: none;
    border: none;
    color: white;
    font-size: 1.4rem;
    line-height: 1;
    padding: 0 0.25rem;
    cursor: pointer;
    opacity: 0.8;
    flex-shrink: 0;
}

.drive-banner-close:hover {
    opacity: 1;
}

/* --- Membership Drive 2026 --- */

.join-drive {
    padding: 2rem 0 3rem;
    border-bottom: 1px solid #e8e0e1;
}

.join-drive-headline {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.15;
    margin-bottom: 0.25rem;
}

.join-drive-dates {
    font-size: 1.3rem;
    font-weight: 600;
    color: rgb(223, 39, 45);
    margin-bottom: 0.75rem;
}

.join-drive-tagline {
    font-size: 1.4rem;
    font-weight: 600;
    color: #555;
    margin-bottom: 1.25rem;
}

.join-drive-prizes {
    background: #f8f4f4;
    border-left: 3px solid rgb(223, 39, 45);
    padding: 0.85rem 1rem 0.85rem 1.25rem;
    margin: 1.25rem 0;
}

.join-drive-prizes h4 {
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
}

.join-drive-prizes ul {
    margin: 0;
    padding-left: 1.25rem;
    font-size: 0.95rem;
}

.join-drive-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    margin-top: 1.5rem;
}

.join-drive-tc,
.join-drive-tc:link,
.join-drive-tc:visited {
    font-size: 0.9rem;
    color: #666;
    text-decoration: underline;
}

.join-drive-tc:hover {
    color: rgb(223, 39, 45);
}

.join-drive-congrats {
    font-size: 1.4rem;
    font-weight: 600;
    color: #555;
    margin-top: 1.25rem;
    margin-bottom: 0.75rem;
}

/* --- End Membership Drive 2026 --- */

.join-scroll-hint {
    display: block;
    text-align: center;
    padding: 2rem 0 0.5rem;
    color: #999;
    font-size: 0.85rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
}

.join-scroll-hint:hover {
    color: #666;
    text-decoration: none;
}

.join-scroll-hint-label {
    display: block;
    margin-bottom: 0.6rem;
}

.join-scroll-hint-chevron {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-right: 2px solid #E3252A;
    border-bottom: 2px solid #E3252A;
    transform: rotate(45deg);
    animation: join-scroll-bounce 1.4s ease-in-out infinite;
}

@keyframes join-scroll-bounce {
    0%, 100% { transform: translateY(0) rotate(45deg); }
    50%       { transform: translateY(5px) rotate(45deg); }
}

.join-intro-caption {
    font-size: 0.9rem;
    color: #888;
    margin-top: 0.5rem;
    margin-bottom: 0;
}

.join-hero-btns {
    display: flex;
    gap: 1rem;
    margin-top: 2rem;
    flex-wrap: wrap;
}

.btn-hero {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.85rem 2rem;
    font-size: 1.05rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 0;
    border: 2px solid rgb(223, 39, 45);
    letter-spacing: 0.02em;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.btn-hero--primary,
.btn-hero--primary:link,
.btn-hero--primary:visited {
    background: rgb(223, 39, 45);
    color: white;
    text-decoration: none;
}

.btn-hero--primary:hover,
.btn-hero--primary:focus {
    background: #b52027;
    border-color: #b52027;
    color: white;
    text-decoration: none;
}

.btn-hero--outline,
.btn-hero--outline:link,
.btn-hero--outline:visited {
    background: transparent;
    color: rgb(223, 39, 45);
    text-decoration: none;
}

.btn-hero--outline:hover,
.btn-hero--outline:focus {
    background: rgb(223, 39, 45);
    color: white;
    text-decoration: none;
}

.join-intro-lightbox-trigger {
    display: block;
    cursor: zoom-in;
}

.join-intro-lightbox-trigger img {
    transition: opacity 0.2s ease;
}

.join-intro-lightbox-trigger:hover img {
    opacity: 0.88;
}

#intro-image-lightbox .modal-dialog {
    max-width: 95vw;
}

#intro-image-lightbox .modal-body img {
    max-height: 85vh;
    width: auto;
}

/* --- Benefits band --- */

.join-benefits-band {
    background: #f0eaeb;
    /* full-bleed: break out of the col-xxl-10 container */
    position: relative;
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
}

.join-benefits-inner {
    max-width: 860px;
    margin: 0 auto;
    padding: 3rem 2rem;
}

.join-benefits-band h2 {
    margin-bottom: 1.75rem;
}

.join-benefits-list {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    text-align: left;
    column-count: 2;
    column-gap: 2.5rem;
}

.join-benefits-list li {
    list-style: disc;
    break-inside: avoid;
    margin-bottom: 0.6rem;
}

/* --- Pricing --- */

.join-pricing-note {
    color: #666;
    font-size: 1rem;
    margin-bottom: 2rem;
}

.join-pricing h2 {
    margin-top: 3.5rem;
}

.join-accordion-heading {
    margin-top: 3.5rem;
    margin-bottom: 0;
}

.collapse + .join-accordion-heading {
    margin-top: 0.75rem;
}

.join-accordion-btn {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.75rem;
    width: 100%;
    background: none;
    border: none;
    border-bottom: 2px solid #ececec;
    padding: 0.5rem 0;
    text-align: left;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    cursor: pointer;
}

.join-accordion-chevron {
    display: inline-block;
    flex-shrink: 0;
    font-size: 1em;
    font-weight: 300;
    line-height: 1;
    width: 1em;
    text-align: center;
}

@keyframes join-flip-open {
    0%   { transform: perspective(4em) rotateY(0deg); }
    50%  { transform: perspective(4em) rotateY(90deg); }
    100% { transform: perspective(4em) rotateY(0deg); }
}

@keyframes join-flip-close {
    0%   { transform: perspective(4em) rotateY(0deg); }
    50%  { transform: perspective(4em) rotateY(-90deg); }
    100% { transform: perspective(4em) rotateY(0deg); }
}

.join-accordion-chevron.is-flipping-open {
    animation: join-flip-open 280ms ease;
}

.join-accordion-chevron.is-flipping-close {
    animation: join-flip-close 280ms ease;
}

.join-accordion-content {
    padding-top: 1.5rem;
}

.join-accordion-footnote {
    margin-top: 1.25rem;
    margin-bottom: 0;
    font-size: 0.85rem;
    color: #777;
}

.pricing-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid #ddd;
    background: #fff;
}

.pricing-card--featured {
    border-color: rgb(223, 39, 45);
}

.pricing-card--featured .pricing-card-header {
    background: rgb(223, 39, 45);
    color: white;
}

.pricing-card--featured .pricing-card-header h3 {
    color: white;
}

.pricing-card--featured .pricing-card-price {
    color: white;
}

.pricing-card--featured .pricing-card-price span {
    color: rgba(255, 255, 255, 0.75);
}

.pricing-card-header {
    padding: 1.4rem 1.5rem 1.1rem;
    background: #f7f3f4;
    border-bottom: 1px solid #ddd;
}

.pricing-card-header h3 {
    margin: 0 0 0.4rem;
    font-size: 1.1rem;
    letter-spacing: 0.01em;
}

.pricing-card-price {
    font-size: 1.75rem;
    font-weight: 700;
    color: #424041;
    line-height: 1.2;
}

.pricing-card-price span {
    font-size: 0.9rem;
    font-weight: 400;
    color: #888;
}

.pricing-card-body {
    padding: 1.25rem 1.5rem;
    flex: 1;
    font-size: 1rem;
}

.pricing-card-body > p:first-child {
    color: #555;
}

.pricing-card-body ul {
    padding-left: 1.25rem;
    margin-bottom: 0;
}

.pricing-card-body ul li {
    margin-bottom: 0.3rem;
}

.pricing-card-note {
    font-size: 0.9rem;
    color: #888;
    margin-top: 0.75rem;
    margin-bottom: 0 !important;
}

.pricing-card-footer {
    padding: 1rem 1.5rem 1.5rem;
}

.btn-join {
    width: 100%;
}

.btn-join--outline,
.btn-join--outline:link,
.btn-join--outline:visited {
    background: transparent;
    color: rgb(223, 39, 45);
    border: 1px solid rgb(223, 39, 45);
    text-decoration: none;
}

.btn-join--outline:hover,
.btn-join--outline:focus {
    background: rgb(223, 39, 45);
    color: white;
}

/* --- Discounts --- */

.join-discounts {
    border-top: 1px solid #ddd;
}

.join-bottom-notes {
    border-top: 1px solid #ddd;
    color: #666;
}

.join-note-heading {
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #888;
    margin-bottom: 0.75rem;
}

.join-note-list {
    margin: 0;
    padding-left: 1.25rem;
}

.join-note-list li {
    font-size: 0.9rem;
    line-height: 1.6;
    margin-bottom: 0.25rem;
}

.join-note-list a:link,
.join-note-list a:visited {
    color: #666;
}

.discount-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    height: 100%;
    background: #fff;
    border: 1px solid #ddd;
    padding: 1.25rem 1rem;
    text-align: center;
}

.discount-card img {
    max-height: 100px;
    max-width: 100%;
    width: auto;
    object-fit: contain;
}

.discount-card p {
    font-size: 0.9rem;
    color: #555;
    margin: 0;
    line-height: 1.4;
}

/* ================================
   /illustration-education page
   ================================ */

.page-illustration-education .edu-intro-note {
    font-size: 1.1rem;
    font-style: italic;
    color: #555;
    margin-bottom: 1.25rem;
}

.edu-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    margin-top: 2rem;
}

.edu-card a {
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid #ddd;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.2s ease;
}

.edu-card a:hover {
    border-color: rgb(223, 39, 45);
}

.edu-card img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.edu-card span {
    display: block;
    padding: 0.65rem 0.75rem;
    font-size: 0.9rem;
    line-height: 1.4;
    color: #444;
    flex: 1;
}

.edu-card a:hover span {
    color: rgb(223, 39, 45);
}

/* ================================
   discount CTA card
   ================================ */

.discount-card--cta {
    border-style: dashed;
    border-color: #bbb;
    background: transparent;
    justify-content: center;
    gap: 1rem;
}

.discount-card--cta p {
    color: #666;
}

/* ── Videos page ─────────────────────────────────────────── */

.page-videos .videos-intro {
    max-width: 780px;
    margin-bottom: 1rem;
}

.videos-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-top: 2rem;
}

.video-thumb {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 4px;
    background: #111;
}

.video-thumb-link {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.video-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.video-thumb:not(.video-thumb--locked) .video-thumb-link:hover .video-thumb-img {
    transform: scale(1.04);
    opacity: 0.8;
}

.video-thumb-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 54px;
    height: 54px;
    background: rgba(0, 0, 0, 0.55);
    border-radius: 50%;
    pointer-events: none;
    transition: background 0.2s ease, transform 0.2s ease;
}

.video-thumb-play::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 53%;
    transform: translate(-50%, -50%);
    border-style: solid;
    border-width: 9px 0 9px 16px;
    border-color: transparent transparent transparent #fff;
}

.video-thumb-link:hover .video-thumb-play {
    background: rgba(223, 39, 45, 0.88);
    transform: translate(-50%, -50%) scale(1.1);
}

.video-thumb--locked .video-thumb-img {
    filter: brightness(0.5);
}

.video-thumb--locked .video-thumb-link:hover .video-thumb-img {
    filter: brightness(0.4);
    transform: none;
}

.video-thumb-lock {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, calc(-50% - 28px));
    width: 44px;
    height: 44px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.video-thumb-lock-label {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #df272d;
    color: #fff;
    text-align: center;
    padding: 0.65rem 1rem;
    font-size: 1rem;
    font-weight: 600;
    pointer-events: none;
    letter-spacing: 0.01em;
}

.video-thumb-title {
    margin: 0.5rem 0 0;
    font-size: 0.875rem;
    line-height: 1.4;
    color: #3d3135;
}

.video-thumb-members-label {
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #df272d;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.video-thumb-members-label .fa {
    font-size: 0.8rem;
    line-height: 1;
}

/* ── Full-bleed chrome ───────────────────────────────────────
   Toggle by adding/removing 'full-bleed-chrome' on <body>.
   ─────────────────────────────────────────────────────────── */

/* Page header (h1 band): lives inside col-xxl-10, needs the breakout trick */
.full-bleed-chrome main header {
    position: relative;
    background: transparent !important;
}
.full-bleed-chrome main header::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    background: #F6EFF3;
    z-index: 0;
}
.full-bleed-chrome main header > * {
    position: relative;
    z-index: 1;
}

/* Grey nav bar: lives inside col-xxl-10, so needs the breakout trick.
   Remove the constrained background, replace with a full-bleed ::before. */
.full-bleed-chrome .nav_main {
    position: relative;
    background: transparent !important;
}
.full-bleed-chrome .nav_main::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    background: #424041;
    z-index: 0;
}
/* Lift nav content above the ::before background layer */
.full-bleed-chrome .nav_main_inner {
    position: relative;
    z-index: 1;
}

/* Footer nav: same trick for the red band */
.full-bleed-chrome .footer_nav {
    position: relative;
    background: transparent !important;
}
.full-bleed-chrome .footer_nav::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    background: #E3252A;
    z-index: 0;
}
.full-bleed-chrome .footer_nav > * {
    position: relative;
    z-index: 1;
}

/* Prevent horizontal scrollbar from the 100vw overflow */
.full-bleed-chrome {
    overflow-x: hidden;
}

/* ── Portfolio breadcrumbs & results meta ────────────────── */

.portfolio-results-meta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
}

.portfolio-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem 0.5rem;
    font-size: 1rem;
    color: #666;
    min-width: 0;
}

/* Specificity (0,2,2) — matches article link rule, wins by cascade order */
article .portfolio-breadcrumbs a:link,
article .portfolio-breadcrumbs a:visited {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.portfolio-breadcrumbs a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Specificity (0,2,3) — beats article a:not([class]):link at (0,2,2) */
article .portfolio_chip_list li a:link,
article .portfolio_chip_list li a:visited {
    color: #2D2D2D;
    background: #faf7f8;
    text-decoration: none;
}

article .portfolio_chip_list--levels li a:link,
article .portfolio_chip_list--levels li a:visited {
    color: white;
    background: rgb(223, 39, 45);
    border: none;
    font-size: 1.05rem;
}

article .portfolio_chip_list--levels li a:hover {
    background: #b52027;
    border-color: transparent;
    color: white;
}

article .portfolio_chip_list li.current a:link,
article .portfolio_chip_list li.current a:visited {
    color: white;
    background: rgb(223, 39, 45);
}

.portfolio-breadcrumbs a:hover {
    color: rgb(223, 39, 45);
}

.portfolio-results-count {
    font-size: 1rem;
    color: #999;
    white-space: nowrap;
    text-align: center;
}

/* ── Portfolio alpha nav ─────────────────────────────────── */

.alpha-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px;
    margin-bottom: 1.5rem;
    padding: 0.25rem 0;
}

.alpha-nav a,
article .alpha-nav a:link,
article .alpha-nav a:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.1rem;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;
    padding: 0.3rem 0.5rem;
    color: #424041;
    text-decoration: none;
    border-radius: 4px;
    border: 1px solid #ddd;
    background: #faf7f8;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.alpha-nav a:hover,
article .alpha-nav a:hover {
    background: #faf7f8;
    border-color: rgb(223, 39, 45);
    color: #424041;
}

.alpha-nav a.is-active,
article .alpha-nav a.is-active:link,
article .alpha-nav a.is-active:visited {
    background: rgb(223, 39, 45);
    border-color: rgb(223, 39, 45);
    color: #fff !important;
}

.alpha-nav-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.1rem;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;
    padding: 0.3rem 0.5rem;
    color: #424041;
    text-align: center;
    opacity: 0.2;
    cursor: default;
    border: 1px solid transparent;
}

/* ── About page ──────────────────────────────────────────── */

.page-about {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 3.5rem;
    align-items: start;
}

.about-intro {
    grid-column: 1 / -1;
    margin-bottom: 2.5rem;
    padding-bottom: 2rem;
    border-bottom: 2px solid #ececec;
}

.about-col--left,
.about-col--right {
    min-width: 0;
}

.page-about h2 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #424041;
    margin: 0 0 1.25rem;
}

.about-mission {
    background: #F6EFF3;
    padding: 2rem 2.25rem;
    margin-bottom: 3rem;
}

.about-mission-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.about-mission-list li {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    font-size: 1.15rem;
    line-height: 1.55;
}

.about-mission-list li i {
    color: rgb(223, 39, 45);
    font-size: 1.1rem;
    margin-top: 0.2rem;
    flex-shrink: 0;
    width: 1.25rem;
    text-align: center;
}

.about-cta-band {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.about-cta-item {
    flex: 0 0 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 1.5rem 1rem;
    background: #f5f5f5;
    border: 2px solid transparent;
    text-decoration: none;
    color: #424041;
    font-weight: 600;
    font-size: 0.95rem;
    text-align: center;
    transition: border-color 0.2s, background 0.2s, color 0.2s;
}

.about-cta-item:link,
.about-cta-item:visited {
    color: #424041;
    text-decoration: none;
}

.about-cta-item--primary:link,
.about-cta-item--primary:visited {
    color: #fff;
    text-decoration: none;
}

.about-cta-item i {
    font-size: 1.6rem;
    color: #424041;
    transition: color 0.2s;
}

.about-cta-item:hover {
    border-color: rgb(223, 39, 45);
    background: #fff;
    color: rgb(223, 39, 45);
}

.about-cta-item:hover i {
    color: rgb(223, 39, 45);
}

.about-cta-item--primary {
    background: rgb(223, 39, 45);
    color: #fff;
    border-color: rgb(223, 39, 45);
}

.about-cta-item--primary i {
    color: #fff;
}

.about-cta-item--primary:hover {
    background: #b52027;
    border-color: #b52027;
    color: #fff;
}

.about-cta-item--primary:hover i {
    color: #fff;
}

.about-committee {
    margin-bottom: 3rem;
}

.about-committee-list {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0;
    margin: 1.25rem 0 0;
}

.about-committee-list dt,
.about-committee-list dd {
    padding: 0.55rem 0;
    line-height: 1.6;
    margin: 0;
    font-size: 18px;
}

.about-committee-list dt {
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    color: #767676;
    padding-right: 1.25rem;
    white-space: nowrap;
    align-self: start;
}

.about-committee-list dd {
    border-bottom: 1px solid #ececec;
    color: #333;
}

.about-committee-list dd ul {
    list-style: none;
    margin: 0;
    padding-left: 0;
}

.about-find-intro {
    grid-column: 1 / -1;
    padding-top: 2rem;
    margin-top: 0.5rem;
    border-top: 2px solid #ececec;
}

.about-committee-list dd ul li {
    font-size: 18px;
    padding: 0.1rem 0;
    margin-bottom: 0;
}

.about-background {
    margin-bottom: 2.5rem;
}

.about-group-heading {
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgb(223, 39, 45);
    margin: 1.5rem 0 0;
}

/* ── Artist business name ─────────────────────────────────── */

/* ── Resources list ─────────────────────────────────────── */

.resources-intro {
    margin-bottom: 2rem;
}

.resources-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    align-items: stretch;
    margin-bottom: 2rem;
}

.resources-grid .pricing-card {
    height: auto;
}

.page-news-list .pricing-card-header h3 a,
.page-news-list .pricing-card-header h3 a:link,
.page-news-list .pricing-card-header h3 a:visited {
    color: #424041;
    text-decoration: none;
}

.page-news-list .pricing-card-header h3 a:hover {
    color: rgb(223, 39, 45);
}

.news-card-excerpt {
}

.news-card-date {
    font-size: 1rem !important;
    font-weight: 400 !important;
    color: #888 !important;
}

.resource-lock-icon {
    font-size: 1em;
    opacity: 0.7;
}

.resource-btn-locked {
    background: #aaa;
}

.resource-btn-locked:hover,
.resource-btn-locked:focus {
    background: #999;
    color: white;
}

/* ── Contact page ────────────────────────────────────────── */

.page-contact {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.contact-email-hero {
    text-align: center;
    padding: 3rem 0 2.5rem;
}

.contact-email-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 1.2rem;
    font-weight: 600;
    color: #fff;
    background: rgb(223, 39, 45);
    text-decoration: none;
    padding: 0.9rem 1.75rem;
    transition: background 0.2s;
}

.contact-email-btn i {
    font-size: 1.1rem;
}

/* wpautop injects <br> inside these flex containers; hide them so they don't create phantom gap items */
.contact-email-btn br,
.about-cta-item br {
    display: none;
}

.contact-email-btn:hover {
    background: #b52027;
    color: #fff;
}

.contact-note {
    margin-top: 1.25rem;
}

.contact-cta-band {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 220px));
    gap: 1rem;
    margin-bottom: 2rem;
    width: 100%;
    justify-content: center;
}

.contact-cta-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 1.5rem 1rem;
    background: #f5f5f5;
    border: 2px solid transparent;
    text-decoration: none;
    color: #424041;
    font-weight: 600;
    font-size: 0.95rem;
    text-align: center;
    transition: border-color 0.2s, background 0.2s, color 0.2s;
}

.contact-cta-item i {
    font-size: 1.6rem;
    color: #424041;
    transition: color 0.2s;
}

.contact-cta-item:hover {
    border-color: rgb(223, 39, 45);
    background: #fff;
    color: rgb(223, 39, 45);
}

.contact-cta-item:hover i {
    color: rgb(223, 39, 45);
}

.contact-social {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    padding: 1.5rem 0 2rem;
    border-top: 1px solid #ececec;
}

.contact-social a,
article .contact-social a:link,
article .contact-social a:visited {
    color: #aaa;
    font-size: 2rem;
    text-decoration: none;
    transition: color 0.2s;
}

.contact-social a:hover {
    color: rgb(223, 39, 45);
}

/* ── Artist business name ─────────────────────────────────── */

.artist-business-name {
    font-size: 1.35rem;
    font-weight: 600;
    margin: .8rem 0 1.5rem;
    color: #444;
}

.artist-pronouns {
    font-size: 1.2rem;
    font-weight: 300;
    margin-left: .5rem;
}

/* ── Portfolio lightbox ──────────────────────────────────── */

.portfolio-lightbox-dialog {
    max-width: min(92vw, 1200px);
}

.portfolio-lightbox-content {
    background: #111;
    border: 0;
    border-radius: 6px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.5rem 3.5rem;
    min-height: 200px;
}

.portfolio-lightbox-img-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
}

.portfolio-lightbox-img {
    max-width: 100%;
    max-height: 82vh;
    width: auto;
    height: auto;
    display: block;
    border-radius: 3px;
}

.portfolio-lightbox-close {
    position: absolute;
    top: 0.6rem;
    right: 0.75rem;
    background: none;
    border: 0;
    color: #fff;
    font-size: 2rem;
    line-height: 1;
    opacity: 0.7;
    cursor: pointer;
    z-index: 10;
}

.portfolio-lightbox-close:hover { opacity: 1; }

.portfolio-lightbox-prev,
.portfolio-lightbox-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: 0;
    color: #fff;
    font-size: 3rem;
    line-height: 1;
    opacity: 0.6;
    cursor: pointer;
    padding: 0 0.75rem;
    z-index: 10;
}

.portfolio-lightbox-prev { left: 0; }
.portfolio-lightbox-next { right: 0; }

.portfolio-lightbox-prev:hover,
.portfolio-lightbox-next:hover { opacity: 1; }

.portfolio-lightbox-caption {
    position: absolute;
    bottom: 0.5rem;
    left: 0;
    right: 0;
    text-align: center;
    color: rgba(255,255,255,0.5);
    font-size: 0.8rem;
    margin: 0;
    padding: 0 1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lightbox-trigger {
    cursor: zoom-in;
}

/* ================================
   /magazine-archive
   ================================ */

.magazine-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 2rem 1.5rem;
    margin-top: 2rem;
}

.magazine-card {
    display: flex;
    flex-direction: column;
}

.magazine-card-cover {
    display: block;
    line-height: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.magazine-card-cover:hover {
    box-shadow: 0 6px 18px rgba(0,0,0,0.25);
    transform: translateY(-2px);
}

.magazine-card-cover img {
    width: 100%;
    display: block;
}

.magazine-card-info {
    margin-top: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    flex: 1;
}

.magazine-card-label {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
}

.magazine-card-info .btn-join {
    font-size: 1rem;
    padding: 0.5rem 0.75rem;
    text-align: center;
}

/* ================================
   /events
   ================================ */

.events_past {
    background: none;
    padding: 0;
}

dd.event_past_summary {
    font-size: 18px !important;
}

.event-date {
    float: right;
    width: 65%;
    font-size: 1rem;
    color: #888;
    margin-bottom: 0.4rem;
}

/* Small devices and up (≥576px) */
@media (min-width: 576px) {
  .home-images-2 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .artist_results {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Tablet and up (≥768px) */
@media (min-width: 768px) {

    .site-name-text {
        font-size: 2.5rem;
      }

    .nav_top {
        display: flex;
        align-items: center;
        height: 8rem;
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    .nav-top-links {
        margin-left: auto;
    }

    .nav-login-item {
        padding: 0 !important;
        background: none !important;
        margin-left: 0.25rem;
    }

    .nav-login-btn,
    .nav-login-btn:link,
    .nav-login-btn:visited {
        display: block !important;
        background: rgb(223, 39, 45);
        color: #fff !important;
        font-size: 17px !important;
        font-weight: 600 !important;
        padding: 0.5rem 1rem !important;
        text-decoration: none !important;
        border-radius: 0;
        transition: background 0.2s ease;
    }

    .nav-login-btn:hover,
    .nav-login-btn:focus {
        background: #b52027;
        color: #fff !important;
    }

    .nav-profile-btn {
        display: flex !important;
        align-items: center;
        justify-content: center;
        background: none !important;
        border: none !important;
        padding: 0 !important;
        cursor: pointer;
    }

    .nav-profile-initial {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        border-radius: 50%;
        background: rgb(223, 39, 45);
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0;
        font-style: normal;
        transition: background 0.2s ease;
    }

    .nav-profile-btn:hover .nav-profile-initial,
    .nav-profile-btn:focus .nav-profile-initial,
    .nav-profile-item.is-open .nav-profile-initial {
        background: rgb(180, 25, 30);
    }

    .nav-profile-item {
        position: relative;
    }

    .nav_top ul.navigation li.nav-profile-item .nav-dropdown {
        right: 0;
        left: auto;
        top: 100%;
        margin-top: 8px;
        border-top: none;
    }

    .nav_top ul.navigation li.nav-profile-item .nav-dropdown::before {
        content: '';
        position: absolute;
        top: -8px;
        left: 0;
        right: 0;
        height: 8px;
    }

    .nav-profile-chevron-btn {
        background: none !important;
        border: none !important;
        padding: 0 0 0 0.25rem !important;
        cursor: pointer;
        line-height: 1;
    }

    .nav-profile-chevron {
        font-size: 0.65em;
        margin-left: 0.3rem;
        color: #424041;
        transition: transform 0.2s ease;
    }

    .nav-profile-item.is-open .nav-profile-chevron,
    .nav-profile-item:hover .nav-profile-chevron {
        transform: rotate(180deg);
    }

    .nav-profile-dropdown .nav-profile-logout {
        border-top: 1px solid #eadde1;
        margin-top: 0.25rem;
        padding-top: 0.25rem;
    }

    .nav_main_desktop {
        display: block;
    }

    .nav_main_inner {
        display: flex;
    }

    .nav_main_mobile {
        display: none;
    }

    .intro-lead {
        font-size: 1.7rem;
    }
}

/* Desktop and up (≥992px) */
@media (min-width: 992px) {
  header:not(.site-header) {
    padding: 24px;
  }
  article {
    padding: 24px;
  }

  .home-images-2 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .artist_results {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
  }

  .portfolio_collage_shell {
    min-height: 10rem;
  }
}

/* Tablet and below (<992px) */
@media (max-width: 991.98px) {



  .site-header.container-fluid,
  main.container-fluid,
  footer.container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .site-header .row,
  main .row,
  footer .row {
    --bs-gutter-x: 0;
    margin-left: 0;
    margin-right: 0;
  }

  main .discount-grid {
    --bs-gutter-x: 1rem;
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }

  main .join-drive .row {
    --bs-gutter-x: 1.5rem;
    margin-left: -0.75rem;
    margin-right: -0.75rem;
  }

    .nav_main {
        /* padding-left: 15px;
        padding-right: 15px; */
    }

    .nav_top .navigation {
        margin-right: 15px;
    }

    .edu-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Tablet and below (≤991px) */
@media (max-width: 991px) {
    .videos-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Narrow desktop and below (≤900px) */
@media (max-width: 900px) {

.site-name-text {
    font-size: 1.5rem;
  }

    .resources-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile and small tablet (≤767px) */
@media (max-width: 767px) {


    .intro-lead {
        font-size: 1.1rem;
    }

    .page-about {
        grid-template-columns: 1fr;
    }
    .about-intro {
        grid-column: 1;
    }

    .about-cta-band {
        gap: 0.75rem;
    }

    .about-cta-item {
        flex: 0 0 calc(50% - 0.375rem);
    }

    .about-committee-grid {
        grid-template-columns: 1fr;
    }
    .about-mission {
        padding: 1.5rem;
    }

    .magazine-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-bar-greeting {
        flex-basis: 100%;
        text-align: center;
    }

    a.fredi,
    a.fredi-view {
        padding: 0.5em 0.75em;
    }
}

/* Small mobile (≤575px) */
@media (max-width: 575.98px) {
    .join-benefits-list {
        column-count: 1;
    }

    .edu-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Small mobile (≤575px) */
@media (max-width: 575px) {

  .site-name-text {
    font-size: 1.5rem;
  }

    .videos-grid {
        grid-template-columns: 1fr;
    }

    .resources-grid {
        grid-template-columns: 1fr;
    }

    .contact-email-btn {
        font-size: 1.1rem;
    }
    .contact-cta-band {
        grid-template-columns: 1fr;
    }

    .portfolio-lightbox-content {
        padding: 2.5rem 2rem;
    }
}

/* Tablet and below, landscape orientation */
@media (max-width: 991.98px) and (orientation: landscape) {
    .nav_main_desktop {
        display: block;
    }

    .nav_main_inner {
        display: flex;
    }

    .nav_main_mobile {
        display: none;
    }

    .mobile-nav-panel {
        width: 100vw;
        max-width: 100vw;
    }

    .mobile-nav-panel .offcanvas-body {
        padding-bottom: 1.5rem;
    }

    .mobile-nav-search,
    .mobile-nav-primary-cta-wrap {
        display: none;
    }

    .mobile-nav-menu {
        display: block;
    }
}

/* Small mobile, portrait orientation */
@media (max-width: 575.98px) and (orientation: portrait) {
  ul.artist_details {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
  }

  body.page-portfolio .Collage {
    padding: 0;
  }
  body.page-portfolio .Collage img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin-right: 0 !important;
    margin-bottom: 0.75rem !important;
    opacity: 1 !important;
  }

    .footer_nav {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.25rem;
        text-align: center;
        padding-left: 1.25rem;
        padding-right: 1.5rem;
        padding-top: 0.2rem !important;
        padding-bottom: 1.5rem !important;
    }

    .footer-credits,
    .subscribe-wrapper {
        justify-self: center;
        width: 100%;
    }

    .footer-credits {
        order: 2;
    }

    .subscribe-wrapper {
        order: 1;
    }

    .subscribe-wrapper {
        justify-content: center;
        align-items: center;
        flex-direction: column;
        
        padding-bottom: 0.5rem;
    }

    .footer-social-icons {
        justify-content: center;
        padding-left: 0;
        margin: 0;
    }

    .footer-copyright-notice {
        padding-top: 0;
    }

    .footer-bottom-wrap {
        padding: 0.75rem 1.5rem 1rem;
        text-align: center;
    }

    .footer-bottom {
        grid-template-columns: minmax(0, 1fr);
    }

    .footer-legal {
        justify-content: center;
    }

    .footer-acknowledgement {
        text-align: center;
    }

    .login-card {
        padding: 22px 18px;
    }

    .portfolio-results-meta {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .portfolio-results-count {
        text-align: left;
    }

    .portfolio-breadcrumbs {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.1rem;
        line-height: 1.5;
        margin-bottom: 10px;
    }

    h1 {
        font-size: 1.75rem;
        line-height: 2.25rem;
        overflow-wrap: break-word;
        word-break: break-word;
    }

    .magazine-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .drive-banner-text {
      font-size: 0.8rem;
    }
}

/* Site-wide pagination */
.ia-pagination {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin: 1rem 0 2rem;
}
.ia-pagination-info {
    font-size: 0.9rem;
    color: #666;
    align-self: center;
    margin-bottom: 6px;
}
.ia-pagination-links {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}
@media (min-width: 768px) {
    .ia-pagination {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
    .ia-pagination-info {
        margin-bottom: 0;
    }
}
.ia-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border: 1px solid #dcdcde;
    color: #424041;
    text-decoration: none;
    font-size: 0.9rem;
}
.ia-pagination .page-numbers.current {
    background: rgb(223, 39, 45);
    border-color: rgb(223, 39, 45);
    color: #fff;
}
.ia-pagination a.page-numbers:hover {
    background: #f0f0f0;
}
.ia-pagination .page-numbers.disabled {
    color: #bbb;
    border-color: #e8e8e8;
    cursor: default;
    pointer-events: none;
}

/* Home page member collage */
.home-collage {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}
.home-collage a {
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}
.home-collage img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media (min-width: 576px) {
    .home-collage {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
@media (min-width: 992px) {
    .home-collage {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }
}
