/* SCROLLING FOOTER */

.scrolling-footer-container {
    display: flex;
    width: 100%;
    margin-bottom: 64px;
}

.scrolling-footer-left {
    width: 24vw;
    height: auto;
    flex-shrink: 0;
}

.scrolling-footer-center {
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 32px;
    box-sizing: border-box;
    gap: 16px;
}

.scrolling-office-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    min-width: 0;
}

.scrolling-office-info h3 {
    margin: 0 0 8px 0;
    padding: 0;
    font-size: clamp(0.8rem, 1.2vw, 1.2rem);
    font-weight: 700;
    line-height: 1.2;
    color: #040D81;
}

.scrolling-office-info p {
    margin: 0;
    padding: 2px 0;
    font-size: clamp(0.7rem, 1vw, 1rem);
    line-height: 1.4;
    color: #040D81;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.scrolling-footer-right {
    width: 20vw;
    height: auto;
    flex-shrink: 0;
    position: relative;
    margin-left: auto;
}



.scrolling-footer-logo {
    width: auto;
    height: auto;
    padding: 32px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background-color: #040D81;

    border-radius: 0 0 0 9.6px;
}

/* Inverted corner for scrolling-footer-logo top-left */
.corner-footer-logo-top-left {
    position: absolute;
    top: -9.6px;
    left: -9.6px;
    width: 19.2px;
    height: 19.2px;
    z-index: 1;
    background: radial-gradient(circle at 0 100%, transparent 9.6px, #040D81 9.6px);
}

.scrolling-footer-logo img {
    width: 100%;
    height: auto;
    object-fit: contain;
    max-width: 100%;
}

.scrolling-footer-heading-wrapper {
    width: 100%;
    height: 100%;
}

.scrolling-footer-heading {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 16vh;
    width: 100%;
    background-color: #040D81;
    position: relative;
    padding: 32px;
    box-sizing: border-box;
    border-radius: 0 0 9.6px 0;
    gap: 16px;
}

/* Inverted corner for scrolling-footer-heading top-right */
.corner-footer-heading-top-right {
    position: absolute;
    top: -9.6px;
    right: -9.6px;
    width: 19.2px;
    height: 19.2px;
    z-index: 1;
    background: radial-gradient(circle at 100% 100%, transparent 9.6px, #040D81 9.6px);
}



.scrolling-footer-heading h2 {
    margin: 0;
    padding: 0;
    font-weight: 700;
    line-height: 1.2;
    color: #ffffff;
    text-align: center;
    width: 100%;
    font-size: clamp(1rem, 2vw, 1.5rem);
}

.scrolling-footer-heading .contact-text {
    font-size: clamp(0.64rem, 1.6vw, 1.28rem);
    margin-bottom: 8px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    width: 100%;
}

.scrolling-footer-heading .contact-phone {
    font-size: clamp(1rem, 2vw, 1.5rem);
    word-wrap: break-word;
    overflow-wrap: break-word;
    width: 100%;
}

.scrolling-footer-heading .contact-phone a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.3s ease;
    word-break: break-all;
}

.scrolling-footer-heading .contact-phone a:hover {
    color: #3feb21;
}

.scrolling-footer-heading .contact-email {
    font-size: clamp(1rem, 2vw, 1.5rem);
    word-wrap: break-word;
    overflow-wrap: break-word;
    width: 100%;
}

.scrolling-footer-heading .contact-email a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.scrolling-footer-heading .contact-email a:hover {
    color: #3feb21;
}

/* FIXED FOOTER */

.fixed-footer-container {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 0;
    pointer-events: none;
    display: flex;
}

.fixed-footer-inner-wrapper {
    width: 100%;
    height: calc(20vw * 0.65 + 88px);
    display: flex;
    position: relative;
    opacity: 0;
    background-color: #f4f4f4;
}

.fixed-footer-left {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 24vw;
    height: 100%;
    flex-shrink: 0;
}

.fixed-footer-main {
    position: absolute;
    left: 24vw;
    right: 20vw;
    top: 0;
    height: calc(20vw * 0.65 + 112px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 32px;
    box-sizing: border-box;
    pointer-events: auto;
}

.fixed-footer-right {
    position: absolute;
    right: 0;
    top: 0;
    width: 20vw;
    height: 100%;
    flex-shrink: 0;
}

.fixed-footer-contact-wrapper {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
}

.fixed-footer-contact {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    color: #040D81;
    gap: 16px;
}

.fixed-contact-info {
    height: 16vh;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    color: #040D81;
    padding: 32px;
    box-sizing: border-box;
    margin-top: 16vh;
}

.fixed-contact-info h2,
.fixed-contact-info h3,
.fixed-contact-info p {
    margin: 0;
    padding: 3.2px 0;
    font-size: calc(0.64rem + 0.64vw);
    font-weight: 700;
    line-height: 1.2;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: 100%;
    width: 100%;
}

.fixed-office-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    min-width: 0;
}

.fixed-office-info h3 {
    margin: 0 0 8px 0;
    padding: 0;
    font-size: clamp(0.8rem, 1.2vw, 1.2rem);
    font-weight: 700;
    line-height: 1.2;
    color: #040D81;
}

.fixed-office-info p {
    margin: 0;
    padding: 2px 0;
    font-size: clamp(0.7rem, 1vw, 1rem);
    line-height: 1.4;
    color: #040D81;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.fixed-contact-info a {
    color: #040D81;
    text-decoration: none;
}

.fixed-contact-info a:hover {
    text-decoration: underline;
}

.fixed-footer-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 64px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12.8px;
    border-top: 1px solid rgba(243, 243, 243, 0.3);
    box-sizing: border-box;
    pointer-events: auto;
    z-index: 10;
}

.fixed-footer-links,
.fixed-footer-policies {
    color: #040D81;
    pointer-events: auto;
    position: relative;
    z-index: 11;
}

.fixed-footer-links span {
    color: #040D81;
}

.fixed-footer-links a {
    color: #040D81;
    text-decoration: none;
    pointer-events: auto;
}

.fixed-footer-links a:hover {
    text-decoration: underline;
}

.footer-link {
    color: #040D81;
    text-decoration: none;
    margin-left: 16px;
    pointer-events: auto;
    position: relative;
}

.footer-link:hover {
    text-decoration: underline;
}

.footer-link-no-margin {
    margin-left: 0;
}

/* Media query for screens smaller than 1500px */
@media (max-width: 1499px) {
    .fixed-contact-info h2,
    .fixed-contact-info h3,
    .fixed-contact-info p {
        font-size: calc((0.64rem + 0.64vw) * 0.55);
    }

    .fixed-office-info p {
        font-size: 7.68px;
    }
}




