/* Crysten Curry Elementor Widget - Brands Rail / Contributed To (fonts come from fonts.css) */

.cc-brandsrail-wrap {
  --cc-br-bg: #0A0708;
  --cc-br-text-bg: #FBFAF8;
  --cc-br-rail: #FFFFFF;
  --cc-br-label: #0A0708;
  --cc-br-heading: #0A0708;
  --cc-br-line: #0A0708;
  --cc-br-linkcolor: #0A0708;
  --cc-br-min: 640px;
  --cc-br-pos-y: 20%;
  width: 100%;
  font-size: 16px;
  line-height: 1.65;
  box-sizing: border-box;
}
.cc-brandsrail-wrap *, .cc-brandsrail-wrap *::before, .cc-brandsrail-wrap *::after { box-sizing: border-box; }

.cc-brandsrail {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) minmax(0, 1fr);
  background: var(--cc-br-bg);
  min-height: var(--cc-br-min);
}

.cc-brandsrail-wrap .cc-brandsrail__name {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-align: center;
  font-family: "Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;
  text-transform: uppercase;
  color: var(--cc-br-rail);
  font-size: clamp(3.4rem, 6.4vw, 6.4rem);
  line-height: 1;
  letter-spacing: -.01em;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px 0;
}

.cc-brandsrail__text {
  background: var(--cc-br-text-bg);
  padding: clamp(28px, 4vw, 64px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 32px;
}
.cc-brandsrail-wrap .cc-mono {
  margin: 0;
  font-family: "IBM Plex Mono", "Courier New", monospace;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .06em;
  line-height: 1.7;
  text-transform: uppercase;
  color: var(--cc-br-label);
}
.cc-brandsrail-wrap .cc-brandsrail__heading {
  margin: 20px 0 0;
  font-family: "Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 3.6vw, 3.4rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.01em;
  text-transform: uppercase;
  color: var(--cc-br-heading);
}

.cc-brandsrail__list { margin: 0; padding: 0; list-style: none; }
.cc-brandsrail__list li { padding: 12px 0; border-top: 1px solid var(--cc-br-line); list-style: none; }
.cc-brandsrail__list li:last-child { border-bottom: 1px solid var(--cc-br-line); }
.cc-brandsrail__list a.cc-mono {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: var(--cc-br-linkcolor);
  text-decoration: none;
}
.cc-brandsrail__list a.cc-mono:hover,
.cc-brandsrail__list a.cc-mono:focus { text-decoration: underline; }

.cc-brandsrail__img { overflow: hidden; }
.cc-brandsrail__img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% var(--cc-br-pos-y); }

.cc-brandsrail a:focus-visible { outline: 2px solid #B0122A; outline-offset: 3px; }
