.ava-footer-shell,
.ava-footer-shell * {
    box-sizing: border-box;
}

.ava-footer-shell {
    position: relative;
    width: var(--ava-viewport-width,100vw);
    max-width: none;

    margin-left: calc(50% - var(--ava-viewport-width,100vw) / 2);
    margin-right: calc(50% - var(--ava-viewport-width,100vw) / 2);

    padding-left: clamp(10px, 2vw, 38px);
    padding-right: clamp(10px, 2vw, 38px);

    direction: rtl;
    font-family: inherit;

    color: #17282d;
    line-height: 1.8;

    overflow-x: hidden;
}

.ava-footer-shell img {
    max-width: 100%;
}



.ava-footer-shell a:focus-visible,
.ava-footer-shell button:focus-visible,
.ava-footer-shell summary:focus-visible { outline: 3px solid #187ead; outline-offset: 4px; }
.ava-footer-shell bdi { unicode-bidi: isolate; }
@media(max-width:780px) {
    .ava-footer-shell { padding-left: 7px; padding-right: 7px; }
}



/* =========================================================
   FOOTER
   ========================================================= */

.ava-footer {
    overflow: hidden;

    width: 100%;

    background:
        radial-gradient(
            circle at 88% 0%,
            rgba(44,189,159,.23),
            transparent 31%
        ),
        linear-gradient(135deg,#132a2f,#0c1b20);

    color: #fff;

    border-radius: 25px 25px 0 0;
}

.ava-footer-main {
    display: grid;

    grid-template-columns:
        1.25fr 1fr 1fr;

    gap: 30px;

    padding: 38px 35px 30px;
}

.ava-footer-brand {
    margin-bottom: 8px;

    font-size: 29px;
    font-weight: 900;
}

.ava-footer-brand span {
    color: #45c5ab;
}

.ava-footer-description {
    max-width: 480px;

    margin: 0;

    color: #afc1c3;

    font-size: 12px;
    line-height: 2;
}

.ava-footer-title {
    margin-bottom: 10px;

    font-size: 14px;
    font-weight: 900;
}

.ava-contact {
    margin-bottom: 7px;

    color: #c2d0d2;

    font-size: 12px;
}

.ava-contact a {
    color: #fff !important;

    font-weight: 800;

    text-decoration: none !important;
}

.ava-messenger-number {
    display: inline-block;

    margin-top: 7px;

    color: #5ed4bb !important;

    font-size: 16px;
    font-weight: 900;

    direction: ltr;

    text-decoration: none !important;
}

.ava-social-tags {
    display: flex;
    flex-wrap: wrap;

    gap: 5px;

    margin-top: 10px;
}

.ava-social-tags a,
.ava-social-tags span {
    padding: 4px 9px;

    background:
        rgba(255,255,255,.05);

    color: #dce7e8 !important;

    border:
        1px solid rgba(255,255,255,.12);

    border-radius: 50px;

    font-size: 10.5px;

    text-decoration: none !important;
}

.ava-footer-bottom {
    padding: 13px 20px;

    text-align: center;

    color: #82989a;

    font-size: 10.5px;

    border-top:
        1px solid rgba(255,255,255,.08);
}



/* Responsive layout; keep images uncropped and text in reading order. */
@media(max-width:1050px) {
    .ava-footer-main { gap: 22px; padding: 30px 24px; }}
@media(max-width:780px) {
    .ava-footer-main { grid-template-columns: minmax(0,1fr); }}
/* Five footer columns; media assets are served as cacheable files. */
.ava-footer-shell .ava-footer-main { grid-template-columns: minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,1.25fr); gap: clamp(18px,2vw,32px); padding: 34px clamp(20px,2.3vw,38px) 26px; }
.ava-footer-main > * { min-width: 0; }
.ava-footer-shell .ava-footer-title { margin: 0 0 15px; color: #fff; font-size: 14px; font-weight: 850; line-height: 1.8; }
.ava-footer-shell .ava-footer-description { max-width: none; line-height: 2.05; }
.ava-footer-intro .ava-footer-description { text-align: justify; text-align-last: right; }
.ava-footer-links { list-style: none; padding: 0; margin: 0; }
.ava-footer-links li { margin: 0 0 5px; }
.ava-footer-shell .ava-footer-links a { display: inline-block; padding: 4px 0; color: #c6d6d8 !important; text-decoration: none !important; font-size: 12px; line-height: 1.9; }
.ava-footer-shell .ava-footer-links a:hover { color: #70e1c8 !important; }
.ava-footer-shell .ava-footer-call { display: inline-flex; align-items: center; justify-content: center; margin-top: 15px; padding: 8px 14px; border: 1px solid #3e8e7d; border-radius: 9px; background: #174e45; color: #fff !important; text-decoration: none !important; font-size: 12px; font-weight: 800; }
.ava-footer-contact .ava-contact { margin: 0 0 12px; line-height: 2; }
.ava-footer-contact a { display: inline-block; white-space: nowrap; }
.ava-footer-messengers { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 23px clamp(20px,2.3vw,38px); border-top: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.025); }
.ava-footer-messengers > div { min-width: 0; }
.ava-footer-messengers .ava-footer-title { margin-bottom: 5px; }
.ava-footer-socials { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.ava-footer-shell .ava-footer-social { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 6px 10px; border: 1px solid rgba(255,255,255,.16); border-radius: 11px; color: #fff !important; text-decoration: none !important; font-size: 12px; font-weight: 750; background: rgba(255,255,255,.045); }
.ava-footer-shell .ava-footer-social:hover { background: rgba(255,255,255,.12); border-color: #76c9b5; }
.ava-social-symbol { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; flex: 0 0 34px; padding: 3px; border-radius: 9px; background: #fff; }
.ava-footer-shell .ava-social-symbol img { display: block; width: 28px !important; height: 28px !important; object-fit: contain !important; }
.ava-footer-shell .ava-footer-bottom { padding: 16px 20px; color: #c5d5d7; font-size: 12px; line-height: 2; }
/* Remove only the CMS space between this footer and the following separator. */
.body-content > .container-fluid:has(.ava-footer-shell),
.body-content > .container-fluid > section.mb-5:has(.ava-footer-shell) { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.body-content > .container-fluid > section.mb-5:has(.ava-footer-shell) > p:empty { display: none; }
.body-content:has(.ava-footer-shell) > hr { margin-top: 0 !important; }
@media(max-width:1100px) {
    .ava-footer-shell .ava-footer-main { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .ava-footer-messengers { flex-direction: column; align-items: stretch; }}
@media(max-width:780px) {
    .ava-footer-shell .ava-footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 18px; padding: 27px 20px; }
    .ava-footer-intro { grid-column: 1 / -1; }}
@media(max-width:400px) {
    .ava-footer-shell .ava-footer-main { grid-template-columns: minmax(0,1fr); }
    .ava-footer-intro { grid-column: auto; }
    .ava-footer-socials { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ava-footer-shell .ava-footer-social { padding: 6px 8px; }}


/* Compact Ava mark and original wordmark, integrated with the footer background. */
.ava-footer-shell .ava-footer-identity { display: flex; align-items: center; gap: 10px; width: fit-content; max-width: 100%; margin: 0 0 16px; color: #fff !important; text-decoration: none !important; }
.ava-footer-shell .ava-footer-mark { display: block; flex: 0 0 58px; width: 58px; height: 58px; max-width: none; object-fit: contain; mix-blend-mode: screen; }
.ava-footer-shell .ava-footer-identity .ava-footer-brand { display: block; margin: 0; color: #fff; font-size: clamp(23px,1.65vw,29px); font-weight: 900; line-height: 1.5; white-space: nowrap; }
.ava-footer-shell .ava-footer-identity .ava-footer-brand span { color: #45c5ab; }
.ava-footer-shell .ava-footer-identity:focus-visible { outline: 2px solid #45c5ab; outline-offset: 5px; border-radius: 6px; }
@media (min-width:1101px) and (max-width:1250px) {
 .ava-footer-shell .ava-footer-mark { flex-basis: 46px; width: 46px; height: 46px; }
 .ava-footer-shell .ava-footer-identity { gap: 7px; }
 .ava-footer-shell .ava-footer-identity .ava-footer-brand { font-size: 22px; }}

/* Footer mark beside the closing company statement. */
.ava-footer-shell .ava-footer-signature { display: flex; align-items: center; justify-content: center; gap: 12px; width: fit-content; max-width: 100%; margin-inline: auto; text-align: right; }
.ava-footer-shell .ava-footer-signature .ava-footer-mark { flex: 0 0 48px; width: 48px; height: 48px; }
.ava-footer-shell .ava-footer-signature > span { min-width: 0; line-height: 2; }
@media(max-width:480px) {
 .ava-footer-shell .ava-footer-signature { gap: 9px; }
 .ava-footer-shell .ava-footer-signature .ava-footer-mark { flex-basis: 40px; width: 40px; height: 40px; }}

/* Final mobile alignment upgrade. */
@media(max-width:780px) {
    .ava-footer-shell { padding-inline: 8px; }
    .ava-footer { border-radius: 19px 19px 0 0; }
    .ava-footer-shell .ava-footer-main {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 12px;
        padding: 16px 12px 14px;
    }
    .ava-footer-shell .ava-footer-intro {
        grid-column: 1 / -1;
        padding: 18px;
        border: 1px solid rgba(92,211,184,.22);
        border-radius: 16px;
        background: linear-gradient(145deg,rgba(69,197,171,.13),rgba(255,255,255,.035));
    }
    .ava-footer-shell .ava-footer-intro .ava-footer-identity { margin-bottom: 10px; }
    .ava-footer-shell .ava-footer-intro .ava-footer-description {
        font-size: 12.5px;
        line-height: 2;
        text-align: right;
        text-align-last: auto;
    }
    .ava-footer-shell .ava-footer-call {
        width: 100%;
        min-height: 44px;
        margin-top: 13px;
        padding: 8px 12px;
    }
    .ava-footer-main > nav,
    .ava-footer-main > .ava-footer-contact {
        align-self: stretch;
        min-width: 0;
        padding: 15px 13px;
        border: 1px solid rgba(255,255,255,.1);
        border-radius: 14px;
        background: rgba(255,255,255,.045);
    }
    .ava-footer-shell .ava-footer-title {
        margin: 0 0 8px;
        padding-bottom: 7px;
        border-bottom: 1px solid rgba(255,255,255,.1);
        font-size: 13.5px;
    }
    .ava-footer-links li { margin: 0; }
    .ava-footer-shell .ava-footer-links a {
        display: block;
        padding: 6px 0;
        font-size: 12px;
        line-height: 1.75;
    }
    .ava-footer-contact .ava-contact {
        margin: 0;
        padding: 5px 0;
        font-size: 11.5px;
        line-height: 1.8;
        overflow-wrap: anywhere;
    }
    .ava-footer-messengers {
        gap: 15px;
        padding: 18px 12px;
    }
    .ava-footer-messengers > div { text-align: right; }
    .ava-footer-socials {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 9px;
        width: 100%;
    }
    .ava-footer-shell .ava-footer-social {
        justify-content: flex-start;
        width: 100%;
        min-width: 0;
        min-height: 56px;
        padding: 7px 9px;
    }
    .ava-footer-shell .ava-footer-social:last-child:nth-child(odd) {
        grid-column: 1 / -1;
        justify-content: center;
    }
    .ava-footer-shell .ava-footer-bottom { padding: 17px 14px; }
    .ava-footer-shell .ava-footer-signature {
        width: 100%;
        max-width: 390px;
        justify-content: center;
        margin-inline: auto;
        text-align: center;
    }
}

@media(max-width:420px) {
    .ava-footer-shell .ava-footer-main { gap: 10px; padding: 13px 10px; }
    .ava-footer-shell .ava-footer-intro { padding: 16px 14px; }
    .ava-footer-main > nav,
    .ava-footer-main > .ava-footer-contact { padding: 13px 11px; }
    .ava-footer-shell .ava-footer-title { font-size: 13px; }
    .ava-footer-shell .ava-footer-links a { font-size: 11.5px; }
    .ava-footer-shell .ava-footer-social { min-height: 54px; font-size: 11.5px; }
    .ava-social-symbol { width: 32px; height: 32px; flex-basis: 32px; }
    .ava-footer-shell .ava-social-symbol img { width: 26px !important; height: 26px !important; }
}

@media(max-width:340px) {
    .ava-footer-shell .ava-footer-main { grid-template-columns: minmax(0,1fr); }
    .ava-footer-shell .ava-footer-intro { grid-column: auto; }
    .ava-footer-socials { grid-template-columns: minmax(0,1fr); }
    .ava-footer-shell .ava-footer-social:last-child:nth-child(odd) { grid-column: auto; }
}
