/*noinspection CssUnresolvedCustomProperty*/
:root {
    --public-counsel-body-font-family          : var(--public-counsel-font-primary);
    --public-counsel-body-font-size            : 16px;
    --public-counsel-body-font-weight          : 400;
    --public-counsel-body-letter-spacing       : normal;
    --public-counsel-body-line-height          : 1.5;
    --public-counsel-body-text-color           : var(--body-text-color, #444);
    --public-counsel-color-black               : #000;
    --public-counsel-color-dark-blue           : var(--dark-blue, #003463);
    --public-counsel-color-dark-blue-rgb       : 0, 52, 99;
    --public-counsel-color-dark-blue-2         : #1a4a9b;
    --public-counsel-color-gray                : var(--grey, #e9edf2);
    --public-counsel-color-light-blue          : var(--cerulean-mid, #007bff);
    --public-counsel-color-white               : var(--white, #fff);
    --public-counsel-container-max-inline-size : var(--gb-container-width, 1500px);
    --public-counsel-container-padding-inline  : 20px;
    --public-counsel-font-primary              : "Poppins", sans-serif;
    --public-counsel-font-secondary            : "Barlow Condensed", sans-serif;
    --public-counsel-h1-font-size              : 27px;
    --public-counsel-h2-font-size              : 24px;
    --public-counsel-h3-font-size              : 22px;
    --public-counsel-h4-font-size              : 20px;
    --public-counsel-h5-font-size              : 18px;
    --public-counsel-heading-font-family       : var(--public-counsel-font-secondary);
    --public-counsel-heading-font-weight       : 300;
    --public-counsel-heading-letter-spacing    : -3%;
    --public-counsel-heading-line-height       : 1.2;
    --public-counsel-heading-margin-block      : min(0.25em, 10px);
    --public-counsel-heading-text-transform    : uppercase;
    --public-counsel-icon-search               : url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor'%3E%3Cpath d='M18 17.5L23.1429 23.5'%3E%3C/path%3E%3Ccircle cx='10.5' cy='10.5' r='10'%3E%3C/circle%3E%3C/svg%3E");
    --public-counsel-section-padding-inline    : 0px;
    --public-counsel-section-padding-block     : 24px;
}

@media (min-width : 768px) {
    :root {
        --public-counsel-body-font-size           : 17px;
        --public-counsel-container-padding-inline : 40px;
        --public-counsel-h1-font-size             : 36px;
        --public-counsel-h2-font-size             : 30px;
        --public-counsel-h3-font-size             : 24px;
        --public-counsel-h4-font-size             : 22px;
        --public-counsel-h5-font-size             : 20px;
        --public-counsel-section-padding-block    : 36px;
    }
}

@media (min-width : 1024px) {
    :root {
        --public-counsel-body-font-size           : 18px;
        --public-counsel-container-padding-inline : 60px;
        --public-counsel-h1-font-size             : 45px;
        --public-counsel-h2-font-size             : 35px;
        --public-counsel-h3-font-size             : 30px;
        --public-counsel-h4-font-size             : 25px;
        --public-counsel-h5-font-size             : 20px;
        --public-counsel-section-padding-block    : 50px;
    }
}

:root :is(#fake-element, *) :is(:focus:not(:focus-visible), :focus-visible) {
    outline : 0 none;
}

:root :is(#fake-element, *) :focus-visible:not(.pum-content) {
    box-shadow : 0 0 0 4px rgba(var(--public-counsel-color-dark-blue-rgb), 0.5);
}

:root body {
    font-family    : var(--public-counsel-body-font-family);
    font-size      : var(--public-counsel-body-font-size);
    font-weight    : var(--public-counsel-body-font-weight);
    line-height    : var(--public-counsel-body-line-height);
    letter-spacing : var(--public-counsel-body-letter-spacing);
    color          : var(--public-counsel-body-text-color);
}

:root body > p:empty {
    display : none;
}

:root .site-content a:not(:active, :focus-visible, :hover) {
    color : var(--public-counsel-color-light-blue);
}

:root .site-content a:is(:active, :focus-visible, :hover) {
    color : var(--public-counsel-color-dark-blue);
}

:root :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
    margin-block   : var(--public-counsel-heading-margin-block);
    font-family    : var(--public-counsel-heading-font-family);
    font-weight    : var(--public-counsel-heading-font-weight);
    line-height    : var(--public-counsel-heading-line-height);
    letter-spacing : var(--public-counsel-heading-letter-spacing);
    text-transform : var(--public-counsel-heading-text-transform);
}

:root :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6):first-child {
    margin-block-start : 0;
}

:root :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6):last-child {
    margin-block-end : 0;
}

:root h1.wp-block.wp-block-post-title {
    text-transform : none;
}

:root :is(h1, .h1) {
    font-size : var(--public-counsel-h1-font-size);
}

:root :is(h2, .h2) {
    font-size : var(--public-counsel-h2-font-size);
}

:root :is(h3, .h3) {
    font-size : var(--public-counsel-h3-font-size);
}

:root :is(h4, .h4) {
    font-size : var(--public-counsel-h4-font-size);
}

:root :is(h5, .h5) {
    font-size : var(--public-counsel-h5-font-size);
}

:root :is(#fake-element, *) :is(button, input:is([type="button"], [type="reset"], [type="submit"]), .button, .btn):not(.block-editor-button-block-appender, .pum-close) {
    align-items                : center;
    justify-content            : space-between;
    gap                        : 0.5em;
    display                    : inline-flex;
    transition-duration        : 0.3s;
    transition-property        : background-color, color;
    transition-timing-function : ease-in-out;
    border                     : 0 none;
    padding                    : 16px 24px;
    background                 : none var(--public-counsel-color-dark-blue);
    box-shadow                 : none;
    font-family                : var(--public-counsel-body-font-family);
    font-size                  : var(--public-counsel-body-font-size);
    font-weight                : var(--public-counsel-heading-font-weight);
    line-height                : var(--public-counsel-heading-line-height);
    letter-spacing             : var(--public-counsel-heading-letter-spacing);
    color                      : var(--public-counsel-color-white);
    text-align                 : center;
    text-decoration            : none;
    text-transform             : uppercase;
}

:root :is(#fake-element, *) :is(button, input:is([type="button"], [type="reset"], [type="submit"]), .button, .btn):not(.block-editor-button-block-appender):is(:active, :focus-visible, :hover) {
    background-color : var(--public-counsel-color-dark-blue-2);
    color            : var(--public-counsel-color-white);
}

:root :is(#fake-element, *) :is(button, input:is([type="button"], [type="reset"], [type="submit"]), .button, .btn):not(.block-editor-button-block-appender):is(:focus:not(:focus-visible)) {
    background-color : var(--public-counsel-color-dark-blue);
    color            : var(--public-counsel-color-white);
}

:root :is(#fake-element, *) :is(button, .button, .btn):not(.block-editor-button-block-appender) .gb-shape {
    transition : transform 0.3s ease-in-out;
}

:root :is(#fake-element, *) :is(button, .button, .btn):not(.block-editor-button-block-appender):is(:active, :focus-visible, :hover) .gb-shape {
    transform : translateX(5px);
}

:root .color-inherit:is(*, :active, :focus, :focus-visible, :hover) {
    color : inherit !important;
}

:root :is(.container, .container-fluid):not(.site.grid-container) {
    padding-inline : var(--public-counsel-container-padding-inline);
}

:root .container:not(.site.grid-container) {
    margin-inline   : auto;
    max-inline-size : var(--public-counsel-container-max-inline-size);
}

:root .container-fluid:not(.site.grid-container) {
    max-inline-size : 100%;
}

:root .hover-zoom {
    overflow : hidden;
}

:root .hover-zoom img {
    transition : transform 0.3s ease-in-out;
}

:root .hover-zoom:hover img {
    transform : scale(1.1);
}

:root .overflow-hidden {
    overflow : hidden !important;
}

:is(.section, .section--top, .section--bottom, .section--half) {
    padding-inline : var(--public-counsel-section-padding-inline);
}

:root :is(.section, .section--top) {
    padding-block-start : var(--public-counsel-section-padding-block);
}

:root :is(.section, .section--bottom) {
    padding-block-end : var(--public-counsel-section-padding-block);
}

:root :is(.section--half, .section--top.section--half) {
    padding-block-start : calc(0.5 * var(--public-counsel-section-padding-block));
}

:root :is(.section--half, .section--bottom.section--half) {
    padding-block-end : calc(0.5 * var(--public-counsel-section-padding-block));
}

:root .lc-mb-0 > :last-child {
    margin-block-end : 0 !important;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
    overflow    : hidden !important;
    margin      : -1px !important;
    width       : 1px !important;
    height      : 1px !important;
    border      : 0 !important;
    padding     : 0 !important;
    white-space : nowrap !important;
    clip        : rect(0, 0, 0, 0) !important;
}

.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
    position : absolute !important;
}

.visually-hidden *,
.visually-hidden-focusable:not(:focus):not(:focus-within) * {
    overflow : hidden !important;
}

:root .header-content .gb-navigation {
    font-family : var(--public-counsel-font-primary);
}

:root .header-content .gb-navigation .gb-menu .gb-menu-item.btn-search,
:root .header-content .gb-navigation .gb-menu .gb-menu-item.btn-search .gb-menu-link .icon {
    flex-direction  : column;
    justify-content : center;
    display         : flex;
    inline-size     : 1em;
}

:root .header-content .gb-navigation .gb-menu .gb-menu-item.btn-search .gb-menu-link .icon :is(img, svg) {
    max-inline-size : 100%;
    block-size      : auto;
}

:root .search-filter-input-checkbox * {
    font-size : inherit;
}

:root .search-filter-input-checkbox div[role=group] {
    inline-size : auto;
}

:root .search-filter-input-checkbox .search-filter-input-checkbox__container {
    align-items : flex-start;
}

:root .search-filter-field.resource-categories .search-filter-input-checkbox__input:not(:checked) ~ .search-filter-input-group {
    display : none;
}

:root .resource-listing {
    flex-direction : column;
    gap            : 10px;
    display        : flex;
}

:root .resource-listing__category-heading {
    margin-block : 0;
}

:root .resource-listing__category-heading--depth-0 {
    font-size : var(--public-counsel-h2-font-size);
}

:root .resource-listing__category-heading--depth-1 {
    font-size : var(--public-counsel-h3-font-size);
}

:root .resource-listing__category-heading--depth-2 {
    font-size : var(--public-counsel-h4-font-size);
}

:root .resource-listing__category-heading--depth-3 {
    font-size : var(--public-counsel-h5-font-size);
}

:root .resource-listing__category-subcat {
    flex-direction       : column;
    gap                  : 10px;
    display              : flex;
    padding-inline-start : 24px;
}

:root .resource-listing__items {
    flex-direction : column;
    gap            : 1em;
    display        : flex;
    padding-inline : 24px 0;
}

:root ul.resource-listing__items {
    margin-inline : 0;
    margin-block  : 0;
}

:root ul.resource-listing__items > li {
    list-style-type : none;
}

:root .resource-listing__item-heading {
    margin-block   : 10px;
    font-family    : var(--public-counsel-font-primary);
    font-size      : var(--public-counsel-body-font-size);
    font-weight    : var(--public-counsel-body-font-weight);
    line-height    : var(--public-counsel-heading-line-height);
    letter-spacing : var(--public-counsel-body-letter-spacing);
    text-transform : none;
}

:root .resource-listing__item-heading:first-child {
    margin-block-start : 0;
}

:root .resource-listing__item-heading:last-child {
    margin-block-end : 0;
}

:root .resource-listing__item-link {
    gap        : 10px;
    display    : flex;
    transition : color 0.3s ease-in-out;
    color      : inherit;
}

:root .resource-listing__item-link:is(:active, :focus-visible, :hover) {
    color : var(--public-counsel-color-light-blue);
}

:root .resource-listing__item-link-icon {
    flex : 0 0 auto;
    fill : var(--public-counsel-color-light-blue);
}

@media (min-width : 768px) {
    :root .resource-listing__item-link-icon {
        transform : translateY(1px);
    }
}

@media (min-width : 1024px) {
    :root .resource-listing__item-link-icon {
        transform : translateY(2px);
    }
}

.staff-listing {
    flex-wrap : wrap;
    gap       : 20px;
    display   : flex;
}

.staff-listing__item {
    align-items : center;
    column-gap  : 30px;
    display     : flex;
    inline-size : 100%;
}

.staff-listing__item-image {
    display          : block;
    margin-block-end : 30px;
    inline-size      : calc(100% / 3);
    max-inline-size  : 100%;
    block-size       : auto;
    border-radius    : 50%;
    background-color : var(--public-counsel-color-gray);
    aspect-ratio     : 1/1;
    object-fit       : cover;
    object-position  : center top;
}

.staff-listing__item-text {
    flex-grow   : 1;
    inline-size : calc(200% / 3);
}

.staff-listing__item-heading {
    margin-block-end : 5px;
    font-size        : 30px;
    color            : var(--public-counsel-body-text-color);
}

.staff-listing__item-link {
    color : var(--public-counsel-body-text-color);
}

.staff-listing__item-position {
    font-family : ibm-plex-sans;
    font-size   : 16px;
    line-height : 120%;
}

@media (min-width : 768px) {
    .staff-listing__item {
        inline-size : calc((100% - 60px) / 2);
    }
}

:root :is(.gform-theme--api, .gform-theme--foundation) {
    --gf-ctrl-label-font-size-primary   : 1em;
    --gf-ctrl-label-font-size-req       : 1em;
    --gf-ctrl-label-font-weight-primary : 400;
    --gf-ctrl-label-font-weight-req     : 400;
    --gf-ctrl-label-line-height-primary : 1.5;
    --gf-form-gap-y                     : 24px;
}

:root :is(.gform-theme--api, .gform-theme--foundation) .gform_required_legend {
    display : none;
}

:root :is(.gform-theme--api, .gform-theme--foundation).form-alerts_wrapper .gform_fields {
    align-items     : center;
    justify-content : center;
    gap             : 16px;
    display         : flex;
}

:root :is(.gform-theme--api, .gform-theme--foundation).form-alerts_wrapper .gform_title {
    text-align : center;
}

#wpadminbar {
    position : fixed;
}
