/*
Theme Name: the7dtchild
Author: George Pacarski
Author URI: https://www.gpacarski.com.au
Description: The7 is perfectly scalable, performance and SEO optimized, responsive, retina ready multipurpose WordPress theme. It will fit every site – big or small. From huge corporate portals to studio or personal sites – The7 will become a great foundation for your next project!
Version: 1.0.0
License: This WordPress theme is comprised of two parts: (1) The PHP code and integrated HTML are licensed under the GPL license as is WordPress itself.  You will find a copy of the license text in the same directory as this text file. Or you can read it here: http://wordpress.org/about/gpl/ (2) All other parts of the theme including, but not limited to the CSS code, images, and design are licensed according to the license purchased. Read about licensing details here: http://themeforest.net/licenses/regular_extended
Template: dt-the7
*/

/**
 * Media Query notes
 * container width: 100% (fullscreen)
 * mobile:
 * - width: 0 to 778px
 * - container padding: 20px
 * desktop/tablet:
 * - width: 779px and above
 * - padding: 50px;
 */

/**
 * General styles
 */
:root {
	/* spacing and sizing */
	--ffs-posts-gap: 20px;
	--ffs-negative-margin: calc(var(--ffs-posts-gap) * -1);
	--ffs-posts-row-gap: calc(var(--ffs-posts-gap) * 2);
	--ffs-post-item-intra-gap: 12px;
	--ffs-menu-radius: 24px;
	--ffs-img-border-radius: 20px;
	--ffs-post-y-padding: 26px;
	--ffs-main-content-width: calc(67vw - (var(--ffs-posts-gap) * 2));
	--ffs-controls-gap: calc(var(--ffs-posts-gap) / 2);
	--ffs-control-arrow-size: 16px;
	--ffs-control-arrow-padding: 30px;
	--ffs-menu-height: 60px;
	--ffs-sticky-menu-height: 60px;
	--ffs-partner-aspect-ratio: 4/3;
	/* fonts */
	--ffs-title-size: calc(26pt + 2vw);
	--ffs-title-letter-spacing: calc(var(--ffs-title-size) * -0.02);
	--ffs-title-line-height: 1;
	--ffs-sub-title-size: calc(var(--ffs-title-size) * 0.8);
	--ffs-sub-title-letter-spacing: calc(var(--ffs-sub-title-size) * -0.04);
	--ffs-item-title-size: calc(14pt + 0.4vw);
	--ffs-item-title-letter-spacing: calc(var(--ffs-item-title-size) * -0.01);
	--ffs-medium-item-title-size: calc(var(--ffs-item-title-size) * 1.25);
	--ffs-medium-item-title-letter-spacing: calc(var(--ffs-medium-item-title-size) * -0.02);
    --ffs-large-item-title-size: calc(var(--ffs-item-title-size) * 1.5);
	--ffs-large-item-title-letter-spacing: calc(var(--ffs-large-item-title-size) * -0.03);
	--ffs-item-text-content-size: calc(12pt + 0.2vw);
	--ffs-item-text-line-height: 1.5;
	--ffs-small-text: calc(var(--ffs-item-text-content-size) - 3pt);
	--ffs-header-line-height: 1.25;
	--ffs-font-wt-light: 100;
	--ffs-font-wt-normal: 300;
	--ffs-font-wt-semi-bold: 400;
	--ffs-font-wt-bold: 600;
	--ffs-font-wt-extra-bold: 800;
	/* colours */
	--ffs-fg-header-colour: #ffd990;
	--ffs-fg-text-colour: #ffffff;
	--ffs-header-colour: #154a68;
	--ffs-header-bg-blue: #145571;
	--ffs-paragraph-text-colour: #123d54;
	--ffs-link-colour: #4f759c;
	--ffs-text-rollover-colour: var(--ffs-link-colour);
	--ffs-mobile-menu-bg-colour: #123d54;
	--ffs-bg-item-colour: transparent;
	--ffs-bg-light-blue: #f7fafe;
	--ffs-light-blue-outline: #bde3fa;
	--ffs-tint-colour: rgba(21,74,104,0.3);
	--ffs-tint-colour2: rgba(21,74,104,0.10);
	--ffs-bg-button-input-colour: #7186a6;
	--ffs-bg-white: #ffffff;
	--ffs-border-colour: #cccccc;
	--ffs-pill-generic-colour: #395f73;
	--ffs-post-colour: #2699d6;
	--ffs-casestudy-colour: #144a69;
	--ffs-project-colour: #73a37d;
	--ffs-event-colour: #f2944a;
	--ffs-project-status-in-progress-colour: var(--ffs-project-colour);
	--ffs-project-status-completed-colour: #7a8fad;
	--ffs-project-status-terminated-colour: var(--ffs-event-colour);
	--ffs-project-status-final-reporting-colour: var(--ffs-casestudy-colour);
	--ffs-bg-linear-gradient: linear-gradient(0deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.05), transparent);
}
@media (min-width: 779px) {
	:root {
		--ffs-posts-gap: 50px;
		--ffs-title-size: calc(32pt + 2vw);
	}
}
@media (min-width: 992px) {
	:root {
		--ffs-title-size: calc(36pt + 2vw);
	}
}
@media (min-width: 1200px) {
	:root {
		--ffs-title-size: calc(40pt + 2vw);
	}
}
@media (min-width: 1723px) {
	:root {
		--ffs-menu-height: 90px;
	}
}
@media (min-width: 1400px) {
	:root {
		--ffs-title-size: calc(44pt + 2vw);
	}
}
@media (min-width: 1600px) {
	:root {
		--ffs-title-size: calc(48pt + 2vw);
	}
}
@media (min-width: 1800px) {
	:root {
		--ffs-title-size: calc(52pt + 2vw);
	}
}
html, body {
	text-rendering: geometricPrecision;
	font-family: Helvetica, Arial, sans-serif;
}
.loading-animation {
    display: none;
    min-height: 100px;
    background: url('https://www.futurefoodsystems.com.au/wp-content/themes/dt-the7-child/img/spinner.svg');
    background-repeat: no-repeat;
    background-position: center;
}
.loading ~ .loading-animation {
    display: block;
}
.loading:empty ~ .loading-animation {
    height: 66.6vh;
}
p.no-results-found {
	padding: 4px;
	color: var(--ffs-paragraph-text-colour);
}
.ffs-post-fields,
.post-fields-above.no-rollover span,
.ffs-active-no-rollover, a .ffs-active-no-rollover,
.ffs-active-no-rollover *, a .ffs-active-no-rollover *,
a > .ffs-active-no-rollover * {
	color: var(--ffs-link-colour);
}
.ffs-post-fields, .ffs-post-fields span, .ffs-single-post-field,
.ffs-post-fields .ffs-single-post-field {
	font-size: 15pt;
	font-weight: 600;
	line-height: 1;
}
.ffs-post-fields {
	display: flex;
	flex-direction: row;
}
.ffs-single-post-field:not(:last-of-type) {
	border-right: 1px solid var(--ffs-link-colour);
	padding-right: 6px;
}
.ffs-single-post-field:last-of-type:not(:first-of-type) {
	padding-left: 6px;
}
.post-fields-between, .post-fields-between.no-rollover {
	padding: 12px 32px;
	background-color: var(--ffs-header-colour);
}
.post-fields-between, .post-fields-between.no-rollover span {
	color: var(--ffs-fg-text-colour);
}
.content-16by9 {
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	aspect-ratio: 16/9;
}
.media-container {
	display: block;
	position: relative;
}
.media-container-absolute {
	display: block;
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
}
.media-container img,
.media-container-absolute img,
.media-container video,
.media-container-absolute video,
.media-container iframe,
.media-container-absolute iframe {
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: cover;
	object-position: center center;
}
.media-container-tinted::before {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	background-color: var(--ffs-tint-colour);
}
.ffs-fallback-img-post-text {
    box-sizing: border-box;
    width: 100%;
    padding: var(--ffs-posts-gap);
    position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
 	-moz-transform: translate(-50%, -50%);
  	-ms-transform: translate(-50%, -50%);
   	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.ffs-fallback-img-post-title, .ffs-fallback-img-post-subtext {
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    overflow-wrap: anywhere;
	-webkit-line-clamp: 3;
    line-clamp: 3;
	text-decoration: none;
}
.ffs-fallback-img-post-title {
    position: relative;
    font-size: calc(var(--ffs-item-title-size) * 0.9);
    line-height: calc(var(--ffs-header-line-height) * 0.9);
    letter-spacing: calc(var(--ffs-item-title-letter-spacing) * 0.9);
	color: var(--ffs-header-colour);
}
.ffs-fallback-img-post-subtext,
.ffs-fallback-img-post-text > .ffs-fallback-img-post-subtext {
	color: var(--ffs-link-colour);
}
.ffs-fallback-img-post-subtext {
    line-height: 1.1;
    font-size: var(--ffs-small-text);
	font-weight: var(--ffs-font-wt-bold);
}
.general-post-header {
	box-sizing: content-box;
	position: relative;
	margin: 0 var(--ffs-negative-margin);
    padding: var(--ffs-posts-gap);
    display: flex;
    align-content: flex-end;
    flex-wrap: wrap;
    background-color: var(--ffs-header-bg-blue);
}
.general-post-header.doc-top {
	padding-top: calc(var(--ffs-sticky-menu-height) * 1.5);
}
.general-post-header.doc-top:not(.hidden-title) {
	min-height: 10vh;
}
.general-post-header.content-overlap {
	--ffs-header-overlap-size: 200px;
	padding-bottom: var(--ffs-header-overlap-size);
	margin-bottom: calc(var(--ffs-header-overlap-size) * -1);
}
.general-post-header.content-overlap-variable {
	padding-bottom: 100px;
	margin-bottom: -100px;
}
/* titles and sub-titles */
body.page-template .post-main-header-title,
.ffs-page-title, .ffs-page-title-white,
.ffs-page-title h1, .ffs-page-title h2, .ffs-page-title h3,
.ffs-page-title h4, .ffs-page-title h5, .ffs-page-title h6,
.ffs-page-title-white h1, .ffs-page-title-white h2,
.ffs-page-title-white h3, .ffs-page-title-white h4,
.ffs-page-title-white h5, .ffs-page-title-white h6,
.elementor-widget-heading.ffs-page-title .elementor-heading-title,
.elementor-widget-heading.ffs-page-title-white .elementor-heading-title {
	color: var(--ffs-header-colour);
	font-size: var(--ffs-title-size);
	letter-spacing: var(--ffs-title-letter-spacing);
	line-height: var(--ffs-title-line-height);
}
body.page-template .post-main-header-title,
.ffs-page-title-white,
.ffs-page-title-white h1, .ffs-page-title-white h2,
.ffs-page-title-white h3, .ffs-page-title-white h4,
.ffs-page-title-white h5, .ffs-page-title-white h6,
.elementor-widget-heading.ffs-page-title-white .elementor-heading-title {
	color: var(--ffs-fg-text-colour);
}
.general-post-header .ffs-page-title,
.general-post-header .ffs-section-title {
	color: var(--ffs-fg-text-colour);
}
/*.general-post-header .ffs-page-title {
	margin-bottom: calc(var(--ffs-posts-gap) / 4);
}*/
.general-post-header .ffs-page-title {
	margin-bottom: -10px;
}
.general-post-header.hidden-title .ffs-page-title, 
.general-post-header.hidden-title .ffs-section-title,
.general-post-header.hidden-title .ffs-sub-title {
	display: none;
}
.ffs-flex-header-with-link h2,
.post-main-header-title,
.ffs-sub-title, .ffs-sub-title-white,
.ffs-sub-title h1, .ffs-sub-title h2, .ffs-sub-title h3,
.ffs-sub-title h4, .ffs-sub-title h5, .ffs-sub-title h6,
.ffs-sub-title-white h1, .ffs-sub-title-white h2,
.ffs-sub-title-white h3, .ffs-sub-title-white h4,
.ffs-sub-title-white h5, .ffs-sub-title-white h6,
.elementor-widget-heading.ffs-sub-title .elementor-heading-title {
	font-size: var(--ffs-sub-title-size);
	font-weight: var(--ffs-font-wt-bold);
    letter-spacing: var(--ffs-sub-title-letter-spacing);
	color: var(--ffs-header-colour);
    line-height: var(--ffs-title-line-height);
}
.post-main-header-title,
.ffs-sub-title-white, .ffs-sub-title-white h1,
.ffs-sub-title-white h2, .ffs-sub-title-white h3,
.ffs-sub-title-white h4, .ffs-sub-title-white h5,
.ffs-sub-title-white h6,
.elementor-widget-heading.ffs-sub-title-white .elementor-heading-title {
	color: var(--ffs-fg-text-colour);
}
h2.post-main-header-title {
	font-size: calc(var(--ffs-sub-title-size) * 0.8);
}
.ffs-sub-title.ffs-top-space, .ffs-sub-title-white.ffs-top-space {
	padding-top: var(--ffs-posts-gap);
}
/* headers with background image */
.general-post-header.ffs-bg-img, .single-staff-partner-header-wrap {
	background-image: url('https://www.futurefoodsystems.com.au/wp-content/themes/dt-the7-child/img/ffs-background.png');
	background-position: right bottom;
	background-size: 60% auto;
	background-repeat: no-repeat;
}
/* navigation links */
.post-navigation-links {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: nowrap;
	margin: 0 var(--ffs-negative-margin);
	padding: calc(var(--ffs-posts-gap)/2) var(--ffs-posts-gap) var(--ffs-posts-gap);
	background-color: var(--ffs-bg-light-blue);
}
.post-navigation-links.bg-white {
	background-color: var(--ffs-bg-white);
}
.single-post-navigation-link {
	vertical-align: top;
}
.single-post-navigation-link.align-left {
	text-align: left;
	margin-right: auto;
}
.single-post-navigation-link.align-centre {
	text-align: center;
	margin-inline: auto;
}
.single-post-navigation-link.align-right {
	text-align: right;
	margin-left: auto;
}
.single-post-navigation-link a {
	color: var(--ffs-paragraph-text-colour);
    display: block;
    text-decoration: none;
    white-space: nowrap;
    background-repeat: no-repeat;
    background-position: right center;
    background-size: auto var(--ffs-control-arrow-size);
}
.single-post-navigation-link.align-left a {
	background-image: url('https://www.futurefoodsystems.com.au/wp-content/themes/dt-the7-child/img/left-arrow.svg');
	padding-left: var(--ffs-control-arrow-padding);
    background-position: left center;
}
.single-post-navigation-link.align-right a {
	background-image: url('https://www.futurefoodsystems.com.au/wp-content/themes/dt-the7-child/img/right-arrow.svg');
	padding-right: var(--ffs-control-arrow-padding);
    background-position: right center;
}
.single-post-navigation-link .ffs-link-post-type-text {
	display: none;
}
@media (orientation: portrait) {
	.general-post-header.ffs-bg-img, .single-staff-partner-header-wrap {
		background-size: 100% auto;
	}
}
@media (orientation: landscape) and (min-width: 1200px) {
	.general-post-header.doc-top:not(.hidden-title) {
		min-height: 15vh;
	}
}
@media (min-width: 779px) {
	.general-post-header.content-overlap-variable {
		padding-bottom: var(--ffs-header-overlap-size);
		margin-bottom: calc(var(--ffs-header-overlap-size) * -1);
	}
	.single-post-navigation-link .ffs-link-post-type-text {
		display: inline;
	}
}
@media (min-width: 1723px) {
	.masthead.sticky-off ~ #main .general-post-header.doc-top {
		padding-top: calc(var(--ffs-menu-height) * 1.5);
	}
}

/* post type theme colours */
.ffs-text-pill, a.ffs-text-pill,
.ffs-text-pill-generic, a.ffs-text-pill-generic ,
a .ffs-text-pill, a:hover .ffs-text-pill, a:active .ffs-text-pill,
td a .ffs-text-pill, td a:hover .ffs-text-pill, td a:active .ffs-text-pill {
	margin: 0;
	line-height: 1;
	font-size: 10pt;
	border-radius: 15px;
	padding: 8px 16px;
	font-weight: var(--ffs-font-wt-semi-bold);
    color: var(--ffs-fg-text-colour);
	background-color: var(--ffs-pill-generic-colour);
}
a.ffs-text-pill {
	text-decoration: none;
}
.ffs-text-pill-post, a.ffs-text-pill-post {
	background-color: var(--ffs-post-colour);
}
.ffs-text-pill-project, a.ffs-text-pill-project {
	background-color: var(--ffs-project-colour);
}
.ffs-text-pill-event, a.ffs-text-pill-event,
.ffs-text-pill-resource-alt, a.ffs-text-pill-resource-alt,
a .ffs-text-pill-resource-alt, a:hover .ffs-text-pill-resource-alt, a:active .ffs-text-pill-resource-alt,
td a .ffs-text-pill-resource-alt, td a:hover .ffs-text-pill-resource-alt, td a:active .ffs-text-pill-resource-alt {
	background-color: var(--ffs-event-colour);
}
.ffs-text-pill-casestudy, a.ffs-text-pill-casestudy {
	background-color: var(--ffs-casestudy-colour);
}

/* general styles */
.post-main-content {
	position: relative;
}
.post-main-content, .post-main-content.entry-content,
.post-main-content .entry-content {
	margin-bottom: 0;
}
.post-main-content.entry-content ul,
.post-main-content ul,
.section-content ul,
.project-description ul {
	list-style-type: disc;
	padding-left: 16px;
}
.post-main-content.entry-content ol,
.post-main-content ol,
.section-content ol,
.project-description ol {
	list-style-type: decimal;
	padding-left: 16px;
}
.post-main-content, .post-main-content p, .post-main-content span,
.post-main-content li, .section-content p, .section-content .p1,
.section-content li, .project-description,
body.page-template-research-programs-template .entry-content,
.project-description li,
.post-main-content-wrap .elementor-widget-text-editor {
	font-size: var(--ffs-item-text-content-size);
	line-height: 1.5;
	font-weight: var(--ffs-font-wt-light);
	color: var(--ffs-paragraph-text-colour);
	letter-spacing: -0.1pt;
}
.section-content p, .section-content .p1,
.section-content li, .project-description,
.section-project-information,
body.page-template-research-programs-template .entry-content {
	margin: 16px 0;
}
.post-main-content p, .project-description p {
	margin-bottom: 1.5rem;
}
.post-main-content img:not(.size-thumbnail),
.post-main-content.entry-content img:not(.size-thumbnail),
.post-main-content .wp-caption,
.post-main-content .wp-caption a,
.post-main-content .wp-caption-text,
.case-study-section img:not(.size-thumbnail),
.case-study-section .wp-caption,
.case-study-section .wp-caption a,
.case-study-section .wp-caption-text {
	width: 100%;
	min-width: 100%;
	max-width: 100%;
}
.post-main-content img,
.post-main-content.entry-content img,
.case-study-section img {
	max-width: 100%;
}
.post-main-content .wp-caption, .case-study-section .wp-caption {
	margin: 1.5rem 0;
}
.post-main-content .wp-caption-text,
.case-study-section .wp-caption-text {
	font-size: calc(var(--ffs-item-text-content-size) - 2pt);
	color: var(--ffs-link-colour);
	font-style: italic;
}
.post-main-content.entry-content h1, .post-main-content.entry-content h2{
	letter-spacing: -0.4pt;
}
.post-content-link, .post-content-link:link {
	color: var(--ffs-paragraph-text-colour);
	font-weight: var(--ffs-font-wt-light);
    text-decoration: none;
}
.post-content-link:hover {
	color: var(--ffs-text-rollover-colour);
}
.media-container {
	background-image: url('https://www.futurefoodsystems.com.au/wp-content/themes/dt-the7-child/img/spinner.svg');
	background-repeat: no-repeat;
	background-position: center center;
}
.ffs-flex-header-with-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.ffs-flex-header-with-link a, .ffs-flex-header-with-link a:link, .ffs-flex-header-with-link a:hover {
    text-decoration: none;
    white-space: nowrap;
	color: var(--ffs-paragraph-text-colour);
}
body.page-template-image-header-template {
	background-color: var(--ffs-bg-light-blue);
}
.ffs-generic-content-wrap {
	padding: var(--ffs-posts-gap) 0;
}
.post-main-content-wrap.generic-main-content-wrap {
	padding: var(--ffs-posts-gap) var(--ffs-posts-gap) 0;
	display: block;
	min-height: 100px;
}
.ffs-link-with-arrow, .ffs-link-with-arrow:link, .ffs-link-with-arrow:hover {
	color: var(--ffs-paragraph-text-colour);
	display: block;
    text-decoration: none;
    white-space: nowrap;
    padding-right: var(--ffs-control-arrow-padding);
    background-image: url('https://www.futurefoodsystems.com.au/wp-content/themes/dt-the7-child/img/right-arrow.svg');
    background-repeat: no-repeat;
    background-position: right center;
    background-size: auto var(--ffs-control-arrow-size);
}
/* standard padding and negative margins */
.ffs-padding, .ffs-m-padding {
	padding: var(--ffs-posts-gap);
}
.ffs-horizontal-padding, .ffs-horizontal-m-padding {
	padding-inline: var(--ffs-posts-gap);
}
.ffs-vertical-padding, .ffs-vertical-m-padding {
	padding-block: var(--ffs-posts-gap);
}
.ffs-left-padding, .ffs-left-m-padding {
	padding-left: var(--ffs-posts-gap);
}
.ffs-right-padding, .ffs-right-m-padding {
	padding-right: var(--ffs-posts-gap);
}
.ffs-top-padding, .ffs-top-m-padding {
	padding-top: var(--ffs-posts-gap);
}
.ffs-bottom-padding, .ffs-bottom-m-padding {
	padding-bottom: var(--ffs-posts-gap);
}
.ffs-m-padding {
	margin: var(--ffs-negative-margin);
}
.ffs-horizontal-m-padding {
	margin-inline: var(--ffs-negative-margin);
}
.ffs-vertical-m-padding {
	margin-block: var(--ffs-negative-margin);
}
.ffs-left-m-padding {
	margin-left: var(--ffs-negative-margin);
}
.ffs-right-m-padding {
	margin-right: var(--ffs-negative-margin);
}
.ffs-top-m-padding {
	margin-top: var(--ffs-negative-margin);
}
.ffs-bottom-m-padding {
	margin-bottom: var(--ffs-negative-margin);
}
@media (orientation: landscape) {
	.ffs-featured-projects.ffs-list-layout {
		padding-top: var(--ffs-posts-gap);
	}
}
/* edit post link */
.ffs-edit-post-link {
	box-sizing: border-box;
	position: absolute;
	text-decoration: none;
	font-weight: var(--ffs-font-wt-extra-bold);
	color: #dc4d01;
	background-color: #333333;
	border: 1px solid #333333;
	padding: 0 12px;
	border-radius: 15px;
	font-size: 10pt;
	height: 26px;
	width: 50px;
	top: 0;
	right: 0;
	opacity: 0.75;
}
.single-post-link-container:hover .ffs-edit-post-link,
.resources-list-item-row:hover .ffs-edit-post-link {
	opacity: 1;
	border-color: #dc4d01;
}
.ffs-edit-post-link:hover, .ffs-edit-post-link:active {
	color: #ffa500;
}

/**
 * FFS generic post layout
 */
.post-main-content-wrap {
	background-color: var(--ffs-bg-light-blue);
}
.post-main-content-wrap.bg-white {
	background-color: var(--ffs-bg-white);
}
.post-main-header,
.post-main-content-wrap {
	position: relative;
	margin: 0 var(--ffs-negative-margin);
}
.post-main-header {
	height: 70vh;
}
.post-main-header img {
	object-fit: cover;
    object-position: center top;
	width: 100%;
	height: 100%;
}
.post-main-header-title {
	max-width: 100%;
}
.post-main-header-text {
	position: absolute;
	display: flex;
	flex-direction: column-reverse;
	align-items: flex-start;
	bottom: calc(var(--ffs-posts-gap) * 2);
	left: var(--ffs-posts-gap);
	gap: var(--ffs-posts-gap);
	width: calc(100vw - 2*var(--ffs-posts-gap));
	z-index: 1;
}
.post-main-header::after {
	display: block;
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--ffs-bg-linear-gradient);
	z-index: 0;
}
.post-main-content-wrap {
	position: relative;
	margin-top: var(--ffs-negative-margin);
	border-radius: var(--ffs-posts-gap) var(--ffs-posts-gap) 0 0;
	display: grid;
	align-content: start;
	grid-template-columns: 1fr;
	overflow: hidden;
	padding: 0;
	z-index: 1;
}
.post-main-content-wrap > section,
.post-main-content-wrap > div,
.post-main-content-wrap > aside {
	position: relative;
	padding: var(--ffs-posts-gap);
	box-sizing: border-box;
}
.post-main-content-wrap.ffs-full-width-children {
	grid-template-columns: 1fr;
}
.post-main-content-wrap .ffs-section-title {
	font-size: 14pt;
	font-weight: var(--ffs-font-wt-normal);
}
.post-main-content-wrap .post-fields {
	margin-top: calc(var(--ffs-posts-gap)/2);
	padding-bottom: 0;
}
.post-main-content-wrap.no-elementor-padding > .elementor {
	padding: 0;
}
@media (min-width: 992px) {
	.post-main-content-wrap > .post-fields {
		grid-column: 1/-1;
	}
}
@media (min-width: 1200px) {
	.post-main-content-wrap {
		grid-template-columns: 2fr 1fr;
		row-gap: 0;
	}
	.post-main-header-title {
		width: 80%;
	}
}
@media (min-width: 1400px) {
	.post-main-content-wrap {
		grid-template-columns: 3fr 1fr;
		row-gap: 0;
	}
	.post-main-header-title {
		width: 60%;
	}
}
@media (min-width: 1600px) {
	.post-main-content-wrap > .post-main-content {
		padding-right: calc(var(--ffs-posts-gap) + 10vw);
	}
}

/*
 * Single staff member or partner
 */
.single-staff-partner-header-wrap {
    box-sizing: border-box;
    display: flex;
	flex-direction: column-reverse;
    position: relative;
    justify-content: space-between;
    background-color: var(--ffs-header-bg-blue);
    margin: 0 var(--ffs-negative-margin);
    padding: 120px var(--ffs-posts-gap) var(--ffs-post-y-padding);
    row-gap: 20px;
}
.single-staff-partner-image {
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    flex-basis: 100%;
    width: 100%;
    flex-grow: 0;
    flex-shrink: 1;
	aspect-ratio: 1/1;
    border-radius: var(--ffs-img-border-radius);
}
.single-staff-partner-content-wrap {
    padding: var(--ffs-posts-gap) 0;
}
@media (min-width: 536px) {
	.single-staff-partner-image {
		--ffs-sp-image-width: calc((100% - var(--ffs-posts-gap)) / 2);
		flex-basis: var(--ffs-sp-image-width);
    	width: var(--ffs-sp-image-width);
	}
}
@media (min-width: 779px) and (orientation: landscape) {
	.single-staff-partner-header-wrap {
        padding-top: 160px;
        display: flex;
        flex-direction: row;
    }
	.single-staff-partner-headers {
        max-width: 50%;
    }
    .single-staff-partner-image,
    .single-staff-partner-image.media-container {
        position: absolute;
    }
    .single-staff-partner-image {
        --ffs-sp-image-width: calc(33.33% - (var(--ffs-posts-gap) * 5/3));
        flex-basis: var(--ffs-sp-image-width);
        flex-grow: 0;
        flex-shrink: 0;
        width: var(--ffs-sp-image-width);
        bottom: -150px;
        right: var(--ffs-posts-gap);
    }
	.single-staff-partner-content-wrap {
        width: 50%;
    }
}
@media (min-width: 1200px) and (orientation: landscape) {
	.single-staff-partner-header-wrap {
        padding-top: 260px;
    }
	.single-staff-partner-headers {
        max-width: var(--ffs-main-content-width);
    }
    .single-staff-partner-image {
        --ffs-sp-image-width: calc(25% - (var(--ffs-posts-gap) * 5/4));
        bottom: -175px;
    }
	.single-staff-partner-content-wrap {
        width: var(--ffs-main-content-width);
    }
}
@media (min-width: 1400px) and (orientation: landscape) {
	.single-staff-partner-header-wrap {
        padding-top: 300px;
    }
    .single-staff-partner-image {
        bottom: -200px;
    }
}
@media (min-width: 2000px) and (orientation: landscape) {
	.single-staff-partner-header-wrap {
        padding-top: 12vw;
    }
    .single-staff-partner-image {
        bottom: -14vw;
    }
	.single-staff-partner-content-wrap {
        min-height: 14vw;
    }
}

/**
 * Search Results
 */
.search-results-list {
	list-style: none;
	display: flex;
	flex-direction: column;
	row-gap: var(--ffs-posts-gap);
	padding-top: var(--ffs-posts-gap);
}
.search-results-list a {
	text-decoration: none;
}
.search-results-list h2 {
	font-size: 18pt;
	color: var(--ffs-header-colour);
}
.search-results-list p {
	color: var(--ffs-paragraph-text-colour);
}

/**
 * Events custom post type
 */
.events-post-item .post-fields-between span {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
    text-overflow: ellipsis;
	-webkit-line-clamp: 1;
	line-clamp: 1;
}
@media (min-width: 779px) {
	.events-post-item-large {
		grid-column-start: 1;
		grid-column-end: 3;
		grid-row-start: 1;
		grid-row-end: 3;
	}
}
@media (min-width: 1600px){
	.events-post-item-large {
		grid-column-start: 1;
		grid-column-end: 4;
	}
}

/**
 * Video custom post type
 */
.post-main-content-native-video, .entry-content-native-video {
	padding-top: var(--ffs-posts-gap);
}
.native-video-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--ffs-posts-gap);
}
.ffs-post-native-video, .ffs-post-native-video-image {
	border-radius: var(--ffs-img-border-radius);
	width: 100%;
	display: block;
}
@media (min-width: 1200px) {
	.native-video-grid:has(.ffs-post-native-video:nth-child(2)) {
		grid-template-columns: repeat(2, 1fr);
	}
}

/**
 * Taxonomy theme styles
 */
.taxonomy-theme-main-content-wrap .post-main-content {
    padding-bottom: 0;
}
.taxonomy-theme-container {
    grid-column: 1/-1;
}
.taxonomy-theme-container .posts-filter-container {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: var(--ffs-posts-gap);
}
.general-posts-list-container-taxonomy-theme {
    display: none;
}
.general-posts-list-container-taxonomy-theme.active {
    display: grid;
}
@media (min-width: 576px) {
    .taxonomy-theme-container .posts-filter-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

/**
 * PhD Program page
 */
.phd-program-main-content-wrap #staff-container {
	background-color: var(--ffs-bg-light-blue);
}

/**
 * Generic Page Templates
 */
body.page-template-blue-header-template .ffs-generic-content-wrap.no-content-padding {
	padding: 0;
	margin: 0 var(--ffs-negative-margin);
}
body.page-template-image-header-template .generic-main-content-wrap.no-content-padding,
body.page-template-image-header-template .generic-main-content-wrap.no-content-padding > section,
body.page-template-image-header-template .generic-main-content-wrap.no-content-padding > div,
body.page-template-image-header-template .generic-main-content-wrap.no-content-padding > aside {
	padding: 0;
}

/**
 * 404 page
 */
 #main {
	min-height: calc(100vh - 420px);
}
body.error404 #main {
	background-color: var(--ffs-header-bg-blue);
}
.ffs-search-404-container {
	position: relative;
	padding-top: 100px;
	min-height: calc(100vh - 520px);
	display: flex;
	flex-direction: column;
	justify-content: center;
    align-items: center;
	row-gap: var(--ffs-posts-gap);
}
.ffs-search-404-note {
	color: var(--ffs-fg-text-colour);
	font-size: var(--ffs-item-title-size);
	letter-spacing: var(--ffs-item-title-letter-spacing);
}
body.admin-bar .ffs-search-404-container {
	min-height: calc(100vh - 552px);
}
.ffs-search-404-container .searchform-s:focus {
	border-color: var(--ffs-light-blue-outline);
}
.ffs-search-404-container .searchform {
	display: flex;
	flex-direction: row;
	width: 600px;
	max-width: 100%;
	justify-content: space-between;
	align-content: center;
	column-gap: var(--ffs-controls-gap);
}
.ffs-search-404-container .searchform-s {
	border-radius: var(--ffs-menu-radius);
	border: 4px solid transparent;
	flex-grow: 1;
}
.ffs-search-404-container .searchform .submit {
	display: flex;
	align-content: center;
}
.ffs-search-404-container .searchform .submit svg {
	width: 20px;
	height: auto;
	fill: var(--ffs-fg-text-colour);
}
.ffs-search-404-container .searchform .submit:hover svg {
	fill: var(--ffs-light-blue-outline);
}


/**
 * Device specific overrides
 */
html.mobile-true.not-iOS {
	--ffs-font-wt-light: 300;
}
html.mobile-true.not-iOS .post-main-content,
html.mobile-true.not-iOS .post-main-content p,
html.mobile-true.not-iOS .section-content p,
html.mobile-true.not-iOS .section-content .p1,
html.mobile-true.not-iOS .section-content li,
html.mobile-true.not-iOS .section-project-description-stats,
html.mobile-true.not-iOS body.page-template-research-programs-template .entry-content,
html.mobile-true.not-iOS .single-post-link-container .post-content-link {
	font-weight: 300;
}