/*! Home - Featured Bar - Redesigned */
.home-featured {
    background: #F4F8FB;
    padding: 2.5rem 0;
    border-top: 4px solid #207CAE;
}

.featured-mayor-panel {
    display: flex;
    align-items: stretch;
    background: #274B68;
    color: #FFF;
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 2rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.mayor-text {
    flex: 1 1 auto;
    padding: 2.5rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.mayor-eyebrow {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.2rem;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #EEBF61;
    margin-bottom: 0.5rem;
}

.mayor-text h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.6rem;
    color: #FFF;
    margin: 0 0 0.75rem;
    line-height: 1.3;
}

.mayor-desc {
    color: rgba(255,255,255,0.8);
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.mayor-link {
    display: inline-block;
    align-self: flex-start;
    padding: 0.6rem 1.4rem;
    background: #EEBF61;
    color: #274B68;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-radius: 3px;
    text-decoration: none;
}

.mayor-link:hover {
    background: #FFF;
    color: #274B68;
}

.mayor-photo {
    flex: 0 0 auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    overflow: hidden;
}

.mayor-photo a {
    display: block;
    height: 100%;
}

.mayor-photo img {
    height: 340px;
    width: auto;
    object-fit: cover;
    object-position: center;
    display: block;
    border: none;
}

.featured-boa-panel {
    display: flex;
    align-items: stretch;
    background: #274B68;
    color: #FFF;
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 2rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.boa-text {
    flex: 1 1 auto;
    padding: 2.5rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.boa-eyebrow {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.2rem;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #EEBF61;
    margin-bottom: 0.5rem;
}

.boa-text h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.6rem;
    color: #FFF;
    margin: 0 0 0.75rem;
    line-height: 1.3;
}

.boa-desc {
    color: rgba(255,255,255,0.8);
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.boa-link {
    display: inline-block;
    align-self: flex-start;
    padding: 0.6rem 1.4rem;
    background: #EEBF61;
    color: #274B68;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-radius: 3px;
    text-decoration: none;
}

.boa-link:hover {
    background: #FFF;
    color: #274B68;
}

.boa-photo {
    flex: 0 0 auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    overflow: hidden;
}

.boa-photo a {
    display: block;
    height: 100%;
}

.boa-photo img {
    height: 340px;
    width: auto;
    object-fit: cover;
    object-position: center;
    display: block;
    border: none;
}

/* Lower row */
.featured-lower-row {
    display: flex;
    flex-flow: row wrap;
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.featured-event-panel,
.featured-initiative-panel {
    flex: 1 1 300px;
    background: #FFF;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
}

.featured-label {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #FFF;
    background: #207CAE;
    padding: 0.6rem 1rem;
    flex-shrink: 0;
}

/* Initiative - fill card */
.initiative-photo {
    flex: 1;
    overflow: hidden;
}

.initiative-photo img {
    width: 100%;
    height: 100%;
    min-height: 300px;
    object-fit: cover;
    object-position: center;
    display: block;
    border: none;
}

/* Featured Event - full document visible, no crop */
.featured-event-panel {
    position: relative;
}

.featured-event-carousel {
    flex: 1;
}

.featured-event-carousel .slick-slide img {
    width: 100%;
    height: 500px;
    object-fit: contain;
    object-position: center top;
    background: #f0f4f7;
    display: block;
    border: none;
}

/* Carousel buttons */
.featured-event-carousel .slick-prev,
.featured-event-carousel .slick-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 36px;
    height: 36px;
    background: rgba(39,75,104,0.6);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    font-size: 0;
    line-height: 0;
    padding: 0;
}

.featured-event-carousel .slick-prev { left: 10px; }
.featured-event-carousel .slick-next { right: 10px; }

.featured-event-carousel .slick-prev:before {
    font-family: 'slick';
    font-size: 18px;
    color: #FFF;
    opacity: 0.9;
    content: 'â†';
}

.featured-event-carousel .slick-next:before {
    content: 'â†’';
}

/* Dots */
.featured-event-carousel .slick-dots {
    list-style: none;
    padding: 0.5rem 0;
    margin: 0;
    text-align: center;
    background: #f0f4f7;
}

.featured-event-carousel .slick-dots li {
    display: inline-block;
    margin: 0 3px;
}

.featured-event-carousel .slick-dots li button {
    font-size: 0;
    width: 8px;
    height: 8px;
    padding: 0;
    background: #207CAE;
    opacity: 0.3;
    border: none;
    border-radius: 50%;
    cursor: pointer;
}

.featured-event-carousel .slick-dots li.slick-active button {
    opacity: 1;
}

/*! Home - Button Bars */
.button-bar.col-full {
    padding: 0.5rem 1rem;
}

#navdiv ul {
    list-style-type: none;
    padding-left: 0;
    margin: 0;
}

#navdiv li {
    background: #2A7DAE;
    margin: 1rem 0;
    border-radius: 4px;
    webkit-box-shadow: 0 4px 5px 0 rgba(0,0,0,.2);
    -moz-box-shadow: 0 4px 5px 0 rgba(0,0,0,.2);
    box-shadow: 0 4px 5px 0 rgba(0,0,0,0.2);
}

#navdiv li a {
    color: #FFF;
    text-decoration: none;
    width: 100%;
    padding: 1rem;
    display: block;
}

.menulevel1 span {
    background-repeat: no-repeat;
    padding: 0.4rem 0.4rem 0.4rem 2.8rem;
    background-position: left;
    background-size: contain;
    font-size: 1rem;
}

.menulevel1 span.dep-svg {
    background-image: url(/data/layout/images/department-icon.png);
}

.menulevel1 span.agendas-svg {
    background-image: url(/data/layout/images/agendas-icon.png);
}

.menulevel1 span.taxes-svg {
    background-image: url(/data/layout/images/taxes-icon.png);
}

.menulevel1 span.video-svg {
    background-image: url(/data/layout/images/video-icon.png);
}

.menulevel1 span.calendar-svg {
    background-image: url(/data/layout/images/calendar-icon.png);
}

.menulevel1 span.press-svg {
    background-image: url(/data/layout/images/press-icon.png);
}

.menulevel1 span.building-svg {
    background-image: url(/data/layout/images/building-icon.png);
}

/*! Home - Ansonia Seal Horizontal Rule */
.seal-horizontal {
    padding: 1rem 0;
    position: relative;
}

.seal-horizontal hr {
    height: 6px;
    background: #EEBF61;
    border-style: none;
    margin: 3rem 0;
    width: 100%;
    text-align: center;
}

.seal-horizontal hr:before {
    content: url(/data/layout/images/ansonia-seal.png);
    position: relative;
    top: -45px;
}

/* Mobile fixes for Mayor + BOA panels */
@media (max-width: 768px) {
  .featured-mayor-panel,
  .featured-boa-panel {
    flex-direction: column;
  }

  .mayor-text,
  .boa-text {
    padding: 1.75rem 1.25rem;
  }

  .mayor-eyebrow,
  .boa-eyebrow {
    font-size: 0.85rem;
  }

  .mayor-text h2,
  .boa-text h2 {
    font-size: 1.35rem;
  }

  .mayor-desc,
  .boa-desc {
    font-size: 0.9rem;
    line-height: 1.55;
  }

  .mayor-photo,
  .boa-photo {
    width: 100%;
    height: auto;
    justify-content: center;
    align-items: center;
  }

  .mayor-photo a,
  .boa-photo a {
    width: 100%;
    height: auto;
  }

  .mayor-photo img,
  .boa-photo img {
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    object-position: center;
  }
}