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;
}


.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;
}

.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 */
}

.publication {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.publication a {
    padding: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    max-height: 40px;
}


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;
}



@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;
}

}
