/* Global component overrides */
.card {
    border-radius: 0.5rem;
}

/* Menu overrides */
.top-bar {
    align-items: stretch;
    box-shadow: 0 4px 30px -10px rgba(30, 0, 0, 0.4);
    z-index: 10;
    position: relative;
}

.top-bar,
.top-bar ul {
    background-color: #fff;
}

.top-bar a,
.top-bar ul a {
    color: #0a0a0a;
}

.top-bar ul li ul {
    background-color: #fff !important;
}

.top-bar ul li ul a {
    color: #0a0a0a;
}

.top-bar ul.menu li a:focus {
    background-color: #0a0a0a;
    color: #fff;
    text-decoration: underline;
}

.top-bar ul.menu li a:active {
    background-color: #000;
    color: #fff;
    text-decoration: underline;
}

.top-bar-right > ul.menu {
    align-items: stretch;
    height: 100%;
}

ul.menu li.menu-item {
    align-items: stretch;
}

ul.menu li.menu-item a {
    height: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.dropdown.menu.vertical > li.opens-left > a::after,
.is-accordion-submenu-parent > a::after {
    border-color: #0a0a0a transparent transparent !important;
}

.dropdown.menu.vertical > li.opens-left:hover > a::after,
.is-accordion-submenu-parent:hover > a::after,
.is-accordion-submenu-parent.is-active > a::after {
    border-color: #fff transparent transparent !important;
}

.menu > li.is-active > a:hover,
.off-canvas .menu > li > a:hover,
.top-bar-right a:hover,
.top-bar a:hover,
.top-bar ul a:hover {
    background-color: #000;
    color: #fff;
}

.top-bar ul.menu > li.is-active {
    background-color: #000;
    color: #fff;
}

ul.menu li.menu-item .is-dropdown-submenu {
    border: none;
    border-top: 3px solid #000;
    box-shadow: 0 4px 15px -8px rgba(0, 0, 0, 0.6),
        0 0 5px -2px rgba(0, 0, 0, 0.8);
}

.top-bar-right
    > ul.menu
    li.menu-item
    .is-dropdown-submenu
    li.menu-item:not(:last-child) {
    border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

/* Homepage */
.svdsa-frontispiece {
    padding: 50px 0;
}

.svdsa-frontispiece .plate.card {
    border-radius: 1rem;
}

.svdsa-frontispiece .svdsa-logo {
    background-size: auto 70%;
}

.svdsa-frontispiece h2 {
    margin-top: 0;
}

.homepage-section {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.homepage-section:not(:last-child) {
    border-bottom: 2px solid #fff;
    margin-bottom: 1rem;
}

.homepage-section .grid-margin-y > .cell {
    /* Reduce margin between items in a homepage section */
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

.homepage-section h3 {
    margin-top: 0;
}

.homepage-section p {
    margin-bottom: 1rem;
    margin-top: 0;
}

/* Footer overrides */
.footer {
    background-color: #eee;
    color: #0a0a0a;
}

#footerLeft .widgettitle,
#footerRight .widgettitle {
    font-family: "Manifold DSA", -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue",
        sans-serif;
    padding-bottom: 12px;
    box-shadow: 0 4px 30px -10px rgba(0, 0, 0, 0.4);
    background-color: #0a0a0a;
}

.svdsa-socmed-buttons {
    display: flex;
    flex-flow: row;
    justify-content: center;
}

.svdsa-socmed-buttons .button {
    width: 80px;
    margin: 8px;
    padding: 2px;
    border-radius: 50%;
    background-color: #0a0a0a;
}

.svdsa-socmed-buttons .button:hover {
    background-color: #ec1f27;
}

.svdsa-newsletter-signup {
    border-top: 0.5rem solid #ec1f27;
    background-color: white;
    box-shadow: 0 2px 5px -2px rgba(0, 0, 0, 0.3);
    padding: 1rem;
    border-radius: 0.5rem;
    transition: transform 0.1s cubic-bezier(0.645, 0.045, 0.355, 1),
        box-shadow 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

@media (prefers-reduced-motion) {
    .svdsa-newsletter-signup:hover {
        transform: none;
    }
}

.svdsa-newsletter-signup:hover {
    box-shadow: 0 4px 15px -8px rgba(0, 0, 0, 0.4);
    transform: translateY(-2px);
}

.svdsa-newsletter-signup label {
    font-size: 1rem;
    margin-bottom: 0.25rem;
}

/* Event overrides */
.tribe-events-single a {
    text-decoration: underline;
}

.tribe-events-single .tribe-events-single-event-description a {
    color: #08f;
    font-weight: 600;
}
