.custom__edit--info {
    position: fixed;
    width: 40px;
    height: 40px;
    bottom: 1em;
    right: 1em;
    z-index: 3000;
    border-radius: 50%;
    padding: 0;
    text-align: center;
    margin: 1em;
    background: #745b99;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.35);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.35)
}

.custom__edit--info svg {
    line-height: 40px;
    height: 40px;
    width: 40px;
    cursor: pointer
}

.custom__edit--info div {
    position: absolute;
    display: block;
    white-space: nowrap;
    bottom: 0;
    right: 100%;
    border-radius: 4px;
    padding: 0 2em;
    -webkit-box-shadow: inherit;
    box-shadow: inherit;
    background: inherit;
    opacity: 0;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    visibility: hidden;
    -webkit-transition: opacity 0.2s ease, visibility 0s ease 0.2s, -webkit-transform 0.2s ease;
    transition: opacity 0.2s ease, visibility 0s ease 0.2s, -webkit-transform 0.2s ease;
    -o-transition: transform 0.2s ease, opacity 0.2s ease, visibility 0s ease 0.2s;
    transition: transform 0.2s ease, opacity 0.2s ease, visibility 0s ease 0.2s;
    transition: transform 0.2s ease, opacity 0.2s ease, visibility 0s ease 0.2s, -webkit-transform 0.2s ease
}

.custom__edit--info p {
    white-space: nowrap;
    line-height: 1.8;
    text-align: left;
    text-transform: none
}

.custom__edit--info small {
    margin-right: 5px;
    opacity: 0.75;
    text-transform: uppercase;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.custom__edit--info:hover div {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateX(-1em);
    -ms-transform: translateX(-1em);
    transform: translateX(-1em);
    -webkit-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s
}

.admin__feed__authorise a {
    -webkit-text-decoration-color: rgba(255, 255, 255, 0);
    text-decoration-color: rgba(255, 255, 255, 0);
    color: inherit
}

@-webkit-keyframes marquee {
    0% {
        -webkit-transform: translateX(100vw);
        transform: translateX(100vw)
    }

    to {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
}

@keyframes marquee {
    0% {
        -webkit-transform: translateX(100vw);
        transform: translateX(100vw)
    }

    to {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

.custom__edit--info {
    position: fixed;
    width: 40px;
    height: 40px;
    bottom: 1em;
    right: 1em;
    z-index: 3000;
    border-radius: 50%;
    padding: 0;
    text-align: center;
    margin: 1em;
    background: #745b99;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.35);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.35)
}

.custom__edit--info svg {
    line-height: 40px;
    height: 40px;
    width: 40px;
    cursor: pointer
}

.custom__edit--info div {
    position: absolute;
    display: block;
    white-space: nowrap;
    bottom: 0;
    right: 100%;
    border-radius: 4px;
    padding: 0 2em;
    -webkit-box-shadow: inherit;
    box-shadow: inherit;
    background: inherit;
    opacity: 0;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    visibility: hidden;
    -webkit-transition: opacity 0.2s ease, visibility 0s ease 0.2s, -webkit-transform 0.2s ease;
    transition: opacity 0.2s ease, visibility 0s ease 0.2s, -webkit-transform 0.2s ease;
    -o-transition: transform 0.2s ease, opacity 0.2s ease, visibility 0s ease 0.2s;
    transition: transform 0.2s ease, opacity 0.2s ease, visibility 0s ease 0.2s;
    transition: transform 0.2s ease, opacity 0.2s ease, visibility 0s ease 0.2s, -webkit-transform 0.2s ease
}

.custom__edit--info p {
    white-space: nowrap;
    line-height: 1.8;
    text-align: left;
    text-transform: none
}

.custom__edit--info small {
    margin-right: 5px;
    opacity: 0.75;
    text-transform: uppercase;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.custom__edit--info:hover div {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateX(-1em);
    -ms-transform: translateX(-1em);
    transform: translateX(-1em);
    -webkit-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s
}

.admin__feed__authorise a {
    -webkit-text-decoration-color: rgba(255, 255, 255, 0);
    text-decoration-color: rgba(255, 255, 255, 0);
    color: inherit
}

@keyframes marquee {
    0% {
        -webkit-transform: translateX(100vw);
        transform: translateX(100vw)
    }

    to {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
}

@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

.content {
    width: 100%;
    float: none
}

.content__region {
    max-width: none
}

.content__attachments {
    display: none
}

.hero {
    min-height: 70vh;
    max-height: 100vh;
    height: 54vw
}

.hero__text.home__hero__text {
    bottom: 6%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: clamp(20px, 5vw, 40px);
    row-gap: 15px;
    max-width: 70%;
    padding-left: 3%
}

@media (min-width:1554px) {
    .hero__text.home__hero__text {
        padding-left: calc(50% - 700px)
    }
}

.home__hero__text__item h2 {
    display: inline-block;
    color: var(--col-pritxt);
    font-size: clamp(1.75em, 8vw, 2.5em);
    margin-block: 0;
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px);
    opacity: 0;
    -webkit-transition: opacity 1400ms ease 400ms, -webkit-transform 1400ms ease;
    transition: opacity 1400ms ease 400ms, -webkit-transform 1400ms ease;
    -o-transition: transform 1400ms ease, opacity 1400ms ease 400ms;
    transition: transform 1400ms ease, opacity 1400ms ease 400ms;
    transition: transform 1400ms ease, opacity 1400ms ease 400ms, -webkit-transform 1400ms ease
}

.mason--admin .home__hero__text__item h2 {
    min-width: 150px
}

.home__hero__text__item.swiper-slide-active h2,
.inview .home__hero__text__item h2 {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    opacity: 1
}

.section__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    gap: 1em
}

.section__header__links {
    position: absolute;
    bottom: 0em;
    left: 3%;
    right: 3%;
    margin-inline: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0.7em;
    margin-bottom: 0.8em;
    min-height: 100px
}

.section__header__links .icon__links__list__item__link {
    color: #000
}

.section__header__links .icon__links__list__item__link:before {
    background-color: transparent;
    border: 3px solid #000
}

@media (min-width:769px) {
    .section__header__links {
        position: relative;
        bottom: unset;
        left: unset;
        right: unset;
        margin-inline: 0;
        margin-top: -0.3em;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        min-height: unset
    }
}

.section__titles {
    position: relative;
    z-index: 5;
    color: #000;
    min-width: 200px
}

.section__titles h2 {
    margin-block: 0;
    text-transform: uppercase;
    font-size: clamp(0.875em, 4vw, 1em);
    letter-spacing: 0.3em;
    font-weight: 400
}

.section__titles h3 {
    font-size: clamp(1.625em, 8cqw, 2.5em);
    margin-block: 0
}

.section__titles__alt {
    color: var(--col-pritxt)
}

.map__container {
    width: 100%;
    height: clamp(300px, 25vw, 600px)
}

.map__svg__clip {
    position: absolute;
    width: 0;
    height: 0
}

.map__container {
    position: relative;
    height: clamp(400px, 30vw, 700px);
    background-color: var(--col-pri)
}

.map__contact {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
    -ms-grid-rows: (1fr)[1];
    grid-template-rows: repeat(1, 1fr)
}

.map__contact__inner {
    padding: 2em 5vw
}

.map__contact__inner h2 {
    font-size: clamp(1.25em, 6cqw, 1.875em);
    text-align: center;
    margin-top: 0
}

.map__contact__inner p {
    font-size: clamp(1em, 4.5cqw, 1.25em)
}

.map__contact__inner .contact__icon svg {
    font-size: 1.4em
}

.map__contact__inner .contact__item {
    container-type: inline-size;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-area: 1 / 1 / 2 / 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    font-weight: 600;
    z-index: 1;
    letter-spacing: 0.04em;
    margin-bottom: 1.5em;
    -webkit-transition: opacity 1500ms ease-in-out, -webkit-transform 1.2s ease-in-out;
    transition: opacity 1500ms ease-in-out, -webkit-transform 1.2s ease-in-out;
    -o-transition: opacity 1500ms ease-in-out, transform 1.2s ease-in-out;
    transition: opacity 1500ms ease-in-out, transform 1.2s ease-in-out;
    transition: opacity 1500ms ease-in-out, transform 1.2s ease-in-out, -webkit-transform 1.2s ease-in-out
}

.map__contact__inner .contact__item.map__contact__inner__email a {
    text-decoration: underline;
    -webkit-transition: -webkit-text-decoration-color 400ms ease;
    transition: -webkit-text-decoration-color 400ms ease;
    -o-transition: text-decoration-color 400ms ease;
    transition: text-decoration-color 400ms ease;
    transition: text-decoration-color 400ms ease, -webkit-text-decoration-color 400ms ease
}

.map__contact__inner .contact__item.map__contact__inner__email a:hover {
    -webkit-text-decoration-color: transparent;
    text-decoration-color: transparent
}

.map__contact__inner .contact__item.map__contact__inner__phone svg {
    -webkit-transform: scaleX(-1);
    -ms-transform: scaleX(-1);
    transform: scaleX(-1)
}

.map__contact__inner address {
    font-style: normal
}

@media (min-width:850px) {
    .school__map {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        container-type: size;
        overflow: hidden
    }

    #map-clip-path {
        -webkit-transform: translateY(-80cqh) translateX(1cqh) scale(2.6);
        -ms-transform: translateY(-80cqh) translateX(1cqh) scale(2.6);
        transform: translateY(-80cqh) translateX(1cqh) scale(2.6)
    }

    .map__container__clipped {
        background-size: cover;
        -webkit-clip-path: url(#map-clip-path);
        clip-path: url(#map-clip-path)
    }

    .map__contact {
        width: auto;
        -ms-flex-negative: 2;
        flex-shrink: 2
    }

    .map__contact__inner {
        max-width: 50vw
    }

    .map__contact__inner h2 {
        text-align: left
    }

    .map__contact__inner p {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        text-align: left;
        margin-block: 0
    }

    .map__contact__inner .contact__item {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        gap: 1.8em;
        row-gap: 0;
    }

    .map__contact__inner .contact__item:last-child {
        margin-bottom: 0
    }

    .map__contact__inner .contact__item.map__contact__inner__address {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start
    }
}

@media (min-width:1050px) {
    .school__map {
        height: clamp(400px, 50vw, 400px);
        z-index: 2;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    .map__container {
        z-index: 1;
        width: 55%;
        margin-left: auto
    }

    #map_canvas {
        width: 100%
    }

    .map__contact {
        padding: 0 0 0 4%;
        z-index: 3;
        visibility: hidden;
        margin-block: auto;
        z-index: 2
    }
}

@media (min-width:1050px) and (min-width:1554px) {
    .map__contact {
        padding-left: calc(50% - 700px)
    }
}

@media (min-width:1050px) {
    .map__contact__inner {
        visibility: visible;
        padding: clamp(2em, 5vw, 1.5em) 0;
        max-height: 464px;
        aspect-ratio: 1/1
    }

    .map__contact__inner h2 {
        margin-bottom: 1em
    }

    .map__contact__inner .contact__item {
        margin-block: 1.8em;
        margin-left: 0.8em
    }

    .map__contact__inner .contact__item svg {
        margin-top: 0.2em
    }
}

@media (min-width:1750px) {
    #map-clip-path {
        -webkit-transform: translateY(-140cqh) translateX(1cqh) scale(2.6);
        -ms-transform: translateY(-140cqh) translateX(1cqh) scale(2.6);
        transform: translateY(-140cqh) translateX(1cqh) scale(2.6)
    }
}

.welcome {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: clamp(2em, 5%, 5em);
    padding-inline: 3%;
    padding-block: 3em;
    background-color: var(--col-pri);
    color: var(--col-pritxt);
    overflow: hidden
}

.welcome__svg__clip {
    position: absolute;
    width: 0;
    height: 0
}

.welcome__content {
    width: 100%;
    container-type: inline-size
}

.welcome__content__region p {
    color: var(--col-pritxt);
    font-style: italic;
    font-size: clamp(1em, 6cqw, 1.25em);
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.welcome__content__region p.intro {
    font-style: normal;
    font-size: clamp(1.25em, 5vw, 1.875em)
}

.welcome__button__links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 20px;
    row-gap: 10px
}

.welcome__media {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    background: var(--col-pri);
    aspect-ratio: 1/1;
    max-width: 360px;
    border-radius: 50%;
    overflow: hidden
}

.welcome__media__image {
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 0;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease
}

.welcome__media__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.mason--admin .welcome__media__image {
    z-index: 2
}

.mason--admin .welcome__media__image:before {
    top: auto;
    right: 0;
    bottom: 0;
    margin: auto;
    left: 0
}

@media (min-width:950px) {
    .welcome {
        height: clamp(600px, 50vw, 700px);
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding-right: 0;
        padding-block: 0;
        container-type: size
    }
}

@media (min-width:950px) and (min-width:1554px) {
    .welcome {
        padding-left: calc(50% - 700px)
    }
}

@media (min-width:950px) {
    .welcome__content {
        width: 50%;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        max-width: 560px;
        padding-top: 3em;
        padding-bottom: 5em;
        -ms-flex-item-align: start;
        align-self: flex-start;
        -ms-flex-negative: 1;
        flex-shrink: 1
    }

    .welcome__button__links {
        position: absolute;
        bottom: 3em
    }

    #welcome-clip-path {
        -webkit-transform: translateY(-76cqh) translateX(0cqw) scale(2.6);
        -ms-transform: translateY(-76cqh) translateX(0cqw) scale(2.6);
        transform: translateY(-76cqh) translateX(0cqw) scale(2.6)
    }
}

@media (min-width:950px) and (min-width:1650px) {
    #welcome-clip-path {
        -webkit-transform: translateY(-70cqh) translateX(0cqw) scale(2.6);
        -ms-transform: translateY(-70cqh) translateX(0cqw) scale(2.6);
        transform: translateY(-70cqh) translateX(0cqw) scale(2.6)
    }
}

@media (min-width:950px) {
    .welcome__media {
        -ms-flex-item-align: start;
        align-self: flex-start;
        max-width: 50%;
        height: 100%;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        border-radius: unset;
        -webkit-clip-path: url(#welcome-clip-path);
        clip-path: url(#welcome-clip-path);
        background-size: cover
    }

    .welcome__media__image {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        left: 0;
        aspect-ratio: 1/1
    }

    .welcome__media__image img {
        -webkit-transform: translateX(-15%);
        -ms-transform: translateX(-15%);
        transform: translateX(-15%);
        width: 130%
    }
}

@media (min-width:1160px) {
    .welcome__content__region {
        margin-top: 5.5em
    }
}

.image__links {
    position: relative;
    padding-top: 3em;
    padding-bottom: 6em
}

@media (min-width:769px) {
    .image__links {
        padding-bottom: 1em
    }
}

.image__links__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 2em;
    text-align: center;
    margin-top: 3em;
    overflow: visible
}

.image__links__list__item.swiper-slide {
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.image__links__list__item__link {
    position: relative;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: auto;
    width: clamp(320px, 30vw, 444px);
    aspect-ratio: 444 / 423;
    height: auto;
    -ms-flex-line-pack: end;
    align-content: end;
    border-radius: 20px;
    overflow: hidden;
    background: var(--col-sec);
    outline: 3px solid transparent;
    outline-offset: -3px;
    -webkit-box-shadow: var(--shadow-md);
    box-shadow: var(--shadow-md);
    -webkit-transition: background-color 400ms ease, outline 400ms ease;
    -o-transition: background-color 400ms ease, outline 400ms ease;
    transition: background-color 400ms ease, outline 400ms ease
}

.image__links__list__item__link:focus,
.image__links__list__item__link:hover {
    outline: 3px solid var(--col-sec);
    background: var(--col-pri)
}

.image__links__list__item__link:focus .image__links__list__item__image,
.image__links__list__item__link:hover .image__links__list__item__image {
    border: 3px solid var(--col-sec);
    border-bottom-color: transparent
}

.image__links__list__item__link:focus .image__links__list__item__image img,
.image__links__list__item__link:hover .image__links__list__item__image img {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05)
}

.image__links__list__item__link:focus .image__links__list__item__content,
.image__links__list__item__link:hover .image__links__list__item__content {
    color: var(--col-pritxt)
}

.image__links__list__item__image {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    height: 62%;
    overflow: hidden;
    border-radius: 20px 20px 0 0;
    border: 0px solid transparent;
    z-index: 1;
    -webkit-transition: border 300ms ease;
    -o-transition: border 300ms ease;
    transition: border 300ms ease
}

.image__links__list__item__image img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%;
    height: 100%;
    display: block
}

.image__links__list__item__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    text-align: left;
    height: 38%;
    width: 100%;
    margin-top: auto;
    padding-block: clamp(0.5em, 2.5cqi, 2em);
    padding-inline: 2.6em;
    color: var(--col-sectxt);
    -webkit-transition: color 300ms ease;
    -o-transition: color 300ms ease;
    transition: color 300ms ease
}

.image__links__list__item__content p {
    position: relative
}

.image__links__list__item__content__title {
    font-size: clamp(1.125em, 1.8cqw, 1.875em);
    font-weight: 600;
    display: -webkit-box;
    min-height: 2lh;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0;
    -ms-flex-line-pack: center;
    align-content: center
}

.image__links__list__item__content__more {
    font-size: 1em;
    font-weight: 700;
    margin-top: 1em;
    text-decoration: underline
}

@media (min-width:580px) {
    .image__links__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        gap: 1em
    }

    .image__links__list__item {
        width: calc(50% - 0.5em);
        max-height: none;
        margin: 0
    }
}

@media (min-width:950px) {
    .image__links__list__item {
        width: calc(33.33333% - 0.7em);
        aspect-ratio: 1/1
    }

    .image__links__navigation.swiper__navigation {
        margin-block: 0
    }
}

.testimonials {
    position: relative;
    background-color: var(--col-pri);
    padding-block: 3em;
    margin: auto
}

.testimonials__section__titles {
    padding-inline: 3%
}

@media (min-width:1554px) {
    .testimonials__section__titles {
        padding-left: calc(50% - 700px)
    }
}

.testimonials__section__titles h2,
.testimonials__section__titles h3 {
    max-width: 700px
}

.testimonials__button__region {
    margin-left: 3%
}

.testimonials__container {
    margin-top: 2em
}

.testimonials__navigation {
    margin-inline: 3%
}

.testimonials__navigation__pause>:nth-child(2) {
    display: none
}

.testimonials__navigation__pause.active>:first-child {
    display: none
}

.testimonials__navigation__pause.active>:nth-child(2) {
    display: block
}

.testimonials__list {
    overflow: visible
}

.testimonials__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.25em;
    color: var(--col-pritxt);
    text-align: center;
    opacity: 0;
    -webkit-transition: opacity 0.5s ease;
    -o-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease
}

.testimonials__item.swiper-slide-active {
    opacity: 1
}

.testimonials__item__media {
    width: 100%
}

.testimonials__item__image {
    position: relative;
    width: 100%;
    max-height: 440px;
    overflow: hidden;
    aspect-ratio: 2/1
}

.testimonials__item__image .overlay__corner {
    position: absolute;
    top: -2px;
    bottom: 0px;
    left: 0px;
    width: 62%;
    height: 102%
}

.testimonials__item__image .overlay__corner:after {
    position: absolute;
    content: "";
    top: 0;
    right: auto;
    bottom: 0;
    left: -2px;
    background-color: var(--col-pri);
    width: 65%;
    height: 100%;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
    clip-path: polygon(0% 0%, 100% 0%, 0% 100%)
}

.testimonials__item__image .overlay__corner:before {
    position: absolute;
    content: "";
    top: 0;
    right: auto;
    bottom: 0;
    left: 0;
    background-color: var(--col-pri);
    opacity: 0.5;
    width: 100%;
    height: 100%;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 36% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 100% 0%, 36% 100%, 0% 100%)
}

.testimonials__item__text {
    container-type: inline-size;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.25em;
    width: 100%;
    padding-inline: 3%
}

.testimonials__item__quote p {
    font-size: clamp(1.125em, 5vw, 1.25em);
    font-weight: 700;
    font-style: italic;
    margin: 0;
    line-height: 1.6;
    max-height: 8lh;
    overflow: hidden;
    overflow-y: auto;
    text-align: left;
    scrollbar-width: thin;
    scrollbar-color: var(--col-pri) rgba(0, 0, 0, 0.25);
    -ms-overflow-style: -ms-autohiding-scrollbar
}

.testimonials__item__quote p::-webkit-scrollbar {
    width: 7px
}

.testimonials__item__quote p::-webkit-scrollbar-track {
    background-color: rgba(0, 0, 0, 0.25)
}

.testimonials__item__quote p::-webkit-scrollbar-thumb {
    background-color: var(--col-pri)
}

.testimonials__item__author {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 1em
}

.testimonials__item__author span {
    font-size: clamp(1.375em, 5vw, 1.875em);
    font-weight: 700
}

@media (min-width:1050px) {
    .testimonials {
        min-height: 700px
    }

    .testimonials__button__region {
        margin-left: 0;
        position: absolute;
        bottom: 3.5em;
        right: 0;
        margin-right: 3%
    }
}

@media (min-width:1050px) and (min-width:1554px) {
    .testimonials__button__region {
        margin-right: calc(50% - 700px)
    }
}

@media (min-width:1050px) {
    .mason--admin .testimonials__button__region {
        position: absolute !important
    }

    .testimonials__container {
        position: absolute;
        inset: 0;
        margin-top: 0;
        padding-left: 3%
    }
}

@media (min-width:1050px) and (min-width:1554px) {
    .testimonials__container {
        padding-left: calc(50% - 700px)
    }
}

@media (min-width:1050px) {
    .testimonials__navigation {
        position: absolute;
        bottom: 0;
        left: 0;
        margin-bottom: 3.5em;
        z-index: 4
    }
}

@media (min-width:1050px) and (min-width:1554px) {
    .testimonials__navigation {
        margin-left: calc(50% - 700px)
    }
}

@media (min-width:1050px) {
    .testimonials__list {
        height: 100%
    }

    .testimonials__list .swiper-wrapper {
        height: 100%
    }

    .testimonials__item {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        text-align: left;
        gap: 0;
        height: 100%;
        overflow: hidden
    }

    .testimonials__item__quote {
        width: 118%
    }

    .testimonials__item__text {
        position: relative;
        z-index: 2;
        width: 60%;
        padding-top: 220px;
        padding-left: 0
    }

    .testimonials__item__media {
        position: relative;
        max-height: 700px;
        height: 100%;
        right: 0
    }

    .testimonials__item__image {
        max-height: unset;
        width: 110%;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        aspect-ratio: unset
    }
}

.social {
    position: relative;
    padding-top: 3em;
    padding-bottom: 9em
}

@media (min-width:520px) {
    .social {
        padding-bottom: 6em
    }
}

@media (min-width:769px) {
    .social {
        padding-bottom: 2em
    }
}

.news__section__header .nav__button {
    color: var(--col-pri)
}

.news__section__header .nav__button:before {
    background-color: var(--col-pritxt);
    border-color: var(--col-pri)
}

.social:not(:has(.social__feed .news__item)) .news__section__header .news__link {
    display: none
}

.social:not(:has(.social__feed .newsletter__item)) .news__section__header .newsletter__link {
    display: none
}

.social__container {
    margin-top: 3.5em
}

.social__feed {
    overflow: visible
}

.social__item.swiper-slide {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.social__item__block {
    width: clamp(320px, 30vw, 444px);
    background-color: var(--col-sec);
    color: var(--col-sectxt);
    border-radius: 20px;
    overflow: hidden;
    -webkit-box-shadow: var(--shadow-md);
    box-shadow: var(--shadow-md);
    outline: 3px solid transparent;
    outline-offset: -3px;
    -webkit-transition: outline 400ms ease, background-color 400ms ease, color 400ms ease;
    -o-transition: outline 400ms ease, background-color 400ms ease, color 400ms ease;
    transition: outline 400ms ease, background-color 400ms ease, color 400ms ease
}

.social__item__block:focus,
.social__item__block:hover {
    color: var(--col-pritxt);
    background-color: var(--col-pri);
    outline: 3px solid var(--col-pri)
}

.social__item__block:focus .social__item__image,
.social__item__block:hover .social__item__image {
    border: 3px solid var(--col-pri);
    -webkit-box-shadow: inset 0 0 0 3px transparent;
    box-shadow: inset 0 0 0 3px transparent
}

.social__item__block:focus .social__item__image img,
.social__item__block:hover .social__item__image img {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05)
}

.social__item__image {
    position: relative;
    width: 100%;
    aspect-ratio: 5/3;
    border-radius: 20px 20px 0 0;
    overflow: hidden;
    border: 0px solid var(--col-pri);
    -webkit-transition: border-radius 300ms ease, border 300ms ease;
    -o-transition: border-radius 300ms ease, border 300ms ease;
    transition: border-radius 300ms ease, border 300ms ease;
    z-index: 2
}

.social__item__image img,
.social__item__image video {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: -webkit-transform 300ms ease;
    transition: -webkit-transform 300ms ease;
    -o-transition: transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
    z-index: 1
}

.social__item__content {
    position: relative;
    padding-block: 1.4em;
    padding-left: 2em;
    padding-right: 5em
}

.social__item__content__label {
    position: absolute;
    bottom: 1.4em;
    right: 2em
}

.social__item__content__label svg {
    font-size: 2.2em
}

.social__item__content__date {
    display: none
}

.social__item__content__info {
    position: relative
}

.social__item__content__info__title {
    min-height: 2lh;
    margin-top: 0;
    font-size: clamp(1.125em, 5cqw, 1.25em);
    font-weight: 600;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 1em
}

.newsletter__item .social__item__content__info__title {
    margin-bottom: 0.15em;
    min-height: 1lh
}

.social__item__content__info__intro p {
    display: none
}

.social__item__content__info__intro p:first-child {
    display: block;
    min-height: 3lh;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.newsletter__item .social__item__content__info__intro {
    display: block;
    min-height: 5lh
}

.newsletter__item .social__item__content__info__intro span {
    font-size: clamp(1.375em, 2.2cqw, 1.875em);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.social__media__item .social__item__content__info__intro {
    margin-top: 0.5em;
    min-height: 6lh;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.social__item__content__info__more {
    font-weight: 600;
    text-decoration: underline;
    margin-bottom: 0.5em
}

.admin__feed__authorise {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 2em
}

.admin__feed__authorise .button__link>a {
    background-color: transparent;
    color: #fff
}

.admin__feed__authorise .button__link>a:before {
    background-color: #745b99
}

.admin__feed__authorise a {
    display: block;
    background: #745b99;
    color: #fff;
    padding: 0.65em 1em;
    font-size: 0.875em;
    font-weight: 700
}

.admin__feed__authorise a#test-instagram_setup {
    background-color: #c32aa3
}

.admin__feed__authorise a.test-facebook_setup {
    background-color: #1877f2
}

.events {
    position: relative;
    padding-block: 3em;
    background-color: var(--col-pri);
    margin-top: 2em;
    border-top: 3px solid var(--col-sec);
    border-bottom: 3px solid var(--col-sec);
    padding-bottom: 6em
}

@media (min-width:769px) {
    .events {
        padding-bottom: 2em
    }
}

.events__list {
    margin-top: 2em;
    overflow: visible
}

.events__item.swiper-slide {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.events__item__link {
    width: clamp(320px, 30vw, 444px);
    background-color: var(--col-pri);
    color: var(--col-pritxt);
    padding: 1.4em 1.8em;
    border-radius: 30px;
    border: 3px solid var(--col-sec);
    -webkit-transition: border 400ms ease, color 400ms ease, background-color 400ms ease;
    -o-transition: border 400ms ease, color 400ms ease, background-color 400ms ease;
    transition: border 400ms ease, color 400ms ease, background-color 400ms ease
}

.events__item__link:hover {
    background-color: var(--col-sec);
    color: var(--col-sectxt);
    border: 3px solid var(--col-pri)
}

.events__item__link:hover .events__item__header svg {
    color: var(--col-pri)
}

.events__item__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.5em;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.events__item__header svg {
    color: var(--col-sec);
    font-size: 2.5em;
    -webkit-transition: color 400ms ease;
    -o-transition: color 400ms ease;
    transition: color 400ms ease
}

.events__item__header__content {
    font-size: clamp(1em, 2cqw, 1.25em);
    min-height: 2lh;
    -ms-flex-line-pack: center;
    align-content: center
}

.events__item__info__title {
    font-size: clamp(1.25em, 2cqw, 1.875em);
    margin-top: 0.6em;
    margin-bottom: 0.8em
}

.events__item__link__text {
    font-size: 1em;
    text-decoration: underline;
    font-weight: 700;
    margin-bottom: 0
}

.section__header .section__header__links {
    opacity: 0;
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px);
    -webkit-transition: opacity 600ms ease, -webkit-transform 600ms cubic-bezier(0.175, 0.885, 0.32, 1.775);
    transition: opacity 600ms ease, -webkit-transform 600ms cubic-bezier(0.175, 0.885, 0.32, 1.775);
    -o-transition: opacity 600ms ease, transform 600ms cubic-bezier(0.175, 0.885, 0.32, 1.775);
    transition: opacity 600ms ease, transform 600ms cubic-bezier(0.175, 0.885, 0.32, 1.775);
    transition: opacity 600ms ease, transform 600ms cubic-bezier(0.175, 0.885, 0.32, 1.775), -webkit-transform 600ms cubic-bezier(0.175, 0.885, 0.32, 1.775);
    -webkit-transition-delay: 600ms;
    -o-transition-delay: 600ms;
    transition-delay: 600ms
}

.inview .section__header .section__header__links {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

.section__titles h2 {
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px)
}

.section__titles h3 {
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px)
}

.section__titles h2,
.section__titles h3 {
    opacity: 0;
    -webkit-transition: opacity 600ms ease, -webkit-transform 600ms ease-in;
    transition: opacity 600ms ease, -webkit-transform 600ms ease-in;
    -o-transition: opacity 600ms ease, transform 600ms ease-in;
    transition: opacity 600ms ease, transform 600ms ease-in;
    transition: opacity 600ms ease, transform 600ms ease-in, -webkit-transform 600ms ease-in
}

.inview .section__titles h2,
.inview .section__titles h3 {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0)
}

.anim__up {
    opacity: 0;
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px);
    -webkit-transition: opacity 1000ms ease, -webkit-transform 600ms ease-out;
    transition: opacity 1000ms ease, -webkit-transform 600ms ease-out;
    -o-transition: opacity 1000ms ease, transform 600ms ease-out;
    transition: opacity 1000ms ease, transform 600ms ease-out;
    transition: opacity 1000ms ease, transform 600ms ease-out, -webkit-transform 600ms ease-out
}

.inview .anim__up {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

.anim__right {
    opacity: 0;
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translateX(-10px);
    -webkit-transition: opacity 1000ms ease, -webkit-transform 600ms ease-out;
    transition: opacity 1000ms ease, -webkit-transform 600ms ease-out;
    -o-transition: opacity 1000ms ease, transform 600ms ease-out;
    transition: opacity 1000ms ease, transform 600ms ease-out;
    transition: opacity 1000ms ease, transform 600ms ease-out, -webkit-transform 600ms ease-out
}

.inview .anim__right {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0)
}

.anim__scale {
    opacity: 0;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    -webkit-transition: opacity 600ms ease, -webkit-transform 600ms ease;
    transition: opacity 600ms ease, -webkit-transform 600ms ease;
    -o-transition: opacity 600ms ease, transform 600ms ease;
    transition: opacity 600ms ease, transform 600ms ease;
    transition: opacity 600ms ease, transform 600ms ease, -webkit-transform 600ms ease
}

.inview .anim__scale {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
}

.delay__200 {
    -webkit-transition-delay: 200ms;
    -o-transition-delay: 200ms;
    transition-delay: 200ms
}

.delay__400 {
    -webkit-transition-delay: 400ms;
    -o-transition-delay: 400ms;
    transition-delay: 400ms
}

.delay__600 {
    -webkit-transition-delay: 600ms;
    -o-transition-delay: 600ms;
    transition-delay: 600ms
}

.delay__800 {
    -webkit-transition-delay: 800ms;
    -o-transition-delay: 800ms;
    transition-delay: 800ms
}

.delay__1000 {
    -webkit-transition-delay: 1000ms;
    -o-transition-delay: 1000ms;
    transition-delay: 1000ms
}

.duration__200 {
    -webkit-transition-duration: 200ms;
    -o-transition-duration: 200ms;
    transition-duration: 200ms
}

.duration__400 {
    -webkit-transition-duration: 400ms;
    -o-transition-duration: 400ms;
    transition-duration: 400ms
}

.duration__600 {
    -webkit-transition-duration: 600ms;
    -o-transition-duration: 600ms;
    transition-duration: 600ms
}

.duration__800 {
    -webkit-transition-duration: 800ms;
    -o-transition-duration: 800ms;
    transition-duration: 800ms
}

.duration__1000 {
    -webkit-transition-duration: 1000ms;
    -o-transition-duration: 1000ms;
    transition-duration: 1000ms
}

.anim__cubic {
    -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.775);
    -o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.775);
    transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.775)
}