:root {
  /* --coronation-dark: rgb(0,38,87); */
  /* --coronation-dark-tint-dark: rgba(0,38,87,0.7); */
  --coronation-dark: rgb(0,47,108);
  --coronation-dark-tint-dark: rgba(0, 47, 108, 0.7); 
  --coronation-dark-tint: rgba(35,54,127,0.1); 
  --coronation-light: rgb(120,124,155); 
  --coronation-light-tint: rgba(0,47,108,0.05); 
  --coronation-alt: rgb(193,0,22);
  --highlight-yellow: #ffdd00;
} 

/* Global */

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

body {
	font-family: helvetica, arial, sans-serif;
	text-rendering: optimizeLegibility;
	font-weight: 300;
	font-style: normal;
}

a:focus, 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);
	border-color: var(--highlight-yellow);
	box-shadow: none;
	color: #0b0c0c !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: 'Marcellus', helvetica, arial, sans-serif;
	font-weight: 500;
}

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

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

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

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

/*
.h3, h3 {
	font-size: calc(0.8rem + .6vw)
}

.h4, h4 {
	font-size: calc(0.6rem + .6vw)
} 
*/

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

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

.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(--coronation-light);
	color: var(--coronation-dark-tint-dark);
}

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

.block {
	-webkit-animation: fadein 2s; /* Safari, Chrome and Opera > 12.1 */
	   -moz-animation: fadein 2s; /* Firefox < 16 */
		-ms-animation: fadein 2s; /* Internet Explorer */
			animation: fadein 2s;	
}

@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-subtitle, .subtitle {
	text-align: center;
	padding-top: 1rem;
	padding-bottom: 0.5rem;
	margin-bottom: 0.5rem;
}

.block-promo {
	margin-bottom: 1rem;
	border-bottom: 2px solid #fff;
}

.block-promo a {
	text-decoration: none;	
}

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

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

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

.block-promo .promo_image, .listing-image  {
	overflow: hidden;	
}

.listing-image, .listing img {
	box-shadow: 0px 6px 25px -16px rgb(0 0 0 / 75%);
}

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

.promo_url {
	display: block;	
}

.promo_image {
	box-shadow: 0px 6px 25px -16px rgb(0 0 0 / 75%);
}

.btn-primary {
	background: var(--coronation-dark);
	border-color: var(--coronation-dark);
	color: white !important;
	font-weight: bold;
	box-shadow: 0px 6px 25px -16px rgb(0 0 0 / 75%);
}

.btn-primary:hover, .btn-primary:focus, input.button-cta:hover, input.button-cta:focus, .mapp-iw a.mapp-btn:hover, .mapp-iw a.mapp-btn:focus {
	background-color: var(--highlight-yellow) !important;
	border-color: var(--highlight-yellow) !important;
	color: #0b0c0c !important;
}

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

.pseudo-btn-cta span, input.button-cta {
	background: var(--coronation-dark) !important;
	border-color: var(--coronation-dark) !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;
	box-shadow: 0px 6px 25px -16px rgb(0 0 0 / 75%);
}

.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: black;
}

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

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

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

.block-image-text img {
	box-shadow: 0px 6px 25px -16px rgb(0 0 0 / 75%);
	aspect-ratio: 800 / 450;
	margin-top: 1rem;
}

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

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

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

.block-toolkit .block-toolkit-item .toolkit_image {
	width: 150px;
	height: 150px;
	box-shadow: 0px 6px 25px -16px rgb(0 0 0 / 75%);
	margin-bottom: 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: 2px solid var(--coronation-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
}

/* @media (min-width: 996px) {
	.block-toolkit .row.itemcount_1, .block-toolkit .row.itemcount_2 {
		width: 50%;
		margin: 0 auto;
	}
} */

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

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

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

.navbar-toggler:focus, .navbar-toggler:active {
	background-color: var(--highlight-yellow);
	box-shadow: none;
	color: #0b0c0c !important;
	outline: 3px solid transparent;
}

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

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

#site-identity {
	background: black;
	color: white;
}

.phase-banner {
	padding: 0.75rem 0 0.5rem 0;
	font-family: helvetica, arial, sans-serif !important;
	font-weight: 400;
}

.phase-banner a {
	color: white;
	text-decoration: underline;
}

.phase-tag {
	text-transform: uppercase;
	color: white;
	background: #005ea5;
	font-weight: 700;
	padding: 2px 5px 0;
}

#branding {
	font-family: helvetica, arial, sans-serif !important;
	font-weight: 400 !important;
	padding: 0.75rem 0 0.5rem 0;
}

#branding span {
	background-image: url('img/hmg-reversed.png');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 2px center;
	border-left: 2px solid #EB068D; border-left: 2px solid white;
	padding-left: 30px;
	padding-top: 2px;
}

#branding span a {
	color: white;
}

.phase-banner p, p#branding {
	margin-bottom: 0;
}

@keyframes slideDownFromTop {
	  0% {
		transform: translateY(0) skewX(-10deg);
	  }
	  50% {
		  transform: translateY(-10px) skewX(10deg);	  
	  }
	  100% {
		  transform: translateY(0) skewX(0deg);
	  }
	}
	
.wp-pagenavi {
	padding-bottom: 2rem;
}

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

.wp-pagenavi .current {
	background: #666;
	color: white;
	min-width: 2rem;
	min-height: 2rem;
	display: inline-block;
}

.wp-pagenavi a {
	border: 0;
	background: #ddd;
	min-width: 2rem;
	min-height: 2rem;
	display: inline-block;
}

.breadcrumb {
	display: block;
}

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

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

.gform_confirmation_wrapper  {
	font-size: 150%;
	border: 3px solid #572473;
	padding: 1rem 2rem;	
}

.organisation_logo {
	margin: 1rem 0;
	display: block;
}

.organisation_logo_link {
	padding: 0.5rem;
	display: inline-block;	
}

.offsite-link, .download-link {
	color: #666;
}

.meta-box {
	border: none;
	background: var(--coronation-light-tint);
	padding: 2rem;
	box-shadow: 0px 6px 25px -16px rgb(0 0 0 / 75%);
    overflow-wrap: break-word;
}

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

/* Layout */

#emblem {
	width: 250px;
	height: 250px;
	margin: 50px 0;
}

#masthead {
	text-align: center;
}

#masthead .logo {
	max-width: 200px;
	max-height: 200px;
}

nav.fixed-top #emblem-fixed {
	max-width: 50px;
}

nav:not(.fixed-top) #emblem-fixed {
	display: none;
}

@media (max-width: 992px) {
	nav.fixed-top #emblem-fixed {
		display: none;
	}
}

.logo-saturation-animation {
	animation: saturate 5s linear 1;
	
}

@keyframes saturate {
  0%  { 
	  filter: saturate(0);
	  opacity: 0;
  }
  50% {
	  filter: saturate(0.25);
	  opacity: 0.5;  
  }
  100% { 
	  filter: saturate(1); 
	  opacity: 1;
  }
}
	
nav {
	font-size: 1.3rem;
}

@media (min-width: 992px) {
	ul.navbar-nav > li:not(:first-child) {
		background-repeat: no-repeat;
		background-position: left center;
		background-image: url('img/li-divider.png');
		background-size: 12px;
		padding-left: 1.25rem;
		padding-right: 1rem;
	} 
	ul.navbar-nav > li:first-child {
		padding-left: 0.75rem;
		padding-right: 0.5rem;
	}
}

ul.navbar-nav {
	transition: transform .5s ease;
}

ul.navbar-nav a:link, ul.navbar-nav a:visited  {
	color: var(--coronation-dark);
	border-bottom: 2px solid transparent;
}

ul.navbar-nav a:hover, ul.navbar-nav a:active  {
	color: var(--coronation-dark-tint-dark);
	border-bottom: 2px solid var(--coronation-light);
}

ul.navbar-nav li.current_page_item a {
	color: var(--coronation-dark-tint-dark);
	border-bottom: 2px solid var(--coronation-light);
}

.navbar-centered, .navbar-centered .navbar-nav {
	justify-content: center;
}

.nav-utility .navbar-nav {
	justify-content: center;
	flex-direction: row;
}

@media (max-width: 992px) {
	.nav-utility .navbar-nav {
		font-size: 1rem;
		margin-left: 0;
		flex-direction: column;
	}
	.nav-utility .navbar-nav li {
		display: block;
		padding-left: 0.5rem;
	}	
}

/* dropdowns */

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

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


@media (max-width: 768px) {
	
	.ccc-icon--right {
		right: auto;
	}
	#ccc-module.ccc-module--slideout {
		width: 100%;
	}
	
	h2, .h2, h3, .h3, h4, .h4 {
		padding-top: 0.5rem;
	}
	
	.pseudo-break {
		display:none;
	}
	
}

.site-footer {
	/* background: linear-gradient(0deg, rgba(0,47,108,0.2) 0%, rgba(255,255,255,1) 100%); */
	background: url("img/web-pattern-min.jpg") no-repeat;
	background-size: cover;
}

.page {
	margin-bottom: 0;
}

#page-header {
	/* background: linear-gradient(180deg, rgba(0,47,108,0.2) 0%, rgba(255,255,255,1) 100%); */
	background: url("img/web-pattern-min.jpg") no-repeat;
	background-size: cover;
}

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

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

.row {
	overflow-x: hidden;
}

/* Map */

.mapp-ib-wrapper {
	border-radius: 10px;
	max-width: 70%;
	box-shadow: 0px 6px 25px -16px rgb(0 0 0 / 75%);
	margin: 10px;
}

.mapp-ib {
	border-radius: 10px;
	border-width: 0;
}

.mapp-iw .mapp-body {
	overflow: visible;	
}

.mapp-iw .mapp-info {
	padding: 5px 5px 10px 5px;
}

.mapp-title h3, .mapp-title h3 a {
	font-family: 'Marcellus', helvetica, arial, sans-serif;
	font-size: 16px !important;
	font-weight: normal;
}

.mapp-iw a, .mapp-iw a:link, .mapp-iw a:active, .mapp-iw a:visited, .mapp-iw a:hover {
	color: var(--coronation-dark) !important;
}

.mapp-body p, .mapp-body a, .mapp-layout a {
	font-family: helvetica, arial, sans-serif;
	font-size: 14px;
	line-height: 1.3;
}

.mapp-iw .mapp-title h3 a, .mapp-iw .mapp-body a {
	border-bottom: 1px solid var(--coronation-dark) !important;
}

p.mapp-more-details {
	margin-top: 1rem !important;
	line-height: 1.3rem !important
}

.mapp-body img.external {
	float: right;
	max-width: 100px;
	height: auto;
	margin: 0;
}

@media (max-width: 576px) {
	#map {
		width: 85vw;
		margin-left: 5vw;
	}
	.mapp-body img.external {
		float: none;
		max-width: 150px;
		margin-bottom: 10px;
	}
}

.mapp-iw a.mapp-btn {
	background: var(--coronation-dark);
	border-radius: 0.5rem;
	padding: 0.25rem 0.5rem;
	color: white !important;
	font-weight: bold;
}

.marker-cluster-small, .marker-cluster-small div,
.marker-cluster-medium, .marker-cluster-medium div,
.marker-cluster-large, .marker-cluster-large div {
	background: var(--coronation-dark-tint-dark);
}

.marker-cluster-small span,
.marker-cluster-medium span,
.marker-cluster-large span {
	color: white;
}

/* sticky top nav */

.fixed-top {
	top: -65px;
	transform: translateY(40px);
	transition: transform .3s;
	background: white;
	box-shadow: 0px 6px 25px -16px rgb(0 0 0 / 75%);
	padding: 0.5rem 0;
}

body.admin-bar .fixed-top {
	top: -35px;
}

/* form bits */

.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;
}

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

.gfield {
	margin-top: 1rem;
	margin-bottom: 1rem;
}

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

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

/* Event search */

#event-search-form form select {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 4px;	
	max-width: 99%;
}

#event-search-form label {
	padding: 0.5rem 0;
}

#event-search-form .ext_buttons {
	display: flex;
	justify-items: stretch;
}

#event-search-form .ext_button {
	/* display: flex; */
	align-content: center;
	width: 50%;
	margin-right: 1rem;
	border: 1px solid #ccc;
	padding: 1rem;
	background: white;
}

@media (max-width: 768px) {
	#event-search-form .ext_buttons {
		display: block;
	}
	
	#event-search-form .ext_button {
		display: block;
		width: 100%;
		margin-right: 0;
		margin-bottom: 1rem;
	}
	#event-search-form .ext_button input[type=checkbox] {
		-webkit-transform: scale(1.5,1.5);
	}
	
}

#event-search-form .ext_button p {
	font-size: 90%;
	margin: auto;
}

#event-search-form .ext_button p span {
	display: block;
	margin-bottom: 0.5rem;
}

#event-search-form .ext_button img {
	max-width: 150px;
}

/* Creative Challenge listing */

.block-challenge-item .challenge_image {
	width: 150px;
	height: 150px;
	box-shadow: 0px 6px 25px -16px rgb(0 0 0 / 75%);
	margin-bottom: 1rem;
	overflow: hidden;
	vertical-align: middle;
	text-align: center;
}


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

.block-challenge-item a:hover, .block-challenge-item a:active {
	border-bottom: 2px solid var(--coronation-light);
}

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

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

.cc-blue {
	background: #2600AA;
}

.cc-grey {
	background: #b5b7b6;
}

.cc-purple {
	background: #572473;
}

#countdown {
	display: inline-block;
	margin: 1rem auto;
	color: white;
	position: relative;
	top: -25px;
	margin-bottom: -25px;
	width: 17rem;
	height: 5rem;
	animation: growFromMiddle 1s;
}

@keyframes growFromMiddle {
  from {
	transform: scale(0);
  }
  to {
	transform: scale(1);
  }
}

#countdown > div {
	display: inline-block;
	float: left;
	padding-top: 0.75rem;
	font-size: 1.6rem;
	font-weight: bold;
	margin: 0.5rem;
	background: #572473;
	border-radius: 50%;
	width: 4.5rem;
	height: 4.5rem;
	line-height: 1.1;
}

#countdown div span {
	width: 4.5rem;
	display: inline-block;
}

@keyframes flickOver {
  0% {
	transform: translateY(-20px) scale(0);
  }
  30% {
	  transform: translateY(-10px) scale(0.8);
	}
  50% {
	transform: translateY(0) scale(1);
  }
  70% {
	  transform: translateY(10px) scale(0.8);
	}
  100% {
	  transform: translateY(20px) scale(0);
  }
}

#countdown div:last-child span:not(.countdown-label) {
	animation: flickOver 1s ease-in-out;	
}

#countdown div span.countdown-label {
	display: block;
	font-size: 0.9rem !important;
	font-weight: normal;
	line-height: 1 !important;
}

/* new wrap header/footer */

.site-header {
	padding-bottom: 1rem;
}

.site-footer {
	padding-top: 1rem;
	color: white;
}

.site-branding a:link, .site-branding a:visited {
	color: white;
	text-shadow: 0px 0px 3px var(--coronation-dark);
}

nav:not(.fixed-top) #navbar-primary a {
	color: white;
	font-weight: 700;
 }

nav:not(.fixed-top) ul.navbar-nav a:hover, 
nav:not(.fixed-top) ul.navbar-nav a:active  {
	 color: var(--coronation-dark-tint-dark);
	 border-bottom: 2px solid white;
 }
 
nav:not(.fixed-top) ul.navbar-nav li.current_page_item a {
	 color: var(--coronation-dark-tint-dark);
	 border-bottom: 2px solid white;
 }

nav:not(.fixed-top) ul.navbar-nav > li:not(:first-child),
.site-footer ul.navbar-nav > li:not(:first-child) {
	background-image: url('img/li-divider-white.png');
} 

button.navbar-toggler {
	border: 2px solid white;
}

.site-footer .navbar-nav a {
	color: white !important;	
	font-weight: 700;
}

.site-footer .navbar-nav a:hover, 
.site-footer .navbar-nav a:active {
	color: var(--coronation-dark-tint-dark) !important;
	background-color: var(--highlight-yellow);
 	border-bottom: 2px solid white;
}

.site-footer ul.navbar-nav li.current_page_item a {
	border-bottom-color: white;
}

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