/* Shared defaults also apply to pages created by the site manager. */
.skip-link {
    position: fixed;
    left: 1rem;
    top: 1rem;
    z-index: 10010;
    padding: .75rem 1rem;
    background: white;
    color: #585858;
    border: 2px solid #585858;
    transform: translateY(-200%);
}
.skip-link:focus { transform: none; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid #9e2343;
    outline-offset: 4px;
}
a:hover, button:hover, input[type="submit"]:hover, .button:hover {
    color: #9e2343 !important;
}
.button.primary:hover, button.primary:hover,
input[type="submit"].primary:hover, input[type="button"].primary:hover,
input[type="reset"].primary:hover {
    background-color: #9e2343;
    color: white !important;
}
input:not([type="checkbox"]):not([type="radio"]), select, textarea {
    border-color: #767676;
}
#menu a:hover, .tiles article > a:hover { color: white !important; }
#menu a:focus-visible { outline-color: white; }
.portfolio-nav a:focus-visible { outline-color: #9e2343; }
#header nav a[href="#menu"]:hover:before { opacity: 0; }
#header nav a[href="#menu"]:hover:after { opacity: 1; }
.tiles article:focus-within .content { max-height: 15em; opacity: 1; }
.gallery a:focus-visible img { filter: grayscale(0%); }
#main p, #main li, #main h1, #main h2, #main h3 { overflow-wrap: anywhere; }
#main iframe { max-width: 100%; }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
    .gallery img:hover,
    body:not(.is-touch) .tiles article:hover > .image { transform: none; }
    #lightbox .lb-cancel {
        background-image: none;
        border: 3px solid #ccc;
        border-top-color: #585858;
        border-radius: 50%;
    }
}
