/* /legacy-assets/article.css: the old www site's stylesheets, joined by tools/cms-import/assets.mjs.
   Sources: https://www.auburnal.gov/assets/article.css, https://www.auburnal.gov/assets/address-card.min.css */
/* ==== https://www.auburnal.gov/assets/article.css ==== */
/* ---- https://www.auburnal.gov/assets/article.colors.css ---- */
/* Article Header */
article {
    &>header {
        background: var(--nav-alt-background);
        background: color-mix(in srgb, var(--nav-alt-background), transparent 10%);
        color: var(--nav-alt-color);
    }
}

/* Article Footer */
article>footer {
    ul {
        &::before {
            color: var(--surface-color-bold-alt);
        }

        a {
            background-color: var(--card-background);
            border: 1px solid transparent;

            &:hover {
                background-color: var(--card-highlight-background);
                border-color: var(--card-highlight-color);
                color: var(--card-highlight-color);
            }
        }
    }
}
footer-nav {
    background: var(--nav-background);
    color: var(--nav-color);
}

details summary {
    color: var(--surface-color-bold-alt);
}


/* Page Layout */
main {
    display: flex;
    flex-direction: column;

    p {
        line-height: 1.43;
    }
}

/***** Article Layout *****/
/* Article Header */
article {
    /*For header*/
    margin-top: -4.0625rem;
    /*For layout*/
    display: flex;
    flex-wrap: wrap;

    &>header {
        box-sizing: border-box;
        display: block;
        min-height: 4.0625rem;
        line-height: 1.2;
        overflow: hidden;
        padding: 0.62rem 0 0.38rem 0;
        position: relative;
        width: 100%;
    }

    page-title,
    breadcrumb-nav,
    article-content,
    &>footer {
        /*box-sizing: border-box; not sure why this was here, but it break article-content for sure, and content-box now breaks breadcrumb-nav */
        box-sizing: content-box;
        display: block;
        margin: 0 auto;
        max-width: 1160px;
        padding: 0 1rem;
        width: 100%;
    }
}

@media screen and (max-width: 1168px) {
    article breadcrumb-nav {
        box-sizing: border-box;
    }
}

article address {
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    width: 1160px;
    order: 2;
}

article breadcrumb-nav>p.ce-element {
    margin: 0;
}

@media screen and (min-width: 2056px) {
    article address {
        display: block;
        margin: 1rem 0 0 0;
        order: 0;
        padding-right: 0;
        width: 424px;
        font-size: 85%;
    }

    article address li a {
        max-width: 424px;
        overflow-x: hidden;
        text-overflow: ellipsis;
    }

    article page-title,
    article breadcrumb-nav,
    article>footer {
        margin: 0 auto 0 424px;
        padding-left: calc((100vw - 1160px - 848px - 2rem) / 2);
    }

    article article-content {
        margin: 1rem auto 1.5rem 0;
        padding-left: calc((100vw - 1160px - 848px - 2rem) / 2);
    }
}

/* Article Content */
article-content {
    display: block;
    margin: 0 0 1.5rem 0;

    h2 {
        padding: 0;
        /* handled by article-content */
    }
    
    h3 {
        margin: 1.24rem 0 .38rem 0;
    }
    h3 + p {
        margin-top: 0;
    }

    img {
        height: auto;
    }

    ul, ol {
        margin: 1rem 0;
        overflow: hidden;
        padding: 0 0 0 40px;
        zoom: 1;

        ol,
        ul {
        margin: 0;
        }
    }
}

/* Article Footer */
article>footer {
    ul {
        list-style: none;
        padding: 0;

        &::before {
            display: block;
            content: 'Related Links';
            font-size: 1.5rem;
            font-weight: 600;
            text-rendering: optimizeLegibility;
            margin: 1rem 0rem 0.5rem 0rem;
        }

        li {
            border-width: 0 0 0.8px 0;
            display: block;
        }

        a {
            display: block;
            text-decoration: none;
            text-transform: uppercase;
            padding: 5px 10px;
            margin-bottom: 2px;
        }
    }
}

/* Details */
details {
    display: block;

    &:not([open]) {
        p {
            max-height: 0;
        }
    }

    summary {
        font-size: 1.5rem;
        font-weight: 600;
        line-height: 1.5rem;
        margin: 1rem 0;
        text-rendering: optimizeLegibility;
        cursor: pointer;

        a {
            /* Keep from link taking control of Summary, link is there for linking to */
            pointer-events: none;
        }

        p {
            max-height: 100%;
            transition: max-height 250ms linear;
        }
    }
}

/* Figure */
figure {
    display: inline-block;
    text-align: center;
    /*centers svg too*/
    margin: 0;
    max-width: 100%;
}

figure figcaption {
    font-size: 0.9em;
    text-align: center;
}

.clear-left-after::after {
    content: '';
    clear: left;
    display: block;
}

/* IMG / Video *********/
/* @ref - https://css-tricks.com/NetMag/FluidWidthVideo/Article-FluidWidthVideo.php*/
.videoWrapper {
    margin-bottom: 0;
    margin-top: 0;
    position: relative;
    padding-bottom: 56.25%;
    /* 16:9 */
    padding-top: 0;
    /* was 25px but I don't know why*/
    height: 0;
}

.videoWrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media screen and (max-width: 1023px) {
    .videoWrapper {
        margin-left: -1em;
        width: calc(100% + 2em);
    }
}

/* Table ***************/
.table {
    width: 100%;
    max-width: 100%;
    margin-bottom: 29px;
}

.table caption {
    padding-top: 8px;
    padding-bottom: 8px;
    text-align: left;
}

.table>thead>tr>th,
.table>tbody>tr>th,
.table>tfoot>tr>th,
.table>thead>tr>td,
.table>tbody>tr>td,
.table>tfoot>tr>td {
    padding: 8px;
    line-height: 1.61803399;
    vertical-align: top;
    border-top: 1px solid #a7a37e;
}
.table>tbody>tr>th {
    text-align: left;
    font-weight: normal;
}

/* striped *************/
.table-striped>tbody>tr:nth-of-type(odd) {
    background-color: #eee
}

/*responsive NOT IMPLEMENTED*/
.table-responsive {
    overflow-x: auto;
    min-height: .01%
}

@media screen and (max-width: 767px) {

    article-content img.align-right,
    article-content img.align-left {
        float: none;
        margin-left: auto;
        margin-right: auto;
    }

    .table-responsive {
        width: 100%;
        margin-bottom: 21.75px;
        overflow-y: hidden;
        -ms-overflow-style: -ms-autohiding-scrollbar;
        border: 1px solid #a7a37e
    }

    .table-responsive>.table {
        margin-bottom: 0
    }

    .table-responsive>.table>thead>tr>th,
    .table-responsive>.table>tbody>tr>th,
    .table-responsive>.table>tfoot>tr>th,
    .table-responsive>.table>thead>tr>td,
    .table-responsive>.table>tbody>tr>td,
    .table-responsive>.table>tfoot>tr>td {
        white-space: nowrap
    }

    .table-responsive>.table-bordered {
        border: 0
    }

    .table-responsive>.table-bordered>thead>tr>th:first-child,
    .table-responsive>.table-bordered>tbody>tr>th:first-child,
    .table-responsive>.table-bordered>tfoot>tr>th:first-child,
    .table-responsive>.table-bordered>thead>tr>td:first-child,
    .table-responsive>.table-bordered>tbody>tr>td:first-child,
    .table-responsive>.table-bordered>tfoot>tr>td:first-child {
        border-left: 0
    }

    .table-responsive>.table-bordered>thead>tr>th:last-child,
    .table-responsive>.table-bordered>tbody>tr>th:last-child,
    .table-responsive>.table-bordered>tfoot>tr>th:last-child,
    .table-responsive>.table-bordered>thead>tr>td:last-child,
    .table-responsive>.table-bordered>tbody>tr>td:last-child,
    .table-responsive>.table-bordered>tfoot>tr>td:last-child {
        border-right: 0
    }

    .table-responsive>.table-bordered>tbody>tr:last-child>th,
    .table-responsive>.table-bordered>tfoot>tr:last-child>th,
    .table-responsive>.table-bordered>tbody>tr:last-child>td,
    .table-responsive>.table-bordered>tfoot>tr:last-child>td {
        border-bottom: 0
    }
}

/* LISTS ******/
article-content p+ul {
    margin-top: -0.618em;
}

article-content ul li a:only-child {
    display: inline-block;
    margin: 2px 0;
    padding: 4px 2px;
}

ol ol {
    list-style-type: circle;
}

/* Button *****/
.btn {
    display: inline-block;
    margin-bottom: 0;
    font-weight: normal;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    white-space: nowrap;
    padding: 6px 12px;
    font-size: 18px;
    line-height: 1.61803399;
    border-radius: 2px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px
}

.btn:hover,
.btn:focus,
.btn.focus {
    color: #212121;
    text-decoration: none
}

.btn-success {
    color: #eee;
    background-color: #388e3c;
    border-color: #317c34;
}

.btn-success:hover {
    color: #eee;
    background-color: #2a692d;
    border-color: #1f5022;
}

.info {
    background-color: rgba(21, 150, 209, .32);
    border-left: 2px solid #00496B;
    color: #000;
    padding: 0.5rem;
}

.info a,
.info b,
.info strong {
    color: var(--navy);
    font-size: 105%;
}

.success {
    background-color: rgba(56, 142, 60, 0.32);
    border-left: 2px solid #317c34;
    color: #000;
    padding: 0.5rem;
}

.success a,
.success b,
.success strong {
    color: var(--navy);
    font-size: 105%;
}

/* Button Components */
a[is="image-button-h"] {
    display: inline-flex;
    width: 48%;
    background: #EBEBEB;
    height: 125px;
    overflow: hidden;
    text-decoration: none;
    color: #00496B;
    border-radius: 5px;
    background-clip: border-box;
    border: 1px solid rgba(65, 64, 66, .125);
    border-left: 8px solid #E1CD00;
    box-sizing: border-box;
    word-wrap: break-word;
    margin-bottom: 15px;
}

a[is="image-button-h"]:hover {
    border: 1px solid rgba(65, 64, 66, .63);
    border-left: 8px solid #E1CD00;
    box-shadow: 1px 1px 5px rgba(65, 64, 66, .63);
}

a[is="image-button-h"]:nth-child(2n+2) {
    margin-left: 2%;
}

a[is="image-button-h"] img {
    height: auto;
    width: auto;
    max-height: 100%;
    max-width: 155px;
    margin: auto 6px;
    flex: 1 1 auto;
}

a[is="image-button-h"] strong {
    margin: 6px;
    min-height: 3em;
}

@media screen and (max-width: 640px) {
    a[is="image-button-h"] {
        flex-direction: column;
        height: auto;
    }

    a[is="image-button-h"] img {
        max-width: 100%;
        max-height: 100px;
        margin: 6px auto;
    }
}

a[disabled] {
    color: currentColor;
    cursor: not-allowed;
    opacity: 0.5;
    text-decoration: none;
}

/** Components **/
coa-payment-ecitation,
coa-payment-parking {
    display: block;
    font-size: 18px;
    margin: 0 auto 1em auto;
    max-width: 45em;
    min-height: 30em;
}

cityworks-traffic-calming {
    font-size: 18;
}

@media screen and (max-width: 640px) {

    coa-payment-ecitation,
    coa-payment-parking,
    cityworks-traffic-calming {
        font-size: 16px;
    }
}

/* Caps the max-size */
@media screen and (min-width: 1168px) {

    coa-payment-ecitation,
    coa-payment-parking,
    cityworks-traffic-calming {
        font-size: 20px;
    }
}

picture~ol coa-tooltip[hidden] {
    display: inline-flex !important;
}

picture~ol a coa-tooltip[hidden] {
    text-decoration: underline;
}

picture~ol coa-tooltip+svg {
    display: none;
}
/* custom table of content style links */
article-content {
    h2, h3 {
        a[href=""] {
            all: inherit;
        }
    }

}
/* coa-components (custom web components) */
coa-board-profile {
    background: var(--card-background);
    color: var(--card-color);
    display: block;
    box-shadow: 0 2px 2px 0 rgba(0, 157, 220, 0.14), 0 1px 5px 0 rgba(0, 157, 220, 0.12), 1px 3px 1px -2px rgba(0, 157, 220, 0.2);
    min-height: 7.9em;

    /* Doesn't apply as it's in shadow-root, except on BZA which is using newer web component */
    dl {
        padding: 0.5em 0;
    }

    dt {
        float: left;
        clear: left;
        width: 10em;
        text-align: right;
        font-weight: bold;
        color: var(--card-color-bold);

        &::after {
            content: ":";
        }
    }

    dd {
        margin: 0 0 0 10em;
        padding: 0 0 0.5em 0.5em;

        &:empty::after {
            content: "N/A";
        }
    }
}
coa-board-members {
    background: var(--card-background);
    overflow-x: auto;
}
/* ==== https://www.auburnal.gov/assets/address-card.min.css ==== */
article address {    box-sizing: content-box;}@media screen and (max-width: 2056px) {    article address {        display: grid;        grid-template-columns: 1fr 2fr 1fr;    }    address div[itemtype="http://schema.org/Person"],    address paper-chip:last-of-type {        grid-column: 3;    }}@media screen and (min-width: 2056px) {    article address {        display: grid;        grid-template-rows: auto auto 1fr;        gap: 8px;    }    article address li a {        overflow-x: unset;    }}@media screen and (min-width: 768px) {    address div[data-name="address-location"],    address div[data-name="address-person"] {        border-radius: 6px;        box-shadow: 0 0 1px #000;        overflow: hidden;    }}@media screen and (max-width: 767px) {    article address {        display: grid;        grid-template-columns: 1fr;        gap: 8px;        margin-bottom: 8px;    }    address div[itemtype="http://schema.org/Person"],    address paper-chip:last-of-type {        grid-column: 1;    }    address img,     address picture,     address div.ce-element--type-image {        width: 100%;        height: 100%;    }}address div[data-name="address-location"],address div[data-name="address-person"] {    background-color: var(--nav-background);    color: var(--nav-color);    vertical-align: top;    position: relative;    outline: none;    display: grid;    grid-template-columns: 6.2rem 1fr;    padding: 0;    justify-content: center;    align-content: center;    grid-template-rows: 3.72rem 1.6rem 16px 44px; /*matches height of link*/}address picture {    display: flex;    justify-content: center;    overflow: hidden;    grid-row: 1 / 5;    grid-column: 1;}/* Contact Card Image object-fit artifacting fix */address picture img {    height: 100%;    /*object-fit: unset; edit: 2024-10-16 trying to fix stretched photo*/    aspect-ratio: auto 1 / 1;    width: unset;    max-width: unset;    min-width: unset;    /* https://stackoverflow.com/questions/74502978/object-fit-cover-gives-pixelated-images-on-chrome */    overflow-clip-margin: unset;    overflow: visible;    /* object-position: center; */    /* margin: auto; */}/* iOS hack-fix, maybe */paper-chip::after,address img::after,address picture::after {    display: none;}/* Should be obsolete now */address img,address iron-image {    object-fit: cover;    min-width: 100%;    min-height: 100%;    width: auto;}/* Should be obsolete now */address iron-image {    grid-row: 1 / 5;    object-fit: cover;    min-width: 100%;    min-height: 100%;    width: auto;}address p[itemprop="name"],address p[itemprop="jobTitle"],address p[itemprop="address"] {    padding: 0 8px;    max-height: 100%;    overflow: hidden;}address p[itemprop="name"] {    display: inline-block;    font-weight: bold;    margin: auto 0 0 0;    line-height: 1;    white-space: break-spaces;    padding-top: 4px;    font-size: 1.1rem; /*Environmental/DOMBROWSKI updated 2025-12-12 from 1.2cqw after root font size max lowered from 24 to 20px*/    padding-bottom: 1px; /*Bottom 'g'*/}address p[itemprop="jobTitle"],address p[itemprop="address"] {    font-style: italic;    font-size: 0.8rem;    font-size: 13px;    grid-row: 2 / 4;    line-height: 1.21;    padding-top: 4px;}address ol,/*address ol ol,*/address ol ul,address ol dl {    list-style: none;    margin: 0;    padding: 6px;}address ol {    color: #212121;    grid-column: 1 / 3;    display: grid;    grid-template-columns: 50% 50%;    background: white;    grid-column: 2;    grid-row: 4;    display: flex;        justify-content: space-around;    align-items: center;}address ol li {    min-height: auto;    display: flex;    justify-content: center;    flex-direction: column;}address ol li > * {    display: inline-block;    height: 32px;    padding: 6px;}address ol svg {    fill: var(--coa-blue);}address ol dl {    display: grid;    grid-template-columns: auto 1fr;    list-style: none;    margin: 0;    padding: 6px;}address ol ul {    display: flex;    flex-direction: row;}address ol ul a {    color: inherit;}address ol dl {    display: grid;    grid-template-columns: auto 1fr;    list-style: none;    margin: 0;    padding: 6px;}address picture {    display: block;    width: 100%;    height: 100%;    img {        width: 100%;        height: 100%;        object-fit: cover;    }}/** Can be removed after all address-card changes are in place **/picture ~ ol coa-tooltip[hidden] { display: none !important; }picture ~ ol a[itemprop]::before, picture ~ ol span[aria-label="Hours"]::before { display: none; }picture ~ ol coa-tooltip + svg { display: inline-block; }