/*** FONTS ***/

@font-face {
    font-family: "DM Sans";
    src: url("../font/DMSans-VariableFont_opsz\,wght.ttf");
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "DM Sans";
    src: url("../font/DMSans-Italic-VariableFont_opsz\,wght.ttf");
    font-style: italic;
    font-display: swap;
}

/*** MAIN ***/

.psud-header-footer * {
    font-family: "DM Sans";
    box-sizing: border-box;
}

.psud-header-footer img,
.psud-header-footer a {
    user-drag: none;
    -webkit-user-drag: none;
}

.psud-header-footer {
    width: 100%;
    position: sticky;
    top: 0;
}

.psud-header-footer-default-z-index-header {
    z-index: 610;
}

.psud-header-footer-default-z-index-footer {
    z-index: 600;
}

.psud-header-footer-top-z-index-header {
    z-index: 9910;
}

.psud-header-footer-top-z-index-footer {
    z-index: 9900;
}

.psudmenu-hidden {
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
}

.psudmenu-fixed {
    position: fixed;
    top: 0;
}

.psudmenu-no-scroll {
    overflow: hidden;
}

@media (max-width: 819.5px) {
    .psudmenu-no-scroll-on-mobile {
        overflow: hidden;
    }
}

@media (min-width: 820px) {
    .psudmenu-mobile-only {
        display: none !important;
    }
}

@media (max-width: 819.5px) {
    .psudmenu-desktop-and-tablet-only {
        display: none !important;
    }
}

@media (max-width: 819.5px) {
    .psudmenu-tablet-only {
        display: none !important;
    }
}

@media (min-width: 1025px) {
    .psudmenu-tablet-only {
        display: none !important;
    }
}

@media (max-width: 1024.5px) {
    .psudmenu-desktop-only {
        display: none !important;
    }
}

/** TEXTES */

.psudmenu-title {
    font-weight: 700;
    font-size: 32px;
    line-height: 32px;
    margin: 0;
}

.psudmenu-secondary-title {
    font-weight: 700;
    font-size: 22px;
    line-height: 26px;
    margin: 0;
}

.psudmenu-tertiary-title {
    text-align: center;
    font-weight: 500;
    font-size: 17px;
    line-height: 17px;
    margin: 0;
}

.psudmenu-page-title {
    font-weight: 700;
    font-size: 32px;
    line-height: 32px;
    margin: 0;
}

@media (min-width: 1025px) {
    .psudmenu-page-title {
        font-size: 42px;
        line-height: 42px;
    }
}

@media (max-width: 400px) {
    .psudmenu-page-title {
        font-size: 28px;
    }
}

@media (max-width: 360px) {
    .psudmenu-page-title {
        font-size: 24px;
    }
}

@media (max-width: 320px) {
    .psudmenu-page-title {
        font-size: 20px;
    }
}

.psudmenu-text-white {
    color: white;
}

.psudmenu-text-blue {
    color: #0a387d;
}

.psudmenu-text-darkblue {
    color: #06224b;
}

/** Z-INDEX */

.psudmenu-z-index-5 {
    z-index: 5;
}

.psudmenu-z-index-10 {
    z-index: 10;
}

.psudmenu-z-index-20 {
    z-index: 20;
}

.psudmenu-z-index-30 {
    z-index: 30;
}

/** BOUTONS */

.psudmenu-button {
    height: 50px;
    padding: 12px 16px;
    border-radius: 4px;
    border: 1px solid black;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 500;
    line-height: 18px;
    text-decoration: none !important;
    transition: all 0.15s ease-out;
}

.psudmenu-button:hover,
.psudmenu-button:focus,
.psudmenu-button:focus-visible,
.psudmenu-button:active {
    cursor: pointer;
    text-decoration: none !important;
}

.psudmenu-primary-button,
.psudmenu-primary-button:focus {
    border-color: #002f87;
    background-color: #002f87;
    color: white;
    text-decoration: none;
    outline: none;
}

.psudmenu-primary-button:hover,
.psudmenu-primary-button:focus-visible {
    border-color: #65afff;
    background-color: #65afff;
    color: white;
    text-decoration: none;
    outline: none;
}

.psudmenu-primary-button:active {
    border-color: #518ccc;
    background-color: #518ccc;
    color: white;
    text-decoration: none;
}

.psudmenu-primary-button:focus * {
    text-decoration: none; 
}

.psudmenu-primary-button:hover *,
.psudmenu-primary-button:focus-visible *,
.psudmenu-primary-button:active * {
    filter: brightness(3);
    color: white;
    text-decoration: none;
}

.psudmenu-secondary-button,
.psudmenu-secondary-button:focus {
    background-color: white;
    border-color: #dfe1e6;
    color: #002f87;
    outline: none;
}

.psudmenu-secondary-button:hover,
.psudmenu-secondary-button:focus-visible {
    background-color: #e0efff;
    border-color: #99a0af;
    outline: none;
}

.psudmenu-secondary-button:active {
    background-color: #c1dfff;
    border-color: #99a0af;
}

.psudmenu-tertiary-button,
.psudmenu-tertiary-button:focus {
    color: #3a3f4b;
    background-color: white;
    border-color: #dfe1e6;
    outline: none;
}

.psudmenu-tertiary-button:hover,
.psudmenu-tertiary-button:focus-visible {
    color: #002f87;
    background-color: #ecedf0;
    border-color: #99a0af;
    outline: none;
}

.psudmenu-tertiary-button:active {
    color: #002f87;
    background-color: #dfe1e6;
    border-color: #99a0af;
}

.psudmenu-tertiary-button-no-border {
    color: #3a3f4b;
    border: none !important;
}

.psudmenu-tertiary-button-no-border:hover,
.psudmenu-tertiary-button-no-border:focus-visible {
    color: #002f87;
    background-color: #aaaebb20;
}

.psudmenu-tertiary-button-no-border:active {
    color: #002f87;
    background-color: #aaaebb40;
}

.psudmenu-tertiary-dark-button,
.psudmenu-tertiary-dark-button:focus {
    background-color: transparent;
    border-color: transparent;
    color: #e0efff;
}

.psudmenu-tertiary-dark-button .psudmenu-height-md-button-small-icon {
    filter: saturate(0.05) brightness(5);
}

.psudmenu-tertiary-dark-button:hover,
.psudmenu-tertiary-dark-button:focus-visible {
    color: #d1e7ff;
}

.psudmenu-tertiary-dark-button:hover .psudmenu-height-md-button-small-icon,
.psudmenu-tertiary-dark-button:focus-visible .psudmenu-height-md-button-small-icon {
    filter: saturate(0.1) brightness(4.5);
}

.psudmenu-tertiary-dark-button:active {
    color: #b2d7ff;
}

.psudmenu-tertiary-dark-button:active .psudmenu-height-md-button-small-icon {
    filter: saturate(0.15) brightness(4);
}

.psudmenu-menu-link-button {
    background-color: white;
    color: #002f87;
    border-radius: 0;
    border: transparent;
    display: flex;
    flex-direction: column;
    width: 120px;
    height: 100px;
    padding: 20px;
    font-size: 16px;
    flex-grow: 1;
    text-align: center;
}

@media (max-width: 819.5px) {
    .psudmenu-menu-link-button {
        width: 100px;
        height: 92px;
        padding: 16px;
        font-size: 14px;
    }
}

.psudmenu-menu-link-button:hover,
.psudmenu-menu-link-button:focus-visible {
    background-color: #e0efff;
    color: #002f87;
}

.psudmenu-menu-link-button:active {
    background-color: #c1dfff;
    color: #002f87;
}

.psudmenu-card-button {
    height: 138px;
    font-size: 17px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 400;
    padding: 12px 24px;
    gap: 16px;
}

@media (max-width: 1024.5px) {
    .psudmenu-card-button {
        height: 126px;
    }
}

@media (max-width: 819.5px) {
    .psudmenu-card-button {
        height: 80px;
        padding: 12px 16px;
    }
}

.psudmenu-card-button-icon {
    height: 48px;
    width: 48px;
    flex-shrink: 0;
    background-size: cover !important;
}

.psudmenu-justify-center-button {
    justify-content: center;
}

.psudmenu-height-md-button {
    height: 64px;
}

.psudmenu-height-md-button-icon {
    height: 24px;
    width: 24px;
    flex-shrink: 0;
    background-size: cover !important;
}

.psudmenu-height-md-button-large-icon {
    height: 60px;
    width: 60px;
    flex-shrink: 0;
    background-size: cover !important;
}

.psudmenu-height-md-button-small-icon {
    height: 20px;
    width: 20px;
    flex-shrink: 0;
    background-size: cover !important;
}

.psudmenu-text-button {
    height: 24px;
    display: flex;
    align-items: center;
    padding: 0;
    gap: 8px;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    transition: all 0.15s ease-out;
    background: transparent;
    border: none;
    width: fit-content;
}

.psudmenu-text-button:hover,
.psudmenu-text-button:focus-visible,
.psudmenu-text-button:active {
    cursor: pointer;
    gap: 12px;
}

.psudmenu-text-white-button {
    color: white;
}

.psudmenu-text-white-button:hover *,
.psudmenu-text-white-button:focus-visible *,
.psudmenu-text-white-button:active * {
    filter: brightness(3);
}

.psudmenu-ghost-dark-button {
    height: 50px;
    padding: 12px 16px;
    color: white;
    gap: 8px !important;
    border-radius: 4px;
}

.psudmenu-ghost-dark-button:focus {
    outline: none;
}

.psudmenu-ghost-dark-button:hover,
.psudmenu-ghost-dark-button:focus-visible {
    color: #b2d7ff;
    background: rgba(255, 255, 255, 0.16);
    outline: none;
}

.psudmenu-ghost-dark-button:active {
    color: #b2d7ff;
    background: rgba(255, 255, 255, 0.24);
}

.psudmenu-icon-button-light-background,
.psudmenu-icon-button-dark-background,
.clear-text-button {
    height: 36px;
    width: 36px;
    border-radius: 50rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease-out;
    background: transparent;
    border: none;
}

.psudmenu-icon-button-light-background:focus {
    outline: none;
}

.psudmenu-icon-button-light-background:hover,
.psudmenu-icon-button-light-background:focus-visible {
    background: rgba(0, 0, 0, 0.04);
    cursor: pointer;
    outline: none;
}

.psudmenu-icon-button-light-background:active {
    background: rgba(0, 0, 0, 0.12);
    cursor: pointer;
}

.psudmenu-icon-button-dark-background:focus {
    outline: none;
}

.psudmenu-icon-button-dark-background:hover,
.psudmenu-icon-button-dark-background:focus-visible {
    background: rgba(255, 255, 255, 0.16);
    cursor: pointer;
    outline: none;
}

.psudmenu-icon-button-dark-background:active {
    background: rgba(255, 255, 255, 0.24);
    cursor: pointer;
}

.psudmenu-main-menu-sublevel-link-card-wrapper {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
}

.psudmenu-main-menu-sublevel-link-card-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.psudmenu-main-menu-sublevel-button-link-cards-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    background: white;
    width: fit-content;
    margin: auto;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    overflow: hidden;
}

.psudmenu-menu-image-card {
    background: #031126;
    display: flex;
    gap: 16px;
    padding: 8px;
    height: 140px;
}

@media (min-width: 820px) {
    .psudmenu-menu-image-card {
        padding: 16px;
        height: 184px;
    }
}

.psudmenu-menu-image-card-img {
    flex-shrink: 0;
    height: 124px;
    width: 117px;
    background-size: cover !important;
}

@media (min-width: 820px) {
    .psudmenu-menu-image-card-img {
        height: 152px;
        width: 142px;
    }
}

.psudmenu-menu-image-card-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    gap: 8px;
    padding: 16px 2px 16px 0;
}

.psudmenu-menu-image-card-text {
    align-self: stretch;
    color: #f4f4f5;
    font-size: 14px;
    overflow: hidden;
}

@media (min-width: 820px) {
    .psudmenu-menu-image-card-text {
        font-size: 16px;
    }
}

.psudmenu-link-card-icon-button {
    height: 26px;
    width: 26px;
    flex-shrink: 0;
    background-size: cover !important;
    padding: 0;
    border: 0;
    filter: hue-rotate(10deg) brightness(1.7) saturate(0.9);
}

.psudmenu-link-card-icon-button:focus {
    outline: none;
}

.psudmenu-link-card-icon-button:hover,
.psudmenu-link-card-icon-button:focus-visible {
    cursor: pointer;
    filter: hue-rotate(10deg) brightness(1.9) saturate(0.9);
    outline: none;
}

.psudmenu-link-card-icon-button:active {
    cursor: pointer;
    filter: hue-rotate(10deg) brightness(2.1) saturate(0.9);
}

.psud-icon-button-margin {
    margin: 0 8px;
}

.clear-text-button:hover,
.clear-text-button:focus-visible {
    background: #e0efff;
    cursor: pointer;
}

.clear-text-button:active {
    background: #c1dfff;
    cursor: pointer;
}

/** LIENS */

.psudmenu-text-link {
    text-decoration: none !important;
    padding-top: 8px;
    font-size: 16px;
    display: flex;
    width: fit-content;
    gap: 4px;
}

.psudmenu-text-link-light {
    color: #002f87 !important;
}

.psudmenu-text-link-light:active {
    color: #082d64 !important;
}

.psudmenu-text-link-light .psudmenu-text-link-underline {
    background-color: #082d64;
}

.psudmenu-text-link-dark {
    color: #b2d7ff !important;
}

.psudmenu-text-link-dark:active {
    color: #d1e7ff !important;
}

.psudmenu-text-link-dark .psudmenu-text-link-underline,
.psudmenu-text-link-dark:focus .psudmenu-text-link-underline {
    background-color: #d1e7ff;
}

.psudmenu-text-link-dark.psudmenu-text-link-inline .psudmenu-text-link-underline,
.psudmenu-text-link-dark.psudmenu-text-link-inline:focus .psudmenu-text-link-underline {
    background-color: #b2d7ff;
}

.psudmenu-text-link-dark.psudmenu-text-link-inline:hover,
.psudmenu-text-link-dark.psudmenu-text-link-inline:focus-visible {
    color: #d1e7ff !important;
}

.psudmenu-text-link-dark.psudmenu-text-link-inline:hover .psudmenu-text-link-underline
.psudmenu-text-link-dark.psudmenu-text-link-inline:focus-visible .psudmenu-text-link-underline {
    background-color: #d1e7ff;
}

.psudmenu-text-link-dark.psudmenu-text-link-inline:active {
    color: #ebf4ff !important;
}

.psudmenu-text-link-dark.psudmenu-text-link-inline:active .psudmenu-text-link-underline {
    background-color: #ebf4ff;
}

.psudmenu-text-link-inline {
    padding-top: 0 !important;
}

.psudmenu-text-link-inline .psudmenu-text-link-underline {
    width: 100% !important;
}

.psudmenu-text-link-text {
    flex-shrink: 0;
}

.psudmenu-text-link-underline {
    width: 0;
    height: 1.3px;
    transition: all 0.15s ease-out;
}

.psudmenu-text-link-icon {
    opacity: 0.2;
    transition: all 0.15s ease-out;
}

.psudmenu-text-link:hover,
.psudmenu-text-link:active,
.psudmenu-text-link:focus,
.psudmenu-text-link:focus-visible {
    outline: none;
}
.psudmenu-text-link:hover .psudmenu-text-link-underline,
.psudmenu-text-link:active .psudmenu-text-link-underline,
.psudmenu-text-link:focus-visible .psudmenu-text-link-underline {
    width: 100% !important;
}

/** SCROLLBAR */

.psudmenu-scrollbar::-webkit-scrollbar {
    width: 10px;
}

.psudmenu-scrollbar::-webkit-scrollbar-track {
    background: #9dafcb;
}

.psudmenu-scrollbar::-webkit-scrollbar-thumb {
    background: #002f87;
    border-radius: 5px;
    border: 2px solid #9dafcb;
}

.psudmenu-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #1958cb;
}

/** MENU MINI */

.psudmenu-navbar-and-menu-mini-container {
    width: 100%;
}

.psudmenu-menu-mini-wrapper {
    margin-top: 44px;
    height: 0;
}

.psudmenu-menu-mini {
    position: relative;
    background: white;
    height: 44px;
    top: -44px;
    width: 100%;
    padding: 12px 20px;
    border-bottom: 1px solid #dfe1e6;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    color: #656d7f;
}

@media (min-width: 1920px) {
    .psudmenu-menu-mini {
        padding: 12px calc(50% - 940px);
    }
}

.psudmenu-main-menu-lvl1-menu-mini {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-top: 1px solid #a9b7ff;
    padding-top: 8px;
    margin-top: 4px;
}

.psudmenu-menu-mini-button {
    height: 32px;
    padding: 12px 8px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.15s ease-out;
    border: none;
    background: none;
    color: #3a3f4b;
    text-decoration: none !important;
}

.psudmenu-menu-mini-button:focus {
    color: #3a3f4b;
    text-decoration: none !important;
    outline: none;
}

.psudmenu-menu-mini-button:hover,
.psudmenu-menu-mini-button:focus-visible {
    color: #002f87;
    cursor: pointer;
    text-decoration: none !important;
    outline: none;
}

.psudmenu-menu-mini-button:active {
    color: #082d64;
    cursor: pointer;
    text-decoration: none !important;
}

.psudmenu-menu-mini-icon-dark {
    filter: brightness(0.42) saturate(2);
}

.psudmenu-menu-mini-button:hover .psudmenu-menu-mini-icon-dark,
.psudmenu-menu-mini-button:focus-visible .psudmenu-menu-mini-icon-dark {
    filter: brightness(0.38) saturate(15);
}

.psudmenu-menu-mini-button:active .psudmenu-menu-mini-icon-dark {
    filter: brightness(0.35) saturate(5);
}

.psudmenu-menu-mini-button-mobile,
.psudmenu-menu-mini-button-mobile:focus {
    background-color: transparent;
    border-color: transparent;
    color: #e0efff;
    outline: none;
}

.psudmenu-menu-mini-button-mobile:hover,
.psudmenu-menu-mini-button-mobile:focus-visible {
    color: #d1e7ff;
    outline: none;
}

.psudmenu-menu-mini-button-mobile:active {
    color: #b3d7ff;
}

.psudmenu-menu-mini-icon-light {
    filter: brightness(1.5) saturate(3);
}

.psudmenu-menu-mini-button-mobile:hover .psudmenu-menu-mini-icon-light,
.psudmenu-menu-mini-button-mobile:focus-visible .psudmenu-menu-mini-icon-light {
    filter: brightness(1.4) saturate(3);
}

.psudmenu-menu-mini-button-mobile:active .psudmenu-menu-mini-icon-light {
    filter: brightness(1.3) saturate(3);
}

/** NAVBAR */

.psudmenu-header-logo {
    height: 64px;
    margin-top: 4px;
}

.psudmenu-navbar {
    width: 100%;
    height: 84px;
    background: white;
    flex-shrink: 0;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

@media (max-width: 819.5px) {
    .psudmenu-navbar {
        height: 78px;
    }
}

.psudmenu-header-main-container {
    position: absolute;
    width: 100%;
    background-color: white;
    display: flex;
    align-items: center;
    gap: 32px;
}

@media (max-width: 819.5px) {
    .psudmenu-header-main-container {
        height: 78px;
        padding: 8px;
        gap: 8px;
    }
}

@media (min-width: 820px) {
    .psudmenu-header-main-container {
        height: 84px;
        padding: 8px 24px;
    }
}

@media (min-width: 1920px) {
    .psudmenu-header-main-container {
        max-width: 1920px;
        margin: 0 calc(50% - 960px);
    }
}

.psudmenu-header-main-content {
    position: relative;
    flex-grow: 1;
    display: flex;
    gap: 16px;
}

@media (max-width: 819.5px) {
    .psudmenu-header-main-content {
        gap: 8px;
        justify-content: space-between;
        align-items: center;
    }
}

.psudmenu-header-main-content-left-block {
    flex-grow: 1;
    display: flex;
    gap: 16px;
    align-items: center;
}

.psudmenu-hamburger-menu-button {
    padding-right: 24px;
}

.psudmenu-navbar-search-full-width-container {
    position: absolute;
    width: 100%;
    height: 100%;
    background: white;
    display: flex;
    align-items: center;
    gap: 48px;
}

/** SEARCH */

.psudmenu-desktop-searchbar-container {
    flex-grow: 1;
    padding-left: 16px;
    width: 200px;
}

.psudmenu-searchbar-container {
    position: relative;
}

@media (min-width: 820px) {
    .psudmenu-searchbar-container {
        width: calc(100% - 48px);
        max-width: 1024px;
    }
}

@media (max-width: 819.5px) {
    .psudmenu-searchbar-container {
        width: 100%;
    }
}

.psudmenu-search-form-from {
    margin: 0;
}

.psudmenu-searchbar {
    height: 48px !important;
    border: 1px solid #dfe1e6;
    border-radius: 50rem;
    color: black !important;
    padding-left: 42px !important;
    padding-right: 42px !important;
    width: 100%;
}

.psudmenu-searchbar:hover {
    border: 1px solid #849bbe;
    outline: 1px solid #849bbe;
    cursor: text;
}

.psudmenu-searchbar:focus,
.psudmenu-searchbar:active {
    border: 1px solid #002f87;
    outline: 1px solid #002f87;
    cursor: text;
}

.psudmenu-searchbar::placeholder {
    color: #656d7f;
    font-weight: 400;
}

.psudmenu-search-button {
    position: absolute;
    top: 6px;
    left: 6px;
    background: none;
    border: none;
}

.psudmenu-search-autocomplete-items {
    position: absolute;
    width: calc(100% - 24px);
    margin-left: 12px;
    margin-top: 1px;
    display: flex;
    flex-direction: column;
    background: white;
    border-radius: 4px;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.5);
}

.psudmenu-search-autocomplete-items:hover {
    cursor: pointer;
}

.psudmenu-search-autocomplete-items a {
    color: black;
    text-decoration: none !important;
    font-size: 15px;
    height: 28px;
    padding: 4px 10px;
}

.psudmenu-search-autocomplete-items a:hover,
.psudmenu-search-autocomplete-items a:active,
.psudmenu-search-autocomplete-items a:focus-visible {
    color: #518ccc;
    font-weight: 500;
}

.psudmenu-search-autocomplete-items-active {
    color: #518ccc !important;
    font-weight: 500;
    text-decoration: none !important;
    font-size: 14px;
}

.psudmenu-searchbar-clear-button {
    position: absolute;
    top: 6px;
    right: 6px;
    background: none;
    border: none;
    transition: none;
}

/** MENUS */

.psudmenu-header-main-content-when-submenu-opened {
    justify-content: flex-end;
}

.psudmenu-close-submenu-button {
    margin-right: 12px;
}

.psud-close-services-1-clic-button {
    padding-right: 24px;
}

/** MON COMPTE & MES SERVICES */

.psudmenu-popup-menu-panel-wrapper {
    position: relative;
}

.psudmenu-hidden .psudmenu-popup-menu-panel * {
    transition: none;
}

.psudmenu-popup-menu-panel {
    background: white;
    display: flex;
    flex-direction: column;
}

@media (max-width: 819.5px) {
    .psudmenu-popup-menu-panel {
        position: fixed;
        top: 0;
        width: 100%;
        height: 100vh;
    }
}

@media (min-width: 820px) {
    .psudmenu-popup-menu-panel {
        position: absolute;
        top: -8px;
        right: 10px;
        border-radius: 11px;
        box-shadow: 0px 18px 28px 0px rgba(0, 0, 0, 0.35), 0px 0px 14px 0px rgba(0, 0, 0, 0.2);
    }
}

@media (min-width: 820px) {
    .psudmenu-popup-my-account-panel {
        width: 250px;
        height: 380px;
    }
}

@media (min-width: 820px) {
    .psudmenu-popup-my-services-panel {
        width: 418px;
        height: 524px;
    }
}

.psudmenu-popup-menu-panel-navbar {
    height: 78px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 0 16px 0 16px;
}

@media (min-width: 820px) {
    .psudmenu-popup-menu-panel-navbar {
        box-shadow: none;
        background: none;
        height: 48px;
        padding: 10px 8px 0 20px;
    }
}

.psudmenu-my-account-panel-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

@media (max-width: 819.5px) {
    .psudmenu-my-account-panel-content {
        background: #e2ebf9;
        overflow: auto;
    }
}

.psudmenu-my-account-panel-content-welcome {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    padding: 0 8px;
}

@media (max-width: 819.5px) {
    .psudmenu-my-account-panel-content-welcome {
        padding: 24px 16px 12px 16px;
    }
}

.psudmenu-my-account-first-name-letter {
    align-self: center;
    height: 68px;
    width: 68px;
    border-radius: 50rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 32px;
    background: #5474a4;
    color: white;
}

.psudmenu-my-account-menu-buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
}

@media (min-width: 820px) {
    .psudmenu-my-account-menu-buttons {
        align-items: stretch;
    }
}

.psudmenu-my-services-items-container {
    flex-grow: 1;
    align-self: stretch;
    overflow: auto;
}

@media (max-width: 819.5px) {
    .psudmenu-my-services-items-container {
        max-height: calc(100vh - 78px);
        padding: 0 48px 24px;
    }
}

@media (min-width: 820px) {
    .psudmenu-my-services-items-container {
        height: 0;
        padding: 0 16px 20px 0;
        margin: 8px 0 0 20px;
    }
}

.psudmenu-my-services-title {
    padding: 18px 0;
    text-align: center;
    font-size: 17px;
    font-weight: 500;
    line-height: 120%;
}

.psudmenu-my-services-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.psudmenu-my-account-panel-footer {
    width: calc(100% - 16px);
    border-top: 1px solid #dfe1e6;
}

@media (max-width: 819.5px) {
    .psudmenu-my-account-panel-footer {
        padding-bottom: 36px;
        width: calc(100% - 48px);
        border-top: 1px solid #b5c3d8;
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

.psudmenu-service-button {
    display: flex;
    flex-direction: column;
    height: 111px !important;
    overflow: hidden;
    padding: 8px;
    gap: 4px;
    width: 118px;
}

@media (max-width: 819.5px) {
    .psudmenu-service-button {
        min-width: calc(50% - 4px);
    }
}

.psudmenu-service-button-text {
    flex-grow: 1;
    text-align: center;
    display: flex;
    align-items: center;
    font-size: 14px;
}

/** MENU LATERAL */

.psudmenu-side-panel {
    position: fixed;
    height: 100vh;
    top: 0;
}

.psudmenu-side-panel-panel {
    position: absolute;
    top: 0;
    height: 100vh;
    background-color: #041937;
    width: 450px;
    display: flex;
    flex-direction: column;
    transform: translateX(0);
    transition: all 0.3s ease-out;
}

@media (max-width: 819.5px) {
    .psudmenu-side-panel-panel {
        width: 100%;
    }
}

.psudmenu-hidden .psudmenu-side-panel-panel {
    transform: translateX(-450px);
}

.psudmenu-backdrop {
    height: 100vh;
    width: 100vw;
    background-color: #00193d;
    opacity: 0.7;
    transition: all 0.5s ease-out;
}

.psudmenu-hidden .psudmenu-backdrop {
    opacity: 0;
}

.psudmenu-invisible-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
}

.psudmenu-side-menu-desktop-navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 48px 24px 24px 48px;
    background-color: #041937;
}

@media (max-width: 1366.5px) {
    .psudmenu-side-menu-desktop-navbar {
        padding: 24px 24px 24px 48px;
    }
}

.psudmenu-side-panel-panel-content {
    flex-grow: 1;
    position: relative;
    display: flex;
    flex-direction: column;
}

.psudmenu-side-panel-panel-main-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    height: 0;
}

@media (max-width: 819.5px) {
    .psudmenu-side-panel-panel-main-content {
        overflow: auto;
        gap: 24px;
    }
}

.psudmenu-side-panel-title-mobile {
    padding: 24px 16px 0 16px;
}

.psudmenu-side-panel-title-desktop {
    padding: 0 0 32px;
}

.psudmenu-upper-side-menu {
    padding: 0 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.psudmenu-side-panel-horizontal-separator {
    height: 1px;
    width: 100%;
    background-color: #5474a4;
    margin-top: 12px;
}

.psudmenu-text-link-button .psudmenu-text-link-text {
    flex-shrink: 1;
}

/** MENU PRINCIPAL **/

.psudmenu-text-link .psudmenu-main-menu-item-button-icon {
    margin-right: 10px;
}

.psudmenu-main-menu-lvl1-scroll-content {
    flex-grow: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

@media (min-width: 820px) {
    .psudmenu-main-menu-lvl1-scroll-content {
        padding: 24px 0 48px 0;
        overflow: auto;
    }
}

@media (max-width: 819.5px) {
    .psudmenu-main-menu-lvl1-scroll-content {
        padding-bottom: 24px;
    }
}

.psudmenu-main-menu-lvl1-items {
    width: 100%;
}

@media (min-width: 820px) {
    .psudmenu-main-menu-lvl1-items {
        padding: 0 36px 0 60px;
    }
}

@media (max-width: 819.5px) {
    .psudmenu-main-menu-lvl1-items {
        padding: 0 16px;
    }
}

.psudmenu-main-menu-lvl1-link-cards {
    padding-top: 24px;
    width: 100%;
    flex-grow: 1;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: center;
}

@media (max-width: 819.5px) {
    .psudmenu-main-menu-lvl1-link-cards {
        padding-bottom: 24px;
    }
}

.psudmenu-main-menu-item-button {
    height: unset !important;
    text-decoration: none;
    width: 100%;
    display: flex;
    align-items: center;
}

@media (max-width: 819.5px) {
    .psudmenu-main-menu-item-button {
        height: 32px;
    }
}

.psudmenu-main-menu-item-button:focus {
    text-decoration: none;
}

.psudmenu-main-menu-item-button:hover,
.psudmenu-main-menu-item-button:active,
.psudmenu-main-menu-item-button:focus-visible,
.psudmenu-main-menu-item-button-selected {
    color: white;
    text-decoration: none;
}

.psudmenu-main-menu-item-button-selected:not(:focus-visible) {
    background: none;
}

.psudmenu-main-menu-item-button-icon {
    height: 24px;
    width: 24px;
    flex-shrink: 0;
    background-size: cover !important;
    margin-right: 6px;
}

.psudmenu-main-menu-item-button-text {
    flex-grow: 1;
    text-align: left;
}

.psudmenu-main-menu-item-button-carret {
    opacity: 0;
}

.psudmenu-main-menu-item-button:hover .psudmenu-main-menu-item-button-carret,
.psudmenu-main-menu-item-button:active .psudmenu-main-menu-item-button-carret,
.psudmenu-main-menu-item-button:focus-visible .psudmenu-main-menu-item-button-carret,
.psudmenu-main-menu-item-button-selected .psudmenu-main-menu-item-button-carret {
    opacity: 1;
}

.psudmenu-main-menu-item-button-selected .psudmenu-main-menu-item-button-carret {
    filter: brightness(5);
}

.psudmenu-main-menu-item-title-icon {
    height: 36px;
    width: 36px;
    flex-shrink: 0;
    background-size: cover !important;
    filter: brightness(3);
}

.psudmenu-main-menu-submenu-wrapper {
    height: 0;
}

@media (max-width: 819.5px) {
    .psudmenu-main-menu-submenu-wrapper {
        position: fixed;
        width: 100%;
        height: 100%;
    }
}

@media (min-width: 820px) {
    .psudmenu-main-menu-lvl3-wrapper {
        z-index: 5 !important;
    }
}

.psudmenu-main-menu-submenu-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #041937;
    transform: translateX(0);
    transition: all 0.3s ease-out;
    filter: drop-shadow(0 100px 50px transparent);
    display: flex;
    flex-direction: column;
}

@media (max-width: 819.5px) {
    .psudmenu-main-menu-submenu-container {
        height: calc(100% - 78px) !important;
    }
}

@media (min-width: 820px) {
    .psudmenu-main-menu-submenu-container {
        height: 100% !important;
    }
}

@media (min-width: 820px) {
    .psudmenu-hidden .psudmenu-main-menu-submenu-container {
        transform: translateX(-450px);
        filter: drop-shadow(0 100px 50px black);
    }
}

@media (min-width: 820px) {
    .psudmenu-main-menu-lvl3-container {
        left: 450px !important;
        top: -65px !important;
    }
}

.psudmenu-main-menu-lvl3-background {
    background-color: #5474a4;
    position: absolute;
    left: 0;
}

@media (max-width: 819.5px) {
    .psudmenu-main-menu-lvl3-background {
        top: 0;
        height: 100%;
        width: 100%;
    }
}

@media (min-width: 820px) {
    .psudmenu-main-menu-lvl3-background {
        top: 65px;
        width: 450px;
        height: calc(100% + 500px);
        transform: translateY(-500px);
        padding-top: 500px;
    }
}

.psudmenu-main-menu-sublevel-content {
    flex-grow: 1;
    position: relative;
    display: flex;
    flex-direction: column;
}

@media (max-width: 819.5px) {
    .psudmenu-main-menu-sublevel-content {
        gap: 40px;
    }
}

@media (min-width: 820px) {
    .psudmenu-main-menu-sublevel-items-lvl-2 {
        padding-left: 92px !important;
    }
}

.psudmenu-main-menu-sublevel-header-content {
    display: flex;
    align-items: center;
    overflow: hidden;
}

.psudmenu-main-menu-sublevel-header-content-separator {
    height: 100%;
    width: 1px;
    background-color: #5474a4;
}

.psudmenu-main-menu-sublevel-header-content-separator-light {
    height: 100%;
    width: 1px;
    background-color: #e2ebf9;
}

.psudmenu-main-menu-sublevel-scroll-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    overflow: auto;
    height: 0;
}

@media (min-width: 820px) {
    .psudmenu-main-menu-sublevel-scroll-content {
        padding: 24px 0 0 0;
    }
}

.psudmenu-main-menu-sublevel-items {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding-bottom: 40px;
}

@media (max-width: 819.5px) {
    .psudmenu-main-menu-sublevel-items {
        padding-left: 36px;
        padding-right: 16px;
    }
}

@media (min-width: 820px) {
    .psudmenu-main-menu-sublevel-items {
        padding-left: 60px;
        padding-right: 36px;
    }
}

.psudmenu-main-menu-lvl2-title-container,
.psudmenu-main-menu-lvl3-title-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    padding: 12px 40px 12px 12px;
    max-height: 136px;
    min-height: 100px;
    display: flex;
    word-break: break-word;
}

@media (min-width: 820px) {
    .psudmenu-main-menu-lvl3-title-container {
        padding: 12px 88px 12px 40px;
    }
}

.psudmenu-main-menu-lvl2-icon-and-title {
    display: flex;
    align-items: center;
}

.psudmenu-main-menu-lvl-link-container {
    margin-left: 14px;
}

.psudmenu-main-menu-lvl-link-after-icon-container {
    margin-left: 50px;
}

.psudmenu-main-menu-lvl2-title {
    margin: 0;
    font-weight: 700;
    font-size: 24px;
    line-height: 24px;
    padding: 8px 0 8px 12px;
    color: white;
}

.psudmenu-main-menu-lvl3-title {
    margin: 0;
    font-weight: 700;
    font-size: 18px;
    line-height: 24px;
    color: white;
    padding: 8px 0 8px 12px;
}

.psudmenu-side-panel-back-button {
    height: 100%;
    flex-shrink: 0;
}

/** NOS SERVICES EN 1 CLIC */

.psudmenu-services1clic-panel {
    position: fixed;
    width: 100vw;
}

@media (max-width: 819.5px) {
    .psudmenu-services1clic-panel {
        z-index: 40;
        top: 78px;
        height: calc(100vh - 78px);
    }
}

@media (min-width: 820px) {
    .psudmenu-services1clic-panel-menu-mini-enabled {
        top: 128px;
        height: calc(100vh - 128px);
    }
}

@media (min-width: 820px) {
    .psudmenu-services1clic-panel-menu-mini-disabled {
        top: 84px;
        height: calc(100vh - 84px);
    }
}

.psudmenu-services1clic-panel-panel {
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
    background: linear-gradient(220deg, #d1e7ff 0%, #ebf5ff 100%);
    transform: translateY(0);
    transition: all 0.5s ease-out;
    overflow: auto;
    overflow-x: hidden;
}

@media (max-width: 819.5px) {
    .psudmenu-services1clic-panel-panel {
        padding-bottom: 24px;
    }
}

@media (min-width: 820px) {
    .psudmenu-services1clic-panel-panel {
        padding-bottom: 96px;
    }
}

@media (min-width: 820px) {
    .psudmenu-hidden .psudmenu-services1clic-panel-panel {
        transform: translateY(-1000px);
    }
}

.psudmenu-services1clic-panel-content {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 32px;
    padding: 24px;
}

@media (min-width: 820px) {
    .psudmenu-services1clic-panel-content {
        padding-top: 86px;
    }
}

.psudmenu-services1clic-panel-background-container {
    position: relative;
}

.psudmenu-services1clic-panel-background {
    position: absolute;
    width: 100vw;
}

@media (max-width: 819.5px) {
    .psudmenu-services1clic-panel-background {
        height: calc(100vh - 78px);
        background: url("/menuweb/images/wave-background-phone.svg");
        background-size: cover;
    }
}

@media (min-width: 820px) {
    .psudmenu-services1clic-panel-background {
        height: calc(100vh - 128px);
        background: url("/menuweb/images/wave-background.svg");
        background-size: cover;
    }
}

.psudmenu-services1clic-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
    width: 100%;
    max-width: 850px;
}

@media (min-width: 820px) and (max-width: 1024.5px) {
    .psudmenu-services1clic-grid {
        max-width: 800px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    .psudmenu-services1clic-grid .psudmenu-card-button {
        width: calc(50% - 8px);
    }
}

@media (max-width: 819.5px) {
    .psudmenu-services1clic-grid {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
}

@media (min-width: 1367px) {
    .psudmenu-services1clic-grid {
        gap: 32px;
    }
}

/** FOOTER */

.psudmenu-footer-container {
    display: flex;
}

.psudmenu-footer-left-fill {
    flex-grow: 1;
    background: #06224b;
}

.psudmenu-footer-right-fill {
    flex-grow: 1;
    background: #f4f4f5;
}

.psudmenu-footer-main-content {
    background: #06224b;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

@media (max-width: 819.5px) {
    .psudmenu-footer-main-content {
        width: 100%;
        padding: 48px 24px 64px 24px;
    }
}

@media (min-width: 820px) {
    .psudmenu-footer-main-content {
        width: 316px;
        padding: 48px 20px;
    }
}

@media (min-width: 1025px) {
    .psudmenu-footer-main-content {
        flex-grow: 0.5;
        width: 368px;
        padding: 112px 48px 64px 32px;
    }
}

.psudmenu-footer-contact-section {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.psudmenu-footer-logo {
    height: 64px;
    width: 64px;
    margin-bottom: 4px;
}

.psudmenu-footer-contact-section-address {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.psudmenu-footer-contact-section-icon-line {
    max-width: 368px;
    display: flex;
    align-items: center;
    gap: 4px 8px;
    flex-wrap: wrap;
}

.psudmenu-footer-social-network-section {
    display: flex;
    gap: 12px;
}

.psudmenu-footer-link-button-section-mobile {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-top: 1px solid #a9b7ff;
    padding-top: 8px;
    margin-top: 4px;
}

.psudmenu-footer-additional-content-container {
    flex-grow: 1;
    background: #f4f4f5;
    color: black;
}

@media (min-width: 1025px) {
    .psudmenu-footer-additional-content-container {
        padding-left: 2%;
    }
}

.psudmenu-footer-additional-content {
    height: 100%;
    padding: 88px 24px 48px 24px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    justify-content: space-between;
    overflow: hidden;
}

@media (min-width: 1025px) {
    .psudmenu-footer-additional-content {
        padding: 112px 48px 64px 48px;
        gap: 32px;
    }
}

.psudmenu-footer-link-section {
    column-count: 2;
    gap: 8px;
    padding-top: 12px;
}

@media (min-width: 1025px) {
    .psudmenu-footer-link-section {
        gap: 32px;
    }
}

.psudmenu-footer-link-button-section-desktop {
    display: flex;
    gap: 16px;
}

.psudmenu-social-network-button,
.psudmenu-social-network-button:focus {
    background: #f4f4f5;
    height: 32px;
    width: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.15s ease-out;
}

.psudmenu-social-network-button-icon {
    height: 16px;
    width: 16px;
    background-size: cover !important;
    filter: saturate(4) brightness(0.45);
}

.psudmenu-social-network-button:hover,
.psudmenu-social-network-button:focus-visible {
    cursor: pointer;
}

.psudmenu-social-network-button:hover .psudmenu-social-network-button-icon,
.psudmenu-social-network-button:focus-visible .psudmenu-social-network-button-icon {
    filter: hue-rotate(355deg) saturate(1.1) brightness(1.5);
}

.psudmenu-social-network-button:active {
    cursor: pointer;
}

.psudmenu-social-network-button:active .psudmenu-social-network-button-icon {
    filter: hue-rotate(355deg) saturate(1.1) brightness(1.2);
}

.psudmenu-footer-link {
    margin-bottom: 12px;
    font-weight: 500;
    display: block;
}

@media (max-width: 1024.5px) {
    .psudmenu-footer-link .psudmenu-text-link-text {
        font-size: 15px !important;
    }
}
