:root {
    --primary: #00538a;
    --cassiopeia-color-primary: var(--primary);
    --cassiopeia-color-hover: #002945;
    --cassiopeia-color-link: var(--primary);
    --color-primary: var(--primary);
    --secondary: #4c5261;
    --color-secondary: var(--secondary);
    --template-text-dark: #000;
    --body-color: #000;
    --border-color: #555;
    --font-sans-serif: "Open Sans", sans-serif;
    --font-menu: "Futura Now Headline", "Helvetica Neue", Helvetica, Arial,
        sans-serif;
    --body-font-family: var(--font-sans-serif);
    --body-color: #000;
    --primary-rgb: 0, 83, 138;
    --border-radius-xl: 1rem;
    --warning-rgb: 226, 188, 100;
}

/* Basic Animations */
/* ----------------------------------------------
 * Generated by Animista on 2025-8-25 11:6:8
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: https://animista.net, t: @cssanimista
 * ---------------------------------------------- */
.fade-in {
    animation: fade-in 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}
.fade-in-left {
    animation: fade-in-left 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}
.fade-in-right {
    animation: fade-in-right 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}
.fade-in-bottom {
    animation: fade-in-bottom 1s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}
.slide-in-blurred-bottom {
    animation: slide-in-blurred-bottom 0.6s cubic-bezier(0.23, 1, 0.32, 1) both;
}
.slide-in-blurred-left {
    animation: slide-in-blurred-left 0.6s cubic-bezier(0.23, 1, 0.32, 1) both;
}
.slide-in-blurred-right {
    animation: slide-in-blurred-right 0.6s cubic-bezier(0.23, 1, 0.32, 1) both;
}
.tracking-in-expand-fwd-top {
    animation: tracking-in-expand-fwd-top 0.8s
        cubic-bezier(0.215, 0.61, 0.355, 1) both;
}
.text-focus-in {
    animation: text-focus-in 1s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
}
.slit-in-horizontal {
    animation: slit-in-horizontal 0.45s ease-out both;
}
.slit-in-vertical {
    animation: slit-in-vertical 0.45s ease-out both;
}
.slit-in-diagonal-2 {
    animation: slit-in-diagonal-2 0.45s ease-out both;
}

@keyframes fade-in-left {
    0% {
        transform: translateX(-50px);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}
@keyframes fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes fade-in-right {
    0% {
        transform: translateX(50px);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}
@keyframes slide-in-blurred-bottom {
    0% {
        transform: translateY(1000px) scaleY(2.5) scaleX(0.2);
        transform-origin: 50% 100%;
        filter: blur(40px);
        opacity: 0;
    }
    100% {
        transform: translateY(0) scaleY(1) scaleX(1);
        transform-origin: 50% 50%;
        filter: blur(0);
        opacity: 1;
    }
}
@keyframes slide-in-blurred-left {
    0% {
        transform: translateX(-1000px) scaleX(2.5) scaleY(0.2);
        transform-origin: 100% 50%;
        filter: blur(40px);
        opacity: 0;
    }
    100% {
        transform: translateX(0) scaleY(1) scaleX(1);
        transform-origin: 50% 50%;
        filter: blur(0);
        opacity: 1;
    }
}
@keyframes slide-in-blurred-right {
    0% {
        transform: translateX(1000px) scaleX(2.5) scaleY(0.2);
        transform-origin: 0 50%;
        filter: blur(40px);
        opacity: 0;
    }
    100% {
        transform: translateX(0) scaleY(1) scaleX(1);
        transform-origin: 50% 50%;
        filter: blur(0);
        opacity: 1;
    }
}
@keyframes tracking-in-expand-fwd-top {
    0% {
        letter-spacing: -0.5em;
        transform: translateZ(-700px) translateY(-500px);
        opacity: 0;
    }
    40% {
        opacity: 0.6;
    }
    100% {
        transform: translateZ(0) translateY(0);
        opacity: 1;
    }
}
@keyframes text-focus-in {
    0% {
        filter: blur(12px);
        opacity: 0;
    }
    100% {
        filter: blur(0);
        opacity: 1;
    }
}
@keyframes slit-in-horizontal {
    0% {
        transform: translateZ(-800px) rotateX(90deg);
        opacity: 0;
    }
    54% {
        transform: translateZ(-160px) rotateX(87deg);
        opacity: 1;
    }
    100% {
        transform: translateZ(0) rotateX(0);
        opacity: 1;
    }
}

@keyframes fade-in-bottom {
    0% {
        transform: translateY(50px);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes slit-in-vertical {
    0% {
        transform: translateZ(-800px) rotateY(90deg);
        opacity: 0;
    }
    54% {
        transform: translateZ(-160px) rotateY(87deg);
        opacity: 1;
    }
    100% {
        transform: translateZ(0) rotateY(0);
        opacity: 1;
    }
}

@keyframes slit-in-diagonal-2 {
    0% {
        transform: translateZ(-800px) rotate3d(-1, 1, 0, -90deg);
        animation-timing-function: ease-in;
        opacity: 0;
    }
    54% {
        transform: translateZ(-160px) rotate3d(-1, 1, 0, -87deg);
        animation-timing-function: ease-in-out;
        opacity: 1;
    }
    100% {
        transform: translateZ(0) rotate3d(-1, 1, 0, 0);
        animation-timing-function: ease-out;
        opacity: 1;
    }
}

.js [data-anim] {
    opacity: 0; /* invisible but keeps layout */
    visibility: hidden; /* prevents a one-frame “glimpse” */
}

.js [data-anim].pre {
    will-change: opacity, transform, filter;
}

/* When we’re about to animate, reveal instantly; your keyframes take over */
.js .animating {
    /*   opacity: 1;*/
    visibility: visible;
}

/* END Basic Animations */

@font-face {
    font-family: "Futura Now Headline";
    src: url("../fonts/fs-futura-now-headline.woff2");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

.btn {
    margin-block-end: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    margin-block-end: revert;
}

.text-bg-primary {
    background-color: var(--color-primary) !important;
    color: #fff !important;
}

.btn-secondary {
    background-color: var(--btn-bg) !important;
    color: #222 !important;
}

.btn-secondary:hover {
    background-color: var(--btn-hover-bg);
    border-color: var(--btn-hover-border-color);
    color: currentColor;
}

.bg-disabled,
.bg-disabled:focus {
    background-color: #eaedf0;
}

.bg-disabled:focus {
    background-color: #eaedf0;
}

.navbar-toggler:focus-visible {
    outline: 2px solid #000;
    outline-offset: 4px;
    border-radius: 0.375rem;
}

/* Make the definition lists look like tables. 
   Add "table" class to <dl>
*/
dl.table {
    display: grid;
    grid-auto-columns: auto;
    grid-template-columns: 40% 60%;
}

dl.table > dt,
dl.table > dd {
    padding: 0.5rem;
    border-collapse: collapse;
    margin: 0;
    border: 0 solid;
    border-bottom-width: 1px;
    border-color: inherit;
}

dl.table > dt:nth-child(4n + 1),
dl.table > dd:nth-child(4n + 2) {
    background-color: var(--table-striped-bg);
}

dl.justify-content-between > dd {
    text-align: right;
}

/* Contrast fix for ADA purposes */

.slide-desc-text-default {
    color: unset;
}

.slide-desc-in {
    color: #fff;
    background-color: #000;
    background-color: rgba(0, 0, 0, 0.55);
}

.slide-desc .slide-desc-bg-default {
    background-color: transparent;
}

.container-header .mod-finder .awesomplete > span {
    color: #000;
    background-color: #fff;
}

/* End ADA fix */

.border-primary {
    border-color: var(--primary) !important;
}

.btn-primary:focus,
.btn-primary:hover {
    color: #fff;
}

.table-secondary {
    --table-color: #fff;
    --table-bg: #575757;
}

.dl-striped dt,
.dl-striped dd {
    margin: 0;
    padding: 0.5rem 0.7rem;
    background-color: #fcfcfc;
}

.dl-striped dt:nth-child(4n + 1),
.dl-striped dd:nth-child(4n + 2) {
    background-color: #f6f6f6;
}

.form-search {
    margin-bottom: 0.8rem;
}

.container-header {
    background: #fff;
}
.container-nav {
    background: #4c5261;
}
.container-top-b {
    background: #d1dce7;
}

.footer {
    background: #00538a;
}
.debug-container {
    background: #002945;
}

.navbar-brand {
    margin: 0 auto;
}

.mod-finder label {
    margin-inline-end: 0.5rem;
}

.navbar-brand img {
    width: 320px;
}

.atm-olb-modules {
    background-color: #dadcdf;
}

.b-member {
    color: #fff;
}

.modal-body {
    word-break: break-word;
}

.container-banner {
    background: #dadcdf
        url("/media/templates/site/cassiopeia_ucscu_child/images/bg-pattern.png");
}

.footer .grid-child {
    display: block;
}

.footer .mod-menu {
    height: 100px;
}

.footer .mod-menu li {
    padding-inline-end: 0rem;
}

.footer .phone-number {
    letter-spacing: 3px;
}

.footer .grid-child {
    padding: 1rem 0.5rem;
}

.container-top-b.full-width {
    padding: 1rem 0 1rem 0;
}

.grid-child.container-top-a {
    column-gap: 2em;
}

.container-nav.full-width {
    padding-bottom: 0;
}

.container-header nav {
    margin: 0;
}

.container-bottom-a {
    background: #00538a;
}

.bmember-info {
    padding-top: 2rem;
}

#rates-container table,
#rates-container tr:not(.ratevalues) {
    display: none;
}

#rates-container table:first-child {
    display: block;
}

.ratevalues td:nth-child(odd) {
    display: none;
}

.rate-number {
    font-size: 3rem;
}

.more-rates {
    min-width: 208px;
}

.more-rates a {
    width: 50px;
    height: 50px;
    padding: 0.3rem;
    line-height: 1.5;
}

.level-1 > * {
    font-size: 0.9rem;
    line-height: 1;
    font-family: var(--font-menu);
    text-transform: uppercase;
}

.level-2 > * {
    font-family: var(--font-sans-serif);
    text-transform: none;
    font-size: 0.9rem;
}

.navbar .mod-menu .level-1 > ul {
    padding-block: 0.5rem;
    margin-block-start: 1rem;
    box-shadow: 0px 6px 20px rgba(0, 0, 0, 0.4);
}

.table-primary {
    --table-bg: #e4e7ed;
    --table-striped-bg: #f6f6f6;
}

.input-zip {
    width: calc(100% - 85px);
    z-index: 1;
}

.input-olb {
    width: calc(100% - 86px);
    z-index: 1;
}

.module-submit-button:before {
    content: "";
    background-color: var(--color-primary);
    width: 10px;
    height: 45.19px;
    position: absolute;
    top: -1px;
    left: -6px;
    display: block;
    z-index: 0;
}

.atm-olb-modules label {
    z-index: 1;
}

.rates-list li {
    border-radius: 10px;
    box-shadow: 0 0 16px -7px rgba(0, 0, 0, 0.2);
}

.container-bottom-a > *,
.container-bottom-b > *,
.container-top-a > *,
.container-top-b > * {
    margin: 0;
}

.slide-text h2 {
    font-family: var(--font-menu);
    font-size: 2rem;
    line-height: 1;
    text-transform: uppercase;
}

.slide-desc .slide-desc-text-default {
    padding: 2rem;
}

.rsfp-signature-footer .description {
    color: #444 !important;
}

.bottom-promos .slide-desc {
    bottom: 0% !important;
    left: 0% !important;
    max-width: 100%;
    height: 100%;
}

.bottom-promos .slide-desc-in {
    height: 100%;
}

.bottom-promos .slide-desc-text.slide-desc-text-default {
    padding: 1.5rem;
}

.bottom-promos .slide-text {
    text-shadow: 1px 1px 3px black;
}

body:not(.home) .container-component {
    padding: 1rem;
}

[align="center"] {
    text-align: center;
}

.form-control,
.form-select {
    border: 1px solid #363636;
}

.form-control.form-inline {
    display: inline-block;
    width: 240px;
    vertical-align: bottom;
}

.container-header .form-search {
    margin-top: 0.8rem;
}

.container-below-top .icon-menu {
    font-size: 1.7rem;
}

.navbar-collapse {
    padding-block: 0.3rem;
}

.burger-text {
    font-size: 10px;
    font-family: var(--font-sans-serif);
    display: block;
    text-transform: uppercase;
}

.container-nav .navbar-toggler {
    display: none;
}

.awesomplete > input {
    width: calc(100vw - 59px - 16px);
}

footer a:not(.btn):focus,
footer a:not(.btn):hover {
    color: #fff;
}

.social-icons a:hover {
    outline: 1px dotted #fff;
    outline-offset: 4px;
}

.header-image-text-layout .page-header {
    position: relative;
}

.header-image-text-layout .page-header-text {
    position: absolute;
    top: 50%;
    left: 5%;
    color: #fff;
    text-transform: uppercase;
    transform: translateY(-50%);
    width: 90%;
    z-index: 2;
}

.header-image-text-layout h1 {
    font-size: 1.2rem;
    margin-block-end: 0;
}

.header-image-text-layout .page-header-text p {
    font-size: 1.8rem;
    line-height: 1.2;
    font-weight: 700;
}

.header-image-text-layout .page-header-text p:last-child {
    margin-block-end: 0;
}

/* ============================== ALTERNATIVE LAYOUT STYLES ========================*/

body.wrapper-fluid .site-grid {
    grid-gap: 0;
}

body.wrapper-fluid .container-component {
    padding: 0;
}

body.wrapper-fluid main {
    margin-block-start: 0;
}

body.wrapper-fluid .page-header img {
    width: 100vw;
    max-height: 434px;
    object-fit: cover;
}

body.wrapper-fluid .page-header figure:after {
    content: "";
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.75), transparent);
    height: 100%;
    width: 100%;
    display: block;
    z-index: 2;
    position: absolute;
    top: 0;
}

.card-icon > i {
    width: 80px;
    height: 80px;
    position: absolute;
    left: calc(50% - 40px);
    top: -60px;
    background-color: #fff;
    font-size: 2rem;
    padding: 1.2rem;
    box-shadow: 0 0 3px 2px #eee;
}

.card-icon > i:before {
    top: 5px;
    position: relative;
}

#cards-grid .card-body {
    box-shadow: 0 0 3px 2px #eee;
}

.custom-bullets {
    list-style: none;
    padding-left: 1.5rem;
}

.custom-bullets li {
    position: relative;
    margin-bottom: 0.5rem;
    padding-left: 1.2rem;
}

.custom-bullets li::before {
    content: "\f0da";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--primary);
}

.text-shadow,
.page-header-text > * {
    text-shadow: 1px 1px 2px #000000aa;
}

/* =========================== Portrait version for header images =====================*/
@media (max-width: 767px) and (orientation: portrait) {
    body.wrapper-fluid .page-header {
        height: 550px !important;
        max-width: 100vw;
    }

    body.wrapper-fluid .page-header img {
        aspect-ratio: 11/16;
        object-fit: cover;
        max-height: 550px;
    }
}

/* =================================================================================*/
/* =================================== MOBILE ONLY =================================*/
/* =================================================================================*/

@media (max-width: 767.98px) {
    .container-header .container-nav nav {
        margin-top: 0;
    }

    .logo {
        width: 220px;
    }

    .container-nav .menu {
        width: 100%;
    }

    .metismenu.mod-menu .metismenu-item.level-1 {
        border-bottom: 1px solid #303540;
        border-top: 1px solid #7e7c7c;
        padding-block: 0.8rem;
    }

    .metismenu.mod-menu .metismenu-item > * {
        justify-content: space-between;
        width: 100%;
        font-size: 0.9rem;
    }

    .metismenu.mod-menu .metismenu-item.level-1:first-child {
        border-block-start: 0;
    }

    .metismenu.mod-menu .metismenu-item.level-1:last-child {
        border-block-end: 0;
    }

    .container-below-top {
        border-block-end: 1px solid #aaa;
    }
}

/* =================================================================================*/
/* ===================================== TABLET ====================================*/
/* =================================================================================*/

@media (min-width: 768px) {
    .container-top-a {
        flex-direction: row;
    }

    .navbar-brand {
        margin: 0;
    }

    .container-bottom-a img {
        object-fit: cover;
    }
    .metismenu.mod-menu {
        display: flex;
        flex-direction: row;
        padding-block: 0.8rem;
    }

    .metismenu.mod-menu .mm-toggler:after {
        border-left: 0.4rem solid transparent;
        border-right: 0.4em solid transparent;
        border-top: 0.6em solid;
        margin-inline-start: 0.7rem;
    }

    .header-image-text-layout .page-header-text {
        left: 9%;
        width: 70%;
    }

    .metismenu.mod-menu .metismenu-item {
        padding: 0.5em 0.7em;
    }

    .metismenu.mod-menu .metismenu-item.level-2 {
        line-height: 1.2;
    }

    .location:before {
        content: "";
        position: absolute;
        top: 22px;
        left: 177px;
        width: 73px;
        height: 58px;
        display: block;
        background: transparent
            url("/media/templates/site/cassiopeia_ucscu_child/images/icon-coop.svg")
            no-repeat center center;
    }

    .navbar .mod-menu .level-1 > ul {
        margin-block-start: 0.5rem;
    }
}

/* =================================================================================*/
/* =============================== DESKTOP: 992px ==================================*/
/* =================================================================================*/

@media (min-width: 992px) {
    .atm-olb-modules {
        min-height: 235px;
    }

    .navbar .mod-menu .level-1 > ul {
        margin-block-start: 1rem;
    }

    .awesomplete > input {
        max-width: 220px;
    }

    .header-image-text-layout .page-header-text {
        width: 50%;
    }

    .location:before {
        content: "";
        position: absolute;
        top: 35px;
        left: 258px;
        width: 78px;
        height: 67px;
        display: block;
        background: transparent
            url("/media/templates/site/cassiopeia_ucscu_child/images/icon-coop.svg")
            no-repeat center center;
    }

    .olb-container:before {
        background: transparent
            url("/media/templates/site/cassiopeia_ucscu_child/images/moviereel.svg")
            no-repeat center center;
        content: "";
        top: -37px;
        left: -32px;
        width: 118px;
        height: 175px;
        display: block;
        content: "";
        position: absolute;
        background-size: contain;
    }

    .atm-container:before {
        background: transparent
            url("/media/templates/site/cassiopeia_ucscu_child/images/phonen.svg")
            no-repeat center center;
        display: block;
        content: "";
        position: absolute;
        bottom: -44px;
        left: -171px;
        width: 366px;
        height: 152px;
    }

    .metismenu.mod-menu .metismenu-item.level-1 > a,
    .metismenu.mod-menu .metismenu-item.level-1 > button,
    .metismenu.mod-menu .metismenu-item.level-1 > span {
        padding-block: 0.5rem;
    }

    .container-header .metismenu > li.active > a:after,
    .container-header .metismenu > li.active > button:before,
    .container-header .metismenu > li > a:hover:after,
    .container-header .metismenu > li > button:hover:before {
        border: 0;
    }

    .footer .phone-number {
        letter-spacing: 0;
    }

    .footer .mod-menu {
        max-width: 60%;
    }

    .djslider-default #slider162 .slide-desc {
        max-width: 1600px;
        left: calc(50% - 800px) !important;
    }
    .djslider-default #slider162 .slide-desc-in {
        max-width: 644px;
        left: 104px;
    }

    .slide-desc {
        bottom: 8% !important;
    }


    .slide-text h2 {
        font-size: 1.8rem;
    }

    .footer .mod-menu {
        max-width: 50%;
    }
}

@media (max-width: 768px) and (orientation: portrait) {
    .container-banner .djslider-default,
    .container-banner .djslider-default ul.djslider-in > li {
        height: 550px !important;
    }

    .container-banner .djslider-default img.dj-image {
        aspect-ratio: 9/16;
        object-fit: cover;
    }

    .djslider-default,
    .djslider-default ul.djslider-in > li {
        height: 360px !important;
    }

    .djslider-default img.dj-image {
        aspect-ratio: 1/1;
        object-fit: cover;
    }
}
/*MOBILE*/
@media (max-width: 576px) and (orientation: portrait) {
    .container-banner .djslider-default,
    .container-banner .djslider-default ul.djslider-in > li {
        height: 550px !important;
    }
    .location:before {
        content: "";
        position: absolute;
        top: 15px;
        left: 169px;
        width: 73px;
        height: 67px;
        display: block;
        background: transparent
            url("/media/templates/site/cassiopeia_ucscu_child/images/icon-coop.svg")
            no-repeat center center;
    }
}

/* =================================================================================*/
/* =============================== XL: 1200px ==================================*/
/* =================================================================================*/

@media (min-width: 1200px) {
    .container-xl {
        max-width: 1320px;
    }
}
