/* ARTWORK NOTES
--------------------------------------------
ADDITIONAL NOTES OR REVISIONS
- Add_notes

-------------
STUDIUS TEMPLATE
- Header / NAV: Ole Faithful
- Rotator / ROT: Floatator
- Quicklinks / QL: Oh Snap! (with buttons)
- News: N/A
- Widgets: N/A
- Footer: N/A

-------------
COLORS
--primary-color-rgb: 20,37,109;      /* Deep Navy (#14256d) *
--secondary-color-rgb: 255,227,164;  /* Soft Gold (#ffe3a4) *
--tertiary-color-rgb: 124,166,216;   /* Sky Blue (#7ca6d8) *
--background-color-rgb: 255,255,255; /* White *

-------------
FONTS (Google)
--title-font-family: 'Libre Baskerville', serif;
--body-font-family: 'Libre Baskerville', serif;

-------------
DESIGN NOTES
- Overall BG: Marble image. 100% opacity.
- Events BG: 85% opacity. 30px blur.

-------------
--------------------------------------------
*/
html body.site-home {
    --section-above-bg: var(--secondary-color);
    --section-slideshow-bg: transparent;
}

html body {
    --side-menu-bg: var(--primary-color);
    --side-menu-bg-hover: var(--secondary-color);
    --side-menu-font-size-desktop: min(1.25vw, 1.25rem);
    --side-menu-font-family: var(--body-font-family);
    --side-menu-font-weight: 400;

    --section-navigation-bg: transparent;
}

html body #g-navigation {
    --main-menu-text-color: var(--default-white);
    --main-menu-text-color-hover: var(--default-white);
	--main-menu-bg: var(--primary-color);
    --main-menu-bg-color: var(--primary-color);

    --navigation-floating-social-padding: min(1vw, 1rem);

    --section-navigation-bg: transparent;

    --navigation-social-item-color: var(--default-white);

    --ql-toplinks-icon-color: var(--primary-color);
    --ql-toplinks-icon-color-hover: var(--primary-color);
    --ql-toplinks-title-color: var(--default-black);
    --ql-toplinks-title-color-hover: var(--default-black);

    --ql-toplinks-icon-color-mobile: var(--primary-color);
    --ql-toplinks-icon-color-hover-mobile: var(--primary-color);
    --ql-toplinks-title-color-mobile: var(--default-black);
    --ql-toplinks-title-color-hover-mobile: var(--default-black);
}

.g-array-item-text {
    margin: 0!important;
    padding: 0!important;
}

h6 {
    color: var(--tertiary-color);
}

.moduletable .nav.menu li.current.active a, .moduletable .nav.menu li a:hover {
    color: var(--primary-color);
}

html body.site-sub {
    --section-header-bg: transparent;
    --section-utility-bg: transparent;
    --section-container-main-bg: transparent;
    --section-bottom-bg: transparent;
}

@media only screen and (min-width: 50.99rem) {
    .site-sub #g-page-surround {
        background: url('/images/template/bg-marble-texture.jpg') 50% 50% no-repeat;
        background-size: cover;
    }
    body[class*="-sub"]:not(.sponsorshippage) #g-container-main:has(#g-mainbar.section-padding-5, #g-aside) {
        padding: 1.5rem 5%!important;
    }
    .site-sub #g-container-main > .g-container {
        background: var(--default-white);
        border-radius: 1rem;
        overflow: hidden;
        box-shadow: var(--default-box-shadow);
        padding: 1.5rem!important;
    }
}

.side-menu-particle .g-blockcontent-subcontent-block.active .g-blockcontent-subcontent-title-text {
    color: var(--primary-color);
}

@media only screen and (max-width: 50.99rem) {
    #g-offcanvas .g-social-items {
        flex-wrap: wrap;
    }
}

/*TOP*/
@media only screen and (min-width: 50.99rem) {
    #g-container-top {
        background: url('/images/template/bg-marble-texture.jpg') 50% 50% no-repeat;
        background-size: cover;
    }
    #g-container-top > .g-container {
        background: rgba(var(--default-white-rgb),.5);
    }

    .ql-toplinks-studius .g-blockcontent-subcontent {
        align-items: stretch!important;
    }
    .ql-toplinks-studius .g-blockcontent-subcontent-block {
        border-radius: .5rem;
        overflow: hidden;
    }
    .ql-toplinks-studius .g-blockcontent-subcontent-block-content {
        height: 100%;
    }
}

@media only screen and (max-width: 50.99rem) {
    #g-container-top {
        background: url('/images/template/bg-marble-texture.jpg') 50% 50% no-repeat;
        background-size: cover;
    }
    #g-container-top > .g-container {
        background: rgba(var(--default-white-rgb),.5);
    }

    .ql-toplinks-studius .g-blockcontent-subcontent {
        align-items: stretch!important;
    }
    .ql-toplinks-studius .g-blockcontent-subcontent-block {
        border-radius: .5rem;
        overflow: hidden;
    }
    .ql-toplinks-studius .g-blockcontent-subcontent-block-content {
        height: 100%;
    }
}

/* NAVIGATION */
@media only screen and (min-width: 50.99rem) {
    #g-navigation > .g-container > .g-grid:has(.g-main-nav) > .g-block {
        z-index: 1;
    }
    #g-navigation .g-toplevel {
        margin-bottom: .5rem!important;
    }

    .ole-faithful > .g-container > .g-grid:has(.ql-toplinks-studius) {
        padding: min(2.5vw, 2.5rem) min(2vw, 2rem)!important;
    }
}

@media only screen and (min-width: 50.99rem) {
    #g-navigation > .g-container > .g-grid:has(.g-main-nav) {
        position: relative;
    }
    #g-navigation > .g-container > .g-grid:has(.g-main-nav):before {
        content: '';
        background: var(--primary-color);
        height: 100%;
        width: 3000%;
        margin-left: -500%;
        margin-right: -500%;
        position: absolute;
    }
    #g-navigation > .g-container > .g-grid:has(.g-main-nav):after {
        content: '';
        position: absolute;
        bottom: .25rem;
        border-bottom: 4px solid var(--secondary-color);
        height: 100%;
        width: 3000%;
        margin-left: -500%;
        margin-right: -500%;
    }
}

@media only screen and (min-width: 50.99rem) {
    #g-navigation .g-main-nav .g-sublevel>li>.g-menu-item-container {
        color: var(--default-white);
    }
    #g-navigation .g-main-nav .g-sublevel>li>.g-menu-item-container:hover {
        background: var(--secondary-color);
        color: var(--primary-color)!important;
    }
}

@media only screen and (max-width: 50.99rem) {
    #g-navigation > .g-container {
        padding: 1.5rem 0 0 0!important;
    }
}

/*SLIDESHOW*/
@media only screen and (min-width: 50.99rem) {
    .site-home #g-slideshow > .g-container {
        display: flex;
        flex-direction: column;
        gap: min(3vw, 3rem);
    }
}

@media only screen and (min-width: 50.99rem) {
    .mass-times-block .g-array-item-text :is(p,li) {
        --mass-times-block-para-color: var(--default-black);
        --mass-times-block-para-font-weight: 600;
    }
}

@media only screen and (max-width: 50.99rem) {
    .mass-times-block {
        padding: 1.5rem;
    }
    .mass-times-block .g-array-item-text :is(p,li) {
        --mass-times-block-para-color-mobile: var(--default-black);
        --mass-times-block-para-font-weight-mobile: 600;
    }

    .site-home #g-slideshow > .g-container > .g-grid:has(.ql-portrait-plaque) {
        padding: 1.5rem!important;
    }
}

@media only screen and (min-width: 50.99rem) {
    .ql-portrait-plaque .g-blockcontent-header {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: row;
        gap: min(2vw, 2rem);
        justify-content: center;
        align-items: center;
    }
    .ql-portrait-plaque .g-blockcontent-header:before {
        content: '';
        border-bottom: 1px solid var(--primary-color);
        flex: 1;
    }
    .ql-portrait-plaque .g-blockcontent-header:after {
        content: '';
        border-bottom: 1px solid var(--primary-color);
        flex: 1;
    }
    .ql-portrait-plaque .g-blockcontent-header .g-title {
        margin: 0;
        padding: 0;
        line-height: 1;
        text-align: center;
        text-transform: none;
        font-variant-caps: small-caps;
        font-size: min(3vw, 3rem);
        font-weight: 400;
        font-family: var(--title-font-family);
        color: var(--primary-color);
    }
}

@media only screen and (max-width: 50.99rem) {
    .ql-portrait-plaque .g-blockcontent-header {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: row;
        gap: 1rem;
        justify-content: center;
        align-items: center;
    }
    .ql-portrait-plaque .g-blockcontent-header:before {
        content: '';
        border-bottom: 1px solid var(--primary-color);
        flex: 1;
    }
    .ql-portrait-plaque .g-blockcontent-header:after {
        content: '';
        border-bottom: 1px solid var(--primary-color);
        flex: 1;
    }
    .ql-portrait-plaque .g-blockcontent-header .g-title {
        margin: 0;
        padding: 0;
        line-height: 1;
        text-align: center;
        text-transform: none;
        font-variant-caps: small-caps;
        font-size: 6vw;
        font-weight: 400;
        font-family: var(--title-font-family);
        color: var(--primary-color);
    }
}

@media only screen and (min-width: 50.99rem) {
    .ql-portrait-plaque {
        margin: 0;
        padding: 0;
    }
    .ql-portrait-plaque > .g-content {
        margin: 0;
        padding: 0;
    }
    .ql-portrait-plaque > .g-content > div {
        margin: 0;
        padding: 0;
    }
    .ql-portrait-plaque .g-blockcontent {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: min(3vw, 3rem);
    }
    .ql-portrait-plaque .g-blockcontent-subcontent {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: row;
        gap: min(1.5vw, 1.5rem);
    }
    .ql-portrait-plaque .g-blockcontent-subcontent-block {
        margin: 0;
        padding: 0;
        position: relative;
        flex: 1;
        transition: .3s all ease-in-out;
    }
    .ql-portrait-plaque .g-blockcontent-subcontent-block:hover {
        transform: scale(1.05);
    }
    .ql-portrait-plaque .g-blockcontent-subcontent-block:hover .g-blockcontent-subcontent-title {
        background: var(--tertiary-color);
    }
    .ql-portrait-plaque .g-blockcontent-subcontent-block-content {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: min(1vw, 1rem);
        height: 100%;
        transition: .3s all ease-in-out;
    }
    .ql-portrait-plaque .g-blockcontent-subcontent-img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 3/4;
        object-position: center;
        object-fit: cover;
        border-radius: .5rem;
        overflow: hidden;
        box-shadow: var(--default-box-shadow);
        transition: .3s all ease-in-out;
    }
    .ql-portrait-plaque .g-blockcontent-subcontent-title {
        margin: 0;
        padding: min(.5vw, .5rem) min(1.25vw, 1.25rem);
        flex: 1;
        background: var(--primary-color);
        border-radius: .5rem;
        overflow: hidden;
        box-shadow: var(--default-box-shadow);
        border: 2px solid var(--secondary-color);
        display: flex;
        justify-content: center;
        align-items: center;
        line-height: 1.2;
        font-weight: 400;
        text-transform: none;
        font-variant-caps: normal;
        transition: .3s all ease-in-out;
    }
    .ql-portrait-plaque .g-blockcontent-subcontent-title-text {
        margin: 0;
        padding: 0;
        color: var(--default-white);
        font-size: min(1.25vw, 1.25rem);
        text-align: center;
        line-height: 1.2;
        font-weight: 400;
        text-transform: none;
        font-variant-caps: normal;
        transition: .3s all ease-in-out;
    }
    .ql-portrait-plaque .g-blockcontent-buttons {
        margin: 0;
        padding: 0;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        height: 100%;
        width: 100%;
        opacity: 0;
    }
    .ql-portrait-plaque .g-blockcontent-buttons a {
        margin: 0;
        padding: 0;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        height: 100%;
        width: 100%;
        opacity: 0;
    }
}

@media only screen and (max-width: 50.99rem) {
    .ql-portrait-plaque {
        margin: 0;
        padding: 0;
    }
    .ql-portrait-plaque > .g-content {
        margin: 0;
        padding: 0;
    }
    .ql-portrait-plaque > .g-content > div {
        margin: 0;
        padding: 0;
    }
    .ql-portrait-plaque .g-blockcontent {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }
    .ql-portrait-plaque .g-blockcontent-subcontent {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: row;
        gap: 1rem 2rem;
        justify-content: center;
    }
    .ql-portrait-plaque .g-blockcontent-subcontent-block {
        margin: 0;
        padding: 0;
        position: relative;
        flex: 1;
        transition: .3s all ease-in-out;
        min-width: calc(50% - 1rem);
        max-width: calc(50% - 1rem);
    }
    .ql-portrait-plaque .g-blockcontent-subcontent-block:hover {
        transform: scale(1.05);
    }
    .ql-portrait-plaque .g-blockcontent-subcontent-block:hover .g-blockcontent-subcontent-title {
        background: var(--tertiary-color);
    }
    .ql-portrait-plaque .g-blockcontent-subcontent-block-content {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 1rem;
        height: 100%;
        transition: .3s all ease-in-out;
    }
    .ql-portrait-plaque .g-blockcontent-subcontent-img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 3/4;
        object-position: center;
        object-fit: cover;
        border-radius: .5rem;
        overflow: hidden;
        box-shadow: var(--default-box-shadow);
        transition: .3s all ease-in-out;
    }
    .ql-portrait-plaque .g-blockcontent-subcontent-title {
        margin: 0;
        padding: .5rem 1rem;
        flex: 1;
        background: var(--primary-color);
        border-radius: .5rem;
        overflow: hidden;
        box-shadow: var(--default-box-shadow);
        border: 2px solid var(--secondary-color);
        display: flex;
        justify-content: center;
        align-items: center;
        line-height: 1.2;
        font-weight: 400;
        text-transform: none;
        font-variant-caps: normal;
        transition: .3s all ease-in-out;
    }
    .ql-portrait-plaque .g-blockcontent-subcontent-title-text {
        margin: 0;
        padding: 0;
        color: var(--default-white);
        font-size: 4vw;
        text-align: center;
        line-height: 1.2;
        font-weight: 400;
        text-transform: none;
        font-variant-caps: normal;
        transition: .3s all ease-in-out;
    }
    .ql-portrait-plaque .g-blockcontent-buttons {
        margin: 0;
        padding: 0;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        height: 100%;
        width: 100%;
        opacity: 0;
    }
    .ql-portrait-plaque .g-blockcontent-buttons a {
        margin: 0;
        padding: 0;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        height: 100%;
        width: 100%;
        opacity: 0;
    }
}

/*MAIN*/
@media only screen and (min-width: 50.99rem) {
    .site-home #g-container-main {
        background: url('/images/template/bg-upcoming-events.jpg') 50% 50% no-repeat;
        background-size: cover;
        position: relative;
        border-top: none;
        border-bottom: none;
    }
    .site-home #g-container-main:before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 1;
        background: rgba(var(--primary-color-rgb),.85);
        backdrop-filter: blur(30px);
        --webkit-backdrop-filter: blur(30px);
    }
    .site-home #g-container-main:after {
        content: '';
        position: absolute;
        bottom: .5rem;
        left: 0;
        right: 0;
        width: 100%;
        border-bottom: .25rem solid var(--secondary-color);
        z-index: 2;
    }
    .site-home #g-container-main > .g-container {
        position: relative;
        z-index: 2;
        padding: min(5vw, 5rem) min(4vw, 4rem)!important;
    }

    .site-home #g-container-main:has(.headlines-rounded-square) .news-title h2 {
        text-align: left;
        text-transform: none;
        font-variant-caps: normal;
        color: var(--secondary-color);
    }
    .site-home #g-container-main:has(.headlines-rounded-square) .button {
        border-radius: .25rem;
        border: none;
        padding: min(1vw, 1rem) min(5vw, 5rem);
        color: var(--primary-color);
    }

    .site-home .ph-rounded-square .g-content-array > .g-grid {
        --ph-background-color: var(--default-white);
    }
    .site-home .ph-rounded-square .g-item-title {
        --ph-title-color: var(--default-black);
    }
}

@media only screen and (max-width: 50.99rem) {
    .site-home #g-container-main > .g-container > .g-grid {
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }
    .site-home #g-container-main > .g-container > .g-grid > .g-block {
        width: 100%;
    }
    .site-home #g-container-main {
        background: url('/images/template/bg-upcoming-events.jpg') 50% 50% no-repeat;
        background-size: cover;
        position: relative;
        border-top: none;
        border-bottom: none;
    }
    .site-home #g-container-main:before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 1;
        background: rgba(var(--primary-color-rgb),.85);
        backdrop-filter: blur(30px);
        --webkit-backdrop-filter: blur(30px);
    }
    .site-home #g-container-main:after {
        content: '';
        position: absolute;
        bottom: .5rem;
        left: 0;
        right: 0;
        width: 100%;
        border-bottom: .25rem solid var(--secondary-color);
        z-index: 2;
    }
    .site-home.withmaxwidth #g-container-main > .g-container {
        position: relative;
        z-index: 2;
        padding: 2rem 0!important;
    }

    .site-home #g-container-main:has(.headlines-rounded-square) .news-title h2 {
        text-align: center;
        text-transform: none;
        font-variant-caps: normal;
        color: var(--secondary-color);
    }
    .site-home #g-container-main .news-button {
        padding: 0 1rem!important;
    }
    .site-home #g-container-main:has(.headlines-rounded-square) .button {
        border-radius: .25rem;
        border: none;
        padding: 1rem;
        color: var(--primary-color);
    }

    .site-home .ph-rounded-square .g-content-array > .g-grid {
        --ph-background-color: var(--default-white);
    }
    .site-home .ph-rounded-square .g-item-title {
        --ph-title-color: var(--default-black);
    }
}

/*EXPANDED*/
@media only screen and (min-width: 50.99rem) {
    .site-home #g-expanded {
        background: url('/images/template/bg-marble-texture.jpg') 50% 50% no-repeat;
        background-size: cover;
        padding-bottom: calc(75px + min(4vw, 4rem))!important;
        margin-bottom: calc(-75px - min(4vw, 4rem))!important;
    }
    .widget-parthenon-alt > .g-container {
        --widget-parthenon-section-padding: min(4vw, 4rem);
    }

    .widget-parthenon-alt > .g-container > .g-grid {
        --widget-section-gap: min(3vw, 3rem);
    }

    .widget-container .widget-wrapper .widget-title .g-title {
        --widget-title-text-align: left;
        --widget-title-color: var(--primary-color);
        color: var(--primary-color);
        --widget-title-font-size: min(2.5vw, 2.5rem);
    }
    .widget-container .widget-wrapper .widget-feed {
        overflow: visible;
        padding: min(.5vw, .5rem) 0;
    }
    .widget-container .widget-wrapper .widget-feed .widget-feed-inner-box {
        --widget-feed-inner-box-bg: var(--default-white);
        --widget-feed-inner-box-border-radius: 1rem;
        --widget-feed-inner-box-shadow: var(--default-box-shadow);
    }

    .lr-widget-wrapper .widget-feed-inner-box {
        padding: min(1.25vw, 1.25rem)!important;
    }
    .lr-widget-wrapper .widget-feed-inner-box h6 {
        color: var(--primary-color);
        font-size: min(1.75vw, 1.75rem);
        text-transform: none;
        font-variant-caps: normal;
        font-family: var(--title-font-family);
        font-weight: 500;
    }
    .lr-widget-wrapper .widget-feed-inner-box p {
        color: var(--default-black);
        font-size: min(1.25vw, 1.25rem);
        line-height: 1.5;
    }
    .lr-widget-wrapper .widget-feed-inner-box .button {
        padding: min(1vw, 1rem) min(4vw, 4rem);
        margin-top: min(.75vw, .75rem);
    }

    .widget-container .widget-wrapper .widget-button .button {
        --headlines-buttons-color: var(--primary-color);
    }
}

@media only screen and (max-width: 50.99rem) {
    .site-home #g-expanded {
        background: url('/images/template/bg-marble-texture.jpg') 50% 50% no-repeat;
        background-size: cover;
    }
    .widget-parthenon-alt > .g-container {
        --widget-parthenon-section-padding-mobile: 2rem;
    }

    .widget-parthenon-alt > .g-container > .g-grid {
        --widget-section-gap-mobile: 2rem;
    }

    .widget-container .widget-wrapper .widget-title .g-title {
        --widget-title-text-align: center;
        --widget-title-color: var(--primary-color);
        color: var(--primary-color);
        --widget-title-font-size-mobile: 8vw;
    }
    .widget-container .widget-wrapper .widget-feed {
        overflow: visible;
        padding: min(.5vw, .5rem) 0;
    }
    .widget-container .widget-wrapper .widget-feed .widget-feed-inner-box {
        --widget-feed-inner-box-bg: var(--default-white);
        --widget-feed-inner-box-border-radius: 1rem;
        --widget-feed-inner-box-shadow: var(--default-box-shadow);
    }

    .calendar-widget-wrapper .widget-feed-inner-box iframe {
        height: 120vw!important;
    }

    .lr-widget-wrapper .widget-feed-inner-box {
        padding: 1rem!important;
    }
    .lr-widget-wrapper .widget-feed-inner-box h6 {
        color: var(--primary-color);
        font-size: 5vw;
        text-transform: none;
        font-variant-caps: normal;
        font-family: var(--title-font-family);
        font-weight: 500;
    }
    .lr-widget-wrapper .widget-feed-inner-box p {
        color: var(--default-black);
        font-size: 4vw;
        line-height: 1.5;
    }
    .lr-widget-wrapper .widget-feed-inner-box .button {
        padding: 1rem;
        margin-top: .5rem;
    }

    .widget-container .widget-wrapper .widget-button .button {
        --headlines-buttons-color-mobile: var(--primary-color);
    }
}

/*FOOTER*/
.link-line {
    text-decoration: underline;
}

@media only screen and (min-width: 50.99rem) {
    #g-container-footer {
        border-bottom: 1rem solid var(--secondary-color);
    }

    #g-footer > .g-container {
        padding: min(2vw, 2rem) min(4vw, 4rem) min(6vw, 6rem) min(4vw, 4rem)!important;
    }

}

@media only screen and (max-width: 50.99rem) {
    #g-container-footer {
        border-bottom: 1rem solid var(--secondary-color);
    }

    #g-footer > .g-container {
        padding: 2rem 1rem 5rem 1rem!important;
    }
}

@media only screen and (min-width: 50.99rem) {
    .footer-wrapper {
        display: flex;
        flex-direction: row;
        gap: min(3vw, 3rem);
    }
    .footer-wrapper .footer-emblem img {
        width: min(8vw, 6rem);
    }
    .footer-wrapper .footer-content {
        display: flex;
        flex-direction: row;
        gap: min(1.5vw, 1.5rem);
        flex: 1;
    }
    .footer-wrapper .footer-inner-content {
        display: flex;
        flex-direction: row;
        gap: min(3vw, 3rem);
        flex: 1;
    }
    .footer-wrapper .footer-inner-content .footer-content-column {
        flex: 1;
    }
    .footer-wrapper .footer-content h1 {
        margin: 0;
        padding: 0;
        color: var(--secondary-color);
        font-size: min(2vw, 2rem);
        font-weight: 700;
        line-height: 1.2;
        font-family: var(--title-font-family);
        text-transform: none;
        font-variant-caps: normal;
        margin-bottom: min(1.25vw, 1.25rem);
    }
    .footer-wrapper .footer-content h1 > a {
        color: var(--secondary-color)!important;
    }
    .footer-wrapper .footer-content p {
        margin: 0;
        padding: 0;
        color: var(--default-white);
        font-size: min(1.25vw, 1.25rem);
        line-height: 1.5;
        font-family: var(--body-font-family);
    }
    .footer-wrapper .footer-links .footer-inner-links {
        display: flex;
        flex-direction: column;
    }
    .footer-wrapper .footer-links .footer-inner-links a {
        margin: 0;
        padding: 0;
        color: var(--default-white);
        font-size: min(1.25vw, 1.25rem);
        line-height: 1.85;
        font-family: var(--body-font-family);
    }
}

@media only screen and (max-width: 50.99rem) {
    .footer-wrapper {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }
    .footer-wrapper .footer-emblem {
        text-align: center;
    }
    .footer-wrapper .footer-emblem img {
        width: 20vw;
    }
    .footer-wrapper .footer-content {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        flex: 1;
    }
    .footer-wrapper .footer-inner-content {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        flex: 1;
    }
    .footer-wrapper .footer-inner-content .footer-content-column {
        flex: 1;
    }
    .footer-wrapper .footer-content h1 {
        margin: 0;
        padding: 0;
        color: var(--secondary-color);
        font-size: 6vw;
        font-weight: 700;
        line-height: 1.2;
        font-family: var(--title-font-family);
        text-transform: none;
        font-variant-caps: normal;
        margin-bottom: 1rem;
    }
    .footer-wrapper .footer-content h1 > a {
        color: var(--secondary-color)!important;
    }
    .footer-wrapper .footer-content p {
        margin: 0;
        padding: 0;
        color: var(--default-white);
        font-size: 4vw;
        line-height: 1.5;
        font-family: var(--body-font-family);
    }
    .footer-wrapper .footer-links .footer-inner-links {
        display: flex;
        flex-direction: column;
    }
    .footer-wrapper .footer-links .footer-inner-links a {
        margin: 0;
        padding: 0;
        color: var(--default-white);
        font-size: 4vw;
        line-height: 1.85;
        font-family: var(--body-font-family);
    }
}

/*BOTTOM*/
@media only screen and (min-width: 50.99rem) {
    .site-home #g-bottom {
        background: transparent!important;
    }
}

@media only screen and (min-width: 50.99rem) {
    #g-bottom {
        position: relative;
        z-index: 10;
    }
    #g-bottom > .g-container {
        padding: 2rem 0!important;
    }
    #g-bottom .admod td {
        padding-top: 0!important;
    }
}

@media only screen and (max-width: 50.99rem) {
    #g-bottom {
        position: relative;
        z-index: 10;
    }
    #g-bottom > .g-container {
        padding: 2rem 0!important;
    }
    #g-bottom .admod td {
        padding-top: 0!important;
    }
}

.search-page #searchForm .btn {
    background: var(--primary-color);
}

.grid-articles .g-array-item-text a:not(a.button) {
    color: var(--primary-color);
}
.grid-articles .g-array-item-text a {
    color: var(--primary-color);
}

@media only screen and (max-width: 50.99rem) {
    .admod.adside tbody {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: .5rem .5rem;
    }
}

@media only screen and (max-width: 50.99rem) {
    body#site-grid.newslayout #g-container-main > .g-container {
        padding: 2rem 1rem!important;
    }
    body#site-grid.newslayout #g-container-main #g-mainbar {
        margin: 0!important;
        padding: 0!important;
    }

    #site-grid.newslayout .grid-mobile-stacked .g-item-title {
        --grid-title-font-size: 3vw;
    }
}

@media only screen and (max-width: 50.99rem) {
    body .side-menu-particle .g-blockcontent-subcontent-title-text {
        --side-menu-font-size-desktop: 4vw;
    }
}

@media only screen and (min-width: 50.99rem) {
    .landing #g-container-top {
        background: transparent;
    }
    #g-container-top > .g-container {
        background: transparent;
    }
    .landing #g-navigation {
        background: transparent;
    }
    .landing #g-above {
        background: transparent;
    }

    .landing #g-page-surround {
        background: linear-gradient(to top, #16315B 0%, #628BD1 100%) !important;
    }

    .landing #g-container-footer {
        border: none!important;
    }
}

@media only screen and (max-width: 50.99rem) {
    .landing #g-container-top {
        background: transparent;
    }
    #g-container-top > .g-container {
        background: transparent;
    }
    .landing #g-navigation {
        background: transparent;
    }
    .landing #g-above {
        background: transparent;
    }

    .landing #g-page-surround {
        background: linear-gradient(to top, #16315B 0%, #628BD1 100%) !important;
    }

    .landing #g-container-footer {
        border: none!important;
    }
}

@media only screen and (min-width: 50.99rem) {
    .landing #g-navigation > .g-container {
        padding: min(2vw, 2rem) min(4vw, 4rem)!important;
    }
    .landing #g-above > .g-container {
        padding: min(4vw, 4rem)!important;
    }
}

@media only screen and (max-width: 50.99rem) {
    .landing.withmaxwidth #g-navigation > .g-container {
        padding: 2rem 0!important;
    }
    .landing.withmaxwidth #g-above > .g-container {
        padding: 2rem 0!important;
    }

    .landing .g-offcanvas-toggle {
        display: none!important;
    }
}

@media only screen and (min-width: 50.99rem) {
    .landing-items {
        margin: 0;
        padding: 0;
    }
    .landing-items > .g-content {
        margin: 0;
        padding: 0;
    }
    .landing-items .g-content-array {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: row;
        gap: min(5vw, 5rem);
        align-items: stretch;
    }
    .landing-items .g-content-array > .g-grid {
        margin: 0;
        padding: 0;
        flex: 1;
        align-items: unset!important;
    }
    .landing-items .g-content-array > .g-grid > .g-block {
        margin: 0;
        padding: 0;
    }
    .landing-items .g-content-array > .g-grid > .g-block > .g-content {
        margin: 0;
        padding: 0;
    }
    .landing-items .g-array-item {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: min(1.5vw, 1.5rem);
    }
    .landing-items .g-array-item-image {
        margin: 0;
        padding: 0;
        pointer-events: none!important;
    }
    .landing-items .g-array-item-image a {
        margin: 0;
        padding: 0;
    }
    .landing-items .g-array-item-image img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 1/1;
        object-position: center;
        object-fit: cover;
        border-radius: 1rem;
        overflow: hidden;
        box-shadow: var(--default-box-shadow);
    }
    .landing-items .g-array-item-text {
        margin: 0;
        padding: 0;
    }
    .landing-items .g-array-item-text h2 {
        color: var(--default-white);
        font-size: min(2vw, 2rem);
        line-height: 1.2;
        font-weight: 500;
        text-transform: none;
        font-variant-caps: normal;
        font-family: var(--title-font-family);
    }
    .landing-items .g-array-item-text a {
        color: var(--default-white)!important;
        transition: .3s all ease-in-out;
    }
    .landing-items .g-array-item-text a:hover {
        opacity: .5;
    }
    .landing-items .g-array-item-text .button {
        width: 100%;
        padding: min(1vw, 1rem);
        background: var(--secondary-color);
        font-size: min(1.5vw, 1.5rem);
        color: var(--primary-color)!important;
        line-height: 1;
    }
    .landing-items .g-array-item-text p {
        font-family: var(--body-font-family);
        line-height: 1.4;
        font-size: min(1.25vw, 1.25rem);
        color: var(--default-white);
    }
}

@media only screen and (max-width: 50.99rem) {
    .landing-items {
        margin: 0;
        padding: 0;
    }

    .landing-items > .g-content {
        margin: 0;
        padding: 0;
    }

    .landing-items .g-content-array {
        margin: 0;
        padding: 1rem;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 1.5rem;

        overflow-x: auto;
        overflow-y: hidden;

        scroll-snap-type: x mandatory;
        scroll-padding-inline: 10%; /* 👈 centers snap position */

        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .landing-items .g-content-array::-webkit-scrollbar {
        display: none;
    }

    /* 👇 Center first & last cards */
    .landing-items .g-content-array::before,
    .landing-items .g-content-array::after {
        content: "";
        flex: 0 0 10%; /* matches scroll-padding */
    }

    .landing-items .g-content-array > .g-grid {
        margin: 0;
        padding: 0;

        flex: 0 0 80%;
        max-width: 80%;

        align-items: unset !important;

        scroll-snap-align: center; /* 👈 snap to center */
        scroll-snap-stop: always;  /* 👈 prevents skipping */
    }

    .landing-items .g-content-array > .g-grid > .g-block {
        margin: 0;
        padding: 0;
    }

    .landing-items .g-content-array > .g-grid > .g-block > .g-content {
        margin: 0;
        padding: 0;
    }

    .landing-items .g-array-item {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .landing-items .g-array-item-image {
        margin: 0;
        padding: 0;
        pointer-events: none !important;
        text-align: center;
    }

    .landing-items .g-array-item-image img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        object-position: center;
        object-fit: cover;
        border-radius: 1rem;
        overflow: hidden;
        box-shadow: var(--default-box-shadow);
    }

    .landing-items .g-array-item-text {
        margin: 0;
        padding: 0;
    }

    .landing-items .g-array-item-text h2 {
        color: var(--default-white);
        font-size: 6vw;
        line-height: 1.2;
        font-weight: 500;
        font-family: var(--title-font-family);
    }

    .landing-items .g-array-item-text a {
        color: var(--default-white) !important;
        transition: .3s all ease-in-out;
    }

    .landing-items .g-array-item-text a:hover {
        opacity: .5;
    }

    .landing-items .g-array-item-text .button {
        width: 100%;
        padding: 1rem;
        background: var(--secondary-color);
        font-size: 4vw;
        color: var(--primary-color) !important;
        line-height: 1;
    }

    .landing-items .g-array-item-text p {
        font-family: var(--body-font-family);
        line-height: 1.4;
        font-size: 4vw;
        color: var(--default-white);
    }
}