@keyframes slow_zoom_out {
  from {transform:scale(1);}
  to {transform:scale(1.1);}
}

@property --slider-size {syntax:"<length>";inherits:true;initial-value: 96px;}

.wp-site-blocks>* {
	position: relative;
	z-index:1;
	
	.foo{}
	&.wp-block-template-part {
		margin-top: 0;
		position: relative;
		
		.foo{}
		header&  {z-index:3;}
		main&    {z-index:2;}
		section& {z-index:1;}
		footer&  {z-index:0;}
		
		header&  {color:var(--wp--preset--color--accent-1);.foo{}
			.wp-block-column:has(>.gaia-logo)        {flex-basis:calc(var(--header-size) - 15px) !important;}
			.invert-when-mobile                      {min-height:var(--header-size) !important;}
			.home &                                  {position:absolute;top:var(--wp-admin--admin-bar--height,0);left:0;right:0;color:#fff;.foo{}
				nav.is-style-main-menu               {color:inherit;}
				.gaia-logo img                       {filter: grayscale(1) brightness(7);}
			}
		
			&.inverted {
				color: var(--wp--preset--color--base);
				background-color: var(--wp--preset--color--accent-2);
				
				.foo{}
				.gaia-logo img {
					filter: grayscale(1) brightness(7);
				}
			}
		}
	}
}

/* Search dialog */
body:not(.block-editor-iframe__body) .gaia-search-dialog {
	z-index: 9999;
	
	.foo{}
	.main-search {
		position: fixed !important;
		min-height: 30rem;
		max-height: min(36rem,100vh);
		min-width: 40vw;overflow-y:auto;
		left: 0;
		right: 0;
		top: 110vh;
		visibility: hidden;
		transition: top .5s, visibility 0s .5s;
	}
	
	body.show-search & {
		
		.foo{}
		.main-search {
			top: max(calc(1vh + var(--wp-admin--admin-bar--height, 0vh)), calc(50vh - 13rem));
			visibility: visible;
			transition: top .5s;
		}
	}
}
body.show-search::after {
	content: "";
	display: block;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgb(0 0 0/.3);
	z-index: 9998;
}

/* SLIDER */
.slider-top {.foo{}
	.slider-container         {position:relative;box-sizing:content-box;z-index:1;.foo{}
		.slider               {overflow:hidden;transition:--slider-size .35s;.foo{}
			.conveyor         {width:unset!important;max-width:unset!important;display:flex;flex-shrink:0;align-items:inherit;background-color:inherit;}
			.conveyor>*       {display:flex;margin:0;background-color:inherit;border:2px solid transparent;border-radius:5px;overflow:hidden;transition:border-color .25s,transform .25s,box-shadow .25s;flex-shrink:0;flex-basis:var(--slider-size,96px);max-height:var(--slider-size,96px);}
			.conveyor img     {max-width:100%;max-height:100%;object-fit:contain;}
			.conveyor>*:hover {border-color:var(--wp--preset--color--accent-3);transform:scale(1.5);box-shadow: 0 0 20px rgba(0 0 0/.3), 0 0 5px 1px rgba(0 0 0/.3);z-index: 1;}
			&:hover .conveyor {animation-play-state:paused!important;}
		}
	}
}

/* FOOTER */
.footer-top             {z-index:0;.foo{}
	.footer-flyer       {position:relative;box-sizing:content-box;margin-top:calc(-2 * var(--wp--preset--spacing--50)) !important;margin-bottom:calc(-1 * var(--wp--preset--spacing--50)) !important;z-index:1;.foo{}
		&::before       {content:'';position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;box-shadow:0 20px 15px rgba(0,0,0,0.15);pointer-events:none;}
	}
	.menu-container     {position:relative;.foo{}
		.footer-icons   {position:relative;align-items:center;.foo{}
			.gaia-logo,
			.btn-social {transform:scale(1);cursor:pointer;transition:transform .35s;.foo{}
				img     {filter:grayscale(1)brightness(7);}
				&:hover {transform:scale(1.2);}
			}
		}
		@media screen and (max-width: 781px) {
			nav.is-style-footer-menu         {display:none;}
			.footer-icons                    {justify-content:center;margin-top:0 !important;padding:3rem 0;}
		}
	}
}
.footer-bottom    {.foo{}
	.footer-flyer {position:relative;box-sizing:content-box;margin-top:calc(-1 * var(--wp--preset--spacing--50)) !important;z-index:1;.foo{}
		&::before {content:'';position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;box-shadow:0 -20px 15px rgba(0,0,0,0.15);pointer-events:none;}
	}
}

@media screen and (max-width: 1199px) {
	.slider-top,
	.footer-top,
	.footer-bottom {padding-left:2rem !important;padding-right:2rem !important;}
}

/* POST TEMPLATES */
.gaia-hero-thematic-section {
	padding-top: var(--wp--preset--spacing--50);
    padding-right: var(--wp--preset--spacing--50);
    padding-bottom: var(--wp--preset--spacing--50);
    padding-left: var(--wp--preset--spacing--50);	
	margin: 0;
	z-index:0;
	
	.foo{}
	>img {animation:slow_zoom_out 12s linear infinite alternate;}
}
.gaia-info-thematic-section {
	margin-top:0;
	
	.foo{}
	.gaia-thematic-info {
		position: relative;
		z-index: 1;
		margin-top: calc(-1 * var(--header-size)) !important;
		min-height: calc(4 * var(--header-size)) !important;
		padding-top: var(--wp--preset--spacing--50);
		padding-left: var(--wp--preset--spacing--50);
		padding-bottom: var(--wp--preset--spacing--50);
		padding-right: var(--wp--preset--spacing--50);
		box-sizing: content-box;
		
		.foo{}
		.is-style-tag {
			display: flex;
			gap: 1.2rem;
			flex-wrap: wrap;
			justify-content: flex-end;
			
			.foo{}
			 [rel="tag"] {
				max-width:100% !important;
				margin: 0;
				white-space:normal;
			 }
		}
		
		&::before {content:'';position:absolute;top:0;left:0;z-index:-1;width:100%;height:calc(2 * var(--header-size) + 30px);box-shadow:0 -20px 15px rgba(0,0,0,0.15);pointer-events:none;}
		
		.feature-image-box {
			border: var(--wp--preset--spacing--20) solid #fff;
			border-radius: 1.5rem;
			box-shadow: 2px 2px 5px 2px rgb(0 0 0/.1);
			overflow: hidden;
			
			.foo{}
			&:not(:has(>.wp-block-post-featured-image)) {
				aspect-ratio:4 / 3 !important;
			}
			.wp-block-post-featured-image {
				aspect-ratio:4 / 3 !important;
				
				.foo{}
				img {
					width: 100%;
					height: 100%;
					object-fit: cover;
				}
			}
		}
		
	}
	
	@media screen and (max-width: 1199px) {
		& {
			padding-left: 2rem;
			padding-right: 2rem;
		}
	}
	
	@media screen and (max-width: 781px) {
		.post-info-box {
			padding-top: 0 !important;
			padding-bottom: 0 !important;
			
			.foo{}
			.wp-block-spacer {
				display: none;
			}
		}
		
		.gaia-info-title {font-size:40px!important;word-break:break-word;}
	}
}

/* Default placeholder image for feature image and block cover */
.main-page-hero:not(:has(>.wp-post-image)),
.feature-image-box:not(:has(>.wp-block-post-featured-image)),
.components-placeholder.block-editor-media-placeholder,
.components-placeholder.wp-block-cover__image--placeholder-image {
	background-image: url(../images/featured/background.jpg);
	background-size: cover;
    
	.foo{}
	&.block-editor-media-placeholder {
		background-color: rgba(255 255 255 / 0.3);
		background-blend-mode: color;
	}
}

/* PAGE CONTROLS */
.components-panel__body.hero-settings {
	background-color: #f5fbff;
	
	.foo{}
	.components-base-control+.components-base-control {margin-top:5px;}
	.components-text-control__input,
	.components-input-control__container {background-color: #ffffe4;}
	.components-text-control__input,
	.components-select-control__input {
		padding: 5px 7px;
		min-height: unset;
		height: unset;
		
		.foo{}
		option {
			background-color: #fff6e4;
		}
	}
	
	.components-base-control__label {margin-bottom: 0;}
	.components-flex {row-gap:0;}
}

/* HERO SECTION + PAGE INFO SECTION */
.main-page-hero:has(~.entry-content>.gaia-hero:first-child) {
	display: none;
	
	.foo{}
	+.gaia-info-section {display: none;}
}
.gaia-hero-section {
	--hero-height: 45rem;
	--base-color : var(--wp--preset--color--base);
	--dark-color : var(--wp--preset--color--accent-1);
	--base-shadow: 1px 1px 3px rgba(255 255 255/.5);
	--dark-shadow: 1px 1px 2px rgba(0 0 0/.3);
	
	padding-top: var(--wp--preset--spacing--50);
    padding-right: var(--wp--preset--spacing--50);
    padding-bottom: var(--wp--preset--spacing--50);
    padding-left: var(--wp--preset--spacing--50);	
	margin: 0;
	z-index:0;
	.foo{}
	.header-spacer   {display:none;}
	.info-spacer     {height:var(--header-size)!important;}
	.gaia-hero-title {margin:0;.foo{}
		&:has(>img)  {position:relative;padding-left:130px;box-sizing:border-box;}
		>img         {position:absolute;left:50px;top:50%;transform:translateX(-50%)translateY(-50%);height:100%;width:auto !important;max-height:120px;}
	}
	
	/* HERO SIZE */
	              & {--hero-height:45rem;min-height:clamp(30rem, var(--hero-height), 120rem);}
	.hero-hidden  & {--hero-height:0;display:none;}
	.hero-small   & {--hero-height:30rem;}
	.hero-normal  & {--hero-height:45rem;}
	.hero-large   & {--hero-height:60rem;}
	.hero-full    & {--hero-height:calc(100vh - var(--header-size) - var(--wp-admin--admin-bar--height, 0px));}
	.hero-full    & .info-spacer   {display:none;}
	body.home     & .info-spacer   {display:none;}
	body.home     & .header-spacer {display:block;}
	body.home     &>img            {animation:slow_zoom_out 12s linear infinite alternate;}
	
	/* CONTENT ALIGNMENT */
	                   & .has-alignment {text-align:left  ;justify-content:flex-start;}
	.hero-align-left   & .has-alignment {text-align:left  ;justify-content:flex-start;}
	.hero-align-center & .has-alignment {text-align:center;justify-content:center;}
	.hero-align-right  & .has-alignment {text-align:right ;justify-content:flex-end;}
	
	/* VERTICAL SPACING */
	.has-alignment {.foo{}
		                 &+& {--hero-spacing: var(--wp--preset--spacing--30);margin-top:var(--hero-spacing, clamp(30px, 6vh, 60px));}
		.hero-spacing-20 &+& {--hero-spacing: var(--wp--preset--spacing--20);}
		.hero-spacing-30 &+& {--hero-spacing: var(--wp--preset--spacing--30);}
		.hero-spacing-40 &+& {--hero-spacing: var(--wp--preset--spacing--40);}
		.hero-spacing-50 &+& {--hero-spacing: var(--wp--preset--spacing--50);}
	}
	
	/* VERTICAL ALIGNMENT */
	                   & {align-items:center!important;}
	.hero-align-top    & {align-items:flex-start!important;}
	.hero-align-middle & {align-items:center!important;}
	.hero-align-bottom & {align-items:flex-end!important;}
	
	/* CONTENT STYLE VARIANT */
	&                                                              {color:var(--base-color);.foo{}
		.gaia-hero-title                                           {text-shadow:var(--dark-shadow);}
		.gaia-hero-subtitle                                        {text-shadow:var(--dark-shadow);}
		.wp-block-button.is-style-outline .wp-element-button       {color:var(--base-color)!important;background:transparent      !important;border-color:var(--base-color)!important;text-shadow:var(--dark-shadow);}
		.wp-block-button.is-style-outline .wp-element-button:hover {color:var(--dark-color)!important;background:var(--base-color)!important;border-color:var(--base-color)!important;}
		.wp-block-button.is-style-fill    .wp-element-button       {color:var(--dark-color)!important;background:var(--base-color)!important;border-color:var(--base-color)!important;text-shadow:var(--dark-shadow);border:2px solid;}
		.wp-block-button.is-style-fill    .wp-element-button:hover {color:var(--base-color)!important;background:transparent      !important;border-color:var(--base-color)!important;}
	}
	.hero-inverted-palette &                                       {color:var(--dark-color)!important;.foo{}
		.gaia-hero-title                                           {text-shadow:var(--base-shadow);}
		.gaia-hero-subtitle                                        {text-shadow:var(--base-shadow);}
		.wp-block-button.is-style-outline .wp-element-button       {color:var(--dark-color)!important;background:transparent      !important;border-color:var(--dark-color)!important;text-shadow:var(--base-shadow);}
		.wp-block-button.is-style-outline .wp-element-button:hover {color:var(--base-color)!important;background:var(--dark-color)!important;border-color:var(--dark-color)!important;}
		.wp-block-button.is-style-fill    .wp-element-button       {color:var(--base-color)!important;background:var(--dark-color)!important;border-color:var(--dark-color)!important;text-shadow:var(--base-shadow);}
		.wp-block-button.is-style-fill    .wp-element-button:hover {color:var(--dark-color)!important;background:transparent      !important;border-color:var(--dark-color)!important;}
	}
	
	.hero-hidden  &.main-page-hero+.gaia-info-section {display:none;}
	+.gaia-info-section {margin-top:0;}
}
.gaia-page-info {
	position: relative;
    z-index: 1;
    margin-top: calc(-1 * var(--header-size)) !important;
    min-height: calc(var(--header-size) - var(--wp--preset--spacing--50) + 5px) !important;
    padding-top: var(--wp--preset--spacing--50);
    padding-left: var(--wp--preset--spacing--50);
    padding-right: var(--wp--preset--spacing--50);
	box-sizing: content-box;
	.foo{}
	
	&::before {content:'';position:absolute;top:0;left:0;z-index:-1;width:100%;height:calc(2 * var(--header-size) + 30px);box-shadow:0 -20px 15px rgba(0,0,0,0.15);pointer-events:none;}
	
	/* HIDE WHOLE SECTION ON FRONTPAGE */
	.hero-full & {display:none;}
	body.home & {display:none;}
	
	/* HIDE TITLE WHEN ALTERNATE TITLE IS NOT EMPTY */
	.gaia-info-title {display:none;.foo{}
		@media screen and (min-width: 1200px) {
			& {max-width:60%;margin-left:auto;margin-right:auto;}
		}
	}
	.gaia-hero-section:has(.gaia-hero-title:empty)+.gaia-info-section & .gaia-info-title {display:block;}
	.gaia-hero-section:has(.gaia-hero-title>[data-rich-text-placeholder]:empty)+.gaia-info-section & .gaia-info-title {display:block;}
	
	/* SHOW BOTH TITLES */
	.hero-show-both-titles & .gaia-info-title{display:block;}
}

/* ========== Frontend only ========== */
body:not(.block-editor-iframe__body) .gaia-hero-section {.foo{}
	.hide-when-empty:empty,
	.hide-when-empty.gaia-hero-links:not(:has(>*)) {display:none!important;}
}

@media screen and (max-width: 1300px) {
	.wp-block-group.gaia-info-section {
		padding-left: 2rem;
		padding-right: 2rem;
	}
	.gaia-page-info {
		box-sizing: border-box;
		min-height: calc(var(--header-size) + 5px) !important;
	}
}
@media screen and (max-width: 781px) {
	.gaia-hero-section      {.foo{}
		.gaia-hero-title    {font-size:40px!important;word-break:break-word;.foo{}
			br              {display:none;}
			&:has(>img)     {padding-left:0px;}
			>img            {position:relative;left:0;top:0;transform:none;display:block;}
		}
		.gaia-hero-subtitle {.foo{}
			br              {display:none;}
		}
	}
}
@media screen and (max-width: 600px) {
	.gaia-hero-section      {.foo{}
		.wp-block-button {
			width: 100%;
			.foo{}
			.wp-element-button {
				max-width: unset!important;
			}
		}
	}
	.gaia-page-info         {.foo{}
		.gaia-info-title    {font-size:40px!important;word-break:break-word;}
	}
}