/* HELPERS FOR LAYOUT (COLUMNS) */
.col-container {
  width: calc(100% - var(--default-margin));
  margin-left: var(--default-margin);
  display: flex;
  flex-wrap: wrap;
  --gap: 6%;
  gap: var(--gap);
  justify-content: flex-start;
}

.col-container [class^='col-'] {
  padding-bottom: 60px;
}

.col-container [class^='col'] img {
  max-width: 100%;
  object-fit: contain;
}

.col-container [class^='col-33'] img {
  max-height: 200px;
}
.col-container [class^='col-50'] img {
  height: 410px;
}

.col-container [class^='col-'] p {
  font-size: 1.2em;
  line-height: 1.6em;
}

.col-container .col-100 img {
  max-height: 400px;
}

.col-container figure > a {
  width: 100%;
  display: inline-block;
  text-align: center;
}

.col-100 {
  flex: 100%;
}

.col-75 {
  flex: calc(75% - var(--gap));
}

.col-50 {
  flex: calc(50% - var(--gap) / 2) 0 0;
}

.col-33 {
  flex: calc(33% - 2 / 3 * var(--gap)) 0 0; 
}

.col-25 {
  flex: calc(25% - 3 / 4 * var(--gap)) 0 0;
}

.col-container [class^='col-'] h5 {
  margin: 10px 0px;
  white-space: nowrap;
}

/* BUTTONS TO LOAD MORE ELEMENTS */
.flex-bottom {
  flex: 0 0 100%;
  margin: 20px auto 40px auto;
  text-align: center;
}

.btn-more {
  height: auto;
  color: black;
  position: relative;
  border-radius: 2px;
  text-align: center;
  padding: 25px;
  border: 1px solid black;
  text-transform: uppercase;
  text-decoration: none;
}
.btn-more:hover {
  cursor: pointer;
  color: white;
  border: 1px solid black;
  background-color: black;
  text-decoration: none;
}
.btn-more.loading {
  background: url("../images/loader.c060085187ee.svg") 50% 50% no-repeat;
  color: transparent;
}


/* LIST FILTERS */
#list-filters,
#list-filters li {
  display: inline-block;
  vertical-align: top;
  margin-left: 10px;
  text-align: right;
}

#list-filters a {
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  user-select: none;
}

#list-filters a.has-subset:after {
  width: 10px;
  content: "+";
  display: inline-block;
  margin-left: 5px;
  margin-top: -5px;
  font-size: 1.75em;
  line-height: 1em;
}

/* items columns */
.items.col-container {
  align-items: end;
}

.items figcaption {
  height: 140px;
}

.items .price {
  text-transform: uppercase;
  font-size: 0.9em;
  line-height: 1.2em;
}

/* news columns */
.news .col-100 {
  display: flex;
  gap: 20px;
}

.news .col-100 > * {
  flex: 50%;
}
.news .col-100 > a {
  text-align: right;
}

.news figcaption {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex-grow: 2;
}

.news .col-100 img {
  max-width: unset;
}

.news .col-100:nth-child(2n) {
  flex-direction: row-reverse;

}
.news .col-100:nth-child(2n) figcaption {
  align-items: flex-end;
  text-align: right;
}

.news .col-100:nth-child(2n) a {
  flex-basis: min-content;
}

.news .col-100:nth-child(2n) img {
  padding-right: var(--default-margin);
}


.news .col-33 {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.exhibs {
  --gap: 3%;
}

.exhibs .col-50 {
  flex-grow: 0;
}

/* artists */
nav.artists {
  padding: 0 calc(calc(100% - 1280px) / 2);
  display: flex;
  background-color: white;
  min-height: 100vh;
}
nav.artists ul {
  padding-left: var(--default-margin);
  flex: calc(50% - var(--default-margin)) 0 0;
}
nav.artists li {
  margin: 5px 0px;
}
nav.artists h2 a {
  text-decoration: none;
}
nav.artists h2 a:before {
  content: "";
  vertical-align: middle;
  width: 0;
  display:inline-block;
  height: 1px;
  background-color: black;
  -moz-transition: all 0.25s ease;
  -o-transition: all 0.25s ease;
  -webkit-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
nav.artists h2 a:hover:before {
  width: 25px;
  margin-right: 5px;
}

/* exhibitions */
.exhibitions h2.years {
  width: 100%;
  height: 75%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 10em;
  line-height: 1.2em;
}

.exhibitions .col-100 h2.years {
  margin: 60px 0px;
  top: 0;
  transform: translateY(0);
}

/* store */
.books .col-25 {
  display: flex;
  flex-direction: column;
}

.books .col-25 a.cover img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  object-position: bottom;
}
