/*
Theme Name:   Savera
Theme URI:    
Description:  GeneratePress Child Theme
Author:       
Template:     generatepress
Version:      1.0.0
*/


:root {
	--wp--preset--font-size--small: 16px;
	--wp--preset--font-size--medium: 20px;
	--wp--preset--font-size--large: 24px;
	--wp--preset--font-size--x-large: 32px;
    --dark-blue: var(--wp--preset--color--dark-blue);
    --mid-blue: var(--wp--preset--color--mid-blue);
    --light-blue: var(--wp--preset--color--light-blue);
    --white: var(--wp--preset--color--white);
    --transparent: var(--wp--preset--color--transparent);

  /* Brand Colors */
  --savera-orange: var(--wp--preset--color--savera-orange);
  --savera-grey: var(--wp--preset--color--savera-grey);
}

.wp-block-buttons>.wp-block-button,
.wp-block-button__link
	{ border-radius: var(--savera-radius); }
a.wp-block-button__link:not(.has-background),
a.wp-block-button__link:not(.has-background):hover
	{ background-color: unset; }
.header-widget a.wp-block-button__link { background-color: var(--savera-orange); }
.header-widget a.wp-block-button__link:hover { background-color: var(--burnt-orange); }

.entry-content:not(:first-child), .entry-summary:not(:first-child), .page-content:not(:first-child)
	{ margin-top: 0; }

body.full-width-content .entry-content > p,
body.full-width-content .entry-content > .text-80 > *
{
	max-width: 80%;
}

/* =========================================================
   Site-wide gutters - header, menu, content and footer share
   the same edges as the landing-page sections, and never
   touch the screen edge on smaller screens
   ========================================================= */

#masthead .inside-header,
#site-navigation .inside-navigation,
body:not(.full-width-content) #page.grid-container,
#footer-widgets .footer-widgets-container,
.site-info .inside-site-info {
	max-width: none !important;
	padding-left: max(5%, calc((100% - var(--content-max, 1200px)) / 2)) !important;
	padding-right: max(5%, calc((100% - var(--content-max, 1200px)) / 2)) !important;
	box-sizing: border-box;
}

/* Featured image on posts fills the content width */
.single-post .featured-image.grid-container {
	max-width: none;

/* Loose top-level blocks: contain text to the same width as the savera-section patterns.
   Anything alignfull / alignwide (i.e. the patterns) is left alone. */
.entry-content > :not(.alignfull):not(.alignwide):not(.savera-section){
  box-sizing: border-box;
  padding-inline: max(5%, calc((100% - var(--content-max)) / 2));
  max-width: none;
}

/* Breathing room between loose blocks and at the top/bottom of the content */
.entry-content > :not(.alignfull):not(.alignwide):not(.savera-section):first-child{ margin-top: var(--savera-section-pad); }
.entry-content > :not(.alignfull):not(.alignwide):not(.savera-section):last-child{ margin-bottom: var(--savera-section-pad); }
}

/* ===== */

p { margin-bottom 1rem; }
p.has-x-large-font-size { line-height: 1.5; }
p.has-large-font-size { line-height: 1.25; }
h5 { margin-bottom: 0; }

/* Header navs */
.site-header, .main-navigation { position: sticky; position: -webkit-sticky; background: #fff; }
.site-header { top: 0; z-index: 100; }

/* Menu sticks directly under the header - height set by savera-safety.js, 100px until it runs */
.main-navigation { top: var(--savera-header-h, 100px); }

.inside-header.grid-container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.inside-header .site-logo {
	flex: 0 0 auto;
}

/* secondary nav: sit tight next to the logo, don't stretch */
.inside-header #secondary-navigation {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	margin-left: 1em;
	margin-right: 0;
}

/* kill the grey background coming from GeneratePress's generated Customizer CSS */
.inside-header #secondary-navigation,
.inside-header #secondary-navigation .inside-navigation,
.inside-header #secondary-navigation .menu-toggle {
	background-color: transparent !important;
}

.inside-header #secondary-navigation .inside-navigation li {
	color: var(--savera-grey);
	border: 1px solid var(--wp--preset--color--savera-grey);
	border-radius: 0 5px 0 5px;
	margin: 0 1em 0 0;
	width: 8rem;
	text-align: center;
}

.inside-header #secondary-navigation .inside-navigation li#menu-item-83 {
	color: var(--blue);
	border: 1px solid var(--wp--preset--color--blue);
}
.inside-header #secondary-navigation .inside-navigation li#menu-item-83 a {
	color: var(--blue);
}

.inside-header #secondary-navigation .inside-navigation li#menu-item-84 {
	color: var(--green);
	border: 1px solid var(--wp--preset--color--green);
}

.inside-header #secondary-navigation .inside-navigation li#menu-item-84 a {
	color: var(--green);
}

.inside-header #secondary-navigation .inside-navigation li:hover a {
	background-color: var(--peach);
}

.inside-header #secondary-navigation .inside-navigation li a {
	border-radius: 0 5px 0 5px;
	color: var(--savera-grey);
}

/* helpline + exit block: push to the far right, vertically centred, allowed to shrink */
.inside-header .header-widget {
	flex: 0 1 auto;
	min-width: 0;
	display: flex;
	align-items: center;
	margin-left: auto !important;
}

.inside-header .header-widget aside.widget {
	display: flex;
	align-items: center;
	height: 100%;
}

.inside-header .header-widget .wp-block-columns {
	align-items: center !important;
	margin-bottom: 0;
}

.inside-header .header-widget h4 {
	margin-top: 0;
	margin-bottom: 0;
}

.header-widget .wp-block-button__link {
	width: auto;
	height: 2em;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	padding: 1em;
}

#primary-menu { width: 100%; }
.nav-below-header .main-navigation .inside-navigation.grid-container, .nav-above-header .main-navigation .inside-navigation.grid-container { padding: 0; }
.main-navigation { padding-bottom: 1em; }
.main-navigation .main-nav ul li { width: 13%; border-bottom: 1px var(--savera-grey) solid; margin-right: 1.5%; }
.main-navigation .main-nav ul li:last-child { margin-right: 0; }
.main-navigation .main-nav ul li.current-menu-item { border-bottom: 1px var(--savera-orange) solid; }
.main-navigation .main-nav ul li a { padding-left: 0; line-height: 30px; }
.main-navigation .main-nav ul li.current-menu-item a { color: var(--savera-orange); }

.main-navigation .main-nav ul li:hover,
.main-navigation .main-nav ul li.current_page_item
	{ color: var(--savera-orange); border-bottom-color: var(--savera-orange); }
.main-navigation .main-nav ul li:hover a,
	{ color: var(--savera-orange); }

.main-navigation .main-nav ul li#menu-item-9189:hover,
.main-navigation .main-nav ul li#menu-item-9189.current_page_item
	{ color: var(--darkblue); border-bottom-color: var(--darkblue); }
.main-navigation .main-nav ul li#menu-item-9189:hover a,
.main-navigation .main-nav ul li#menu-item-9189.current_page_item a
	{ color: var(--darkblue); }

.main-navigation .main-nav ul li#menu-item-9188:hover,
.main-navigation .main-nav ul li#menu-item-9188.current_page_item
	{ color: var(--blue); border-bottom-color: var(--blue); }
.main-navigation .main-nav ul li#menu-item-9188:hover a,
.main-navigation .main-nav ul li#menu-item-9188.current_page_item a
	{ color: var(--blue); }

.main-navigation .main-nav ul li#menu-item-9187:hover,
.main-navigation .main-nav ul li#menu-item-9187.current_page_item
	{ color: var(--purple); border-bottom-color: var(--purple); }
.main-navigation .main-nav ul li#menu-item-9187:hover a,
.main-navigation .main-nav ul li#menu-item-9187.current_page_item a
	{ color: var(--purple); }

.main-navigation .main-nav ul li#menu-item-9186:hover,
.main-navigation .main-nav ul li#menu-item-9186.current_page_item
	{ color: var(--mustard); border-bottom-color: var(--mustard); }
.main-navigation .main-nav ul li#menu-item-9186:hover a,
.main-navigation .main-nav ul li#menu-item-9186.current_page_item a
	{ color: var(--mustard); }

.header-widget h4 { margin-top: 20px; margin-bottom: 0; }

/* Slider */
.slider-heading { max-width: 50% !important; }

/* Backgrounds */
.page-id-375 .inside-article,
.parent-pageid-375 .inside-article,
.single-event .inside-article
	{ background-image: url('images/background-whats-on.png'); }

.page-id-106 .inside-article,
.parent-pageid-106 .inside-article
	{ background-image: url('images/background-about.png'); }

.page-id-265 .inside-article,
.parent-pageid-265 .inside-article
	{ background-image: url('images/background-usingBOARC.png'); }

.page-id-288 .inside-article,
.parent-pageid-288 .inside-article
	{ background-image: url('images/background-heritage.png'); }

.page-id-305 .inside-article,
.parent-pageid-305 .inside-article
	{ background-image: url('images/background-projects.png'); }

.page-id-112 .inside-article,
.parent-pageid-112 .inside-article
	{ background-image: url('images/background-hire.png'); }

.page-id-295 .inside-article,
.parent-pageid-295 .inside-article
	{ background-image: url('images/background-support.png'); }

/* Buttons */

a.gb-text,
button:not(.wp-block-accordion-heading__toggle)
	{ background-color: var(--blue)!important; }
a.gb-text:is(:hover,:focus),
button:is(:hover,:focus):not(.wp-block-accordion-heading__toggle)
	{ background-color: var(--dark-blue)!important; }

a.gb-back-button {
	align-items: center;
	background-color: #215bc2;
	color: #ffffff;
	display: inline-flex;
	text-decoration: none;
	padding: 1rem 2rem;
}

.light-buttons a.gb-text,
.light-buttons button
	{ background-color: var(--mid-blue)!important; }
.light-buttons a.gb-text:is(:hover,:focus),
.light-buttons button:is(:hover,:focus)
	{ color: #000000 !important; background-color: var(--light-blue)!important; }

/* Blocks */

.textured-headings h3 {
	text-transform: uppercase;
	color: var(--white);
	background-color: var(--blue);
	background-image: url('images/heading-bg.jpg');
	padding: 0.25em 0.5em;
}

.textured-headings .wp-block-column:nth-of-type(1) h3 {
	background-position-x: 0;
	background-position-y: 0;
}
.textured-headings .wp-block-column:nth-of-type(2) h3 {
	background-position-x: 0;
	background-position-y: 100px;
}
.textured-headings .wp-block-column:nth-of-type(3) h3 {
	background-position-x: 100px;
	background-position-y: 0;
}
.textured-headings .wp-block-column:nth-of-type(4) h3 {
	background-position-x: 100px;
	background-position-y: 100px;
}
.textured-headings p.has-large-font-size {
	color: var(--blue);
}

.blue-block-columns .wp-block-column {
	background-color: var(--blue);
	background-image: url('images/textures.png');
	background-position: center center;
	color: white;
	padding: 1em;
}
.blue-block-columns .wp-block-column:nth-of-type(1) {
	background-image: url('images/textures.png');
}
.blue-block-columns .wp-block-column:nth-of-type(2) {
	background-image: url('images/textures2.png');
}
.blue-block-columns .wp-block-column:nth-of-type(3) {
	background-image: url('images/textures3.png');
}

.blue-block-columns .wp-block-column h3 {
	font-size: 36px;
	color: #fff;
}

.light-blue-block-columns .wp-block-column {
	background-color: var(--light-blue);
	background-image: url('images/block-backgrounds.webp');
	padding: 1em;
}
.light-blue-block-columns .wp-block-column:nth-of-type(1) {
	background-position-x: 100px;
	background-position-y: -100px;
}
.light-blue-block-columns .wp-block-column:nth-of-type(2) {
	background-position-x: 200px;
	background-position-y: 0px;
}

.light-blue-block-columns .wp-block-column h3 {
	font-size: 36px;
}

.wp-block-columns.blue-block-columns + .wp-block-columns.blue-block-columns,
.wp-block-group.light-blue-block-columns + .wp-block-group.light-blue-block-columns
	{ padding-top: 0 !important; }

div.has-background-image {
	padding-top: 40px !important;
	padding-bottom: 40px !important;
	margin-bottom: 30px !important;
}

.wp-block-group.no-margin-on-contents .wp-block-columns { margin-bottom: 0 !important; }
div.page-banner { margin-bottom: 20px; }
.wp-block-cover + p { padding-top: 10px !important; }

div.grid-container + div.wp-block-group.has-background-image {
	margin-bottom: 0 !important;
}

/* Accordions */
h3.wp-block-accordion-heading {
	font-family: Inter;
	font-size: 18px;
	text-transform: none;
	font-weight: bold;
	padding: 0.5em;
	color: #000;
}

/* Events */
.post-image-aligned-center .featured-image, .post-image-aligned-center .post-image
	{ text-align: left !important; margin-left: max(1.5rem, calc((100% - 1200px) / 2)); margin-right: max(1.5rem, calc((100% - 1200px) / 2)); }
.post-image-above-header .inside-article .featured-image, .post-image-above-header .inside-article .post-image
	{ padding-top: 2em; }
div.em-view-container { padding-top: 0 !important; }
div.event-date { margin-bottom: 1em; font-weight: 500; }
div.event-notes { max-width: 80%; }

/* CVP */
/* =========================================================
   News & blogs listing (Content Views, view class "savera-news")
   ========================================================= */

.savera-news {
	--news-text: #1a1a1a;
	--news-rule: #777;
}

/* Keep the theme font throughout the listing */
.savera-news,
.savera-news .pt-cv-taxoterm,
.savera-news .pt-cv-taxoterm a,
.savera-news .pt-cv-taxoterm span,
.savera-news .pt-cv-meta-fields,
.savera-news .pt-cv-meta-fields * {
	font-family: inherit !important;
}

/* Remove the card boxes - each item gets a single rule underneath instead */
.savera-news .pt-cv-content-item {
	border: 0 !important;
	border-bottom: 1px solid var(--news-rule) !important;
	background: none !important;
	box-shadow: none !important;
	padding: 0 0 1.25rem !important;
	align-self: start;
}
.savera-news .pt-cv-overlay-wrapper {
	padding: 0 !important;
	background: none !important;
}
.savera-news .pt-cv-thumb-wrapper::before {
	display: none !important;
}

/* Images: square corners, 16:9 crop (overrides the fixed heights set in the View) */
.savera-news .pt-cv-thumb-wrapper {
	margin: 0 0 1rem !important;
}
.savera-news img.pt-cv-thumbnail {
	display: block;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 0 !important;
}

/* Category label */
.savera-news .pt-cv-taxoterm {
	margin: 0 0 0.75rem !important;
}
.pt-cv-taxoterm a,
.pt-cv-taxoterm span {
	display: inline-block;
	padding: 0.25rem 0.6rem;
	background: var(--pill, #db762f);
	color: #fff !important;
	border-radius: var(--savera-radius, 0 10px 0 10px);
	font-family: inherit !important;
	font-size: 0.8rem;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none !important;
}

/* Category colours - add one line per category slug */
.pt-cv-taxoterm .pt-cv-tax-news { --pill: #db762f; }
/* .pt-cv-taxoterm .pt-cv-tax-blog   { --pill: #000000; } */
/* .pt-cv-taxoterm .pt-cv-tax-events { --pill: #000000; } */

/* Titles */
.savera-news .pt-cv-title {
	margin: 0 0 0.5rem !important;
	padding: 0 !important;
}
.savera-news .pt-cv-title a {
	font-family: inherit !important;
	font-size: 1.25rem !important;
	line-height: 1.3 !important;
	color: var(--news-text) !important;
	text-decoration: none !important;
}
.savera-news .cv-main-post .pt-cv-title a {
	font-size: 1.75rem !important;
	line-height: 1.25 !important;
}

/* Date */
.savera-news .pt-cv-meta-fields {
	margin: 0 0 1rem !important;
	font-size: 0.875rem !important;
	font-weight: 500;
	color: var(--news-text) !important;
}
.savera-news .pt-cv-meta-fields * {
	color: inherit !important;
}

/* Excerpt - main post only; smaller posts keep just the arrow */
.savera-news .pt-cv-content {
	font-family: inherit !important;
	font-size: 0.95rem !important;
	line-height: 1.6 !important;
	color: var(--news-text) !important;
}
.savera-news .pt-cv-content-item:not(.cv-main-post) .pt-cv-content {
	font-size: 0 !important;
	line-height: 0 !important;
}
.savera-news .pt-cv-content br {
	display: none;
}

/* "Read More" becomes the orange arrow (text kept for screen readers) */
.savera-news .pt-cv-rmwrap {
	margin-top: 1rem;
}
.savera-news .pt-cv-readmore {
	display: inline-block !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	font-size: 0 !important;
	line-height: 1 !important;
	color: transparent !important;
}
.savera-news .pt-cv-readmore::after {
	content: "\f061"; /* arrow-right */
	display: inline-block;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 1.5rem;
	color: #db762f;
}

/* Default button colour - used until a colour is picked in the editor
:is(.entry-content, .is-root-container) .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(.has-background):not(.has-text-color) {
	background: var(--savera-orange) !important;
	border-color: var(--savera-orange) !important;
	color: #fff !important;
}
*/

/* Footer */

.mailerlite-form { color: var(--white); }
.mailerlite-form-title h3 { color: var(--white); }
.mailerlite-form .mailerlite-form-field,
.mailerlite-form .mailerlite-subscribe-button-container
	{ display: inline-block; }
.footer-widgets-container .fa { font-size: 2em; }
.footer-widget-1 img { max-width: 200px; }
footer.site-info { display: none; }

@media screen and (max-width: 799px) {
	button.menu-toggle { margin: 0 80px 10px 80px; }
	.slider-heading { max-width: 100% !important; }
}

/* Pattern overrides */

/*
.header-widget { display: flex; align-items: center; }
.header-widget .widget { margin-left: 1em; }
#media_image-3 img { width: auto; height: 48px !important; margin-top: 6px; }
.widget .search-field { border-radius: 100px 0 0 100px; }
.widget .search-form button.search-submit { border-radius: 0 100px 100px 0; }

.menu-item-has-children .dropdown-menu-toggle { float: left; padding-left: 0; padding-right: 5px; }
.menu-item-has-children .dropdown-menu-toggle .gp-icon svg { fill: var(--mid-blue); }
.main-navigation .main-nav ul li:first-child a { padding-left: 0; }
.main-navigation .main-nav ul.sub-menu li:first-child a { padding-left: 20px; }

article .entry-meta { display: none; }
article.category-blog .entry-meta,
article.category-news .entry-meta
	{ display: block; }

body.full-width-content .entry-content .slim-banner
	{ padding-top: 0; padding-bottom: 0; }
hr { margin: 20px 0; }
.wp-block-list li { list-style-position: inside; }

.slim-banner .wp-block-image, .slim-banner .wp-block-image img { height: 100%; }

.wp-block-cover { padding: 0; }
.wp-block-cover, .wp-block-cover-image { min-height: 16vw; }
.wp-block-cover .wp-block-cover__background { opacity: 0; }
.research-block .wp-block-cover__inner-container p { position: absolute; width: 55%; line-height: 1.2; padding: 1em; margin-top: -2em; }
.wp-block-cover__inner-container p:first-child { margin-top: 1rem; }
:where(.wp-block-columns) { margin-bottom: 0; }

.wp-block-group.full-width-text h3,
.wp-block-group.full-width-text p,
article.post .inside-article
	{ max-width: 1000px; }
.wp-block-group.full-width-text h3,
.wp-block-group.full-width-text p
	{ margin-right: 200px !important; }

.equal-height-columns .wp-block-column {
    display: flex;
    flex-direction: column;
}

.equal-height-columns .wp-block-column > * {
    height: 100%;
}

.sidebar-column-blocks .wp-block-group,
.sidebar-column-blocks .wp-block-cover
	{ margin-bottom: 20px; }

.sidebar-column-blocks .wp-block-cover,
.equal-height-columns .wp-block-cover,
.wp-block-group.has-background
	{ padding: 20px; }

.sidebar-column-blocks .wp-block-cover p,
.equal-height-columns .wp-block-cover p
	{ margin-bottom: 10px; line-height: 1.1; }

svg[data-icon="arrow-right"], .fa-arrow-right { font-size: 2em; }

.pt-cv-content-item .pt-cv-readmore,
.pt-cv-ifield .pt-cv-readmore
	{ background: transparent !important; padding: 0; color: var(--blue) !important; }
.pt-cv-content-item .pt-cv-readmore:hover,
.pt-cv-ifield .pt-cv-readmore:hover
	{ color: var(--mid-blue) !important; }
.pt-cv-custom-fields { margin-top: 0; }

h2.widget-title { line-height: 1; }

@media screen and (max-width: 1199px) {
	.wp-block-cover, .wp-block-cover-image { min-height: 25vw; }
}

@media screen and (max-width: 768px) {
	.site-logo { max-width: 50%; }
	#mega-menu-wrap-primary .mega-menu-toggle + #mega-menu-primary { display: none; }
	.navigation-branding .main-title, .mobile-header-navigation .site-logo { margin-left: 0 !important; }
	.wp-block-cover, .wp-block-cover-image { min-height: 33vw; }
}

@media screen and (max-width: 799px) {
	body.full-width-content .entry-content .slim-banner { padding-top: 20px; padding-bottom: 20px; }
	.slider-heading { max-width: 100% !important; }
	.slim-banner .wp-block-columns .wp-block-column:nth-child(2) { display: none; }
	.wp-block-group.full-width-text h3,
	.wp-block-group.full-width-text p
		{ margin-right: auto !important; }
	body.full-width-content .entry-content > p,
	body.full-width-content .entry-content > .text-80 > *,
	div.event-notes
	{
		max-width: 100%;
	}
}
*/