body, :host,
:root {
  --pico-primary: #7C7AAC;
  --pico-primary-background: #7C7AAC;
  --pico-secondary: #C8BCFF;
  --pico-primary-hover: #452869;
  --pico-primary-hover-background: #452869;
  --pico-primary-border: #7C7AAC;
  --pico-block-spacing-vertical: 1.5rem;
  --pico-block-spacing-horizontal: 2rem; 
  --pico-inline-spacing: 1rem;   
}

[data-theme="dark"] .icon {
    filter:invert();
}


h1, h2, h3 {
    --pico-font-family: Futura;
}


nav a {
    padding: 20px;
}

.hero {
    position: relative;
    height: 450px;
    background-image: url("../images/vermont-landscape.jpg");
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
}



.navbar .hamburger {
  display: none;
  font-size: 2rem;
  background: none;
  border: none;
  cursor: pointer;
}

header {
    padding-block: 0 !important;
    padding: 0px 0px 40px 0px;
    align-items: center;
    justify-content: center;
    display: flex;
}

header img {
    max-height:500px;
    width: 100vw;
    object-fit: cover;
}

header .tagline {
    position: absolute;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    display: flex;
}

header .tagline h1 {
    /* color: var(--pico-secondary); */
    font-size: 3rem;
    text-align: center;
    padding: 0px 2rem;
}

.block-title {
    display:flex;
    flex-direction:row;
    gap:10px;
}

.block-title img {
    padding-bottom:var(--pico-typography-spacing-vertical);
}

.profile {
    display: flex;
    flex-direction: row;
    gap: 50px;
    align-items: start;
}

.profile img {
    object-fit: contain;
    max-width:300px;
}

.profile .text {
    flex-direction: column;
}

.retainbox {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    /* border: 2px #339933 solid; */
    border: 2px var(--pico-primary) solid;
    border-radius: 10px;
    margin: 50px 30px;
    padding: 20px;

}

.carousel-frame {
    padding: 60px 0px;
    text-align: center;
    text-justify: center;

}

#carousel {
    transition: opacity 0.5s ease-in-out; 
}

#carousel.fade-out {
  opacity: 0;                 /* fade‑out target */
}

.publications {
  align-items: stretch;
}

.publication {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
}

/* Text grows but buttons stay at bottom */
.publication p {
  flex-grow: 1;
}

/* Button area */
.publication-actions {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

/* Buttons */
.publication-actions a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.8rem;
}

/* Icons inside buttons */

.publication-actions .icon {
  height: 18px;
  width: 18px;
}

/* Small hover polish */

.publication:hover {
  transform: translateY(-3px);
  transition: 0.15s ease;
  box-shadow: 0 10px 26px rgba(0,0,0,0.08);
}


footer {
    background-image: url("../images/vt-mountains-footer-2.png");
    background-repeat: no-repeat;
    background-size: cover;
    /* box-shadow: 2px; */
}


footer .minilinks small {
    padding-right: 20px;
}

.navbar {
    position: relative;
}

.navbar .nav-links {
    display: flex;
}

.video-section {
    align-items: stretch;
    gap: 2rem;
}

.video-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
}

.video-embed iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 8px;
}

.video-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2rem;
}


@media screen and (max-width: 768px) {
.navbar .nav-links {
    display: none;
    width: 100% !important;
    flex-direction: column;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: var(--pico-background-color);
    border: 1px solid var(--pico-muted-border-color);
    z-index: 1000;
  }

.navbar .nav-links a {
    padding: 0;
}

.navbar .nav-links.show {
    display: flex;
  }

.navbar .hamburger {
    display: block;
    color: var(--pico-primary);
  }

.profile {
    flex-direction: column;
}

main.container {
    padding: 10px 20px;
}

footer {
    padding: 10px 20px;
}

}
