:root{--blue:#00658c;--nav:#14365d;--line:#c2c7cb}*{box-sizing:border-box}body{margin:0;color:#151515;background:#fff;font:16px/1.6 Arial,Helvetica,sans-serif}a{color:var(--blue)}a:hover{text-decoration:underline}header{background:linear-gradient(#d8d8d8,#eee);padding:12px 20px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}header img{width:80px;height:73px;object-fit:contain}.brand{display:flex;gap:20px;align-items:baseline;flex-wrap:wrap}.brand a{font-size:32px;font-weight:700;font-style:italic;letter-spacing:1px;text-decoration:none}.dates{font-size:18px;font-weight:bold}nav{display:flex;background:linear-gradient(#15345c,#275b86);box-shadow:0 2px 3px #999}nav a{padding:9px 36px;color:white;font-weight:bold;text-decoration:none;border-right:1px solid #ffffff30}nav a[aria-current=page],nav a:hover{background:#ffffff18}.slideshow{position:relative;margin-top:20px;background:#142c35;box-shadow:0 12px 15px -8px #555;overflow:hidden}.slides{position:relative;aspect-ratio:2.67}.slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}.slides img.active{opacity:1}.slide-controls{position:absolute;bottom:12px;right:14px;display:flex;gap:8px;align-items:center;background:#10202bc9;color:white;padding:4px 9px;border-radius:5px;font-size:13px}button{font:inherit;cursor:pointer}.slide-controls button{border:1px solid #ffffff70;color:#fff;background:#ffffff10;border-radius:3px;padding:2px 9px}main{display:grid;grid-template-columns:280px minmax(0,1fr);gap:32px;margin:42px auto 24px;padding:0 20px;max-width:1280px}article{padding:0 0 26px;margin-bottom:24px;border-bottom:1px solid var(--line)}h1,h2{color:var(--blue);line-height:1.25}h1{font-size:28px}h2{font-size:25px;margin:0 0 3px}.byline{color:#737d86;font-size:14px;margin:0 0 15px}.article-image{width:min(100%,637px);height:auto;display:block;margin:12px 0 22px}p{margin:0 0 16px}.read-more{display:inline-block;margin-top:12px}.weather{background:#f5f5f5;border:1px solid #bbb;align-self:start}.weather>h2{background:#e5e5e5;color:#111;font-size:20px;padding:8px 12px}.weather-card{padding:17px 18px}.weather-card h3{color:var(--blue);margin:0;font-size:18px}.location-detail{font-size:13px;color:#596671;margin:3px 0 12px}.temperature{font-size:36px;font-weight:bold;color:#173d5a;line-height:1.2}.weather-summary{min-height:26px}.weather-details{font-size:14px}.descent{border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:8px 14px;color:#64717b;text-align:center;font-size:12px}.weather-note{padding:10px 16px;font-size:12px;color:#5a6570;border-top:1px solid #ddd}.weather-note p{margin-bottom:6px}.weather-note button{background:#fff;color:var(--blue);border:1px solid #b4c3cc;border-radius:3px;padding:3px 10px}.video{position:relative;aspect-ratio:16/10;background:#eee}.video iframe{position:absolute;width:100%;height:100%;border:0}footer{border-top:1px solid #bbb;padding:18px 20px;color:#67737c;font-size:13px}.notice{background:#edf4f8;border-left:4px solid var(--blue);padding:18px}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;padding:10px;z-index:10}:focus-visible{outline:3px solid #e39c18;outline-offset:3px}@media(min-width:1500px){.shell{max-width:1440px;margin:auto}}@media(max-width:720px){header{gap:12px;padding:12px}.brand{gap:4px}.brand a{font-size:23px}.dates{font-size:14px}header img{width:64px;height:auto}nav a{padding:9px 23px}main{grid-template-columns:1fr;padding:0 16px;gap:22px;margin-top:28px}.weather{grid-row:2}.slides{aspect-ratio:2}.slide-controls{bottom:7px;font-size:12px}h2{font-size:23px}}@media(prefers-reduced-motion:reduce){.slides img{transition:none}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Footer: navigation left, copyright right */
footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 24px;
}

footer .copyright {
    margin-left: auto;
    text-align: right;
    white-space: nowrap;
}

/* Slideshow: preserve original 950 x 355 dimensions */
.slideshow {
    width: 100%;
    max-width: 950px;
    margin-left: auto;
    margin-right: auto;
}

.slides {
    aspect-ratio: 950 / 355;
}

.slides img {
    object-fit: contain;
}

@media (max-width: 720px) {
    .slides {
        aspect-ratio: 950 / 355;
    }
}

/* Original Drupal-style header and navigation */

/* Header blends into the page background */
header {
    background: transparent;
}

/* All navigation buttons use the same normal gradient */
nav a,
nav a[aria-current="page"] {
    background: transparent;
    color: #fff;
    text-decoration: none;
}

/* Hover and keyboard focus: darker blue, never underlined */
nav a:hover,
nav a:focus-visible,
nav a[aria-current="page"]:hover {
    background: linear-gradient(#102a49, #204a70);
    color: #fff;
    text-decoration: none;
}

/* Prevent visited and active links from changing appearance */
nav a:visited,
nav a:active {
    color: #fff;
    text-decoration: none;
}


/* Drupal Danland-style slideshow shadow */
.slideshow {
    box-shadow:
        0 18px 22px -10px rgba(0, 0, 0, 0.55),
        0 28px 35px -22px rgba(0, 0, 0, 0.35);
}


/* Original Drupal Danland slideshow shadow */
.slideshow {
    box-shadow: none;
    overflow: visible;
    isolation: isolate;
}

.slideshow::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 1400px;
    max-width: none;
    height: 65px;
    background: url('/assets/images/slideshow-shadow.gif')
                no-repeat center bottom;
    pointer-events: none;
    z-index: -1;
}


/* Show the complete Danland shadow without clipping */
.slideshow::after {
    height: 128px;
    background-position: center top;
}


/* Correct Danland shadow positioning */
.slideshow::after {
    top: calc(100% - 63px);
    height: 128px;
    background-position: center bottom;
}


/* Davis Family website adjustments */

/* Keep the Alaska map logo at its natural proportions */
header img {
    width: 80px;
    height: auto;
    object-fit: contain;
}

/* Keep the six navigation buttons on one row when space permits */
nav {
    flex-wrap: wrap;
}

/* Embedded application pages */
.iframe-page {
    display: block;
    width: 100%;
    max-width: 1440px;
    margin: 30px auto;
    padding: 0 20px;
}

.iframe-page h1 {
    margin: 0 0 16px;
}

.iframe-container {
    width: 100%;
    height: 85vh;
    min-height: 650px;
    border: 1px solid #c2c7cb;
    background: #fff;
}

.iframe-container iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-width: 720px) {
    nav a {
        padding: 9px 16px;
    }

    .iframe-page {
        padding: 0 12px;
        margin-top: 20px;
    }
}

/* Clear the original Danland slideshow shadow */
.slideshow + main {
    margin-top: 90px;
}


/* Full-width static About Us page */
main.about-page {
    display: block;
    max-width: 1280px;
    margin: 32px auto;
    padding: 0 20px;
}

main.about-page article {
    border-bottom: none;
}


/* Embedded applications */
main.embedded-page {
    display: block;
    max-width: none;
    margin: 24px auto;
    padding: 0 20px;
}

.embedded-page h1 {
    margin: 0 0 16px;
}

.embedded-page iframe {
    display: block;
    width: 100%;
    height: 85vh;
    min-height: 650px;
    border: 1px solid #c2c7cb;
    background: white;
}

.iframe-fallback {
    margin: 10px 0 24px;
    font-size: 14px;
}

@media (max-width: 720px) {
    main.embedded-page {
        padding: 0 12px;
    }
}

