/* /legacy-assets/site.css: the old www site's stylesheets, joined by tools/cms-import/assets.mjs.
   Sources: https://www.auburnal.gov/assets/site.css, https://www.auburnal.gov/assets/site-header.css */
/* ==== https://www.auburnal.gov/assets/site.css ==== */
/* ---- https://www.auburnal.gov/coa-styles/index.css ---- */
/* ---- https://www.auburnal.gov/coa-styles/reset.css ---- */
/* #root and #__next cover my usual frameworks - Optional if you arent using one! */
html,
body {
  height: 100%;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}
/* Site.css */
[data-ce-tag=img],
iframe,
image,
img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%
}
main {
  display: block;
  position: relative;
}
[hidden] {
  display: none !important;
}
/* Site.css end */
input,
button,
textarea,
select {
  font: inherit;
}

/* Resets */
button {
  color: inherit;
  font-family: inherit;
  font-size: inherit
}

sub {
  vertical-align: baseline;
  position: relative;
  top: .4em
}


/* ---- https://www.auburnal.gov/coa-styles/font.css ---- */
/* ---- https://use.typekit.net/shr6kbq.css ---- */
/*
 * The Typekit service used to deliver this font or fonts for use on websites
 * is provided by Adobe and is subject to these Terms of Use
 * http://www.adobe.com/products/eulas/tou_typekit. For font license
 * information, see the list below.
 *
 * fields-display:
 *   - http://typekit.com/eulas/0000000000000000774d3f06
 *   - http://typekit.com/eulas/0000000000000000774d3f0b
 *
 * © 2009-2026 Adobe Systems Incorporated. All Rights Reserved.
 */
/*{"last_published":"2024-10-29 16:28:35 UTC"}*/

/* ---- https://p.typekit.net/p.css?s=1&k=shr6kbq&ht=tk&f=52606.52609&a=118259786&app=typekit&e=css ---- */
/**/



@font-face {
font-family:"fields-display";
src:url("https://use.typekit.net/af/9a7346/0000000000000000774d3f06/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/9a7346/0000000000000000774d3f06/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/9a7346/0000000000000000774d3f06/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:700;font-stretch:normal;
}

@font-face {
font-family:"fields-display";
src:url("https://use.typekit.net/af/a049bd/0000000000000000774d3f0b/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/a049bd/0000000000000000774d3f0b/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/a049bd/0000000000000000774d3f0b/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
}

.tk-fields-display { font-family: "fields-display",sans-serif; }


/* ---- https://fonts.googleapis.com/css2?family=Kaisei+Opti&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap ---- */
@font-face {
  font-family: 'Kaisei Opti';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/kaiseiopti/v12/QldKNThJphYb8_g6c2nlIFle.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 100;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUFjIg1_i6t8kCHKm459Wx7xQYXK0vOoz6jq6R8aX8.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 200;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUFjIg1_i6t8kCHKm459Wx7xQYXK0vOoz6jqyR9aX8.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUFjIg1_i6t8kCHKm459Wx7xQYXK0vOoz6jq_p9aX8.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUFjIg1_i6t8kCHKm459Wx7xQYXK0vOoz6jq6R9aX8.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUFjIg1_i6t8kCHKm459Wx7xQYXK0vOoz6jq5Z9aX8.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUFjIg1_i6t8kCHKm459Wx7xQYXK0vOoz6jq3p6aX8.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUFjIg1_i6t8kCHKm459Wx7xQYXK0vOoz6jq0N6aX8.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUFjIg1_i6t8kCHKm459Wx7xQYXK0vOoz6jqyR6aX8.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUFjIg1_i6t8kCHKm459Wx7xQYXK0vOoz6jqw16aX8.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Uw-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCvr6Ew-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCs16Ew-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Ew-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtZ6Ew-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCu170w-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCuM70w-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCvr70w-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCvC70w-.ttf) format('truetype');
}


/*https://font.download/font/kaisei-opti*/
/* Base font family/size */
html, :root {
  --font-family-content: "Montserrat", Verdana, sans-serif;
  --font-family-heading: "fields-display", "Kaisei Opti", "Times New Roman", serif;
  font-family: 'Montserrat-optimized', "Montserrat", Verdana, sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
}
/* reset.css */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ol,
ul {
  margin: 0;
  padding: 0;
  font-weight: normal;
}

/* Stop long words causing overflow */
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}
/** Dynamic font sizing That I'm not happy with */
/* @media screen and (min-width: 481px) and (max-width: 1024px) {
  html,
  :root {
    font-size: 50%;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1280px) {
  html,
  :root {
    font-size: 62.5%;
  }
}
@media screen and (min-width: 1280px) and (max-width: 1400px) {
  html,
  :root {
    font-size: 75%;
  }
}
@media screen and (min-width: 1401px) {
  html,
  :root {
    font-size: 81.25%;
  }
} */
/* Font sizes */
/* body {
  font-size: 1.75rem;
} */
/* Old site font sizes */
/* Fluid Typography: https://www.smashingmagazine.com/2016/05/fluid-typography/ */
/* Older browsers */
html { font-size: 16px; }

/* Modern browsers only need this one */
@media screen and (min-width: 25em){
    html { font-size: calc( 16px + (24 - 16) * (100vw - 640px) / (1168 - 640) ); }
}
  
/* Safari <8 and IE <11 */
@media screen and (min-width: 25em){
    html { font-size: calc( 16px + (24 - 16) * (100vw - 640px) / (1168 - 640) ); }
}
@media screen and (min-width: 50em){
    html { font-size: calc( 16px + (24 - 16) * (100vw - 640px) / (1168 - 640) ); }
}

/* Caps the min-size */
@media screen and (max-width: 640px){
    html { font-size: 16px; }
}
/* Caps the max-size 2025-12-12: Updated to 20px */
@media screen and (min-width: 1168px){
    html { font-size: 20px; }
}
/* Headings */
h1,h2,h3,h4,h5 {
  font-family: var(--font-family-heading);
  font-weight: bold;
}
h2 {
    font-size: 175%;
}
/*
h1 {
  font-size: 3.5rem;
}
h2 {
  font-size: 3rem;
}
h3 {
  font-size: 2.5rem;
}
h4 {
  font-size: 2rem;
} */
/* Mobile */
/* @media screen and (max-width: 480px) {
  html,
  :root {
    font-size: 62.5%;
  }
  
  h1,h2,h3,h4,h5 {
    font-family: "fields-display", "Kaisei Opti", "Times New Roman", serif;
    font-weight: bold;
  }
  h1 {
    font-size: 2rem;
  }
  h2 {
    font-size: 1.75rem;
  }
  h3 {
    font-size: 1.5rem;
  }
  h4 {
    font-size: 1.25rem;
  }
} */


h1 {
  color:  var(--nav-alt-color);
  font-size: 2rem;
  font-weight: 700;
  line-height: 2rem;
  margin: 0;
  text-rendering: optimizeLegibility
}

main h2 {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.5rem;
  margin: 1.5rem 0 1rem 0;
  text-rendering: optimizeLegibility;
  color: var(--surface-color-bold);
}

main h3 {
  margin: 1.24rem 0 .62rem 0
}

main h3+ul {
  margin-top: 0
}

main p {
  margin: 0 0 1.5rem 0;
  margin: 1rem 0
}

main site-article-content h4,
main site-article-content p {
  padding: 0 1.5rem
}

/* ---- https://www.auburnal.gov/coa-styles/color.css ---- */
/* Palate */
:root {
    --primary-1: #22326E;
    --primary-2: #0082BB;
    --primary-3: #67BDE4;
    --secondary-1: #12703C;
    --secondary-2: #009C4F;
    --secondary-3: #A9CA2E;
    --alt-1: #EB5F2E;
    --alt-2: #FCC130;
    --grey: #65695A;
    --white: #FFF;
    --black: #000;
}
/* Light Theme */
:root {
    /* Card (stand out from surface) */
    --light-card-background: #FFF;
    --light-card-color: #000;
    --light-card-color-bold: var(--primary-1);
    --light-card-color-muted: var(--grey);
    --light-card-highlight-background: #0000001f;
    --light-card-highlight-color: #000;
    --light-card-glow: #00000038;
    /* Surface (primary content) */
    --light-surface-background: #EFEFEF;
    --light-surface-color: #000;
    --light-surface-color-bold: var(--primary-1);
    --light-surface-color-bold-alt: var(--secondary-1);
    --light-surface-color-muted: var(--grey);
    --light-surface-highlight-background: var(--primary-3);
    --light-surface-highlight-color: #000;
    /* Nav */
    --light-nav-background: var(--primary-1);
    --light-nav-color: var(--white);
    --light-nav-color-bold: var(--white);
    --light-nav-highlight-background: #0000001f;
    --light-nav-highlight-color: #FFF;
    /* Surface Alt */
    --light-surface-alt-background: var(--secondary-2);
    --light-surface-alt-color: var(--black);
    --light-surface-alt-highlight-background: #FFFFFF1f;
    --light-surface-alt-highlight-color: var(--white);
    /* Nav Alt */
    --light-nav-alt-background: var(--secondary-1);
    --light-nav-alt-color: var(--white);
    --light-nav-alt-highlight-background: #0000001f;
    --light-nav-alt-highlight-color: var(--black);
}
/* Translated from Cynthia Theme */
:root {
    /* Card (stand out from surface) */
    --light-card-background: #FFF;
    --light-card-color: #000;
    --light-card-color-bold: var(--primary-1);
    --light-card-color-muted: var(--grey);
    --light-card-highlight-background: #0000001f;
    --light-card-highlight-color: #000;
    --light-card-glow: #00000038;
    /* Surface (primary content) */
    --light-surface-background: #EFEFEF;
    --light-surface-color: #000;
    --light-surface-color-bold: var(--primary-1);
    --light-surface-color-bold-alt: var(--secondary-1);
    --light-surface-color-muted: var(--grey);
    --light-surface-highlight-background: var(--primary-3);
    --light-surface-highlight-color: #000;
    /* Nav */
    --light-nav-background: var(--primary-1);
    --light-nav-color: var(--white);
    --light-nav-color-bold: var(--white);
    --light-nav-highlight-background: #0000001f;
    --light-nav-highlight-color: #FFF;
    /* Surface Alt */
    --light-surface-alt-background: var(--secondary-3);
    --light-surface-alt-color: var(--primary-1);
    --light-surface-alt-highlight-background: var(--secondary-2);
    --light-surface-alt-highlight-color: var(--white);
    /* Nav Alt */
    --light-nav-alt-background: var(--secondary-1);
    --light-nav-alt-color: var(--white);
    --light-nav-alt-highlight-background: #0000001f;
    --light-nav-alt-highlight-color: var(--black);
}
/* Dark Theme */
:root {
    /* Card (stand out from surface) */
    --dark-card-background: var(--primary-1);
    --dark-card-color: var(--white);
    --dark-card-color-bold: var(--secondary-3);
    --dark-card-color-muted: #838773;
    --dark-card-highlight-background: var(--primary-3);
    --dark-card-highlight-color: var(--black);
    --dark-card-glow: #00000038;
    /* Surface (primary content) */
    --dark-surface-background: var(--primary-1);
    --dark-surface-color: var(--white);
    --dark-surface-color-bold: var(--secondary-3);
    --dark-surface-color-bold-alt: var(--alt-2);
    --dark-card-surface-muted: #838773;
    --dark-surface-highlight-background: var(--primary-3);
    --dark-surface-highlight-color: var(--black);
    /* Nav */
    --dark-nav-background: var(--primary-1);
    --dark-nav-color: var(--white);
    --dark-nav-color-bold: var(--white);
    --dark-nav-highlight-background: #0000001f;
    --dark-nav-highlight-color: #FFF;
    /* Surface Alt */
    --dark-surface-alt-background: var(--secondary-1);
    --dark-surface-alt-color: var(--white);
    --dark-surface-alt-highlight-background: transparent;
    --dark-surface-alt-highlight-color: #FFF;
    /* Nav Alt */
    --dark-nav-alt-background: var(--primary-2);
    --dark-nav-alt-color: var(--white);
    --dark-nav-alt-highlight-background: var(--primary-3);
    --dark-nav-alt-highlight-color: var(--white);
}
/* Default */
:root {
    /* Card (stand out from surface) */
    --card-background: var(--light-card-background);
    --card-color: var(--light-card-color);
    --card-color-bold: var(--light-card-color-bold);
    --card-color-muted: var(--light-card-color-muted);
    --card-highlight-background: var(--light-card-highlight-background);
    --card-highlight-color: var(--light-card-highlight-color);
    --card-glow: var(--light-card-glow);
    /* Surface (primary content) */
    --surface-background: var(--light-surface-background);
    --surface-color: var(--light-surface-color);
    --surface-color-bold: var(--light-surface-color-bold);
    --surface-color-bold-alt: var(--light-surface-color-bold-alt);
    --surface-color-muted: var(--light-surface-color-muted);
    --surface-highlight-background: var(--light-surface-highlight-background);
    --surface-highlight-color: var(--light-surface-highlight-color);
    /* Nav */
    --nav-background: var(--light-nav-background);
    --nav-color: var(--light-nav-color);
    --nav-color-bold: var(--light-nav-color-bold);
    --nav-highlight-background: var(--light-nav-highlight-background);
    --nav-highlight-color: var(--light-nav-highlight-color);
    /* Surface Alt */
    --surface-alt-background: var(--light-surface-alt-background);
    --surface-alt-color: var(--light-surface-alt-color);
    --surface-alt-highlight-background: var(--light-surface-alt-highlight-background);
    --surface-alt-highlight-color: var(--light-surface-alt-highlight-color);
    /* Nav Alt */
    --nav-alt-background: var(--light-nav-alt-background);
    --nav-alt-color: var(--light-nav-alt-color);
    --nav-alt-highlight-background: var(--light-nav-alt-highlight-background);
    --nav-alt-highlight-color: var(--light-nav-alt-highlight-color);
}
/* User Preference Respect */
@media (prefers-color-scheme: dark) {
    /* body:not(.dark-invert) { */
    body.dark-theme {
        /* Card (stand out from surface) */
        --card-background: var(--dark-card-background);
        --card-color: var(--dark-card-color);
        --card-color-bold: var(--dark-card-color-bold);
        --card-color-muted: var(--dark-card-color-muted);
        --card-highlight-background: var(--dark-card-highlight-background);
        --card-highlight-color: var(--dark-card-highlight-color);
        --card-glow: var(--dark-card-glow);
        /* Surface (primary content) */
        --surface-background: var(--dark-surface-background);
        --surface-color: var(--dark-surface-color);
        --surface-color-bold: var(--dark-surface-color-bold);
        --surface-color-bold-alt: var(--dark-surface-color-bold-alt);
        --surface-color-muted: var(--dark-surface-color-muted);
        --surface-highlight-background: var(--dark-surface-highlight-background);
        --surface-highlight-color: var(--dark-surface-highlight-color);
        /* Nav */
        --nav-background: var(--dark-nav-background);
        --nav-color: var(--dark-nav-color);
        --nav-color-bold: var(--dark-nav-color-bold);
        --nav-highlight-background: var(--dark-nav-highlight-background);
        --nav-highlight-color: var(--dark-nav-highlight-color);
        /* Surface Alt */
        --surface-alt-background: var(--dark-surface-alt-background);
        --surface-alt-color: var(--dark-surface-alt-color);
        --surface-alt-highlight-background: var(--dark-surface-alt-highlight-background);
        --surface-alt-highlight-color: var(--dark-surface-alt-highlight-color);
        /* Nav Alt */
        --nav-alt-background: var(--dark-nav-alt-background);
        --nav-alt-color: var(--dark-nav-alt-color);
        --nav-alt-highlight-background: var(--dark-nav-alt-highlight-background);
        --nav-alt-highlight-color: var(--dark-nav-alt-highlight-color);
    }
}
@media (prefers-color-scheme: light) {
    body.dark-invert {
        /* Card (stand out from surface) */
        --card-background: var(--dark-card-background);
        --card-color: var(--dark-card-color);
        --card-color-bold: var(--dark-card-color-bold);
        --card-color-muted: var(--dark-card-color-muted);
        --card-highlight-background: var(--dark-card-highlight-background);
        --card-highlight-color: var(--dark-card-highlight-color);
        --card-glow: var(--dark-card-glow);
        /* Surface (primary content) */
        --surface-background: var(--dark-surface-background);
        --surface-color: var(--dark-surface-color);
        --surface-color-bold: var(--dark-surface-color-bold);
        --surface-color-bold-alt: var(--dark-surface-color-bold-alt);
        --surface-color-muted: var(--dark-surface-color-muted);
        --surface-highlight-background: var(--dark-surface-highlight-background);
        --surface-highlight-color: var(--dark-surface-highlight-color);
        /* Nav */
        --nav-background: var(--dark-nav-background);
        --nav-color: var(--dark-nav-color);
        --nav-color-bold: var(--dark-nav-color-bold);
        --nav-highlight-background: var(--dark-nav-highlight-background);
        --nav-highlight-color: var(--dark-nav-highlight-color);
        /* Surface Alt */
        --surface-alt-background: var(--dark-surface-alt-background);
        --surface-alt-color: var(--dark-surface-alt-color);
        --surface-alt-highlight-background: var(--dark-surface-alt-highlight-background);
        --surface-alt-highlight-color: var(--dark-surface-alt-highlight-color);
        /* Nav Alt */
        --nav-alt-background: var(--dark-nav-alt-background);
        --nav-alt-color: var(--dark-nav-alt-color);
        --nav-alt-highlight-background: var(--dark-nav-alt-highlight-background);
        --nav-alt-highlight-color: var(--dark-nav-alt-highlight-color);
    }
}
body {
    --coa-blue: #0082BB;
    --navy: #22326E;
    --dark-grey: #65695A;
    --yellow: #FCC130;
    --green: #009C4F;
    --purple: #EB5F2E;
}


/* ---- https://www.auburnal.gov/coa-styles/surface.css ---- */
h2 {
    color: var(--surface-color-bold);
}

h3 {
    color: var(--surface-color-bold-alt);
}

/* ---- https://www.auburnal.gov/coa-styles/component.css ---- */
a.card,
li.card > a {
    aspect-ratio: 2 / 1;
    background: var(--card-background);
    border: 1px solid var(--card-color);
    color: var(--card-color);
    display: grid;
    /*grid-template-columns: 32% 1fr;*/
    grid-template-columns: 50% 50%;
    text-decoration: none;
    scroll-snap-align: center;

    button {
        all: unset;
        align-items: center;
        background: var(--card-color-bold);
        color: var(--card-background);
        cursor: pointer;
        display: inline-flex;
        font-style: italic;
        justify-self: flex-start;
        padding: 4px;

        svg {
            fill: var(--card-background);
            stroke: var(--card-background);
            height: 1em;
            width: auto;
        }
    }

    &:hover {
        border-color: transparent;
        box-shadow: 0px 0px 1rem var(--card-glow);
    }

    img {
        object-fit: cover;
        height: 100%;
        aspect-ratio: inherit;
        width: 100%;
        max-height: unset;
        max-width: unset;
    }

    &> div {
        display: grid;
        gap: 0.62em;
        grid-template-rows: auto auto 1fr auto;
        padding: 0.62em;

        time {
            font-style: italic;
        }

        strong {
            color: var(--card-color-bold);
        }

        p {
            line-height: 1;
        }
    }
}

/* ---- https://www.auburnal.gov/coa-styles/form.css ---- */
/* site.css */
/* Form Default Styles */
article main form {
  font-size: 16px;
  /*paper-input doesn't like our font-sizes */
}

paper-input,
paper-textarea {
  display: block;
  /*height: 62px; no idea why this was here but it caused me all sorts of problems!!! */
}

article form .text-right button[type="submit"] {
  border: none;
  border-radius: 2px;
  background: #4caf50;
  color: #FAFAFA;
  cursor: pointer;
  letter-spacing: 0.49px;
  outline: none;
  padding: 10px;
  text-transform: uppercase;
}

/* end site.css */
form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  font-size: inherit;
  margin: 0 auto;
  padding: 0.5rem;
  position: relative;

  form:not(.vertical) fieldset {
    display: flex;
  }
  fieldset {
    border: none;
    box-sizing: border-box;
    border: 0;
    position: relative;
    padding: 0;
    margin: 0;

    legend {
      display: block;
      font-size: 125%;
      padding: 0.5rem 0;

      >* {
        display: inline-block;
      }
    }

    label, div.checkbox-group {
      color: var(--surface-color-bold-alt);

      small {
        color: var(--surface-color);
      }
    }

    input {
      text-align: left;
      padding-top: 1px;
      padding: 6px 12px;
      width: auto;
      border: 1px solid var(--surface-color-bold-alt);
      border-radius: 2px;
      vertical-align: top;
      -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
      box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
      -webkit-transition: border-color ease-in-out 0.15s,
        -webkit-box-shadow ease-in-out 0.15s;
      -o-transition: border-color ease-in-out 0.15s,
        box-shadow ease-in-out 0.15s;
      transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;

      &[type="checkbox"],
      &[type="radio"] {
        vertical-align: initial;
      }
    }

    input[placeholder]:invalid:required:not(:placeholder-shown):not(:focus),
    textarea[placeholder]:invalid:required:not(:placeholder-shown):not(:focus) {
      border-color: red;
    }

    input[type="search"] {
      &:has(+ button) {
        margin-right: 0.63em;
      }
    }

    button[type="submit"] {
      all: unset;
      background: var(--surface-highlight-background);
      color: var(--surface-highlight-color);
      font-size: 125%;
      font-weight: bold;

      text-align: center;
      white-space: nowrap;
      vertical-align: middle;
      -ms-touch-action: manipulation;
      touch-action: manipulation;
      cursor: pointer;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
      background-image: none;
    }

    &:has(input[type="search"]) {
      button[type="submit"] {
        background: transparent;
        color: var(--surface-color-bold-alt);
        fill: var(--surface-color-bold-alt);
        stroke: var(--surface-color-bold-alt);
      }
    }
  }
}


/* ---- https://www.auburnal.gov/coa-styles/header.css ---- */
body {
  &.logo-big {
    a[title="Home"] {
      height: auto;
      width: 15vw;
    }
    coa-nav {
      padding-left: 21.1vw;
    }
  }
  &:has(iron-image.really-not-raining) > header {
    /* Vars */
    --height: 37vw;
    --curve: 54% 86% at 50% 100%;
    /* Normal */
    position: relative;
    height: var(--height);
    /* Header Image */
    background-image: url("/legacy-assets/files/coa-images/header.jpg");
    background-position: 50% 0%;
    box-sizing: border-box;
    align-self: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: local;
    align-items: center;
    margin-bottom: -5%;

    /** Curved Bottom*/
    &::after {
      content: "";
      background: linear-gradient(
          180deg,
          transparent 0%,
          var(--surface-background) 50%
        ),
        radial-gradient(
          ellipse 57.5% 50%,
          var(--surface-background) 85%,
          black 130%
        );
      bottom: -5px;
      clip-path: ellipse(var(--curve));
      height: 20%;
      position: absolute;
      width: 100%;
    }
    &::before {
      content: "";
      background-color: var(--alt-1);
      bottom: 0;
      clip-path: ellipse(var(--curve));
      height: 20%;
      position: absolute;
      width: 100%;
    }
  }
  > header {
    /** Blue bar */
    & > nav {
      align-content: center;
      /** https://nerdy.dev/use-color-mix-to-make-an-opaque-color-transparent */
      background: var(--nav-background);
      background: color-mix(in srgb, var(--nav-background), transparent 17%);
      color: var(--nav-color);
      display: grid;
      height: 3.4em;
      grid-template-columns: minmax(74%, 1fr) auto auto;
      position: relative;
      width: 100%;

      a:focus,
      button:focus {
        outline: solid var(--alt-2) !important;
      }
      /* Logo */
      & > a {
        align-self: center;
        /*aspect-ratio: 130/90;*/
        aspect-ratio: 775/654;
        background: var(--white);
        display: inline-block;
        height: 9.1vw;
        padding: 1em 1.5em;
        position: absolute;

        picture {
          height: auto;
          width: auto;

          image {
            margin: auto;
          }
        }
      }
      /* Main Nav */
      coa-nav {
        align-self: center;
        justify-self: center;
        padding-left: 15vw;
        padding-right: 1em;
        border-right: 1px solid var(--nav-color);
        box-sizing: border-box;
        width: 100%;
      }
      /* End Menu (calendar/search) */
      & > menu {
        align-self: center;
        display: flex;
        flex-direction: row;
        justify-content: center;
        height: 63%;
        list-style: none;
        padding: 0 0 0 1em;
        position: relative;
        box-sizing: border-box;

        &:has(a) {
          padding: 0rem 0.62em;
        }
        &:last-child {
          padding-right: 1em;
        }

        li {
          margin: 0 0.5rem;
        }

        button {
          all: unset;
          color: inherit;
          cursor: pointer;
          font-family: var(--font-family-heading);
          font-weight: 600;
          height: 100%;
          padding: 0 0.5em;
        }

        a {
          color: inherit;
          display: flex;
          flex-direction: column;
          font-family: var(--font-family-heading);
          font-weight: 600;
          height: 100%;
          justify-content: center;
          text-decoration: none;
          padding: 0 0.5em;
        }

        &.icon a {
          aspect-ratio: 1/1;
          border: 2px solid var(--nav-color);
          box-sizing: border-box;
          display: block;
          height: 100%;
          padding: 0.3em;
          width: auto;

          &:hover {
            background-color: var(--nav-highlight-background);
            color: var(--nav-highlight-color);

            svg {
              fill: var(--nav-highlight-color);
              stroke: var(--nav-highlight-color);
            }
          }

          svg {
            height: 100% !important;
            fill: var(--nav-color);
            stroke: var(--nav-color);
            width: auto;
          }
        }
      }
    }
  }
  /* Important to make sure it doesn't hide with the neg margin */
  > main {
    position: relative;
    z-index: 2;
  }
}



body {
    background: var(--surface-background);
    color: var(--surface-color);
    scroll-behavior: smooth;
}


body {
    background-color: var(--surface-background);
    color: var(--surface-color);
    line-height: 1.24;
    margin: 0;
    overflow-y: scroll;
    position: relative;

    &>main::after {
        content: "";
        display: table;
        clear: both
    }

    main {
        ul {
            padding: 0 0 0 40px;
        }
    }
}

/*--- Scrollbar */
::-webkit-scrollbar {
    width: 12px;
    height: 12px
}

::-webkit-scrollbar-track:hover {
    background: rgba(0, 0, 0, .1)
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, .5)
}

::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, .05)
}

::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, .25)
}

/* Classes */
.align-right {
    clear: initial;
    float: right;
    margin-bottom: 0.5em;
    margin-left: 0.5em;

    &.extra-space {
        margin-bottom: 1em;
        margin-left: 1em;
    }

    &.no-space {
        margin-bottom: 0;
        margin-left: 0;
    }
}

.align-left {
    clear: initial;
    float: left;
    margin-left: 0;
    margin-bottom: 0.5em;
    margin-right: 0.5em;

    &.extra-space {
        margin-bottom: 1em;
        margin-right: 1em;
    }

    &.no-space {
        margin-bottom: 0;
        margin-right: 0;
    }
}

.text-center {
    text-align: center
}

.text-left {
    text-align: left
}

.text-right {
    text-align: right
}

.clear-left {
    clear: left !important
}

a.clear-left {
    display: block
}

.clear-right {
    clear: right !important
}

.clear {
    clear: both !important
}

.group:after {
    content: "";
    display: table;
    clear: both;
}

.grid-center {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: calc(100% - 2em);
    position: relative;
}

.grid-center>* {
    display: block;
    color: initial;
    margin: 0 auto 0.318rem auto;
    text-align: center;
    max-width: 100%;
}

.grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: calc(100% - 2em);
    position: relative;
}

.grid.md-three>a {
    color: initial;
    display: block;
    margin-bottom: 8px;
    text-decoration: none;
}

.grid figure {
    overflow: hidden;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

@media screen and (min-width: 1024px) {
    .grid.md-three>a {
        width: 33%;
    }

    .grid figure {
        height: 300px;
    }

    .grid figure img {
        border-radius: 4px;
        margin: 0 auto;
        margin-bottom: 5px;
        max-height: 240px;
    }

    .grid figure figcaption {
        min-height: 2.5em;
    }
}

/* App-Button (removed ::content from these as it breaks IE/Edge) */
app-button,
.button {
    display: inline-block;
}

app-button>*,
a[app-button],
a.button {
    box-sizing: border-box;
    height: 100%;
    -webkit-appearance: none;
    outline: none;
    width: 100%;
    /* Not sure about these */
    font-weight: 600;
    padding: 0.309em 0.618em;
    text-transform: uppercase;
    text-align: center;
    /* Even less sure about these */
    border-radius: 0;
    border: 2px solid transparent;
}

app-button>a,
a[app-button],
a.button {
    color: var(--surface-color-bold);
    display: inline-block;
    text-decoration: none;
}

app-button>button {
    background: transparent;
    color: inherit;
    cursor: pointer;
}

/* Iron-Image */
iron-image {
    background-repeat: no-repeat;
    display: inline-block;
    overflow: hidden;
    position: relative;
}

iron-image[sizing='cover'] {
    background-size: cover;
}

iron-image[sizing='contain'] {
    background-size: contain;
}

iron-image[position='center'],
iron-image[position='center center'],
iron-image:not([position]) {
    background-position: center center;
}

/* If browser support then set center center default and adjust x/y independantly here */
iron-image[position='top'] {
    background-position: top center;
}

iron-image[position='bottom'] {
    background-position: bottom center;
}

iron-image[position='left'] {
    background-position: center left;
}

iron-image[position='right'] {
    background-position: center right;
}

/* HERO IMAGE */
/* Basically just trying to emulate background image with position: center center; */
main>header img {
    height: auto;
    min-height: 100%;
    width: auto !important;
    min-width: 100%;
    position: absolute;
    max-width: none !important;
    /*Override default (responsive) img styling */
}

main>header iron-image {
    height: 100%;
    width: 100vw;
}

main>header iron-image[style] img {
    display: none !important;
}

/* ContentTools Selector*/
main>header div.ce-element.ce-element--type-image {
    background-position: center center;
    height: 100% !important;
    /* Override ContentTools */
    width: 100% !important;
    /* Override ContentTools */
    position: absolute;
    -webkit-background-size: initial;
}

/* breadcrumb-nav (Breadcrumb) */
breadcrumb-nav {
    display: block;
}

page-title+breadcrumb-nav {
    margin-top: 0.38rem;
}

breadcrumb-nav ol {
    display: flex;
    flex-direction: row;
    list-style: none;
    font-size: 0.9rem;
    margin: 0;
    padding: 0;
}

/* Mostly doing this for browser/editing consistency */
breadcrumb-nav li {
    display: flex;
    flex-direction: row;
}

breadcrumb-nav li+li::before {
    display: inline-block;
    content: '\2f';
    padding: 0 6px;
}

breadcrumb-nav a,
breadcrumb-nav a:visited,
breadcrumb-nav a:focus,
breadcrumb-nav a:active {
    color: inherit;
    text-decoration: none;
}

breadcrumb-nav a:hover {
    text-decoration: underline;
}

/* Address Cards */
/* CONTACT SECTIONS (common-parts) */
address {
    box-sizing: content-box;
    display: inline-block;
    font-style: normal;
    line-height: 1.5;
    padding: 0.618rem;
}

address img.align-left {
    margin-left: 0;
}

address div>img,
address iron-image {
    box-sizing: content-box;
    clear: initial;
    float: left;
    height: 64px;
    margin: 0 0.5rem 0.5rem 0;
    width: 64px;
}

address div.ce-element--type-image {
    background-position: center center;
    background-size: 64px 64px;
    height: 64px !important;
    width: 64px !important;
    margin: 0 0.5rem 0.5rem 0;
}

address p {
    margin: 0;
}

address p[itemprop="name"] {
    display: inline-block;
    /*white-space: nowrap; For Human Resources*/
    font-size: 1rem;
}

address p[itemprop="jobTitle"] {
    font-style: italic;
    text-transform: capitalize;
}

address span[itemprop="openingHoursSpecification"] {
    white-space: pre;
}

address ol {
    clear: left;
    list-style: none;
    margin: 0;
    padding: 0 0.4em 0.8em 0;
}

address>div+div {
    margin-top: 12px;
}

address ol strong {
    display: inline-block;
    font-weight: 700;
    text-align: right;
    width: 3.4em !important;
}

address ol li {
    min-height: 1em;
}

/*https://github.com/bendavis78/paper-chip/blob/master/paper-chip.html*/
@media screen and (max-width: 2056px) {
    address {
        box-sizing: border-box;
        position: relative;
        float: none;
        /*height: 32px;*/
        /*@apply(--layout-horizontal);*/
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
        flex-direction: row;
    }

    address paper-chip {
        box-sizing: border-box;
        display: inline-block;
        font-size: 16px;
        /*width: 33%; needed until I fix the markup. When div below controls width it works well until it needs to go to position: absolute; */
        min-width: 350px;
        cursor: default;

        /*transition: 200ms ease-in;*/
        position: relative;
    }

    address paper-chip>div {
        background-color: #E6E6E6;
        color: #666;
        vertical-align: top;
        padding-right: 0.5rem;
        position: relative;
        outline: none;
    }
}

/*@media screen and (min-width: 768px) and (max-width: 1600px) {*/
@media screen and (min-width: 1601px) and (max-width: 1600px) {

    address paper-chip:hover,
    address paper-chip:hover img,
    address paper-chip:hover iron-image,
    address paper-chip:hover p,
    address paper-chip:hover ol,
    address paper-chip:hover>div {
        transition-delay: 400ms;
    }

    address paper-chip:not(:hover) img,
    address paper-chip:not(:hover) iron-image {
        border-radius: 32px;
        width: 32px;
        height: 32px;
        line-height: 32px;
    }

    address paper-chip:not(:hover) div.ce-element--type-image {
        background-size: 32px 32px;
        border-radius: 32px;
        line-height: 32px;
        width: 32px !important;
        height: 32px !important;
        padding: 0;
    }

    address paper-chip:hover img {
        border-radius: 0;
        box-sizing: content-box;
        height: 64px;
        margin: 0 0.5rem 0.5rem 0;
        width: 64px;
    }

    address paper-chip:hover div.ce-element--type-image {
        box-sizing: content-box;
        height: 64px !important;
        margin: 0 0.5rem 0.5rem 0;
        width: 64px !important;
        background-size: 64px 64px;
    }

    address paper-chip:not(:hover) p {
        line-height: 32px;
        padding: 0 16px 0 8px;
    }

    address paper-chip:not(:hover) p:last-of-type,
    address paper-chip:not(:hover) ol {
        display: none;
    }

    address paper-chip:not(:hover)>div {
        border-radius: 32px;
        display: inline-block !important;
    }

    address paper-chip:hover>div {
        border-radius: 0;
        box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
        display: block;
        max-width: 100%;
        position: absolute;
        top: 0;
        width: 300px;
        z-index: 1;
    }
}

address div[itemtype="http://schema.org/Place"] ol li:last-child {
    display: flex;
}

/* Footer Nav */
footer-nav {
    background: var(--nav-background);
    color: var(--nav-color);
    display: block;
    padding: 1.5rem 1rem 1rem 1rem;

    &>h4 {
        margin-top: 0;
    }

    h4 a {
        text-decoration: none;
    }

    a {
        color: var(--nav-color);

        &:hover {
            background: var(--nav-highlight-background);
            border: 1px solid var(--nav-highlight-background);
            border-width: 0 0 1px 0;
        }
    }

    nav {
        display: flex;
        flex-wrap: wrap;
        margin-right: -.75rem;

        coa-list {
            -ms-flex: 1 1 100%;
            -webkit-flex: 1;
            flex: 1;
            box-sizing: border-box;
            -webkit-flex-basis: calc((100% - .1px - (.75rem * 4))/ 4);
            flex-basis: calc((100% - .1px - (.75rem * 4))/ 4);
            max-width: calc((100% - .1px - (.75rem * 4))/ 4);
            margin-right: .75rem
        }
    }
}

@media (max-width:1400px) {
    footer-nav nav {
        margin-right: -.5rem
    }

    footer-nav nav coa-list {
        -webkit-flex-basis: calc((100% - .1px - (.5rem * 3))/ 3);
        flex-basis: calc((100% - .1px - (.5rem * 3))/ 3);
        max-width: calc((100% - .1px - (.5rem * 3))/ 3);
        margin-right: .5rem
    }
}

@media (max-width:1128px) {
    footer-nav nav coa-list {
        -webkit-flex-basis: calc((100% - .1px - (.5rem * 2))/ 2);
        flex-basis: calc((100% - .1px - (.5rem * 2))/ 2);
        max-width: calc((100% - .1px - (.5rem * 2))/ 2)
    }
}

@media (max-width:480px) {
    footer-nav nav coa-list {
        -webkit-flex-basis: calc((100% - .1px - (.5rem * 1))/ 1);
        flex-basis: calc((100% - .1px - (.5rem * 1))/ 1);
        max-width: calc((100% - .1px - (.5rem * 1))/ 1)
    }
}

/* List */
coa-list {
    a {
        text-decoration: none;
    }

    heading {
        display: flex;
        align-items: center;
    }

    h6 {
        display: inline-block;
        font-size: 1.2rem;
        margin: 0 0 0 4px;
        padding: 0;
        vertical-align: text-top;
    }

    ul {
        list-style: none;
        margin-top: 6px;
        padding-left: 2.5rem;

        li {
            margin-bottom: .318em;
        }
    }

    coa-icon,
    iron-icon {
        border-radius: 1px;
        display: inline-block;
        padding: 6px;
        width: 2.66rem;
        height: 2.66rem
    }
}

/* COA-ICON */
coa-icon,
iron-icon {
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    position: relative;
    vertical-align: middle;
    fill: currentcolor;
    stroke: none;
    /* Required in IE/Edge - now breaks Edge */
    width: 100%;
    height: 100%;

    &.paper-dropdown-menu {
        height: 24px;
        width: 24px;
    }

    svg {
        pointer-events: none;
        display: block;
        width: 100%;
        height: 100%
    }
}

/* Social Media Links doesn't work because overflow on header in article */
main header page-title page-social {
    display: grid;
    position: absolute;
    right: 16px;
    margin-left: auto;
    grid-template-columns: 48px 48px;
    background-color: rgba(0, 73, 107, 0.95);
    border-radius: 5px 5px 0 0;
    gap: 16px;
    padding: 8px;
    box-sizing: border-box;
    top: -64px;
    height: 64px;
    box-shadow: 1px -1px 1px rgb(255 255 255 / 80%);

    a {
        padding: 8px;

        &:hover {
            background: rgba(0, 0, 0, 0.2);
        }
    }
}

/* Outlook Calendar */
section.outlook-calendar {
    display: block;

    header {
        display: flex;
        flex-direction: row;
        align-items: center;

        h3 {
            flex: 1;
            color: #009DDC;
            color: var(--coa-blue);
        }

        a {
            border-radius: 3px;
            border: 1px solid #009DDC;
            color: #009DDC;
            display: inline-block;
            text-decoration: none;
            padding: 5px;

            margin-left: 1em;
            font-size: 0.8rem;
        }
    }

    iframe {
        border: 0;
        height: 1200px;
        width: 100%;
    }
}

/* Print */
@media print {

    body,
    html {
        border: 1px solid #fff;
        display: none;
        height: 99%;
        page-break-after: avoid;
        page-break-before: avoid
    }

    body>footer,
    body>header,
    main>header {
        display: none
    }

    main>article {
        margin-top: 0
    }

    body,
    html {
        border: 1px solid #fff;
        display: block;
        min-height: initial !important;
        height: 99%;
        page-break-after: avoid;
        page-break-before: avoid
    }

    img,
    .ct-app {
        display: none
    }
}

/*Editor*/
#respondViewBtn {
    display: none !important;
}

/* Civic Services */
civic-services {
    display: block;
    max-width: 100%;
    overflow-x: auto;

    header {
        h2 {
            color: var(--surface-color-bold-alt);
            display: inline-block;
            margin: 0;
        }
    }

    form {
        margin: 0;
        padding: 0;

        fieldset {
            display: inline-flex;
            flex-wrap: wrap;
            width: 44ch;

            input {
                width: 35ch;
            }

            #verify-btn {
                justify-self: center;
            }
        }

        button[type="submit"] {
            margin-bottom: 4px;
            margin-top: auto;
        }
    }

    footer {
        margin: 1rem 0;
    }
}
/* ==== https://www.auburnal.gov/assets/site-header.css ==== */
/* Page Header Config */
main > header[is="hero-image"] {
  height: 456px;

  &:has(+ page-title:empty) {
      display: none;
      height: 0;
  }
}

page-title:empty,
page-title:empty + page-menu {
  display: none;
}
page-title:empty ~ section[is='landing-info'] {
  background-color: transparent !important;
}
/* Landing Page Titles */
main > header + page-title {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 3rem;
  padding: 0.62rem 0 0.38rem 0;
  position: relative;
  z-index: 1;
  
  /*bottom: 0;*/
  text-align: center;
}
/* Site.css */
main>header {
  align-items: center;
  display: flex;
  justify-content: center;
  overflow: hidden;
  position: relative;
  z-index: 0
}
main>header img {
  height: auto;
  min-height: 100%;
  width: auto !important;
  min-width: 100%;
  position: absolute;
  max-width: none !important
}

main>header iron-image {
  height: 100%;
  width: 100vw;
}

main>header iron-image[style] img {
  display: none !important
}

hero-image {
  display: block;
  height: 100%;
  position: relative
}

hero-image img {
  height: auto;
  min-height: 100%;
  min-width: 100%;
  position: absolute;
  transform: translateY(-36%);
  transform: translateY(calc(-50% + 228px));
  width: auto;
  max-width: none
}

hero-image::after {
  background-image: linear-gradient(rgba(0, 0, 0, .85), rgba(0, 0, 0, .5) 64px, rgba(0, 0, 0, 0) 61%);
  height: 100%;
  left: 0;
  margin: 0;
  position: absolute;
  top: 0;
  width: 100%
}

main header page-title page-social {
  display: grid;
  position: absolute;
  right: 16px;
  margin-left: auto;
  grid-template-columns: 48px 48px;
  background-color: rgba(0, 73, 107, .95);
  border-radius: 5px 5px 0 0;
  gap: 16px;
  padding: 8px;
  box-sizing: border-box;
  top: -64px;
  height: 64px;
  box-shadow: 1px -1px 1px rgb(255 255 255 / 80%)
}

main header page-title page-social a {
  padding: 8px
}

main header page-title page-social a:hover {
  background: rgba(0, 0, 0, .2)
}
/* site-header.css */
/*- SITE-SEARCH-FORM (SEARCH) */
site-search-form {
  display: block;
  margin: auto 0;
}
site-search-form > a {
  color: var(--nav-color);
  height: 64px;
  width: 64px;
  margin: auto 8px;
  padding: 0;
}
/* Small */
@media screen and (max-width: 1119px) {
  site-search-form button[type="submit"]:not(:focus) {
    border-radius: 1px;
  }
}
/* </style> */

/* RESPONSIVE-NAVBAR (CONTENTS) */
/* HOME-LINK (LOGO) */
home-link {
  display: flex;
  height: 100%;

  a, picture {
    display: block;
    height: 100%;
    width: 100%;
  }
  /* IE11 doesn't like src sets and picture element defining which one is shown
    so I've commented out that in the HTML for now and just set it here */
  picture {
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
  }
}
/* BUTTON-ICON-LABEL */
ul.horizontal label {
  align-items: center;
  color: var(--nav-color);
  cursor: pointer;
  display: flex;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.75;
  line-height: 52px;
  letter-spacing: -1px;
  max-height: 100%;
  padding: 1rem 0.67rem;
  position: relative;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;

  coa-icon {
    display: none;
  }
}

/* Element Style */
responsive-header {
  box-sizing: border-box;
  align-items: center;
  color: var(--nav-color);
  display: flex;
  flex-direction: row;
  gap: 1em;
  height: 80px;
  justify-content: space-between;
  padding: 0 1rem;
  position: relative;
  width: 100%;
  z-index: 7;
  
  input[type="radio"] {
    position: absolute;
    top: -9999px;
    left: -9999px;
    opacity: 0;
  }

  ul {
    list-style: none;
    margin-top: 0;
    padding: 0;
  }

  label, a {
    display: block;
  }
}
/* General Style */
responsive-header ul.horizontal label:hover,
responsive-header a:hover {
  background: rgba(0, 0, 0, 0.12);
}
responsive-header home-link a:hover {
  background: transparent;
}

/* Main Nav Style */
responsive-header nav,
responsive-header nav form {
  display: inline-block;
  height: 100%;
  padding: 0;
  position: unset;
}

responsive-header ul.horizontal {
  display: inline-flex;
  flex-direction: row;
  height: 100%;
  justify-content: space-between;
  margin: 0 1rem;
}

responsive-header ul.horizontal label {
  align-items: center;
  box-sizing: border-box;
  cursor: pointer;
  display: flex;
  height: 100%;
  padding: 1rem;
}
responsive-header label.fit {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
}
responsive-header input:checked + label.fit {
  display: none;
}
/* Mega Menu Style */
mega-menu {
  background: var(--card-background);
  box-sizing: border-box;
  display: block;
  /*height: calc(100vh - 80px);*/
  left: 0;
  position: absolute;
  padding: 12px;
  right: 0;
  top: 100%;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.22);
}
mega-menu ul {
  display: block;
  -moz-column-width: 300px;
  -webkit-column-width: 300px;
  column-width: 300px;
  /*max-height: 100%;*/
  margin: 0;
  /*padding: 1rem 3rem 0.5rem 1rem;*/
}
mega-menu > ul > li {
  margin-bottom: 12px;
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
  -webkit-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid-region;
  break-inside: avoid;
  -webkit-column-break-inside: avoid; /* Chrome, Safari */
  page-break-inside: avoid; /* Theoretically FF 20+ */
  break-inside: avoid-column; /* IE 11 */
  /*display:table;*/ /* Actually FF 20+, makes IE 11 look weird... weirdly */
}
mega-menu label.close {
  background: var(--grey);
  cursor: pointer;
  padding: 0.5em 0.75em;
  position: absolute;
  font-weight: 700;
  right: 0.25rem;
  top: 0.25rem;
}
responsive-header input + mega-menu {
  display: none;
}
responsive-header input:checked + mega-menu {
  display: block;
}
/* MEGA-MENU contents */
mega-menu label:not(.close) {
  color: var(--card-color-bold);
  display: block;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: -1px;
  line-height: 1.21;
  text-transform: uppercase;
}
mega-menu a {
  display: block;
  color: var(--card-color);
  font-size: 16px;
  font-weight: 500;
  margin: 2px 0;
  padding: 4px 2px;
  text-decoration: none;
}
/* TODO - Implement */
responsive-header nav ul.horizontal li {
  position: relative;
}
responsive-header nav ul.horizontal li::after {
  display: none;
  border-left: 17px solid transparent;
  border-right: 17px solid transparent;
  border-bottom: 17px solid var(--nav-color);
  bottom: -1px;
  content: "";
  height: 0;
  left: calc(50% - 8px);
  position: absolute;
  width: 0;
}
input#Government:checked ~ ul.horizontal li:nth-of-type(1)::after {
  display: block;
}
input#Services:checked ~ ul.horizontal li:nth-of-type(2)::after {
  display: block;
}
input#Community:checked ~ ul.horizontal li:nth-of-type(3)::after {
  display: block;
}
input#HowDoI:checked ~ ul.horizontal li:nth-of-type(4)::after {
  display: block;
}

#hamburger {
  display: none;
}

/* Adding for the new menu items, see coa-public-header, the custom element upgrade of responsive-header*/
#payConnectNav {
  margin: 0 auto;
  position: relative;
  justify-content: center;

  button {
      all: unset;
      cursor: pointer;
      outline: revert;
      padding: 0.5rem;

      &:hover {
          background-color: var(--nav-highlight-background);
      }
  }
  a {
      color: var(--nav-bold-color);
      text-decoration: none;
      padding: 0.62rem;
  }
  nav, ul {
      &.horizontal {
          display: inline-flex;
          flex-direction: row;
          justify-content: center;
      }
      &.vertical {
          display: flex;
          flex-direction: column;
          white-space: nowrap;
      }
      &.soc {
          display: grid;
          grid-template-columns: 50% 50%;
          align-items: center;
          justify-items: center;
          overflow: hidden;
      }
  }
  button[popovertarget="pay-popover"] {
      anchor-name: --anchor_pay;
  }
  #pay-popover {
      position-anchor: --anchor_pay;
      inset-block-start: anchor(--anchor_pay bottom);
      inset-inline-start: anchor(--anchor_pay center);
  }
  button[popovertarget="connect-popover"] {
      anchor-name: --anchor_connect;
  }
  #connect-popover {
      position-anchor: --anchor_connect;
      inset-block-start: anchor(--anchor_connect bottom);
      inset-inline-start: anchor(--anchor_connect center);
  }
  /* Reset */
  [popover] {
      box-sizing: border-box;
      margin: 0;
      padding: 0;

      border: 1px solid;
      
      
      display: none;
      opacity: 0;
      transform: translateX(-50%);
      transition: opacity 500ms, display 500ms allow-discrete, overlay 500ms allow-discrete;

      &::before, &::after {
          box-sizing: border-box;
      }
      &:not(:popover-open) {
        display: none !important;
      }
      &:popover-open {
          display: block;
          opacity: 1;
          
          @starting-style {
              opacity: 0;
          }
      }
  }
  /* popover fallback (less than ideal) */
  @supports not (anchor-name: --anchor-support) {
    [popover] {
      position: absolute;
      bottom: auto;
      left: auto;
      top: 180px;
    }

    @media screen and (max-width: 1400px) {
      [popover] {
        top: 80px;
      }
    }
  }
}
site-search-form {
  display: flex;
  height: 100%;
  
  /* End Menu (calendar/search) */
  & > menu {
      align-self: center;
      display: flex;
      flex-direction: row;
      /* justify-content: center; */
      height: 63%;
      list-style: none;
      margin: 0;
      padding: 0;
      position: relative;
      /* box-sizing: border-box; */
      gap: 0.5rem;
      

      button {
          all: unset;
          color: inherit;
          cursor: pointer;
          font-family: var(--font-family-heading);
          font-weight: 600;
          height: 100%;
          padding: 0 0.5em;
      }

      a {
          color: inherit;
          display: flex;
          flex-direction: column;
          font-family: var(--font-family-heading);
          font-weight: 600;
          height: 100%;
          justify-content: center;
          text-decoration: none;
          padding: 0 0.5em;
      }

      &.icon a {
          aspect-ratio: 1/1;
          border: 2px solid var(--nav-color);
          box-sizing: border-box;
          display: block;
          height: 100%;
          padding: 0.3em;
          width: auto;

          &:hover {
              background-color: var(--nav-highlight-background);
              color: var(--nav-highlight-color);

              svg {
              fill: var(--nav-highlight-color);
              stroke: var(--nav-highlight-color);
              }
          }

          svg {
              height: 100% !important;
              fill: var(--nav-color);
              stroke: var(--nav-color);
              width: auto;
          }
      }
  }
}

/* Responsive (small screen) */
/* @media screen and (max-width: 1024px) { */
@media screen and (max-width: 1400px) {
  /* Hide the main nav */
  responsive-header {
    background: var(--nav-background);
    
    nav {
      margin-right: 0;
      order: 3;
    }
    /* Swap to smaller logo image */
    home-link {
      background: white;
      width: 144px;
  
      picture {
        background-image: url("/legacy-assets/files/coa-images/AuburnAL_LogoOnly.png");
      }
    }
    /* Search and Calendar buttons stay on mobile? */
    site-search-form {
      margin: 0;
      justify-self: flex-end;
    }
  }

  #hamburger {
    display: block;
    width: 60px;
    height: 45px;
    position: relative;
    margin: 17.5px auto;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
    cursor: pointer;

    span {
      display: block;
      position: absolute;
      height: 9px;
      width: 100%;
      background: var(--nav-color);
      border-radius: 9px;
      opacity: 1;
      left: 0;
      -webkit-transform: rotate(0deg);
      -moz-transform: rotate(0deg);
      -o-transform: rotate(0deg);
      transform: rotate(0deg);
      -webkit-transition: 0.25s ease-in-out;
      -moz-transition: 0.25s ease-in-out;
      -o-transition: 0.25s ease-in-out;
      transition: 0.25s ease-in-out;

      &:nth-child(1) {
        top: 0px;
      }
      &:nth-child(2),
      &:nth-child(3) {
        top: 18px;
      }
      &:nth-child(4) {
        top: 36px;
      }
    }
  }

  responsive-header input:checked ~ #hamburger span:nth-child(1) {
    top: 18px;
    width: 0%;
    left: 50%;
  }

  responsive-header input:checked ~ #hamburger span:nth-child(2) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  responsive-header input:checked ~ #hamburger span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }

  responsive-header input:checked ~ #hamburger span:nth-child(4) {
    top: 18px;
    width: 0%;
    left: 50%;
  }
  /* responsive-header style */
  responsive-header nav input:not(:checked) + ul {
    display: none;
  }
  responsive-header input:checked + ul {
    display: block;
  }
  responsive-header nav form > input:checked ~ ul {
    margin-top: 80px;
  }
  /* turns top bar into a close button */
  responsive-header input:checked ~ .fit {
    z-index: 1;
  }
  /* top-tier style when opened */
  responsive-header ul.horizontal {
    position: absolute;
    left: 0;
    right: 0;
    background: var(--nav-background);
    display: block;
    height: auto;
    margin: 0;
  }
  /* mega-menu style */
  mega-menu {
    max-height: calc(100vh - 80px);
    overflow-y: auto;
  }
  mega-menu ul {
    -ms-column-count: 1;
    -moz-column-count: 1;
    -webkit-column-count: 1;
    column-count: 1;
  }
  mega-menu label {
    cursor: pointer;
    padding: 6px 1px;

    &:hover {
      background: var(--card-highlight-background);
      color: var(--card-highlight-color);
    }
  }
  #payConnectNav {
    justify-self: flex-end;
    margin-right: 1rem;
  }
}
/* Move nav bar down if not mobile */
@media screen and (min-width: 1401px) {
  body > header {
    responsive-header {
      background: var(--nav-background);
      background: color-mix(in srgb, var(--nav-background), transparent 10%);
      
      overflow: visible;
      position: absolute;
      top: 100px;
      width: 100%;

      /* Moves the logo */
      home-link {
          transition: transform 500ms;
      }
      &:has(input:not(#clear1):checked) home-link {
          transform: translateY(-50px);
      }

      site-search-form {
        margin: auto 0;
      }

      &> nav {
        flex: 3;    
        /* Divider */
        &::after {
            content: "";
            background: var(--nav-color);
            position: absolute;
            bottom: 7%;
            
            height: 84%;
            width: 1px;
        }
        form {
          display: inline-flex;
          width: 100%;
        }
        /* Main nav */
        form ul.horizontal {
          justify-content: space-evenly;
          flex: 1;
        }
      }

      #payConnectNav {
        flex: 1;
      }
    }

    home-link {
      aspect-ratio: 413 / 331;
      background: white;
      top: -80px;
      height: 215px;
      width: auto;

      /* IE11 doesn't like src sets and picture element defining which one is shown */
      picture {
        background-image: url("/legacy-assets/files/coa-images/AuburnAL_Logo_StateOnly.png");
      }
    }
  }
}
@media screen and (max-width: 540px) {
  #payConnectNav {
    display: none;
  }
}

/** SITE FOOTER (widget-socialmedia and more) **/
widget-socialmedia .soc {
  box-sizing: border-box;
  font-size: 0.625em;
}

widget-socialmedia .soc,
widget-socialmedia .soc:before,
widget-socialmedia .soc:after {
  box-sizing: inherit;
}
widget-socialmedia .soc {
  padding: 0;
  list-style: none;
  margin: auto 0;
  display: inline;
}
.soc li {
  display: block;
  margin: 0.125rem 0.3rem;
  float: left;
}
.soc a,
.soc svg {
  display: block;
}
.soc a {
  position: relative;
  height: 2.4rem;
  width: 2.4rem;
}
.soc svg {
  height: 100%;
  width: 100%;
}

ul.soc a:hover {
  border-radius: 100%;
  color: #fff;
  fill: #fff;
  -webkit-transform: scale(1.25);
  transform: scale(1.25);
  -webkit-transition: background-color 200ms, -webkit-transform 200ms ease-out;
  transition: background-color 200ms, -webkit-transform 200ms ease-out;
  transition: background-color 200ms, transform 200ms ease-out;
  transition: background-color 200ms, transform 200ms ease-out,
    -webkit-transform 200ms ease-out;
}
.facebook {
  color: #3b5998;
  fill: #3b5998;
}
.facebook:hover {
  background: #3b5998;
}
.instagram {
  color: #405de6;
  fill: #405de6;
}
.instagram:hover {
  background: #405de6;
}
.twitter {
  color: #00a0d1;
  fill: #00a0d1;
}
.twitter:hover {
  background: #00a0d1;
}
.linkedin {
  color: rgb(0, 119, 181);
  fill: rgb(0, 119, 181);
}
.linkedin:hover {
  background: rgb(0, 119, 181);
}
.youtube {
  color: #c4302b;
  fill: #c4302b;
}
.youtube:hover {
  background: #c4302b;
}
.nextdoor {
  box-sizing: border-box;
  padding: 7px;
  color: #00b246;
  fill: #00b246;
}
.nextdoor:hover {
  background: #00b246;
}
/*ELEMENTS*/
widget-socialmedia nav {
  /*--layout-justified*/
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  /*--layout-centered*/
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  /*--layout-horizontal*/
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
}
widget-socialmedia div {
  font-size: 14px;
}
widget-socialmedia div a {
  padding: 6px 2px;
  text-decoration: none;
  color: #f5f5f5;
  line-height: 35px;
  margin: 0 2px;
}
@media screen and (max-width: 767px) {
  widget-socialmedia nav {
    flex-direction: column;
    justify-content: center;
  }
  widget-socialmedia div {
    margin: 0.5rem auto 0 auto;
    text-align: center;
  }
}

widget-socialmedia {
  color: var(--nav-color);
  display: block;
  background: var(--nav-background);
  padding: 0.25rem 1rem;
  position: relative;

  ul.soc {
    display: none;
  }

  nav {
    justify-content: flex-end;

    div {
      a {
        color: inherit
      }
    }
  }
}
/* employee link in the site footer */
widget-socialmedia nav div {
  font-size: 14px;
  align-self: flex-start;
  margin-top: 0.25rem;
  padding-bottom: 14px;
}
widget-socialmedia nav div a[href="#"] {
  display: block;
  float: right;
  margin-right: 0;
  margin-left: auto;
  padding: 0;
  white-space: nowrap;
  position: absolute;
  right: 1rem;
  line-height: 1;
  bottom: 0.25rem;
  font-size: 12px;
  opacity: 0.28;
}
/* Safari polymer/utils/gestures.html https://github.com/Polymer/polymer/blob/a77d64e5c291132ab971b0d1d1dd237e3d1a5f85/lib/utils/gestures.html */
responsive-header nav label > span {
  pointer-events: none;
}