@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
/* ========== Design Tokens ========== */
:root {
  --color-text: #000;
  --color-bg: #ffff;
  --color-accent: #fdca40;
  --color-accent-alt: gold;
  --color-highlight: lightgoldenrodyellow;
  --color-pneal: lightgoldenrodyellow;
  --color-panel-alt: #fbfafc;
  --shadow-soft: 1px 1px 1px 1px lightgoldenrodyellow;
  --radius-xs: 4px;
  --radius-sm: 0.5rem;
  --radius-md: 1rem;
  --radius-lg: 2rem;
  --font-base: "Open Sans", sans-serif;
  --transition-fast: .15s ease-in-out;
}

/* ========== Base ========== */
*,
*::before,
*::after { box-sizing: border-box; }

html,
body,
h1,h2,h3,h4,h5,h6,
p,div {
  font-family: var(--font-base);
  color: var(--color-text);
}

body {
  background: var(--color-bg);
  margin: 0;
}

img,video { max-width: 100%; height: auto; display: block; width: 100%; }

a { text-decoration: none; color: inherit; }
a:focus,
a:focus-visible,
a.is-active { outline: none; box-shadow: none; }

/* Utility */
.d-flex { display: flex !important; flex-direction: column !important; }
.f-row { flex-direction: row; }
.j-cen { justify-content: center; }
.as-cen { align-self: center; }
.d-grid { display: grid; }
.color-white { color: #fff; }
.silver { background: lightgoldenrodyellow !important; }

/* Layout Wrappers */
.page-wrapper,
#page { display: flex; flex-direction: column; }
.page-wrapper { flex-wrap: wrap; margin: auto; align-items: center; }
.container,
.main-content__container.container { max-width: 100%; }

/* Header / Branding */
.site-header,
.site-header__inner,
.header-nav,
.site-branding__inner,
#block-olivero-site-branding { background: var(--color-bg); }

.site-branding__logo > img { border-radius: 10rem; background: var(--color-bg); }

.site-branding__inner { display: flex; flex-direction: column; position: relative; top: -55px; }
@media (max-width:1199px){ .site-branding__inner { top: 7px; } }
@media (max-width:840px){
  .site-branding__inner { top: 6px; }
  #block-olivero-site-branding { margin: 0 0 1rem 1rem; }
  .site-branding__logo { display: none; }
}

.site-branding__text { align-self: center; color: var(--color-text); }

/* Navigation focus cleanup */
.primary-nav__menu-link-inner--level-1:focus,
.primary-nav__menu-link-inner--level-1:focus-visible,
.primary-nav__menu-link--level-1:focus,
.primary-nav__menu-link--level-1:focus-visible { outline: none; box-shadow: none; }

/* Page Title */
.block-page-title-block:not(#block-gin-page-title) {
  position: relative;
  z-index: 0;
}
.block-page-title-block:not(#block-gin-page-title)::before {
  content:"";
  position:absolute;
  z-index:-1;
  width:calc(85% - 2rem);
  height:calc(100% - 2rem);
  left:3rem;
  bottom:-1rem;
  background: gold;
  transform:rotate(-3deg);
}
.page-title {
  background: var(--color-highlight);
  color: var(--color-text);
  padding: .5rem;
}
.page-title span { line-height: 5.5rem; }
@media (max-width:1250px){ .page-title span { line-height:3rem; } }
.path-frontpage .page-title { display:none; }

/* Main / Content */
main {
  background: lawngreen;
  padding: 2rem;
}
@media (max-width:480px){ main { padding:1rem; } }

.path-listings main,
.path-featured main,
.path-stories main { background: unset; }

.main-content { width:100%; }

.layout-main { background: #fff; color: var(--color-text); }

figure { background: #fff; }

.text-content,
article,
.field--name-field-stars { color: var(--color-text); }

/* Buttons / CTAs */
.flag,
.cta,
#edit-submit-search,
#edit-submit-search--2,
.block-unblock {
  display:inline-block;
  background: var(--color-accent);
  color: #fff;
  border: 1px solid var(--color-accent);
  border-radius: 1rem 2rem 0 2rem;
  padding: .5rem 2rem;
  width: fit-content;
  cursor: pointer;
  transition: var(--transition-fast);
}
.flag > a,
.cta > a,
.block-unblock > a { color: #000; font-weight: 600; }
.cta > a:hover { color: #fff; }

/* Search */
#edit-search-api-fulltext,
#edit-search-api-fulltext--2 {
  border-radius: var(--radius-lg);
  margin-right:1rem;
}
[for="edit-search-api-fulltext"] { visibility:hidden; }

@media (max-width:840px){
  #views-exposed-form-search-block-1,
  #views-exposed-form-search-page-1 { display:grid; }
  #views-exposed-form-search-block-1 > #edit-actions,
  #views-exposed-form-search-page-1 > #edit-actions { grid-column:2; }
}

/* Grid Views */
.view .view-content {
  display:grid;
  gap: 0 !important;
  grid-template-columns: auto auto auto;
}
@media (max-width:1199px){
  .view .view-content { grid-template-columns: auto auto; }
}
@media (max-width:640px){
  .view .view-content { grid-template-columns: auto; }
}

/* Views Row Cards */
.views-row:not(.media-library-item),
.tagclouds-term,
.sign-name .field--type-entity-reference a {
  background:#fff;
  border:1px solid #000;
  border-radius: var(--radius-sm);
  padding:.5rem;
  margin:.8rem;
  max-height:24rem;
  overflow:hidden;
  width:95%;
  transition: var(--transition-fast);
}
.views-row:hover,
.tagclouds-term:hover,
.sign-name:hover {
  box-shadow: var(--shadow-soft);
  background: var(--color-accent-alt);
}

@media (max-width:789px){
  .views-row { width:90%; }
  .view .view-content { grid-template-columns:auto; }
}

/* Teasers */
.node--view-mode-teaser .primary-image,
.teaser__image { position: unset; }

.node--view-mode-teaser .primary-image img {
  width:333.3px;
  height:222.2px;
  border-radius:6.666%;
  object-fit:cover;
}

.teaser__top { display:flex; flex-wrap:wrap; justify-content:center; }
.teaser__content { text-align:center; }
.teaser__title a {
  background: var(--color-highlight);
  color: var(--color-text);
  display:inline-block;
  padding:.25rem .5rem;
  transition: var(--transition-fast);
  position:relative;
  line-height:2.7rem;
  border:3px solid #000;
}
.teaser__title a:hover { background:#fff; }

.teaser__image img {
  width:100%;
  height:50%;
  border-radius:0;
  box-shadow:2px 1px 11px 0 #fff;
  object-fit:cover;
}

.teaser__content .field--tags__item a,
.field--type-entity-reference a {
  background: var(--color-highlight);
  color: var(--color-text);
  box-shadow: 4px 2px 6px 2px #000;
  padding:.5rem;
  border:1px solid #000;
  display:inline-block;
}

div.teaser__meta div.node__meta { display:none; }
.teaser__meta .node__author a { color: var(--color-text); }

/* Article Heading Decor */
div.views-row article header h2 {
  position:relative;
  margin:0;
}
div.views-row article header h2 a {
  background: var(--color-highlight);
  color: var(--color-text);
  padding:.5rem;
  border:3px solid #000;
  position:relative;
  display:inline-block;
}
div.views-row article header h2 a::before {
  content:"";
  position:absolute;
  z-index:-1;
  width:calc(100% - 2rem);
  height:calc(121% - 2rem);
  left:3rem;
  bottom:0;
  background:#000;
  transform:rotate(-3deg);
}

div.views-row article header div h2 a span {
  display:inline-block;
  max-width:250px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:normal;
  line-height: 2rem;
}

@media (max-width:789px){
  div.views-row article header h2 a::before { width:200px; height:3rem; }
  div.views-row article header div h2 a { display:flex; }
  div.views-row article header div h2 a span { width:212px; }
}

/* Tag Clouds */
.tagclouds-term {
  width:fit-content;
  background: var(--color-highlight);
  color: var(--color-text);
  font-weight:600;
}
.tagclouds-term > a { text-decoration:none; color:var(--color-text); }

.tagclouds.level1 { font-size:.8rem; }
.tagclouds.level2 { font-size:1rem; }
.tagclouds.level3 { font-size:1.1rem; }
.tagclouds.level4 { font-size:1.2rem; }
.tagclouds.level5 { font-size:1.3rem; }
.tagclouds.level6 { font-size:1.5rem; }

/* Misc Components */
.drupal-wordmark {
  background: var(--color-highlight);
}
.bg-row-grad {
  background-image: linear-gradient(160deg,var(--color--primary-50) 0%,var(--color--primary-40) 78.66%);
  color: var(--color-text);
}
.bg-row-grad h3 { color: var(--color-text); }

.wp-block-embed iframe { width:100%; height:480px; }

.google-analytics-counter,
#block-olivero-googleanalyticscounter > h2 {
  font-size:25px;
  font-weight:bold;
  font-style:italic;
  color: var(--color-text);
  margin-left:1rem;
  padding:.5rem 0;
}

.mark { box-shadow:.5rem .8rem 1rem #000; }

.social-media-links--platforms,
.social-media-sharing { display:flex; justify-content:center; }
.social-media-sharing > ul { display:flex; flex-direction:column; gap:1rem; }
@media (max-width:820px){
  .social-media-sharing > ul { flex-direction:row; gap:0; }
}
.social-media-links--platforms a {
  color: gold;
}
/* Sidebar Grid */
.sidebar-grid .region--sidebar { grid-column:13 / 15; }
.sidebar-grid > .site-main { grid-column:3 / 13; }
@media (max-width:820px){
  .sidebar-grid .region--sidebar,
  .sidebar-grid > .site-main { grid-column:1 / 15; }
}

/* Slider */
.tns-outer > button { display:none; }
.tiny-slider { align-items:center; }

/* Features / Listings */
.view-duplicate-of-listings { display:flex; flex-direction:column; }
.view-view-features { background: var(--color-panel-alt); }

.field--name-field-target-market-location { display:flex; gap:.5rem; }

/* Forms */
.form-item__description,
.filter-guidelines { display:none; }

/* Lists */
.list.list-payment {
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  padding:0;
  margin:0;
}
.list-payment__item { margin:.1rem; }

/* Footer */
.site-footer .text-content * { color:#fff; }
.site-footer .text-content a { font-size:1rem; }

/* Hiding extraneous Drupal item */
#block-olivero-content > div > article > div.js-form-item.form-item.js-form-type-item.form-item-.js-form-item-.form-no-label {
  display:none;
}

/* Media Queries (global adjustments) */
@media (max-width:820px){
  .d-flex { flex-direction:column; }
}

@media (min-width:75rem){
  .site-header { width:100rem; }
}

/* Cleanups */
.main-content { background: transparent; }
.teaser__meta div.node__meta { background: var(--color-panel); }
