html {
    scroll-behavior: smooth;
}

p,
li,
h1,
h2,
h3,
h4,
h5,
h6 {
    text-wrap: balance;
}

p,
li {
    text-wrap: pretty;
}

/* Block helpers */

.wp-block-button[class*=-font-family] .wp-block-button__link {
    font-family: inherit;
}

.wp-block-post-excerpt:empty {
    display: none;
}

/* footer colour settings - black is default */
.footer-colour--dark-green footer.wp-block-template-part > .wp-block-group {
    background-color: var(--wp--preset--color--dark-green) !important;
}

.footer-colour--midnight-green footer.wp-block-template-part > .wp-block-group {
    background-color: var(--wp--preset--color--midnight-green) !important;
}

.footer-colour--sage footer.wp-block-template-part > .wp-block-group {
    background-color: var(--wp--preset--color--sage) !important;
}

.footer-colour--secondary-light footer.wp-block-template-part > .wp-block-group {
    background-color: var(--wp--preset--color--secondary-light) !important;
}

.footer-colour--dark-blue footer.wp-block-template-part > .wp-block-group {
    background-color: var(--wp--preset--color--dark-blue) !important;
}

.footer-colour--wine footer.wp-block-template-part > .wp-block-group {
    background-color: var(--wp--preset--color--wine) !important;
}

.footer-colour--accent footer.wp-block-template-part > .wp-block-group {
    background-color: var(--wp--preset--color--accent) !important;
}

.footer-colour--dark-accent footer.wp-block-template-part > .wp-block-group {
    background-color: var(--wp--preset--color--accent-dark) !important;
}

.footer-colour--neutral footer.wp-block-template-part > .wp-block-group {
    background-color: var(--wp--preset--color--neutral) !important;
}

.footer-text--light footer.wp-block-template-part {
    color: var(--wp--preset--color--base);

    & .wp-block-navigation {
        color: var(--wp--preset--color--base);
    }

    & .wp-block-acf-animated-logo-svg .text {
        fill: var(--wp--preset--color--base);
    }

    & .wp-block-menu .menu-item-has-children .sub-menu a {
        color: var(--wp--preset--color--base) !important;
    }
}

.whatsapp-float {
	position: fixed;
	bottom: 20px;
	right: 20px;
    z-index: 9999;
	background: #25D366;
	padding: 14px;
	border-radius: 50%;
	box-shadow: 0 0 10px rgba(0,0,0,0.3);
	display: flex;
	align-items: center;
	justify-content: center;
}
.whatsapp-float svg {
	width: 28px;
	height: 28px;
}

/* Details block */
.wp-block-details {
    border-radius: 0.5rem;
    width: 100%;
}

.wp-block-details > summary {
    align-items: center;
    display: flex;
    font-size: 1.25em;
    justify-content: space-between;
    list-style: none;
    padding: var(--wp--preset--spacing--10) 0;
}

.wp-block-details > summary::after {
    background-color: currentcolor;
    content: '';
    display: block;
    flex-shrink: 0;
    height: 0.8em;
    margin-left: 1rem;
    mask-image: url("data:image/svg+xml,%3Csvg width='24' height='14' viewBox='0 0 24 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.8962 12.8246L0.276191 1.67857C0.0989013 1.49259 0 1.24551 0 0.988564C0 0.731624 0.0989013 0.484542 0.276191 0.298566L0.288191 0.286565C0.374137 0.196095 0.47759 0.124056 0.592256 0.0748281C0.706922 0.0256004 0.830404 0.000214577 0.955191 0.000214577C1.07998 0.000214577 1.20346 0.0256004 1.31813 0.0748281C1.43279 0.124056 1.53624 0.196095 1.62219 0.286565L11.6222 10.7826L21.6182 0.286565C21.7041 0.196095 21.8076 0.124056 21.9223 0.0748281C22.0369 0.0256004 22.1604 0.000214577 22.2852 0.000214577C22.41 0.000214577 22.5335 0.0256004 22.6481 0.0748281C22.7628 0.124056 22.8662 0.196095 22.9522 0.286565L22.9642 0.298566C23.1415 0.484542 23.2404 0.731624 23.2404 0.988564C23.2404 1.24551 23.1415 1.49259 22.9642 1.67857L12.3442 12.8246C12.2508 12.9226 12.1385 13.0006 12.014 13.0539C11.8896 13.1073 11.7556 13.1348 11.6202 13.1348C11.4848 13.1348 11.3508 13.1073 11.2264 13.0539C11.1019 13.0006 10.9896 12.9226 10.8962 12.8246Z' fill='currentColor'/%3E%3C/svg%3E%0A");
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    transform: rotate(0deg);
    transition: transform 0.5s ease;
    width: 0.8em;
}

.wp-block-details[open] > summary::after {
    transform: rotate(180deg);
}

.wp-block-details > summary::-webkit-details-marker,
.wp-block-details > summary::marker {
    display: none !important;
}

.wp-block-details[open] > *:not(summary) {
    animation: 0.5s ease details-open 1 forwards;
}

@keyframes details-open {
    0% {
        opacity: 0;
        transform: translateY(-10px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.alignfull .wp-block-group.has-global-padding {
    padding-left: var(--wp--style--root--padding-left);
    padding-right: var(--wp--style--root--padding-right);
}

figure.wp-block-splide-carousel {
    margin: 0;
}

.full-height {
    height: 100%;
}

.full-height img {
    height: 100%;
}

.wp-block-separator {
    border-top: 1px solid;
    opacity: 0.5;
}

/* change media-text block breakpoint */

@media screen and (max-width: 767px) {
    .wp-block-media-text.is-stacked-on-mobile {
        grid-template-columns: 100%;
    }

    .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content {
        grid-column: 1;
        grid-row: 2;
    }

    .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__media {
        grid-column: 1;
        grid-row: 1;
    }
}

/* grid mobile */

@media screen and (max-width: 767px) {
	.grid-2x2-1x4-mobile {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
	}
}

/* max-width mobile */

@media screen and (max-width: 767px) {
	.no-max-width-mobile > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		max-width: none;
	}
}

/* padding mobile */

@media screen and (max-width: 767px) {
	.pt-0-mobile {
		padding-top: 0 !important;
	}
	
	.centered-text-mobile {
		text-align: center;
	}
	
	.flex-centered-mobile {
		align-items: center;
	}
}