/**
* Frontend Styles
*
* @package    AJR Design Plugin
* @since      1.5.0
* @subpackage ajr-design-plugin/assests/css
**/

/* ---------------------------------------------------------------------
BODY
--------------------------------------------------------------------- */
:root :where(body),
body {
    font-family: var(--font_primary);
    line-height: var(--line_height_default);
    font-size: var(--font_size_default);
    font-weight: var(--font_weight_default);
    color: rgb(var(--colour_text)); }

/* ---------------------------------------------------------------------
HEADINGS
--------------------------------------------------------------------- */
:root :where(h1, h2, h3, h4, h5, h6),
h1, h2, h3, h4, h5, h6 {
    margin-top:var(--margin_heading_top)/* !important*/;
    margin-bottom:var(--margin_heading_bottom)/* !important*/;
    font-family:var(/*--wp--preset--font-family--source-serif-pro*/--font_heading) !important;
    line-height:var(--line_height_heading) !important;
    font-weight:var(--font_weight_heading);
    color:rgb(var(--colour_heading));
    text-transform:none; }
:root :where(h1), h1 { font-size:var(--font_size_h1); }
:root :where(h2), h2 { font-size:var(--font_size_h2); }
:root :where(h3), h3 { font-size:var(--font_size_h3); }
:root :where(h4), h4 { font-size:var(--font_size_h4); }
:root :where(h5), h5 { font-size:var(--font_size_h5); }
:root :where(h6), h6 { font-size:var(--font_size_h6); }

hr + h2 { margin-top:var(--margin) !important; }

/* ---------------------------------------------------------------------
INPUTS
--------------------------------------------------------------------- */
input:not([type=submit]),
select,
textarea {
	background-color:#fff !important; }


/* ---------------------------------------------------------------------
ERROR PAGE
--------------------------------------------------------------------- */
#error-page {}


/* ----------------------------------------------------------------------------------------- */
/* WP BLOCKS
/* ----------------------------------------------------------------------------------------- */
.wp-site-blocks {
    padding: 0;
}
    .wp-site-blocks > * + * {
        margin-block-start: var(--layout_margin);
    }
        /* after ajr hero */
        .ajr_hero + .wp-block-post-content {
            margin-block-start: 0;
        }

    /* homepage */
    .page_home .wp-site-blocks {
        padding: 0;
    }


/* ----------------------------------------------------------------------------------------- */
/* WP LAYOUT FLOW
/* ----------------------------------------------------------------------------------------- */
body .is-layout-flow > * + * {
    margin-block-start: var(--layout_content_margin);
}

/* ---------------------------------------------------------------------
LAYOUT
--------------------------------------------------------------------- */
.layout_container {
    position: relative;
    margin-block-start: 0 !important;
    margin: 0 auto; }
    /* not */
    body .is-layout-flow:not(:first-of-type) > * + * {
        margin-block-start: 0; }
    .layout_container:not(:first-of-type, :last-of-type, .has_bgd_fx) {
        padding: var(--layout_padding) 0; }
    .layout_container.has_bgd_fx {
        overflow: hidden; }
    
    /* bgd */
    .layout_bgd {
        position: absolute;
        z-index: -1;
        /*top: 0;
        left: 0;
        bottom: 0;
        right: 0;*/
        height: 100vh;
        width: 100vw;
        background-image: var(--bgd_image);
        background-size: 200vh;
        background-position: center;
        transform: translateY(-50vh); }
    /* content */
    .layout_content {
        position: relative;
        z-index: 1;
        max-width: var(--layout_max_width);
        margin: 0 auto;
        padding: 0 var(--layout_padding);
    }
        .width_full .layout_content {
            max-width: var(--layout_max_width_full);
        }
        .width_wide .layout_content {
            max-width: var(--layout_max_width_wide);
        }
        .width_narrow .layout_content {
            max-width: var(--layout_max_width_narrow);
        }
        /* .wp-block-columns */
        .layout_content .wp-block-columns:last-of-type {
            margin-bottom: 0 !important;
        }
        /* empty */
        .layout_content p:empty {
            display: none !important;
        }
        /* homepage */
        .page_home :not(.ajr_hero) .layout_content {
            max-width: var(--layout_max_width_homepage);
        }
        .page_home .ajr_hero + .entry-content > .layout_container.width_wide .layout_content {
            max-width: var(--layout_max_width_wide);
        }
        /* heading */
        .layout_content > :first-child,
        .layout_content > .layout_heading:first-child {
            margin-top: 0 !important;
        }

/* layout in wp blocks */
.wp-site-blocks .layout_container:not(:first-of-type) {
    margin-top: var(--layout_content_margin) !important; }
    .layout_container.notification + .layout_container {
        margin-block-start: 0 !important; }
    .wp-site-blocks .layout_content {
        /*padding: 0;*/
    }

body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: var(--layout_max_width);
}
body .is-layout-constrained.width_narrow > * {
    max-width: var(--layout_max_width_narrow);
}
body .is-layout-constrained.alignwide > * {
    max-width: var(--layout_max_width_wide);
}
body .is-layout-constrained.alignfull > * {
    max-width: var(--layout_max_width_full);
}


/* ---------------------------------------------------------------------
BACKGROUND EFFECTS - Parallax
--------------------------------------------------------------------- */
.has_bgd_fx {
    position: relative;
    padding: 0;
}
    .bgd_fx_container {
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
    }
        .bgd_fx_parallax {
            background-image: var(--bgd_image);
            background-size: cover;
            background-position: center;
            transform: translateY(0);
            opacity: 0.5;
        }
        .hero_bgd.bgd_fx_parallax {
            opacity: 1;
        }


/* ---------------------------------------------------------------------
SVG
--------------------------------------------------------------------- */
.ajr_hero svg,
.layout_container svg {
    position: absolute;
    z-index: 0;
    left: -1px;
    right: -1px;
    width: calc(100% + 2px);
    height: 8rem;
    fill: rgb(var(--colour_background));
}
.ajr_hero svg {
    bottom: -2px;
    -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg);
}
    /* tilt */
    .layout_container svg.tilt {

    }
    .layout_container svg.top {
        top: 0;
    }
    .layout_container svg.bottom {
        bottom: 0;
    }
    /* mountains */
    .ajr_hero svg.mountains,
    .layout_container svg.mountains {}
        .ajr_hero svg.fan polygon,
        .layout_container svg.fan polygon {}
    /* fan */
    .ajr_hero svg.fan,
    .layout_container svg.fan {}
        .ajr_hero svg.fan path:nth-child(1),
        .layout_container svg.fan path:nth-child(1) {
            opacity: 0.2;
        }
        .ajr_hero svg.fan path:nth-child(2),
        .layout_container svg.fan path:nth-child(2) {
            opacity: 0.4;
        }
        .ajr_hero svg.fan path:nth-child(3),
        .layout_container svg.fan path:nth-child(3) {
            opacity: 0.6;
        }
        .ajr_hero svg.fan path:nth-child(4),
        .layout_container svg.fan path:nth-child(4) {}


/* ---------------------------------------------------------------------
LINKS & BUTTONS
--------------------------------------------------------------------- */
[type=button]:focus, [type=submit]:focus, button:focus {
	outline:none !important; }

a:not([type=button], .wp-block-button__link, .wp-block-social-link-anchor),
a:not([type=button], .wp-block-button__link, .wp-block-social-link-anchor):visited {
	color:rgb(var(--colour_link));
	text-decoration:none !important;
	outline:none !important;
	transition:color var(--transition); }
a:not([type=button], .ajr-button, .wp-block-button__link, .wp-block-social-link-anchor):hover,
a:not([type=button], .ajr-button, .wp-block-button__link, .wp-block-social-link-anchor):focus {
	color:rgb(var(--colour_link_hover)) !important;
	transition:color var(--transition_active); }
a:not([type=button], .ajr-button, .wp-block-button__link, .wp-block-social-link-anchor):active {
	color:rgb(var(--colour_link_active)) !important; }

a.button, a.button:visited,
.hentry .entry-content .wp-block-button .wp-block-button__link, .hentry .entry-content .wp-block-button .wp-block-button__link:visited {
	padding:var(--padding_button);
	line-height:var(--line_height_button);
	/*font-family:var(--font_accent);*/
	font-weight:var(--font_weight_button);
	text-transform:var(--text_transform_button);
	letter-spacing:var(--letter_spacing_button);
	color:rgb(var(--colour_white)) !important;
	border:var(--border_button);
	border-radius:var(--border_radius_button);
	background:rgb(var(--colour_accent)); }
a.button:hover, a.button:focus,
.hentry .entry-content .wp-block-button .wp-block-button__link:hover, .hentry .entry-content .wp-block-button .wp-block-button__link:focus {
	background:rgb(var(--colour_link_hover)); }
a.button:active,
.hentry .entry-content .wp-block-button .wp-block-button__link:active {
	background:rgb(var(--colour_link_active)); }

/* hide on frontend - opacity on backend */
.hidden_frontend {
	display:none !important; }

/* ---------------------------------------------------------------------
BUTTONS
--------------------------------------------------------------------- */
.wp-block-buttons {
	gap:var(--flex_gap_small) !important;
	margin-bottom:var(--margin_smaller) !important; }
	p + .wp-block-buttons {
		margin-top:var(--margin) !important; }

	[type=button]:hover,
	[type=submit]:hover,
	.wp-block-button__link:hover {
        color: #fff !important; }

    .ajr-button, .ajr-button:visited,
    [type=button], [type=button]:visited,
	[type=submit], [type=submit]:visited,
	.wp-block-button__link, .wp-block-button__link:visited {
		display: -webkit-flex; display: flex;
        -webkit-justify-content: center; justify-content: center;
        -webkit-align-items: center; align-items: center;
        padding:var(--padding_button) !important;
		line-height:var(--line_height_button);
		font-family:var(--font_type_button) !important;
		font-size:var(--font_size_button) !important;/*--wp--preset--font-size--small*/
		font-weight:var(--font_weight_button) !important;
		text-align: center;
        text-transform:var(--text_transform_button);
		letter-spacing:var(--letter_spacing_button);
		text-decoration:none;
		text-shadow:var(--text_shadow);
		color:#fff !important;
		border:var(--border_button);
		border-radius:var(--border_radius_button) !important;
		background:rgb(var(--colour_button));
		outline:none;
		cursor:pointer !important; }
		.ajr-button:hover:not(.active, .highlight, .selected),
        [type=button]:not(.active, .highlight, .selected):hover, [type=button]:not(.active, .highlight, .selected):focus,
		[type=submit]:not(.active, .highlight, .selected):hover, [type=submit]:not(.active, .highlight, .selected):focus,
		.wp-block-button__link:hover:not(.active, .highlight, .selected), .wp-block-button__link:not(.active, .highlight, .selected):focus {
			background:rgb(var(--colour_button_hover)) !important; }
		.ajr-button:active:not(.active, .highlight, .selected),
        [type=button]:active:not(.active, .highlight, .selected),
		[type=submit]:active:not(.active, .highlight, .selected),
		.wp-block-button__link:active:not(.active, .highlight, .selected) {
			background:rgb(var(--colour_button_active)) !important; }

.ajr-button.ajr-size-xs {
    padding: 0.45em 0.75em 0.35em !important;
    font-size: var(--font_size_xsmall_button) !important; }
.ajr-button.ajr-size-sm {
    font-size: var(--font_size_small_button) !important; }
.ajr-button.ajr-size-md {}
.ajr-button.ajr-size-lg {
    font-size: var(--font_size_large_button) !important; }
.ajr-button.ajr-size-xl {
    font-size: calc(var(--font_size_large_button) * 1.1) !important;
    font-weight: 400 !important; }

    /* adjacent buttons */
    button + button,
    button + .ajr-button,
    .ajr-button + button,
    .ajr-button + .ajr-button,
    [type=button] + [type=button],
    [type=button] + [type=submit],
    [type=submit] + [type=button],
    [type=submit] + [type=submit] {
        margin-left: 5px; }

    /* transparent */
    .ajr-button.button_transparent, .ajr-button.button_transparent:visited {
        padding: 5px 1em !important; 
        font-size: 0.8em !important;
        text-transform: none !important;
        letter-spacing: normal;
        color: rgb(var(--colour_text)) !important;
        text-shadow: none !important;
        background: transparent !important; }
    .ajr-button.button_transparent:hover, .ajr-button.button_transparent:focus {
        color: rgb(var(--colour_button_hover)) !important;
        background: transparent !important; }
    .ajr-button.button_transparent:active {
        color: rgb(var(--colour_button_active)) !important;
        background: transparent !important; }

    /* button icon */
    .ajr-button .ajr-button-icon {
        font-size: 0.95em !important; }
        .ajr-button .ajr-align-icon-left,
        .button_icon_left i {
            margin-right: 0.5em !important; }
        .ajr-button .ajr-align-icon-right,
        .button_icon_right i {
            margin-left: 0.5em !important; }

    /* button text */
    .ajr-button .ajr-button-text {
        position: relative; }

    /* disabled */
    .ajr-button[disabled], .ajr-button.disabled,
    button.disabled,
    [type=button][disabled],
    [type=submit][disabled],
    .wp-block-button__link[disabled], .wp-block-button__link.disabled {
        border-color:rgb(var(--colour_grey_lighter)) !important;
        background:rgb(var(--colour_grey_lighterer)) !important; }


/* ---------------------------------------------------------------------
COOKIE POPUP
--------------------------------------------------------------------- */
#ajrcookie_overlay {
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index: -9999999999999999999;
	background:rgba(255,255,255,0);
	transition:background 0.6s ease 0.15s; }
	#ajrcookie_overlay.active {
		z-index: 9999999999999999998;
		background:rgba(0,0,0,0.3); }

#ajrcookie {
	position:fixed;
	bottom:0;
	left:50%;
	z-index: 9999999999999999999;
	transform:translate(-50%,125%);
	display:-webkit-flex; display:flex;
	-webkit-justify-content:space-between; justify-content:space-between;
	width:calc(100vw - 6rem);
	margin-bottom:1rem;
	padding:1.4rem 1.5rem;
	border-radius:10px;
	background:rgba(255,255,255,1);
	box-shadow: var(--box_shadow_popup);
	transition: 0.3s cubic-bezier(.75,-0.5,.75,1); }

	/* content */
	#ajrcookie .cookie_content {
		display:-webkit-flex; display:flex;
		-webkit-flex-direction:column; flex-direction:column; }
		#ajrcookie .cookie_content .cookie_title {
			margin:0 0 0.75em !important;
			font-size:1.1em !important;
			line-height:1.2em !important; }
		#ajrcookie .cookie_content .cookie_text {
			margin-top:0 !important;
			font-size:0.8em;
			line-height:1.4em; }
			#ajrcookie .cookie_content .cookie_text:last-of-type {
				margin-bottom:0 !important; }

	/* actions */
	#ajrcookie .cookie_actions {
		display:-webkit-flex; display:flex;
		-webkit-flex-direction:column; flex-direction:column;
		-webkit-justify-content:center; justify-content:center;
		margin:-0.25em -0.25em -0.25em 2rem; }
		#ajrcookie [type=button] {
			-webkit-justify-content:center; justify-content:center;
			margin:0.25em;
			/*padding:1em 1.5em !important;*/
			font-size:0.8em !important;
			text-align:center; }
			#ajrcookie [type=button].accept {
				background:rgb(var(--colour_success)) !important; }
				#ajrcookie [type=button].accept:hover {
					background:rgb(var(--colour_success_hover)) !important; }
				#ajrcookie [type=button].accept:active {
					background:rgb(var(--colour_success_active)) !important; }
			#ajrcookie [type=button].decline {
				background:rgb(var(--colour_warning, red)) !important; }
				#ajrcookie [type=button].decline:hover {
					background:rgb(var(--colour_warning_hover, red)) !important; }
				#ajrcookie [type=button].decline:active {
					background:rgb(var(--colour_warning_active, red)) !important; }


	body.ajrdesign_cookie_show #ajrcookie {
		transform:translate(-50%,0);
		transition:0.3s cubic-bezier(.5,0,.5,1.5); }
		
@media screen and (max-device-width:1024px) {

	#ajrcookie {
		width:calc(100vw - 6rem); }

}


/* ---------------------------------------------------------------------
LAYOUT
--------------------------------------------------------------------- */
div[class^="wp-container"] > * {
	/*margin-left:auto;
	margin-right:auto;*/ }
/* div[class^="wp-container"] > *,*/
div[class^="wp-container"] > .alignnarrow {
	max-width:650px; }
div[class^="wp-container"] > .alignwide {
	max-width:1000px; }
div[class^="wp-container"] > .fullwidth {
	width:100%; }

/*.wp-site-blocks {
	max-width:var(--width_site); }*/

.wp-block-group:empty {
	display:none;
	margin-top:0; }

.wp-block-post-content {
    position: relative;
	/*margin-top:var(--margin) !important;*/ }
	.wp-block-post-content > :first-child,
	.wp-block-post-content > :first-child > :first-child {
		margin-top:0 !important; }

    .page_home .layout_container:not(.has_bgd_fx) .layout_content {
        margin: -2px auto !important;
        background: rgb(var(--colour_background)); }

/*:not(.div[class^="wp-container"]) .fullwidth {
	width:90vw !important;
    margin-left:calc(-1 * (90vw - 1000px) /2) !important; }*/

@media screen and (max-device-width:1024px) and (orientation:landscape) {}
@media screen and (max-device-width:768px) and (orientation:portrait) {}
@media screen and (max-device-width:599px) {}


/* ---------------------------------------------------------------------
POST Pagination
--------------------------------------------------------------------- */
.post_pagination {
	--button_size:2.5em;
	display:flex;
	gap:var(--flex_gap_tiny);
	font-size:0.8em; }
	.post_pagination:empty {
		display:none; }
.post_pagination.above {
	 }
.post_pagination.below {
	justify-content:center;
	align-content:center;
	margin-top:var(--margin); }

	/* links */
	.post_pagination span.current,
	.post_pagination a {
		display:flex;
		justify-content:center;
		align-items:center;
		height:var(--button_size);
		min-width:var(--button_size);
		border:1px solid rgb(var(--colour_grey_lighterer)); }
	.post_pagination span.current {
		font-weight:500;
		color:rgb(var(--colour_accent));
		border-color:rgb(var(--colour_accent_lighterer)); }
	.post_pagination a,
	.post_pagination a:visited {
		font-weight:500;
		color:rgb(var(--colour_text)); }
	.post_pagination a:hover {
		color:rgb(var(--colour_link));
		border-color:rgb(var(--colour_accent_lighter)); }
	.post_pagination a:active {
		color:rgb(var(--colour_link_active)); }
		
		/* prev/next */
		.post_pagination a.prev,
		.post_pagination a.next {
			padding:0 1em; }
		.post_pagination a.prev {
			 }
		.post_pagination a.next {
			 }


/* ---------------------------------------------------------------------
POST Navigation
--------------------------------------------------------------------- */
#post_navigation {
	margin-top:var(--margin); }

.post_navigation {
	--link_height:80px;
	--link_padding_left:2.5rem;
	display:flex;
	justify-content:space-between;
    align-items:center; }
.alignwide .post_navigation {
	max-width:100%; }
	
	/* heading */
	.post_navigation .post_navigation_heading {
		margin:0 auto !important; }

	.post-navigation-link-previous,
	.post-navigation-link-next {
		position:relative;
		width:calc((100% - 125px) / 2); }
		.post-navigation-link-previous a,
		.post-navigation-link-next a {
			display:flex;
			gap:var(--flex_gap);
			align-items:center; 
			height:calc(var(--link_height) / 1.5);
			/*max-width:calc((100vw - 1000px - 3rem) / 2) !important;*/
			line-height:1.2em;
			font-size:0.9em;
			text-decoration:none; }
			.post-navigation-link-previous a::before,
			.post-navigation-link-next a::before {
				position:absolute;
				top:50%;
				height:1rem;
				font-family:dashicons;
				font-size:2rem;
				-webkit-transform:translateY(-50%); transform:translateY(-50%); }
			.post-navigation-link-image {
				height:100%;
				border-radius:5px;
				-webkit-box-shadow:0 5px 10px -5px #000; box-shadow:0 5px 10px -5px #000;
				opacity:0.5;
				-webkit-transition:var(--transition); transition:var(--transition); }
				a:hover .post-navigation-link-image {
					opacity:1; }
			.post-navigation-link-title {}

		/* previous */
		.post-navigation-link-previous {}
			.post-navigation-link-previous a {
				justify-content:start;
				text-align:center;
				padding-left:var(--link_padding_left); }
				.post-navigation-link-previous a::before {
					content:'\f341';
					left:0; }
				.post-navigation-link-previous .post-navigation-link-image {
					 }
				.post-navigation-link-previous .post-navigation-link-title {
					text-align:left; }

		/* next */
		.post-navigation-link-next {}
			.post-navigation-link-next a {
				flex-direction:row-reverse;
				justify-content:end;
				text-align:center;
				padding-right:var(--link_padding_left); }
				.post-navigation-link-next a::before {
					content:'\f345';
					right:0; }
				.post-navigation-link-next .post-navigation-link-image {
					 }
				.post-navigation-link-next .post-navigation-link-title {
					text-align:right; }

		.post-navigation-link-previous .post-navigation-link-title,
		.post-navigation-link-next .post-navigation-link-title {
			display:-webkit-box; display:box;
			-webkit-box-orient:vertical; box-orient:vertical;
			-webkit-line-clamp:var(--line_clamp_nav); line-clamp:var(--line_clamp_nav);/**/
			white-space:nowrap;
			text-overflow:ellipsis;
			overflow:hidden; }

		/* middle */
		.post-navigation-middle {
			position:relative;
			-webkit-display:flex; display:flex;
			-webkit-flex-direction:column; flex-direction:column;
			-webkit-align-items:center; align-items:center; }
			.post-navigation-middle hr {
				position:relative; }
				.post-navigation-middle hr:first-child {
					top:-0.5rem; }
				.post-navigation-middle hr:last-child {
					bottom:-0.5rem; }
			.post-navigation-middle a {
				width:max-content; }

@media screen and (max-device-width:599px) {
	.post_navigation {
		gap:var(--flex_gap_large); }

		.post-navigation-link-previous,
		.post-navigation-link-next {
			width:auto; }
			.post-navigation-link-previous a,
			.post-navigation-link-next a {
				gap:var(--flex_gap_small); }
			.post-navigation-link-previous a {
				text-align:left; }
			.post-navigation-link-next a {
				text-align:right; }

		.post-navigation-middle {
			display:none; }
}


/* ---------------------------------------------------------------------
ADMIN FEATURES
--------------------------------------------------------------------- */
.has-modal-open .admin_features {
	/*display:none;*/ }

.admin_features {
	display:flex;
	flex-direction:row;
	/*align-items:center;*/
	gap:var(--flex_gap);
	margin:0 !important; }

	/* welcome */
	.admin_features .welcome {
		display:flex;
		align-items:center;
		gap:var(--flex_gap_small); }
		.admin_features .welcome i {
			color:rgb(var(--colour_accent)); }
		.admin_features .welcome span {
			line-height:1em;
			font-size:0.9em; }

	/* links */
	.admin_features a {
		line-height:1em;
		text-decoration:none; }
		.admin_features a:hover {}
		.admin_features a:active {}

	/* login in/out */
	.admin_features a.log_in_out_link {}
		.admin_features a.log_in_out_link.login {
			color:rgba(var(--colour_accent),0.25) !important;
			font-size:0.9em;
			text-transform:uppercase; }
			.admin_features a.log_in_out_link.login:hover {
				color:rgba(var(--colour_accent_hover),0.5) !important; }
			.admin_features a.log_in_out_link.login:active {
				color:rgba(var(--colour_accent_active),0.5) !important; }
		.admin_features a.log_in_out_link.logout {}
			.admin_features a.log_in_out_link.logout i::before {
				content:'\f160'; }
				.admin_features a.log_in_out_link.logout i:hover::before {
					content:'\f528'; }

/* header */
.admin_features {
    position:fixed;
    top:0.5em;
    z-index:12;
    padding:0.5em 1em;
    background:rgba(255,255,255,0.5); }
    .admin_features.admin_features_left {
        left:0;
        padding-left:1.5em;
        border-radius:0 5px 5px 0; }
    .admin_features.admin_features_right {
        right:0;
        padding-right:1.5em;
        border-radius:5px 0 0 5px; }


/* ---------------------------------------------------------------------
HEADER
--------------------------------------------------------------------- */
body > header {
    padding:var(--margin_small) 0; }

	.client_header {
		position:relative;
		margin-top:0;
		-webkit-transition:var(--transition); transition:var(--transition); }
		/* logo */
		.wp-block-site-logo {
			margin-top:0 !important; }
			.wp-block-site-logo img {
				width:auto;
				height:100px; }
			.page_home .wp-block-site-logo img {
				height:120px; }
		/* nav */
		.srasr_main_menu_container {
			margin-top:var(--margin_smaller) !important; }
			.wp-block-navigation {
				margin-top:0;
				padding: var(--margin_xtiny) 0;
				border-top: 1px solid #eee;
				border-bottom: 1px solid #eee; }
				.wp-block-navigation__container {
					flex-wrap:nowrap;
					justify-content:space-evenly;
					column-gap:var(--flex_gap_medium);
					row-gap:0.5rem; }
					.wp-block-navigation-item__content {
						color:rgb(var(--colour_grey)) !important; }

	header nav {
		margin-top:1rem;
		font-size:0.8em; }
		/* link */
		header nav a {
			text-transform:uppercase; }
			header nav a:hover {
				text-decoration:none !important; }
		/* current */
		header nav .current-menu-item a {
			font-weight:500;
			color:rgb(var(--colour_accent)) !important; }
		header nav .current-menu-item:not(.sub-item) a {
			pointer-events:none; }

@media screen and (max-device-width:899px) {
	body > header {
		--header_height:100px;
		--flex_gap_medium:0.75rem;
		--margin:1.5rem;
		padding:var(--wp--custom--spacing--outer) 0 0; }

			/* logo */
			.wp-block-site-logo img {
				height:calc(var(--header_height) - var(--wp--custom--spacing--outer)); }
}
@media screen and (max-device-width:599px) {
	body > header {
		--header_height:80px;
		--flex_gap:1.25rem;
		--margin:1.25rem;
		padding:var(--wp--custom--spacing--outer) 0; }
	.page_home > header {
		--header_height:100px; }

	.client_header {
		display:flex;
		flex-direction:column;
		/*justify-content:space-between;
		gap:var(--flex_gap);*/ }

		/* logo */
		.wp-block-site-logo {
			z-index:11;
			margin:0 !important; }
			.wp-block-site-logo img,
			.page_home .wp-block-site-logo img {
				height:calc(var(--header_height) - var(--wp--custom--spacing--outer)); }
	
		/* nav */
		.client_header .wp-block-group {
			/*display:flex;
			gap:var(--flex_gap);
			z-index:10;*/
			margin-top:var(--margin); }

			/* admin features 
			header .admin_features {
				justify-content:flex-end;
				gap:calc(var(--flex_gap) * 1.25);
				position:static; }
				header .admin_features .log_in_out_link {
					order:-1; }*/

			/* nav */
			.wp-block-navigation {
				/*position:initial;*/
				margin:0;
				padding:0;
				border:none; }
				.wp-block-navigation__container {
					align-items:flex-start !important; }
					/* menu buttons */
					.wp-block-navigation__responsive-container-open {
						/*display:none;*/ }
					.wp-block-navigation__responsive-container-close {
						right:50%;
						margin-bottom:var(--margin);
						-webkit-transform:translate(50%,0); transform:translate(50%,0); }

						/* menu icon */
						.wp-block-navigation__responsive-container-open {
							position:relative;
							height:24px; }
						.wp-block-navigation__responsive-container-open::before,
						.wp-block-navigation__responsive-container-open::after {
							content:'';
							position:absolute;
							width:100%;
							height:5px; }
						.wp-block-navigation__responsive-container-open::before {
							top:4px;
							border-top:2px solid rgb(var(--colour_grey_light)); }
						.wp-block-navigation__responsive-container-open::after {
							bottom:4px;
							border-top:2px solid rgb(var(--colour_grey_light));
							border-bottom:2px solid rgb(var(--colour_grey_light)); }
						/* svg */
						.wp-block-navigation__responsive-container-open svg rect {
							display:none; }
						.wp-block-navigation__responsive-container-close svg {
							color: rgb(var(--colour_grey_light)); }

					/* responsive menu */
					.wp-block-navigation__responsive-container/*.is-menu-open*/ {
						top:calc(var(--header_height) + var(--margin));
						padding:var(--margin_large) var(--margin) var(--margin_large) !important;
						overflow:visible !important; }
						.wp-block-navigation__responsive-dialog {
							position:static; }
							.wp-block-navigation__responsive-container-content {
								max-height:calc(100vh - (var(--header_height) + var(--margin_large) + var(--margin_large)));
								padding-top:0 !important;
								overflow-y:auto !important; }
}


/* ---------------------------------------------------------------------
FOOTER
--------------------------------------------------------------------- */
footer/*.wp-block-template-part*/ {
	position:relative; }

	footer .srasr_socials_container {
		margin:var(--margin_large) 0 0; }
		footer .srasr_socials_container li:not(:hover) {
			color:rgb(var(--colour_grey_lighterer)) !important;
			transition:var(--transition); }
			footer .srasr_socials_container li a:hover {
				color:initial; }
			footer .srasr_socials_container li.wp-social-link-tiktok a svg {
				height:1em !important; }

	footer .client_footer {
		display:flex;
		justify-content:space-between;
		padding:var(--margin_small) 0 var(--margin);
		font-size:0.9em;
		color:rgb(var(--colour_grey)); }

		footer .client_footer .divider {}

@media screen and (max-device-width:599px) {
	footer .client_footer {
		flex-direction:column;
		align-items:center;
		/*padding-bottom:1rem;*/
		font-size:0.8em; }
}


/* ---------------------------------------------------------------------
AJR - Breadcrumbs
--------------------------------------------------------------------- */
.ajrdesign_breadcrumbs {
	list-style:none;
	display:flex;
	justify-content:center;
	align-items:baseline;
	gap:var(--flex_gap_tiny);
	margin-top:var(--margin_small) !important;
	padding:0 !important;
	line-height:1em;
	font-size:0.8em; }
	.ajrdesign_breadcrumbs .breadcrumb_divider {}
	.ajrdesign_breadcrumbs li {}

/*@media screen and (max-device-width:599px) {
	.ajrdesign_breadcrumbs {
		margin-bottom:var(--margin) !important; }
}*/


/* ---------------------------------------------------------------------
Scroll to Top
--------------------------------------------------------------------- */
.ajrdesign_scroll_to_top_button {
	/*--box_shadow:0 0 10px 0 #fff, 0 0 20px 0 #fff, 0 0 20px 0 #fff !important;*/
	--box_shadow:1px 2px 4px 0 rgba(0,0,0,0.2) !important;
	--transition:1.25s cubic-bezier(0.5, -0.4, 0.25, 1);
	--transition_active:0.4s cubic-bezier(0.5, 0.5, 0.4, 1.5);
	z-index:999;
	position:fixed !important;
	bottom:5em;
	display:flex;
	padding:0.25em 0.5em;
	font-size:1em !important;
	-webkit-box-shadow:var(--box_shadow) !important; box-shadow:var(--box_shadow) !important;
	background:rgb(var(--colour_accent));
	/*-webkit-transform:translateX(-50%); transform:translateX(-50%);*/
	-webkit-transition:var(--transition); transition:var(--transition); }
		.ajrdesign_scroll_to_top_button .button_icon {
			color:#fff !important;
			text-shadow:var(--text_shadow); }
		.ajrdesign_scroll_to_top_button .button_text {
			display:none; }

		/* left */
		.ajrdesign_scroll_to_top_button.left {
			left:-75px;
			padding-left:1.5em !important;
			border-radius:0 5px 5px 0; }
	
		/* right */
		.ajrdesign_scroll_to_top_button.right {
			right:-75px;
			padding-right:1.5em !important;
			border-radius:5px 0 0 5px; }
	
		/* above */
		.ajrdesign_scroll_to_top_button.above {
			padding:1.25em 0.75em !important; }
			.ajrdesign_scroll_to_top_button.above .button_icon {
				font-size:1.6em !important;
				transform:translateY(-50%); }

		/* active */
		.ajrdesign_scroll_to_top_button.active {
			-webkit-transition:var(--transition_active); transition:var(--transition_active); }
		.ajrdesign_scroll_to_top_button.left.active {
			left:-0.75em;
			right:auto; }
		.ajrdesign_scroll_to_top_button.right.active {
			left:auto;
			right:-0.75em; }


/* ---------------------------------------------------------------------
LINKS / BUTTONS
--------------------------------------------------------------------- */
/* SEE UNIVERSAL
.wp-block-buttons {
	gap:var(--flex_gap); }
	.wp-block-button__link {
		padding:var(--padding_button);
		line-height:var(--line_height_button);
		font-size:var(--font_size_button) !important;/*--wp--preset--font-size--small*//*
		color:#fff;
		text-transform:uppercase;
		text-shadow:var(--text_shadow);
		border:var(--border_button) !important;
		border-radius:var(--border_radius_button);
		background:rgb(var(--colour_button)); }
		.wp-block-button__link:hover {
			background:rgb(var(--colour_button_hover)); }
		.wp-block-button__link:active {
			background:rgb(var(--colour_button_active)); }*/


/* ---------------------------------------------------------------------
DISPLAY FLEX
--------------------------------------------------------------------- */
.flex {
	display:flex;
	width:100%; }
	.f_jc_sb { -webkit-justify-content: space-between; justify-content:space-between; }


/* ---------------------------------------------------------------------
WEBSITE NOTIFICATIONS
--------------------------------------------------------------------- */
.notifications_container {
	display:-webkit-flex; display:flex;
	-webkit-flex-direction:column; flex-direction:column;
	-webkit-align-items:center; align-items:center;
	position:absolute;
	top:-100vh;
	left:50%;
	z-index:999;
	-webkit-transform:translateX(-50%); transform:translateX(-50%);
	-webkit-transition:var(--transition); transition:var(--transition); }

	.notification_item {
		--this_color:var(--colour_accent);
		position:relative;
		width:-moz-fit-content; width:fit-content;
		margin-top:var(--margin_tiny) !important;
		padding:var(--padding_container_xtiny) var(--padding_container_xxsmall);
		line-height:1.2rem;
		font-size:0.9em;
		border-radius:var(--border_radius);
		border:1px solid rgb(var(--this_color));
		background:rgba(var(--this_color),0.05); }
		.notification_item:first-of-type {
			margin-top:0 !important; }
	
		/* title */
		.notification_item h1, .notification_item h2, .notification_item h3, .notification_item h4, .notification_item h5, .notification_item h6 {
			margin:0 0 var(--margin_small)!important;
			font-size:1.1em; }
		
		/* content */
		.notification_item p {
			margin-left:var(--padding_container_xsmall);
			font-size:0.9em; }
			.notification_item p:first-of-type {
				margin-top:0 !important; }
			.notification_item p:last-of-type {
				margin-bottom:0 !important; }
	
		/* icons */
		.notification_item::before {
			position:absolute;
			top:var(--padding_container_xtiny);
			left:var(--padding_container_tiny);
			content:'\f348';
			font-family:dashicons;
			font-size:1.25em;
			color:rgb(var(--colour_accent)); }
	
		/* success */
		.notification_item.success {
			--this_color:var(--colour_success);
			border:1px solid rgb(var(--this_color));
			background:rgba(var(--this_color),0.05); }
			.notification_item.success::before {
				content:'\f528' !important;
				color:rgb(var(--this_color)) !important; }
	
		/* error */
		.notification_item.error {
			--this_color:var(--colour_error);
			border:1px solid rgb(var(--this_color));
			background:rgba(var(--this_color),0.05); }
			.notification_item.error::before {
				content:'\f160' !important;
				color:rgb(var(--this_color)) !important; }
	
		/* failed */
		.notification_item.failed {
			--this_color:var(--colour_warning);
			border:1px solid rgb(var(--this_color));
			background:rgba(var(--this_color),0.05); }
			.notification_item.failed::before {
				content:'\f160' !important;
				color:rgb(var(--this_color)) !important; }


/* ---------------------------------------------------------------------
WEBSITE NOTICE
--------------------------------------------------------------------- */
.ajrdesign_notice {
	margin:var(--margin) 0 var(--margin);
	padding:var(--padding_container_xxsmall) var(--padding_container_small);
	border-radius:var(--border_radius);
	border:1px solid rgb(var(--colour_accent));
	background:rgba(var(--colour_accent),0.05); }
	.ajrdesign_notice h1, .ajrdesign_notice h2, .ajrdesign_notice h3, .ajrdesign_notice h4, .ajrdesign_notice h5, .ajrdesign_notice h6 {
		margin:0 0 var(--margin_tiny) !important;
		font-size:1.1em; }
	.ajrdesign_notice p {
		font-size:0.9em; }
		.ajrdesign_notice p:first-of-type {
			margin-top:0 !important; }
		.ajrdesign_notice p:last-of-type {
			margin-bottom:0 !important; }


/* ---------------------------------------------------------------------
HEADER / HEADINGS
--------------------------------------------------------------------- */
/* titles */
.page_title,
.post_title {
	width:100% !important;
	margin-top:var(--margin) !important; }
.page_title {
	text-align:center; }
	.blog .page_title {
		width:auto !important;
		text-align:left; }
	.wp-block-group > .page_title {
		margin-top:0 !important; }
.post_title {
	margin-top:var(--margin_xtiny) !important; }

/* blog */
.post_header {
	align-items:center;
	gap:var(--flex_gap);/*
	margin-top:var(--margin_tiny) !important;*/ }
	.post_header h1 {
		margin:0 !important; }
		body.archive .post_header h1 span {
			font-size:0.8em;
			color:rgb(var(--colour_grey)); }
	.post_header .post_info {
		font-size:1em;
		font-weight:300;
		color:rgb(var(--colour_grey)); }
		.post_header .post_info #post_count_from span,
		.post_header .post_info #post_count_to,
		.post_header .post_info #post_count_total,
		.post_header .post_info #post_term {
			color:rgb(var(--colour_accent)); }

/* gallery */
.gallery_heading {
	text-align:center;
	text-transform:none !important; }
.page_adoption .gallery_heading {
	text-transform:capitalize !important; }

@media screen and (max-device-width:599px) {
	.post_header {
		flex-direction:column;
		margin: var(--margin_xtiny) 0 var(--margin_small) !important; }
		.post_header .post_info {
			margin:calc(-1 * var(--flex_gap_small)) auto var(--flex_gap_small); }
		/*.post_header .margin_left_auto {
			margin:inherit; }*/
}


/* ---------------------------------------------------------------------
POST DATES
--------------------------------------------------------------------- */
.post_dates {
	display:flex;
	justify-content:center;
	gap:var(--flex_gap);
	margin:var(--margin_xtiny) 0 0 !important;
	line-height:1em;
	font-size:0.8em;
	font-weight:300;
	color:rgb(var(--colour_grey_lighter)); }


/* ---------------------------------------------------------------------
CONTAINERS - POST & GALLERY
--------------------------------------------------------------------- */
.gallery_heading {
	text-align:left;
	text-transform:none !important; }
.page_adoption .gallery_heading {
	text-transform:capitalize !important; }

.post_container,
.gallery_container {
	display:-webkit-flex; display:flex;
	-webkit-flex-wrap:wrap; flex-wrap:wrap;
	-webkit-transition:var(--transition); transition:var(--transition); } 
.post_container {
	-webkit-justify-content:center; justify-content:flex-start;
	/*align-items:flex-start;*/
	gap:var(--flex_gap_post);/*
	width:calc(100% + var(--flex_gap_post)) !important;
	margin:0 calc(-1 * (var(--flex_gap_post) / 2)) 0 !important;*/ }
.gallery_container {
	-webkit-justify-content:center; justify-content:center;
	gap:var(--flex_gap_gallery);
	/*width:calc(100% + var(--flex_gap_gallery)) !important;*/
	margin:var(--margin) /*calc(-1 * (var(--flex_gap_gallery) / 2))*/0 0; }
	p + .gallery_container {
		margin-top:var(--margin_medium); }
.page_home .gallery_container {
	width:100%;
	margin:var(--margin) 0; } 
.page_adoption .gallery_container {
	-webkit-justify-content:left; justify-content:left; }
	.page_adoption .gallery_container.featured {
		-webkit-justify-content:center; justify-content:center; }
.single-adopt .gallery_container {
	margin-top:var(--margin); }
#related .gallery_container {
	-webkit-justify-content:center; justify-content:center; }

	.post_container:empty,
	.post_empty,
	.post_loading {
		display:flex;
		justify-content:center;
		align-content:center;
		width:100%;
		height:75vh; }
		.post_container:empty::before,
		.post_empty::before,
		.post_loading::before {
			content:'';
			display:block;
			width:var(--loading_size);
			height:var(--loading_size);
			background:var(--loading_url) no-repeat center;
			background-size:contain;
			opacity:var(--loading_opacity);
			-webkit-transform:translateY(-10vh); transform:translateY(-10vh); }
	.gallery_empty {
		padding:var(--margin_small);
		font-size:0.9em;
		font-weight:300;
		text-align:center;
		color:rgb(var(--colour_grey_lighter));
		border-radius:var(--border_radius_form);
		background:#fff;
		-webkit-box-shadow:0 0 20px 0 rgb(0 0 0 / 10%); box-shadow:0 0 20px 0 rgb(0 0 0 / 10%); }

	.post_item {
		/*--items_per_row:5;*/
		--gap_adjust:calc(var(--flex_gap_post) - (var(--flex_gap_post) / var(--items_per_row))); }
	.gallery_item {
		/*--items_per_row:5;*/
		--gap_adjust:calc(var(--flex_gap_gallery) - (var(--flex_gap_gallery) / var(--items_per_row))); }
	.post_item,
	.gallery_item {
		--item_width:calc((100% / var(--items_per_row)) - var(--gap_adjust));
		--item_width_last_row:calc((100% / var(--items_last_row)) - var(--gap_adjust));
		position:relative;
		/*flex:1 0 var(--item_width);*/
		width:var(--item_width);
		height:var(--item_width);
		-webkit-filter:grayscale(0%); filter:grayscale(0);
		/*transform:scale(0.975);*/
		opacity:1; }
	.post_item {
		border-radius:var(--border_radius_item_posts);
		-webkit-box-shadow:var(--box_shadow_posts); box-shadow:var(--box_shadow_posts);
		-webkit-transition:var(--transition_fast); transition:var(--transition_fast); }
	.gallery_item {
		border-radius:var(--border_radius_item_gallery);
		-webkit-box-shadow:var(--box_shadow_gallery); box-shadow:var(--box_shadow_gallery);
		-webkit-transition:transform var(--transition_fast), box-shadow var(--transition_fast), opacity var(--transition_fast); transition:transform var(--transition_fast), box-shadow var(--transition_fast), opacity var(--transition_fast); }
	.page_home .gallery_item {
		overflow:hidden; }
		
		/* adopt order */
		.page_adoption .gallery_item {
			order:var(--order); }

		/* video */
		.gallery_item video {
			display:block;
			width:100%;
			height:100%;
			border-radius:var(--border_radius_item_gallery); }

		/* edit */
		.post_item .post_edit,
		.gallery_item .post_edit {
			position:absolute;
			top:0.5em;
			left:0.5em;
			padding:0.5em; }
		
		/* post image */
		.post_item .post_image {
			text-align:center;
			background:rgb(var(--colour_grey_lightest)); }
			.blog .post_item .post_image {
				max-height:35vh; }
			.blog .post_item.featured_post .post_image img {}
			.single-post .post_item .post_image img {
				width:100%; }
		
		/* stats */
		.post_item .post_stats {
			position:absolute;
			top:2rem;
			right:0;
			z-index:1;
			display:flex;
			padding:1em 1.5em;
			line-height:1em;
			font-size:0.8em;
			color:rgb(var(--colour_text));
			border-radius:5px 0 0 5px;
			background:rgba(255,255,255,0.7); }

			/* stat */
			.post_item .stat {
				font-weight:500;
				color:rgb(var(--colour_accent)); }

			/* stat divider */
			.post_item .post_stats .divider {
				color:rgb(var(--colour_grey_light)); }

		/* img */
		.post_item img,
		.gallery_item img {
			height:auto;
			max-width:100%; }
		.post_item img {
			border-radius:var(--border_radius_item_posts) var(--border_radius_item_posts) 0 0; }
		.gallery_item img {
			border-radius:var(--border_radius_item_gallery) var(--border_radius_item_gallery) 0 0; }
			.single-adopt .gallery_item img {
				border-radius:var(--border_radius_item_gallery); }

		/* reveal - came from srasr but hides reveal incorrectly for nhsr
		.reveal {
			opacity:0;
			-webkit-transform:translateY(20px); transform:translateY(20px);
			-webkit-transition:var(--transition); transition:var(--transition); }
			.reveal.show {
				opacity:1;
				-webkit-transform:translateY(0); transform:translateY(0); }*/

		/* hover */
		.post_item:hover,
		.gallery_item:not(.coming_soon):hover { }
		.post_item:hover {
			-webkit-box-shadow:var(--box_shadow_posts_hover); box-shadow:var(--box_shadow_posts_hover);
			-webkit-transition:var(--transition); transition:var(--transition); }
		.gallery_item:not(.coming_soon):hover {
			-webkit-box-shadow:var(--box_shadow_gallery_hover); box-shadow:var(--box_shadow_gallery_hover);
			/*transform:scale(1);*/
			-webkit-transition:transform var(--transition), box-shadow var(--transition), opacity var(--transition); transition:transform var(--transition), box-shadow var(--transition), opacity var(--transition); }

	/* feature post */
	.post_item.featured_post {
		--gap_adjust:calc(var(--flex_gap) - (var(--flex_gap) / var(--featured_per_row)));
		--item_width:calc((100% / var(--featured_per_row)) - var(--gap_adjust));
		max-width:var(--item_width); }

	/* alternative */
	.home.page .gallery_item {
		/*--items_per_row:4;*/ }

	/* unfocus */
	.post_item.unfocus {
		-webkit-filter:grayscale(50%); filter:grayscale(0.5);
		opacity:0.75;
		-webkit-transform:scale(0.975); transform:scale(0.975);
		-webkit-transition:transform var(--transition), var(--transition); transition:transform var(--transition), var(--transition); }
	.gallery_item.coming_soon,
	.gallery_item.unfocus {
		-webkit-filter:grayscale(50%); filter:grayscale(0.5);
		opacity:0.3;
		-webkit-transform:scale(0.975); transform:scale(0.975);
		-webkit-transition:transform var(--transition), filter var(--transition), opacity var(--transition); transition:transform var(--transition), filter var(--transition), opacity var(--transition); }
	.gallery_item.coming_soon {
		opacity:0.6;
		-webkit-transform:scale(1); transform:scale(1); }

		/* last row */
		.gallery_item:nth-child(5n):nth-last-child(-n+6) ~ .gallery_item {
			/*flex: 1 0 var(--item_width_last_row);*/
			/*max-width:var(--item_width_last_row) !important;*/
			/*outline:1px solid red !important;*/ }
			/* last item */
			.gallery_item:last-child {
				/*max-width:var(--item_width_last_row) !important;*/ }

		/* link */
		.gallery_item a {}
			
			/* image */
			.gallery_item a figure {}
				.gallery_item a figure img {}

		/* ribbon */
		.adopt_overview .overview_ribbon,
		.post_item.featured_post .post_ribbon,
		.gallery_item .gallery_ribbon {
			position:absolute;
			top:1.25em;
			right:-0.5em;
			z-index:1;
			-webkit-filter:drop-shadow(-2px 4px 2px rgba(0,0,0,0.5)); filter:drop-shadow(-2px 4px 2px rgba(0,0,0,0.5)); }
			.adopt_overview .overview_ribbon div,
			.post_item.featured_post .post_ribbon div,
			.gallery_item .gallery_ribbon div {
				position:relative;
				padding:0.6em 0.75em 0.6em 1.75em;
				line-height:1em;
				font-size:0.6em;
				letter-spacing:1px;
				color:#fff;
				text-shadow:1px 1px 3px #000;
				text-transform:uppercase;
				background:rgb(var(--colour_ribbon));
				-webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%, 1em 50%, 0 0);
						clip-path: polygon(100% 0, 100% 100%, 0 100%, 1em 50%, 0 0); }
			.page_home .gallery_item .gallery_ribbon div {
				padding:0.75em 1.75em; }
			/*.adopt_overview .overview_ribbon div,
			.post_item.featured_post .post_ribbon div {
				background:rgb(var(--colour_ribbon)); }*/
				.adopt_overview .overview_ribbon span,
				.post_item.featured_post .post_ribbon span,
				.gallery_item .gallery_ribbon span {
					content:'';
					position:absolute;
					right:0;
					top:98%;
					z-index:-1;
					width:0.55em;
					height:0.3em;
					background:rgb(var(--colour_ribbon_dark));
					-webkit-clip-path: polygon(100% 0, 0 100%, 0 0);
							clip-path: polygon(100% 0, 0 100%, 0 0); }
				/*.adopt_overview .overview_ribbon span,
				.post_item.featured_post .post_ribbon span {
					background:rgb(var(--colour_ribbon_dark)); }*/

		/* gallery title */
		.gallery_title {
			display:flex;
			flex-direction:column;
			justify-content:center;
			align-content:center;
			gap:var(--flex_gap_xtiny);
			padding:0.75em 1em;
			line-height:1.2em;
			color:rgb(var(--colour_accent_dark));
			background:#fff;
			border-radius:0 0 var(--border_radius_item_gallery) var(--border_radius_item_gallery);
			pointer-events:none;
			transition:var(--transition); }
			.gallery_item small {
				line-height:1.2em;
				font-weight:300;
				color:rgb(var(--colour_grey_light)); }

		/* posts content */
		.page_blog .post_item_container {
			display:flex;
			flex-direction:column;
			gap:var(--flex_gap_small);
			padding:var(--padding_container); }
		.page_single .post_item_container {
			padding:var(--padding_container); }
			.post_item img {}
			.post_meta {
				display:flex;
				align-items:baseline;
				gap:var(--flex_gap_tiny);
				line-height:1em;
				font-size:0.7em;
				color:rgb(var(--colour_grey_light)); }
			.single-adopt .post_meta {
				flex-direction:column; }
				.post_meta a/*,
				.post_meta a:visited*/ {
					color:rgb(var(--colour_grey_light)) !important; }
				.post_meta a:hover {
					color:rgb(var(--colour_link)) !important; }
				.post_meta a:active {
					color:rgb(var(--colour_link_active)) !important; }
			.post_meta.header {
				/*margin-bottom:var(--flex_gap_small);*/
				font-size:0.75em; }
				.single-post .post_meta.header {
					margin-bottom:var(--margin_small);
					padding-bottom:var(--margin_em);
					border-bottom:1px solid rgb(var(--colour_grey_lightest)); }
					.post_meta.header .post_publish {
						display:flex;
						align-items:baseline;
						gap:var(--flex_gap_xtiny); }
			.post_meta.footer {
				margin-top:var(--margin_small);
				padding-top:var(--margin_em);
				font-size:0.75em;
				border-top:1px solid rgb(var(--colour_grey_lightest)); }
			.single-post .post_meta.footer {
				margin-top:var(--margin_large); }
				.post_meta.footer:empty {
					margin-top:var(--margin_small);
					padding-top:0;
					border:none; }
				.post_categories,
				.post_tags {
					display:-webkit-flex; display:flex;
					-webkit-flex-wrap:wrap; flex-wrap:wrap;
					-webkit-align-items:baseline; align-items:baseline;
					line-height:1em;
					text-transform:uppercase; }
					.post_categories a/*, .post_categories a:visited,*/
					.post_tags a/*, .post_tags a:visited*/ {
						color:rgb(var(--colour_grey_lighter)) !important; }
					.post_categories i,
					.post_tags i,
					.post_categories a,
					.post_tags a {
						width:auto;
						height:auto;
						line-height:1rem;
						font-size:0.8em; }
					.post_tags .divider {
						padding:0 var(--flex_gap_tiny); }
					.single .post_categories i,
					.single .post_tags i {
						margin-right:var(--flex_gap);
						color:rgb(var(--colour_accent)); }
				.post_categories {}
					.post_categories .divider {
						padding:0 var(--flex_gap_tiny); }
				.post_tags {}
				.page_blog .post_date {
					text-transform:uppercase; }
				.post_author {
					display:-webkit-flex; display:flex;
					gap:inherit;
					text-transform:uppercase; }
					.post_author_prefix {
						text-transform:lowercase; }
				.post_comments {}
			.post_title,
			.post_excerpt,
			.post_content {
				display:-webkit-box; display:box;
				-webkit-box-orient:vertical; box-orient:vertical;
				text-overflow:ellipsis;
				overflow:hidden; }
			.post_title {}
			.page_blog .post_title,
			.page_archive .post_title {
				-webkit-line-clamp:var(--line_clamp_title); line-clamp:var(--line_clamp_title); }
				h2.post_title {
					font-size:calc(var(--font_size_h2) * 0.8); }
				h3.post_title {
					font-size:calc(var(--font_size_h3) * 0.8); }
			.page_blog .post_excerpt,
			.page_blog .post_content {
				-webkit-line-clamp:var(--line_clamp_content); line-clamp:var(--line_clamp_content); }
				.page_blog .post_item:not(.featured_post) .post_excerpt,
				.page_blog .post_item:not(.featured_post) .post_content {
					font-size:0.9em; }
			.page_blog .post_excerpt,
			.page_blog .post_content {
				min-height:calc(var(--line_height_default) * var(--line_clamp_content));
				margin-top:var(--margin_xtiny); }
				.page_blog /*.featured_post */.post_excerpt {
					min-height:auto; }
			.single-post .post_excerpt {
				font-size:1.1em;
				font-weight:500; }
				.single-post p {
					margin-bottom:0; }
			.post_content {}
			.post_link {
				margin-top:var(--margin_xtiny);
				font-size:0.8em;
				text-align:right; }

@media screen and (min-width:1024px) {
	/* masonry-ish */
	.page_home .gallery_container.gallery_grid {
		display: grid;
		grid-gap: var(--flex_gap_gallery);
		grid-template-columns: repeat(var(--items_per_row), minmax(200px, 1fr));/*was repeat(auto-fit, minmax(250px, 1fr)*/
		grid-auto-rows: 220px;
		grid-auto-flow: dense; }
	.page_home .gallery_container.gallery_grid .wide {
		grid-column: span 2; }
	.page_home .gallery_container.gallery_grid .tall {
		grid-row: span 2; }
	.page_home .gallery_container.gallery_grid .big {
		grid-column: span 2;
		grid-row: span 2; }
	
		.page_home .gallery_container.gallery_grid .gallery_item {
			display: flex;
			justify-content: center;
			align-items: center;
			max-width:none;
			-webkit-transform:none; transform:none; }
		/*.page_adoption .gallery_container .gallery_item {
			flex-direction:column;
			align-items:flex-start; }*/
			.page_home .gallery_container.gallery_grid .gallery_item a {
				width: 100%;
				height: 100%; }
				.page_home .gallery_container.gallery_grid .gallery_item img {
					width: 100%;
					height: 100%;
					object-fit: cover; }
}
@media screen and (max-device-width:1024px) and (orientation:landscape) {/**/
	.gallery_item {
		--items_per_row:4; }
}
@media screen and (max-device-width:768px) and (orientation:portrait) {/**/
	.post_item {
		--items_per_row:2; }
	.single .post_item {
		--items_per_row:1; }
	.gallery_item {
		--items_per_row:3; }
		/*.gallery_item:nth-child(4n):nth-last-child(-n+5) ~ .gallery_item {
			outline:1px solid red !important; }*/
}
@media screen and (max-device-width:599px) {
	.post_container,
	.gallery_container {
		width:100%;
		/*margin-left:auto !important;
		margin-right:auto !important; }
	.page_home .gallery_container {
		margin-left: inherit !important;
		margin-right:inherit !important;*/ }

		/* posts */
		.post_item,
		.post_item.featured_post {
			max-width:none;
			width:100%; }

			.post_meta.header {
				flex-direction:column;
				align-items:center;
				margin:inherit; }
				.post_meta.header .post_publish {
					margin:auto; }
					.post_meta.header .post_date {}

			.post_item .post_excerpt,
			.post_item .post_content {
				min-height:auto; }

		/* gallery */
		.gallery_item {
			--items_per_row:2; }
			/*.gallery_item:nth-child(2n):nth-last-child(-n+3) ~ .gallery_item {
				outline:1px solid red !important; }*/
}


/* ---------------------------------------------------------------------
GALLERY - PAGE - Home
--------------------------------------------------------------------- */
.page_home .gallery_title {
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	-webkit-transform:translateY(110%); transform:translateY(110%);
	padding:1em 1.5em;
	color:#fff !important;
	background:rgba(0,0,0,0.5); }
	.page_home .gallery_item:hover .gallery_title {
		-webkit-transform:translateY(0); transform:translateY(0);
		-webkit-transition:var(--transition_active); transition:var(--transition_active); }
	.page_home .gallery_item small {
		color:rgb(var(--colour_grey_lighterer)); }


/* ---------------------------------------------------------------------
GALLERY - SINGLE - Adopt
--------------------------------------------------------------------- */
.wp-block-group.alignnarrow {
    max-width:650px;
    margin-left:auto !important;
    margin-right:auto !important; }

	.single .gallery_heading {
		text-transform:none !important; }


/* ---------------------------------------------------------------------
FORMS
--------------------------------------------------------------------- */
.form_container {}

	/* form completion */
	.form_container .form_completion {
		position:absolute;
		top:0;
		left:100%;
		z-index:5;
		display:flex;
		flex-direction:column;
		align-items:center;
		gap:var(--flex_gap_xtiny);
		width:-moz-fit-content; width:fit-content;
		margin:2rem 0;
		padding:0.5em 0.75em 0.5em 1em;
		line-height:1em;
		font-size:0.9em;
		border-radius:0 5px 5px 0;
		background:rgb(var(--colour_grey_lightest));
		box-shadow:inset 20px 0 20px -20px rgba(0,0,0,0.25);
		transition:top var(--transition_fast); }
		.form_container .form_completion small {}
		.form_container .form_completion div {
			margin-top:calc(-1 * var(--flex_gap_xtiny));
			font-size:0.8em;
			color:rgb(var(--colour_warning)); }
		.form_container .form_completion span {
			margin-left:1px; }
			.form_container .form_completion span small {
				padding-left:1px;
				font-size:0.75em; }

	/* form profile/donate */
	form.form_container .form_profile,
	form.form_container .form_donation {
		display:flex;
		justify-content:space-between;
		align-items:center;
		gap:var(--flex_gap); }
		form.form_container .form_profile .form_column:first-child,
		form.form_container .form_donation .form_column:first-child {
			display:flex;
			flex-direction:column;
			justify-content:center;
			flex:auto;
			gap:var(--flex_gap_tiny); }
			form.form_container .form_profile .form_column:first-child .form_item,
			form.form_container .form_donation .form_column:first-child .form_item {
				flex-direction:row;
				align-items:baseline;
				padding-top:var(--flex_gap_tiny);
				font-size:0.9em;
				line-height:1.2em;
				border-top:1px solid rgb(var(--colour_grey_lightest)); }
				form.form_container .form_profile .form_column:first-child .form_item:first-child,
				form.form_container .form_donation .form_column:first-child .form_item:first-child {
					padding-top:0;
					border:none; }
				form.form_container .form_profile .form_column:first-child .form_item label,
				form.form_container .form_donation .form_column:first-child .form_item label {
					min-width:80px;
					font-size:0.9em;
					font-weight:300;
					color:rgb(var(--colour_grey_light)); }
				form.form_container .form_profile .form_column:first-child .form_item [name=adoptee_gender],
				form.form_container .form_donation .form_column:first-child .form_item [name=adoptee_gender] {
					text-transform:capitalize; }
		form.form_container .form_profile .form_column:last-child,
		form.form_container .form_donation .form_column:last-child {}
			form.form_container .form_profile img,
			form.form_container .form_donation img {
				width:150px;
				/*height:75px;*/
				border-radius:5px; }

	/* form submitted reply */
	form.form_container .form_reply {
		position:relative;
		margin-top:2.5em;
		padding:var(--flex_gap) calc(var(--flex_gap) + 0.25em);
		border-radius:10px;
		border:1px solid transparent; }
		form.form_container .form_reply::before {
			content:'';
			position:absolute;
			top:-2em;
			left:0;
			right:0;
			border-top:1px solid rgb(var(--colour_grey_lightest)); }
		form.form_container .form_reply.success {
			border-color:rgb(var(--colour_success),0.2);
			background:rgb(var(--colour_success),0.1); }
		form.form_container .form_reply.error {
			border-color:rgb(var(--colour_warning),0.2);
			background:rgb(var(--colour_warning),0.1); }

		/* heading */
		form.form_container .form_reply .form_section_heading {
			position:relative;
			margin-top:0 !important;
			padding:0 3em 0 0 !important;
			border:0;
			line-height:1em !important; }
			form.form_container .form_reply .form_section_heading::after {
				position:absolute;
				right:0;
				font-family:dashicons;
				border-radius:50%;
				color:#fff; }
				form.form_container .form_reply.success .form_section_heading::after {
					content:'\f15e';
					background:rgb(var(--colour_success),0.5); }
				form.form_container .form_reply.error .form_section_heading::after {
					content:'\f335';
					background:rgb(var(--colour_warning),0.5); }

		/* subheading */
		form.form_container .form_reply .form_section_subheading {
			margin-top:var(--margin);
			text-transform:none; }

		/* info */
		form.form_container .form_reply .form_info {
			margin-top:var(--margin_small); }
			form.form_container .form_reply .form_info code {
				position:relative;
				display:block;
				margin:var(--margin_small) 0;
				font-size:1.25em;
				font-weight:bold;
				text-align:center; }
				form.form_container .form_reply .form_info code.guide {
					position:absolute;
					z-index:9999;
					top:0;
					left:50%;
					-webkit-transform:translateX(-50%); transform:translateX(-50%);
					margin:0;
					color:rgb(var(--colour_accent));
					opacity:0;
					-webkit-transition:opacity var(--transition), top 1.0s cubic-bezier(0.6,0,0.4,1); transition:opacity var(--transition), top 1.0s cubic-bezier(0.6,0,0.4,1); }
					form.form_container .form_reply .form_info code.guide.move {
						opacity:1; }

	/* form questions */
	form.form_container .form_questions {
		display:flex;
		flex-direction:column;
		gap:var(--flex_gap); }

	/* form submitted */
	#donation_details.submitted,
	#donations_form .submitted,
	#sponsorship_details.submitted,
	#sponsorship_form .submitted,
	.adopt_request_container .submitted {
		display:none !important; }

@media screen and (max-device-width:599px) {
	/* form completion */
	.form_container .form_completion {
		top:2em;
		left:auto;
		right:0;
		padding:0.5em 1em 0.5em 0.75em;
		border-radius:5px 0 0 5px;
		box-shadow:2px 3px 5px -2px rgb(0 0 0 / 40%); }

	/* form profile */
	form.form_container .form_profile {
		flex-direction:column-reverse; }
		form.form_container .form_profile .form_column:last-child {
			text-align:center; }
}
/* ---------------------------------------------------------------------
POST
--------------------------------------------------------------------- */
.wp-block-post-title:first-of-type {
	margin-top:0 !important; }

.single-post [class^="wp-container"]:not(.srasr_socials_container) {
	display:block; }

.single-post article {
	margin-top:var(--margin); }


/* ---------------------------------------------------------------------
POST - Comments
--------------------------------------------------------------------- */
.wp-block-post-comments {
	padding-top:1rem; }


/* ---------------------------------------------------------------------
RELATED
--------------------------------------------------------------------- */
#related {
	margin-top:var(--margin); }

	/* heading */
	.related_heading {
		margin:0 !important;
		text-align:center; }

	/* container */
	.related_container {
		display:flex;
		/*gap:1rem;*/
		flex-wrap:wrap;
		justify-content:center;
		margin:var(--wp--style--block-gap) -0.5rem 0;
		width:calc(100% + 1rem);}

		/* item */
		.related_item {
			position:relative;
			/*flex:1 0 20%;*/
			margin:0.5rem;
			overflow:hidden; }

		/* title */
		.related_title {
			position:absolute;
			bottom:-100%;
			left:0;
			right:0;
			display:flex;
			justify-content:center;
			align-content:center;
			padding:2rem;
			color:#fff;
			background:rgba(0,0,0,0.5);
			pointer-events:none;
			transition:var(--transition); }
			.related_item:hover .related_title {
				bottom:0;
				transition:var(--transition_active); }


/* ---------------------------------------------------------------------
TESTIMONIALS
--------------------------------------------------------------------- */


/* ---------------------------------------------------------------------
FAQ
--------------------------------------------------------------------- */
.page_faq h4,
.page_faq .message_bottom {
	padding-top:var(--margin_heading_top) !important;
	border-top:1px solid rgb(var(--colour_grey_lightest)); }

	.page_faq .message_bottom {
		margin-top:var(--margin_medium) !important;
		padding-top:var(--margin_medium) !important; }