.site-archive-pagination {
    column-gap: 12px;
    display: flex;
    font-size: 16px;
    justify-content: center;
    position: relative;
}

.site-archive-pagination .page-numbers {
    align-items: center;
    border-radius: 50%;
    box-sizing: border-box;
    column-gap: 10px;
    display: inherit;
    height: 36px;
    justify-content: inherit;
    min-width: 36px;
    padding: 1px 8px 0;
}

.site-archive-pagination .current {
    background-color: var(--color--blue-normal);
    color: var(--color--white);
    font-weight: 600;
}

.site-archive-pagination .dots {
    color: var(--color--gray-normal);
}

.site-archive-pagination .prev {
    left: 0;
    position: absolute;
}

.site-archive-pagination .next {
    position: absolute;
    right: 0;
}



.site-aria-text {
    position: absolute;
    transform: scale(0);
}



.site-aria-wrapper {
    position: relative;
}



.site-article {
    display: flex;
    flex-direction: column;
    height: 100%;
    row-gap: 16px;
}

.site-article .media-wrapper {
    position: relative;
}

.site-article .media {
    border-radius: 16px;
}

.site-article .post-categories {
    bottom: 8px;
    left: 8px;
    position: absolute;
}

.site-article .text {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.site-article .post-title {
    margin-bottom: 6px;
}

.site-article .excerpt {
    display: block;
    margin-bottom: 12px;
}

.site-article .excerpt::before {
    color: var(--color--gray-dark-active);
    content: attr(data-text);
    font-size: 16px;
}

.site-article .read {
    align-items: center;
    column-gap: 10px;
    display: flex;
    margin-top: auto;
}

.site-article .read::before {
    content: attr(data-text);
}



.site-articles:not(:last-child) {
    margin-bottom: 80px;
}

.site-articles .title {
    margin-bottom: 8px;
}

.site-articles .description {
    color: var(--color--gray-dark-hover);
    margin: 0 0 20px;
}

.site-articles .categories {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
    padding-top: 4px;
}

.site-articles .categories .button[_active] {
    border-color: var(--color--blue-normal);
}

.site-articles .post-group {
    display: none;
}

.site-articles .post-group[_active] {
    display: block;
}

.site-articles .posts {
    display: grid;
    grid-column-gap: 32px;
    grid-template-columns: repeat(3, 1fr);
    padding-top: 12px;
}



.site-button {
    align-items: center;
    box-sizing: border-box;
    font-weight: 500;
}


.site-button.type-dynamic {
    position: relative;
}


.site-button.type-dynamic.size-small::after {
    height: 10px;
    width: 10px;
}


.site-button.type-dynamic.size-medium::after {
    height: 12px;
    width: 12px;
}


.site-button.type-dynamic.aspect-filled.color-blue-normal::after {
    border-bottom-color: var(--color--white);
    border-left-color: var(--color--white);
    border-top-color: var(--color--white);
}

.site-button.type-dynamic.aspect-filled.color-gray-light::after {
    border-bottom-color: var(--color--dark);
    border-left-color: var(--color--dark);
    border-top-color: var(--color--dark);
}

.site-button.type-dynamic.aspect-filled.color-white::after {
    border-bottom-color: var(--color--dark);
    border-left-color: var(--color--dark);
    border-top-color: var(--color--dark);
}

.site-button.type-dynamic.aspect-outline.color-blue-normal::after {
    border-bottom-color: var(--color--dark);
    border-left-color: var(--color--dark);
    border-top-color: var(--color--dark);
}

.site-button.type-dynamic.aspect-outline.color-gray-normal::after {
    border-bottom-color: var(--color--dark);
    border-left-color: var(--color--dark);
    border-top-color: var(--color--dark);
}


.site-button.type-dynamic::after {
    border-radius: 50%;
    border-right-color: transparent;
    border-style: solid;
    border-width: 2px;
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    transform: scale(0);
}

.site-button.type-dynamic[_active] {
    color: transparent;
}

.site-button.type-dynamic[_active]::after {
    animation: loading-circle 0.8s linear infinite;
    transform: scale(1);
}


.site-button.expand-auto {
    display: inline-flex;
}

.site-button.expand-full {
    display: flex;
    justify-content: center;
    width: 100%;
}


.site-button.size-small {
    border-radius: 20px;
    column-gap: 8px;
    font-size: 16px;
}

.site-button.size-medium {
    border-radius: 24px;
    column-gap: 12px;
}

.site-button.size-small.aspect-filled {
    padding: 10px 16px 9px;
}

.site-button.size-small.aspect-outline {
    padding: 8px 14px 7px;
}

.site-button.size-medium.aspect-filled {
    padding: 14px 24px 12px;
}

.site-button.size-medium.aspect-outline {
    padding: 12px 22px 10px;
}



.site-button.aspect-filled {
    border: 0;
}

.site-button.aspect-filled.color-blue-light {
    background-color: var(--color--blue-light);
    color: var(--color--blue-normal);
}

.site-button.aspect-filled.color-blue-normal {
    background-color: var(--color--blue-normal);
    color: var(--color--white);
}

.site-button.aspect-filled.color-gray-light {
    background-color: var(--color--gray-light);
    color: inherit;
}

.site-button.aspect-filled.color-gray-light-active {
    background-color: var(--color--gray-light-active);
    color: inherit;
}

.site-button.aspect-filled.color-orange-normal {
    background-color: var(--color--orange-normal);
    color: var(--color--white);
}

.site-button.aspect-filled.color-teal-normal {
    background-color: var(--color--teal-normal);
    color: var(--color--white);
}

.site-button.aspect-filled.color-transparent {
    background-color: transparent;
    color: inherit;
}

.site-button.aspect-filled.color-white {
    background-color: var(--color--white);
    color: inherit;
}


.site-button.aspect-outline {
    background-color: transparent;
    border-style: solid;
    border-width: 2px;
}

.site-button.aspect-outline.color-blue-normal {
    border-color: var(--color--blue-normal);
    color: inherit;
}

.site-button.aspect-outline.color-gray-normal {
    border-color: var(--color--gray-normal);
    color: inherit;
}



.site-checkbox {
    column-gap: 8px;
    cursor: pointer;
    display: inline-flex;
    font-size: 16px;
    position: relative;
    user-select: none;
}

.site-checkbox input:checked + .icon::before {
    transform: scale(1);
}

.site-checkbox .icon {
    border: 1px solid var(--color--blue-normal);
    border-radius: 3px;
    flex-shrink: 0;
    height: 12px;
    position: relative;
    top: 2px;
    width: 12px;
}

.site-checkbox .icon::before {
    background-color: var(--color--blue-normal);
    border-radius: 1px;
    content: "";
    height: calc(100% - 4px);
    left: 2px;
    position: absolute;
    top: 2px;
    transform: scale(0);
    width: calc(100% - 4px);
}

.site-checkbox a {
    text-decoration: underline;
}



.site-container {
    margin-left: auto;
    margin-right: auto;
    width: var(--width--container);
}



.site-event {
    border: 2px solid var(--color--gray-light-active);
    border-radius: 16px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 18px;
}

.site-event .action {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
}

.site-event .description {
    color: var(--color--gray-dark-hover);
    font-size: 14px;
}

.site-event .description::before {
    content: attr(data-text);
}

.site-event .icon {
    align-items: center;
    background-color: var(--color--gray-light);
    border-radius: 50%;
    display: flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.site-event .event-title {
    margin-bottom: 16px;
}

.site-event .detail {
    margin-top: 0;
}

.site-event .detail:first-of-type {
    margin-top: auto;
}

.site-event .detail span:first-child {
    color: var(--color--gray-dark-hover);
    display: block;
    font-size: 14px;
    margin-bottom: 4px;
}

.site-event .detail span:last-child {
    display: block;
    font-size: 16px;
}

.site-event .detail:last-child {
    margin-bottom: 0;
}

.site-event .detail:not(:last-child) {
    margin-bottom: 16px;
}



.site-field.required .label::after {
    color: var(--color--red-normal);
    content: " *";
}

.site-field .label {
    display: block;
    font-size: 16px;
    margin-bottom: 10px;
}



.site-heading.size-s {
    font-size: 22px;
    margin-top: 0;
}

.site-heading.size-m {
    font-size: 28px;
    margin-top: 0;
}

.site-heading.size-l {
    font-size: 36px;
    margin-top: 0;
}

.site-heading.size-xl {
    font-size: 44px;
    margin-top: 0;
}

.site-heading.size-xxl {
    font-size: 64px;
    margin-top: 0;
}


.site-heading.weight-medium {
    font-weight: 500;
}

.site-heading.weight-bold {
    font-weight: 700;
}


.site-heading.color-blue-normal {
    color: var(--color--blue-normal);
}

.site-heading.color-red-normal {
    color: var(--color--red-normal);
}

.site-heading.color-white {
    color: var(--color--white);
}



.site-image {
    height: 100%;
    left: 0;
    object-fit: cover;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.site-image[_animate] {
    transition: opacity 0.12s linear;
}

.site-image[_active] {
    opacity: 1;
}



.site-items-widget {
    position: sticky;
    top: 96px;
}

.site-items-widget .title {
    color: var(--color--blue-normal);
    font-size: 16px;
    margin: 0 0 16px;
    padding-left: 16px;
}

.site-items-widget .button {
    width: 100%;
}



.site-media {
    background-color: var(--color--blue-light-hover);
    display: block;
    overflow: hidden;
    pointer-events: none;
    position: relative;
}

.site-media[_animate] {
    transition: background-color 0.12s linear;
}

.site-media[_loaded] {
    background-color: transparent;
}

.site-media.aspect-auto {
    padding-top: var(--padding-top--aspect-ratio);
}

.site-media.aspect-landscape {
    padding-top: 60%;
}

.site-media.aspect-square {
    padding-top: 100%;
}



.media-appearance {
    background-color: var(--color--gray-light-hover);
    border-radius: 16px;
    display: block;
    height: 100%;
    overflow: hidden;
}

.media-appearance .media {
    margin-bottom: 16px;
}

.media-appearance .media-appearance-title {
    margin-bottom: 0;
    padding: 0 20px 20px;
}



.site-newsletter {
    margin-bottom: -96px;
}

.site-newsletter .wrapper {
    border-radius: 16px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    overflow: hidden;
    padding: 64px 160px;
    position: relative;
}

.site-newsletter .media {
    background-color: var(--color--blue-dark-hover);
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.site-newsletter .media::after {
    background-color: var(--color--black-transparent-35);
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.site-newsletter .text {
    color: var(--color--white);
    position: relative;
    z-index: 1;
}

.site-newsletter .title {
    margin-bottom: 8px;
}

.site-newsletter .description {
    font-size: 16px;
    margin: 0 0 16px;
}

.site-newsletter .fields {
    display: flex;
    margin-bottom: 8px;
}

.site-newsletter .field {
    flex-grow: 1;
}

.site-newsletter .input {
    align-items: center;
    display: flex;
    position: relative;
}

.site-newsletter .input svg {
    color: var(--color--gray-normal);
    left: 16px;
    position: absolute;
}

.site-newsletter input {
    border: 0;
    border-bottom-right-radius: 0;
    border-right: 0;
    border-top-right-radius: 0;
    color: var(--color--dark);
    padding: 9px 15px 8px 47px;
}

.site-newsletter .button {
    border-radius: 0 8px 8px 0;
    flex-shrink: 0;
    margin-top: auto;
}

.site-newsletter .checkbox {
    margin-bottom: 16px;
}

.site-newsletter .checkbox .icon {
    border-color: var(--color--white);
}

.site-newsletter .checkbox .icon::before {
    background-color: var(--color--white);
}

.site-newsletter .recaptcha-info {
    color: var(--color--white);
}



.site-page-header {
    background-color: var(--color--gray-light-hover);
    margin-bottom: 48px;
    padding: 64px 0;
}

.site-page-header .subtitle {
    color: var(--color--blue-normal);
    font-size: 14px;
    margin: 0 0 10px;
}

.site-page-header .post-categories {
    margin-bottom: 16px;
}

.site-page-header .heading:last-child {
    margin-bottom: 0;
}

.site-page-header .heading:not(:last-child) {
    margin-bottom: 10px;
}

.site-page-header .description {
    color: var(--color--gray-dark-hover);
    margin: 0;
}



.site-post-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 6px;
}

.site-post-categories .category {
    background-color: var(--color--blue-light);
    border: 1px solid var(--color--blue-light-active);
    border-radius: 8px;
    color: var(--color--blue-dark);
    display: inline-block;
    font-size: 14px;
    padding: 4px 8px 2px;
}

.site-post-categories .category.pseudo-text::before {
    content: attr(data-text);
}



.site-presentation {
    margin-bottom: 64px;
    overflow: hidden;
    position: relative;
}

.site-presentation.no-announcement {
    margin-top: -80px;
}

.site-presentation.has-announcement {
    margin-top: -80px;
}

.site-presentation .wrapper {
    height: var(--height--viewport);
    min-height: 512px;
}

.site-presentation .media-wrapper {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.site-presentation .media-wrapper::after {
    background-color: var(--color--black-transparent-35);
    bottom: inherit;
    content: "";
    display: block;
    left: inherit;
    position: inherit;
    right: inherit;
    top: inherit;
}

.site-presentation .media-wrapper.id-5878a7ab .media-inner {
    height: auto;
}

.site-presentation .media-inner {
    height: 100%;
}

.site-presentation .media {
    height: 100%;
}

.site-presentation .text {
    align-items: baseline;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    height: inherit;
    justify-content: center;
    padding: 80px 0;
    position: relative;
    width: 62%;
}

.site-presentation .heading {
    margin-bottom: 20px;
}

.site-presentation .subtitle {
    color: var(--color--white);
    margin: 0 0 32px;
}

.site-presentation .button {
    border-radius: 24px;
    column-gap: 12px;
    padding: 6px 6px 6px 24px;
}

.site-presentation .button .circle {
    align-items: center;
    background-color: var(--color--white);
    border-radius: 50%;
    color: var(--color--blue-normal);
    display: flex;
    height: 36px;
    justify-content: center;
    width: 36px;
}



.site-recaptcha-info {
    font-size: 12px;
    margin: 0;
}

.site-recaptcha-info a {
    text-decoration: underline;
}



.site-service {
    position: relative;
}

.site-service .media {
    border-radius: 16px;
}

.site-service .media::after {
    background-color: var(--color--black-transparent-35);
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.site-service .service-title {
    align-items: flex-end;
    bottom: 0;
    display: flex;
    color: var(--color--white);
    left: 0;
    margin-bottom: 0;
    padding: 20px;
    position: absolute;
    right: 0;
    top: 0;
}



.site-social {
    column-gap: 16px;
    display: flex;
}

.site-social.color-blue-normal {
    color: var(--color--blue-normal);
}

.site-social.color-white {
    color: var(--color--white);
}

.site-social a {
    align-items: center;
    border: 2px solid;
    border-radius: 50%;
    box-sizing: border-box;
    display: flex;
    height: 40px;
    justify-content: center;
    width: 40px;
}



.site-text-media {
    margin-bottom: 64px;
}

.site-text-media.heading:not(:last-child) {
    margin-bottom: 64px;
}

.site-text-media .wrapper {
    display: grid;
    grid-column-gap: 32px;
    grid-template-columns: repeat(2, 1fr);
}

.site-text-media .text {
    display: flex;
    flex-direction: column;
    padding: 32px 0;
}

.site-text-media .title {
    margin-bottom: 16px;
}


.site-text-media .wp-content:not(:last-child) {
    margin-bottom: 24px;
}


.site-text-media .list li {
    column-gap: 12px;
    display: flex;
}

.site-text-media .list li:not(:last-child) {
    margin-bottom: 8px;
}

.site-text-media .list svg {
    color: var(--color--blue-normal);
    flex-shrink: 0;
    position: relative;
    top: -2px;
}


.site-text-media .services {
    margin-bottom: 24px;
    padding-top: 10px;
}

.site-text-media .services li:not(:last-child) {
    margin-bottom: 16px;
}

.site-text-media .service {
    column-gap: 16px;
    display: inline-flex;
}

.site-text-media .service:hover .service-button {
    transform: scale(1);
}

.site-text-media .service-link {
    color: var(--color--gray-dark-hover);
}

.site-text-media .service-button {
    flex-shrink: 0;
    position: relative;
    top: -4px;
    transform: scale(0);
}

.site-text-media .service-button::before {
    content: attr(data-text);
}


.site-text-media .info {
    margin-top: auto;
}

.site-text-media .info h4 {
    font-size: inherit;
}

.site-text-media .info p:last-child a {
    background-color: var(--color--blue-light);
    border: 1px solid var(--color--blue-light-active);
    border-radius: 8px;
    display: inline-block;
    padding: 8px 14px 7px;
    text-decoration: none;
}


.site-text-media .media {
    border-radius: 16px;
    height: 100%;
}



[_scroll-disabled] {
    overflow-y: hidden;
}



.grecaptcha-badge {
    visibility: hidden;
}



@keyframes loading-circle {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}



@keyframes marquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-100%);
    }
}



@media (max-width: 1567px) {
    .site-heading.size-s {
        font-size: 20px;
    }

    .site-heading.size-m {
        font-size: 24px;
    }

    .site-heading.size-l {
        font-size: 32px;
    }

    .site-heading.size-xl {
        font-size: 40px;
    }

    .site-heading.size-xxl {
        font-size: 48px;
    }
}


@media (max-width: 1299px) {
    .site-articles .posts {
        grid-column-gap: 24px;
    }



    .site-heading.size-l {
        font-size: 28px;
    }

    .site-heading.size-xl {
        font-size: 32px;
    }

    .site-heading.size-xxl {
        font-size: 40px;
    }



    .site-newsletter .wrapper {
        grid-template-columns: 1fr 1.01fr;
        padding: 48px 32px;
    }



    .site-page-header {
        padding: 48px 0;
    }



    .site-presentation .media-wrapper.id-5878a7ab .media-inner {
        box-sizing: border-box;
        padding-right: 128px;
        width: calc(var(--width--viewport) + 360px);
    }

    .site-presentation .media-wrapper.id-5878a7ab .media {
        height: auto;
    }



    .site-text-media .media-wrapper {
        height: 100%;
    }

    .site-text-media .media-inner {
        height: 100%;
    }

    .site-text-media .media {
        padding-top: 0;
    }
}


@media (max-width: 1024px) {
    .site-articles .posts {
        grid-template-columns: 1fr;
        row-gap: 32px;
    }



    .site-heading.size-m {
        font-size: 22px;
    }

    .site-heading.size-l {
        font-size: 26px;
    }

    .site-heading.size-xl {
        font-size: 28px;
    }

    .site-heading.size-xxl {
        font-size: 32px;
    }



    .site-items-widget {
        position: static;
    }

    .site-items-widget .title {
        font-size: 14px;
        margin-bottom: 12px;
        text-align: center;
    }

    .site-items-widget .items {
        overflow: auto;
    }

    .site-items-widget ul {
        display: flex;
        flex-wrap: nowrap;
    }

    .site-items-widget li {
        flex-shrink: 0;
    }

    .site-items-widget .button {
        font-size: 14px;
    }



    .site-newsletter .wrapper {
        display: block;
        padding-left: 20px;
        padding-right: 20px;
    }



    .site-page-header {
        margin-bottom: 40px;
        padding: 32px 0;
    }



    .site-presentation.no-announcement {
        margin-top: -72px;
    }

    .site-presentation.has-announcement {
        margin-top: -104px;
    }

    .site-presentation.no-popup .text {
        padding-bottom: 40px;
    }

    .site-presentation.has-popup .text {
        padding-bottom: 172px;
    }

    .site-presentation .media-wrapper.id-5878a7ab {
        display: flex;
        justify-content: flex-end;
    }
    
    .site-presentation .media-wrapper.id-5878a7ab .media-inner {
        flex-shrink: 0;
        padding-right: 0;
        width: calc(var(--width--viewport) * 2);
    }

    .site-presentation .text {
        justify-content: flex-end;
        padding-top: 72px;
        width: 100%;
    }



    .site-social {
        column-gap: 8px;
    }

    .site-social a {
        height: 32px;
        width: 32px;
    }

    .site-social svg {
        height: 16px;
        width: auto;
    }



    .site-text-media .wrapper {
        grid-template-columns: 1fr;
        row-gap: 32px;
    }


    .site-text-media .text {
        padding: 0;
    }

    .site-text-media .list li {
        column-gap: 8px;
    }

    .site-text-media .list svg {
        height: 20px;
        top: 0;
        width: auto;
    }


    .site-text-media .services {
        margin-bottom: 32px;
        padding-top: 0;
    }

    .site-text-media .services li:not(:last-child) {
        margin-bottom: 12px;
    }

    .site-text-media .service-button {
        display: none;
    }


    .site-text-media .media {
        height: auto;
        padding-top: 60%;
    }
}


@media (max-width: 691px) {
    .site-newsletter .media::after {
        background-color: var(--color--black-transparent-65);
    }

    .site-newsletter .description {
        font-size: 14px;
    }

    .site-newsletter .checkbox {
        font-size: 14px;
    }

    .site-newsletter .icon {
        top: 1px;
    }



    .site-presentation .media-wrapper.id-5878a7ab .media-inner {
        left: 48%;
        position: relative;
        width: calc(var(--width--viewport) * 3.1);
    }
}