/* Global */

* {
	--bs-body-font-size: 1.2rem;
}

body {
	font-family: helvetica, arial, sans-serif;
	text-rendering: optimizeLegibility;
	font-weight: 400;
	font-style: normal;
	background: var(--urbedtrust-darkgrey);
}

a:focus, a:hover:not(#logo), input:focus, select:focus, textarea:focus, .gchoice_select_all, .gform_legacy_markup_wrapper ul.gfield_checkbox li input[type=checkbox]:checked+label, .gform_legacy_markup_wrapper ul.gfield_radio li input[type=radio]:checked+label, .dropdown-item:focus, .dropdown-item:hover, .organisation_logo_link:focus, .organisation_logo_link:hover {
	background-color: var(--highlight-yellow) !important;
	border-color: var(--highlight-yellow) !important;
	color: var(--urbedtrust-darkgrey) !important;
	outline: 3px solid transparent;
	text-decoration: none;
}

input[type=radio]:focus, input[type=checkbox]:focus {
	outline: 3px solid var(--highlight-yellow);
	outline-offset: -3px;
}

h1, h2, h3, h4, .h1, .h2, .h3, .h4, h2.entry-title {
	font-family: arial, sans-serif;
	font-weight: 400;
}

h1, .h1 {
	font-size: 2.8rem;	
}

h2, .h2 {
	font-size: 2.4rem
}

h3, .h3 {
	font-size: 2rem;
}

h4, .h4 {
	font-size: 1.6rem;
}

ul, ol {
	padding-left: 1rem;
	margin-left: 0;
}

a:link, a:visited {
	text-decoration: none;
	color: var(--urbedtrust-darkgrey);
}

blockquote {
	padding-left: 1rem;
	border-left: 0.5rem solid var(--urbedtrust-darkgrey);
}

label {
	font-weight: bold;
}

.wp-caption-text {
	font-size: 80%;
}

.page-content, .entry-content, .entry-summary {
	margin: 0;
}

.entry-content a:link, .entry-content a:visited {
	border-bottom: 1px solid #ddd;
}

.entry-content a:hover, .entry-content a:active, h2 a:hover, h2 a:active, .block-promo a:hover, .block-promo a:active, .block-readmore a:hover, .block-readmore a:active {
	border-bottom: 1px solid var(--urbedtrust-light);
	color: var(--urbedtrust-darkgrey);
}

.site-branding a:focus {
	background: none;
	border: none;
}

#page-header, #primary {
	background: var(--urbedtrust-white);
}

#primary {
	padding-bottom: 2rem;
}

.attribution-container {
	position: relative;	
	padding: 0;
}

.attribution {
	position: absolute;
	bottom: 0;
	left: 0;
	color: white;
	background: rgba(0,0,0,0.6);
	padding: 0 3px;
	font-size: 0.8rem;
}

.attribution a:link, .attribution a:visited {
	color: white;
}

.band {
	padding-top: 2rem;
	padding-bottom: 2rem;
	background: var(--urbedtrust-white);
}
 
.block {
	-webkit-animation: fadein 1s; 
	   -moz-animation: fadein 1s; 
		-ms-animation: fadein 1s; 
			animation: fadein 1s;	
} 

@keyframes fadein {
	from { opacity: 0; }
	to   { opacity: 1; }
}

@-moz-keyframes fadein {
	from { opacity: 0; }
	to   { opacity: 1; }
}

@-webkit-keyframes fadein {
	from { opacity: 0; }
	to   { opacity: 1; }
}

@-ms-keyframes fadein {
	from { opacity: 0; }
	to   { opacity: 1; }
}

.block ol, .block ul {
	padding-left: 1rem;
}

.block ol li, .block ul li {
	margin-bottom: 1rem;
}

.block-subtitle, .subtitle {
	position: relative;
	z-index: 1000;
	text-align: center;
	padding-top: 1rem;
	padding-bottom: 0.5rem;
	margin-bottom: 0.5rem;
}

.block-promo {
	overflow: hidden;
}

.block-promo a {
	text-decoration: none;	
/*  	border-bottom: 3px solid transparent; */
}

.block-promo a:hover, .block-promo a:active {
	border-bottom: 3px solid var(--urbedtrust-light);
}

.block-promo img:hover, .listing-image img:hover {
	transform: scale(1.2);
}

.block-promo img, .listing-image img:hover {
	transition: transform .5s ease;
} 

.listing-image  {
	overflow: hidden;
	margin-bottom: 1rem;
}

.promo_title, .promo_teaser {
	text-align: center;
	padding: 0.5rem;
	margin: 0;
}

.promo_title {
	margin-bottom: 0;
}

.promo_url {
	display: block;	
	min-height: 100%;
}

.promo_text { /* card text content */
	padding: 1rem;
}

.btn-primary {
	background: var(--urbedtrust-darkgrey);
	border-color: var(--urbedtrust-darkgrey);
	color: var(--urbedtrust-white) !important;
	font-weight: bold;
}

.btn-primary:hover, .btn-primary:focus, input.button-cta:hover, input.button-cta:focus {
	background-color: var(--highlight-yellow) !important;
	border-color: var(--highlight-yellow) !important;
	color: var(--urbedtrust-darkgrey) !important;
}

.button-cta {
	text-align: center;
}

.pseudo-btn-cta span, input.button-cta {
	background: var(--urbedtrust-darkgrey) !important;
	border-color: var(--urbedtrust-darkgrey) !important;
	color: white !important;
	font-weight: bold !important;
	display: inline-block !important;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	background-color: transparent;
	border: 1px solid transparent;
	padding: .5rem 1rem;
	font-size: 1.25rem;
	border-radius: .3rem;
}

.pseudo-btn-cta a:link, .pseudo-btn-cta a:visited, .pseudo-btn-cta a:hover, .pseudo-btn-cta a:active {
	color: white;
	border-bottom: 1px solid white;
}

.pseudo-btn-cta a:focus {
	color: var(veday80-dark);
}

.pseudo-btn-cta a:hover {
	border-bottom: 1px solid var(--urbedtrust-light);
}

.block-banner-image {
	position: relative;
	height: 40vw;
}

.block-banner-image.overlay {
	align-items: center;
	justify-content: center;
}

.block-banner-image.overlay:after {
	content: " ";
	z-index: 10;
	display: block;
	position: absolute;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	background: rgba(0, 0, 0, 0.3);
}

.block-banner-image.overlay h1.block-subtitle, 
.band:not(.has-teaser) .block-banner-image.overlay h2.block-subtitle {
	display: inline-block;
	position: relative;
	color: white;
	z-index: 100 !important;
	font-size: 5vw;
	text-shadow: 0 0 10px #000;
	max-width: 80%;
	padding: 0;
}

.pseudo-block-subtitle {
	display: inline-block;
	position: relative;
	z-index: 100 !important;
	font-size: 2.4rem;
	font-weight: 700;
	padding: 0;
	max-width: 90%;
}

@media (max-width: 996px) {
	.block-banner-image {
		height: 100vw;
	}
	
	.has-teaser .block-banner-image {
		height: auto;
	}
	
	.has-teaser .block-banner-image .teaser {
		margin: 1rem;
	}

	.block-banner-image.overlay:after {
		height: 100%;
	}
	
	.block-banner-image .block-subtitle {
		font-size: 2rem;
	}
	
	.block-banner-image.overlay h1.block-subtitle, 
	.band:not(.has-teaser) .block-banner-image.overlay h2.block-subtitle,
	.pseudo-block-subtitle,
	h2.block-subtitle {
		font-size: 7vw;
	}
	
	.has-teaser.no-banner-image .block-banner-image {
		height: auto !important;
		padding: 2rem 0;
	}
	
	.block-banner-image {
		height: auto !important;
	}
	
	.block-banner-image .teaser p {
		font-size: 1rem;
	}
	
	.block-banner-image .teaser .btn-lg {
		font-size: 1rem;
	}
}

.block-banner-image.content-align-left {
	text-align: left;
	justify-content: left;
}

.content-align-left * {
	text-align: left;
}

.block-banner-image.content-align-center {
	text-align: center;
	justify-content: center;
}

.block-banner-image.content-align-right {
	text-align: right;
	justify-content: right;
}

/* banners with teaser */

:not(.no-banner-image).has-teaser .block-banner-image {
	height: 45vw;
}

.has-teaser .block-banner-image.overlay h1:not(.no-banner-image) {
	font-size: 2.8rem;
	text-shadow: none;
}

.band.has-teaser .block-banner-image.overlay:after, .band.no-banner-image .block-banner-image.overlay:after {
	display: none; /* only show overlay where we have text over a photographic background */
}

.block-banner-image.content-align-right,
.block-banner-image.content-align-left,
.block-banner-image.content-align-center {
	display: flex;
	align-items: center;	
}

.block-banner-image.content-align-right .block-subtitle {
	text-align: right;
}

.block-banner-image.content-align-center .block-subtitle {
	text-align: center;
}


.band.has-teaser .block-banner-image.content-align-right .row {
	justify-content: flex-end !important;
}

.band.has-teaser .block-banner-image.content-align-center .row {
	justify-content: center !important;
	text-align: center;
}

.band.has-teaser .block-banner-image.content-align-center .teaser h2, 
.band.has-teaser .block-banner-image.content-align-center .teaser p {
	text-align: center;
}

.band.has-teaser .block-banner-image.content-align-right .teaser, 
.band.has-teaser .block-banner-image.content-align-right .teaser .block-subtitle {
	text-align: left;
}

.band.has-teaser.theme-light .block-banner-image .block-subtitle {
	color: var(--urbedtrust-darkgrey);
}

/* video banner */

.block-banner-video {
	height: 40vw;
	overflow: hidden;
	text-align: center;
	display: flex;
	align-items: center;
}

.block-video video {
	width: 100%;
}

.block-banner-video.video-fullwidth { /* break out of .band padding */
	margin-top: -2rem;
	margin-bottom: -2rem;
}

.video-fullwidth video {
	width: 100%;
}

/* 50/50 image + text blocks */

.block-image-text {
	display: flex;
	align-items: center;
} 

.block-image-text+:not(.block-twocol) img {
	aspect-ratio: 800 / 600;
}

.block-image-text .entry-content {
	margin: 0;
}

.row.image-text-reverse { /* on larger viewports, flip alternating image > text, text < image without changing code order */
  flex-direction: row-reverse;
}

@media (max-width: 1200px) {
	.block-image-text img {
		object-fit: auto;
		height: auto;
	}
}

/* Listing */

.block-listing .entry-content {
	margin: 0;
}

.block-listing .listing_url {
	position: relative;
	display: block;
}

.block-listing .listing_url:hover, .block-toolkit .toolkit_url:hover {
	margin-left: -1rem;
	margin-right: -1rem;
	padding-left: 1rem;
	padding-right: 1rem;
}

/* Toolkit */

.block-toolkit .block-toolkit-item .toolkit_image {
	width: 150px;
	height: 150px;
	margin-bottom: 1rem;
	margin-top: 1rem;
	overflow: hidden;
	vertical-align: middle;
	text-align: center;
}

.block-toolkit a {
	text-decoration: none;
	display: inline-block;
}

.block-toolkit a:hover, .block-toolkit a:active {
	border-bottom: 3px solid var(--urbedtrust-light);
}

.block-toolkit img:hover {
	transform: scale(1.2);
} 

.block-toolkit img {
	transition: transform .5s ease;
} 

.block-toolkit .toolkit_image {
	overflow: hidden;	
}

.block-toolkit-item {
	word-break: break-word
}

/* Flex panels */

.panel_title, .panel_image {
	padding-bottom: 1rem;
	margin-bottom: 0;
}


.enlarge-text {
	font-size: 1.6rem;
}

@media (max-width: 996px) {
	.enlarge-text {
		font-size: 1.4rem;
	}
}

@media (min-width: 996px) {
	.wider-image {
		left: 25%;
		margin-left: -25vw;
		margin-right: -25vw;
		max-width: 75vw;
		position: relative;
		right: 25%;
		width: 75vw;
	}
}

/* pagination and site-wide styles*/

.wp-pagenavi {
	padding-bottom: 2rem;
	padding-top: 2rem;
	text-align: center;
}

.wp-pagenavi .pages {
	border: 0;
}

.wp-pagenavi .current {
	background: var(--urbedtrust-primary);
	border: none;
	color: white;
	min-width: 2rem;
	min-height: 2rem;
	display: inline-block;
	text-align: center;	
}

.wp-pagenavi .page {
	text-align: center;	
}

.wp-pagenavi a {
	border: 0;
	background: var(--urbedtrust-lightgrey);
	min-width: 2rem;
	min-height: 2rem;
	display: inline-block;
	text-align: center;	
}

.breadcrumb {
	display: block;
}

.breadcrumb span {
	padding-right: 0.25rem;
	padding-left: 0.25rem;
}

.offsite-listing-link, .download-link, .meta-link {
	color: var(--urbedtrust-darkgrey);
	font-size: 80%;
}

.offsite-listing-link .dashicons {
	font-size: 16px;
	vertical-align: middle;
}

.offsite-link-indicator:before {
	font-family: dashicons;
	vertical-align: middle;
	content: "\f103";
	padding-right: 0.25rem;
}

.meta-box {
	border: none;
	background: var(--urbedtrust-lightgrey);
	padding: 2rem;
    overflow-wrap: break-word;
}

.meta-alert {
	background: var(--urbedtrust-lightgrey);
	border: 2px solid var(--urbedtrust-light);
	font-weight: bold;
	padding: 2rem;
}

/* Layout */

#masthead #logo {
	max-width: 500px;
	max-height: 500px;
	display: block;
	position: relative;			
}

#site-navigation {
	text-align: right;
}

#site-footer {
	color: var(--urbedtrust-white);
	font-size: 80%;
	padding: 2rem 0;
}

/* Menu */

.navbar-toggler {
	border: 0;
	background: var(--urbedtrust-darkgrey);
	color: var(--urbedtrust-white);
	padding-top: 0.5rem;
	margin: 1rem 0;
}

.navbar-toggler:focus, .navbar-toggler:active {
	background-color: var(--highlight-yellow);
	color: var(--urbedtrust-darkgrey) !important;
	outline: 3px solid transparent;
}

.main-navigation.toggled ul, 
.main-navigation.toggled ul ul.dropdown-menu {
	display: block;
	float: none;
	text-align: center;
	background: transparent;
	border: none;
}

.navbar-toggler-icon {
	padding-top: 0;
}

nav {
	font-size: 1.3rem;
}

.main-navigation ul.navbar-nav li {
	text-align: center;	
	padding: 0.5rem;
}

.main-navigation ul.navbar-nav li a {
	text-align: center;	
}

.main-navigation ul.navbar-nav a:link, 
.main-navigation ul.navbar-nav a:visited  {
	color: var(--urbedtrust-darkgrey);
	border-bottom: 3px solid transparent;
}

.main-navigation ul.navbar-nav a:hover, 
.main-navigation ul.navbar-nav a:active  {
	color: var(--urbedtrust-darkgrey);
	border-bottom: 3px solid var(--urbedtrust-light);
}

.main-navigation ul.navbar-nav li.current_page_item a {
	color: var(--urbedtrust-darkgrey);
	border-bottom: 3px solid var(--urbedtrust-primary);
}

.main-navigation ul ul.dropdown-menu a {
	width: 100%;
}

@media (max-width: 992px) {
	.main-navigation .offcanvas li {
		padding: 0.5rem 0;
	}
	
	.main-navigation .offcanvas a {
		text-align: left !important;
		padding-left: 1rem !important;
	}
}

.nav-utility .navbar-nav {
	justify-content: left;
	flex-direction: row;
	margin-left: 0;
}

.nav-utility li {
	padding: 1rem;		
}

.nav-utility .navbar-nav li:first-child {
	margin-left: calc(var(--bs-gutter-x) * -0.7);
}

.nav-utility .navbar-nav a:link, .nav-utility .navbar-nav a:visited {
	color: white;
}

#footer-copyright {
	text-align: right;
}

@media (max-width: 992px) {
	.nav-utility .navbar-nav {
		text-align: left;
		display: block;
		font-size: 1rem;
		margin-left: 0;
	}
	.nav-utility .navbar-nav li {
		display: block;
		width: auto;
	}
	.nav-utility .navbar-nav li:first-child {
		margin: auto;
	}
	#footer-copyright {
		text-align: left;
		padding-left: 1.75rem;
	}
}

.dropdown-menu {
	border-radius: 0;
	border: 1px solid #eee;
	background: white;
	color: var(--urbedtrust-white) !important;
	padding: 0;
	flex-direction: column;
}

.nav-utility a.nav-link {
	padding: 0.5rem;	
}

@media (max-width: 768px) {
		
	h2, .h2, h3, .h3, h4, .h4 {
		padding-top: 0.5rem;
	}
	
	.pseudo-break {
		display:none;
	}
	
}

.page {
	margin-bottom: 0;
}

.appear {
	position: static;
	opacity: 1;
	transition: opacity 0.5s ease;	
}

.disappear {
	position: absolute;
	left: -9999px;
	opacity: 0;
}

.yt-embed {
   aspect-ratio: 16 / 9;
   width: 100%;
}

/* form bits */

.gform_wrapper.gravity-theme fieldset.gfield {
  margin: 2rem auto !important;
  width: 100%;
}

.gform-body li.gfield {
	padding-top: 1rem !important;
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.gform_wrapper.gravity-theme .gfield_checkbox label, 
.gform_wrapper.gravity-theme .gfield_radio label,
.gform_wrapper.gravity-theme .gfield_label,
.gform_wrapper.gravity-theme .description, 
.gform_wrapper.gravity-theme .gfield_description,
.gform_wrapper.gravity-theme .gsection_description, 
.gform_wrapper.gravity-theme .instruction {
  font-size: 1.2rem !important;
  padding: 0.5rem 0;
}

.gform_confirmation_wrapper  {
  font-size: 120%;
  border: none;
  padding: 1rem 2rem;	
}

.gform_legacy_markup_wrapper ol.validation_list {
	text-align: left;
	width: auto !important;
	padding-left: 0.5rem;
	padding-right: 1rem;
}

.gform_legacy_markup_wrapper .gfield_radio li label,
.gform_legacy_markup_wrapper .gfield_checkbox li label {
	margin: 6px 0 0 4px !important;
}

.gfield-choice-input {
  transform: scale(1.5); 
}

.ginput_container_radio .gchoice .gform-field-label,
.ginput_container_checkbox .gchoice .gform-field-label {
  margin-left: 0.5rem;
}

.gform_wrapper.gravity-theme .gfield_checkbox label, 
.gform_wrapper.gravity-theme .gfield_radio label {
	padding-left: 0.25rem;
}

.gform_page_fields fieldset {
  width: 100%;
}

.gform_wrapper.gravity-theme .validation_message {
	padding-top: 16px !important;
}

.gform_wrapper.gravity-theme .gf_progressbar_title {
	color: var(--urbedtrust-darkgrey) !important;	
}

.gform_wrapper.gravity-theme .gfield_required .gfield_required_custom, .gform_wrapper.gravity-theme .gfield_required .gfield_required_text {
	font-style: normal !important;	
}

.gform_wrapper.gravity-theme .gform_validation_errors,
.gform_wrapper.gravity-theme .validation_error {
	border-radius: 0 !important;
	box-shadow: none !important;
	border-color: var(--urbedtrust-primary) !important;
}

.gform_wrapper.gravity-theme .gfield_error label,
.gform_wrapper.gravity-theme .validation_error,
.gform_wrapper.gravity-theme .gfield_validation_message, .gform_wrapper.gravity-theme .validation_message {
	color: var(--urbedtrust-primary) !important;
}

#error {
	clear: both;
	margin-top: 2rem;	
}

.gform_wrapper.gravity-theme label.gform-field-label--type-inline {
	display: inline;
}