/*
Theme Name:   GeneratePress Child
Theme URI:    https://generatepress.com
Description:  Default GeneratePress child theme
Author:       Tom Usborne
Author URI:   https://tomusborne.com
Template:     generatepress
Version:      0.1
*/

/* Logo Header Mobile */
@media (max-width: 768px) {
	.site-header .header-image {
		width: 131px;
	}
}

@font-face {
	font-family: "STEPSans-Semibold";
	src:
		local("STEPSans-Semibold"),
/* 		url("STEPSans-Semibold.otf") format("opentype") tech(color-COLRv1), */
		url("/wp-content/fonts/STEPSans-Semibold.otf") format("opentype"),
		url("/wp-content/fonts/STEPSans-Semibold.ttf") format("trutype"),
		url("/wp-content/fonts/STEPSans-Semibold.woff") format("woff"),
		url("/wp-content/fonts/STEPSans-Semibold.woff2") format("woff2");
}

h1 {
	font-size: clamp(1.5rem, 1.065rem + 1.739vi, 2.5rem);
}
h2, .single-post h2 {
	font-size: clamp(1.5rem, 1.228rem + 1.087vi, 2.125rem);
}
h3 {
	font-size: clamp(1.25rem, 1.141rem + 0.435vi, 1.5rem);
}
p, ul.wp-block-list li {
	font-size: clamp(0.875rem, 0.821rem + 0.217vi, 1rem);
}
.feat-para { 
	font-size: clamp(1rem, 0.891rem + 0.435vi, 1.25rem);

}
.sml-para {
	font-size: clamp(0.875rem, 0.875rem + 0vi, 0.875rem);
}

/* Links */

p a {
	font-weight:600;
}
p a:hover, h2 a:hover  {
	text-decoration:none;
}

/* 
Tablet and Mobile Navigation Styles */
@media (max-width: 975px) {
	ul#menu-step-menu a {
		font-family: STEPSans-Semibold;
		text-transform: uppercase;
		font-size: 24px;
		letter-spacing: 1px;
		margin-bottom:22px;
	}
	/* 	ul#menu-step-menu{
	display: flex;
	gap: 22px;
}
	*/
	.main-navigation.toggled .main-nav li {
		text-align: center;
	}
	ul#menu-step-menu {
		padding: 5rem 0rem;
	}
}

.gp-icon svg {
	height: 1.5em;
	width: 1.5em;
	fill: white!important;
}




/* .image-mask {
@media (max-width: 1024px) {
-webkit-mask-image: url(/wp-content/uploads/2024/07/Vector9.svg);
mask-image: url(/wp-content/uploads/2024/07/Vector9.svg);
mask-position: bottom;

}
}
*/
@media (min-width: 1025px) {

	.image-mask {
		-webkit-mask-image: url(/wp-content/uploads/2024/06/curve_mask.svg);
		mask-image: url(/wp-content/uploads/2024/06/curve_mask.svg);
		mask-repeat: no-repeat;
		mask-size: 140%, cover;

	}

	.image-mask {

		mask-size: 225%, cover;
	}

	.image-mask_left {
		mask-position: left;
	}
	.image-mask_right {
		mask-position: right;
	}
}


.emblem-background {

	background-position: 80% 3%!important;

	background-size: 450px!important;
}

@media only screen and (max-width: 1500px) {
    .hero-logo-bg::before {
        width: 400px;
        right: 0 !important;
        background-size: cover;
        height: 100%;
        background-position: center !important;
        left: auto !important;
    }
}

/* Gravity Form STyles */

div#gform_confirmation_message_1 {
	color: var(--fusion-03);
}

.gform-theme--framework .gfield_validation_message, .gform-theme--framework .gform-field-label>.gfield_required {
	color: var(--space-03)!important;
}
.gform-body.gform_body input, .gform-body.gform_body textarea {
	background: white !important;
}

form#gform_1 {
	display: flex;
	column-gap: 12px;
}

div#gform_wrapper_1 {
	width: 60%;
}
.gform_footer.top_label {
	width: 25%;
}

.gform-body.gform_body {
	width: 75%;
}

.gform_footer.top_label {
	width: 25%;
}

input#gform_submit_button_1 {
	width: 100%;
}

input#gform_submit_button_1 {

	background-color: var(--fusion-03);
	border-bottom-left-radius: 4rem;
	border-bottom-right-radius: 4rem;

	border-top-left-radius: 4rem;
	border-top-right-radius: 4rem;
	color: var(--base-3);
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 2px;
	padding: 1rem 2rem;
	text-align: center;
	text-transform: uppercase;
}


@media (max-width: 768px) {
	div#gform_wrapper_1 {

		width: 80%;
	}
	form#gform_1{
		flex-direction:column;
	}
	.gform-body.gform_body {
		width: 100%;
	}
	.gform_footer.top_label{
		width: 100%;
	}
	input#gform_submit_button_1 {
		font-size: 0.875rem;
		text-align: center;

	}
}

.step-50_50_image figure {
	height:100%;
}


/* sticky nav */

nav#sticky-navigation {
	background: var(--fusion-03);
}

/* Navigation Spacing */

.main-navigation .main-nav ul li a, .menu-toggle, .main-navigation .menu-bar-item > a {
	padding-left: 10px;
	padding-right: 10px;
}

/* Accordians */

.faq .gb-accordion__toggle {
	border-radius: 12px;
}
.faq .gb-accordion__content .gb-container {
	border-radius: 12px;
}

.faq .gb-accordion__toggle.gb-block-is-current {
	border-radius: 12px 12px 0px 0px; 
}

.faq .gb-accordion__item-open .gb-accordion__content .gb-container{
	border-radius: 0px 0px 12px 12px; 
}

.faq .post-term-item {
	background: white;
	padding: 0.75rem;
	margin-right:0.75rem;
	border-radius:32px
}

/* Search Styles */

/*Search Styles*/
button.gb-button.close-button:hover {
	background-color: #9c2c87;
}
i.fa-sharp.fa-regular.fa-xmark {
	color: #f5a800;
}
.gp-search-modal .gp-modal__overlay {
	padding-top: 15vh;
	background: var(--plasma-01);
}
@media (max-width: 1024px) {
	.gp-search-modal .gp-modal__overlay {
		background: var(--plasma-01);
	}
	.gp-modal__container {
		width: 100%;
	}
}
.wp-block-search__inside-wrapper {
	padding: 0;
	border: solid 1px;
}
.wp-block-search__button {
	margin-left: 0px;
}
.close-button {
	cursor: pointer;
	position: absolute;
	right: 50px;
}
@media only screen and (max-width: 1024px) {
	.close-button {
		right: 30px;
	}
}

.page-numbers.gb-block-is-current {
	font-weight: 700;
}

dialog.gp-modal__overlay {
	width: 100%;
	height: 100%;
}

/* No results found */
.no-results.not-found .gb-container.gbp-section__inner {
	max-width: 1320px;
}
button.search-submit {
	background: var(--fusion-03);
}
/* 
Form */

span.gfield_required.gfield_required_text {
    text-transform: uppercase;
}

textarea, input {
	border: none!important;
}

textarea::placeholder {
	color: red;
}

label.gform-field-label.gform-field-label--type-sub, label.gfield_label.gform-field-label {
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--space-03);
}

/* Menu */
@media only screen and (max-width: 975px) {
	#menu-step-menu .current_page_item a:before {
		content: url(/wp-content/uploads/2024/08/step_emblem.svg);
		width: 10px;
		display: inline-block;
		margin-right:8px;
	}
}
@media only screen and (min-width: 976px) {
	#menu-step-menu .current_page_item a:after {
		content: url(/wp-content/uploads/2024/08/step_emblem.svg);
		width: 10px;
		display: block;
		margin: -30PX auto;
	}
}

@media only screen and (min-width: 976px) and (max-width: 1080px) {
	.inside-header.grid-container {
padding: 24px 120px;
	}
		.menu-bar-items {
    width: 100%;
    justify-content: center;
}
}

@media only screen and (min-width: 976px) and (max-width: 1290px) {
	.inside-header.grid-container {
		display: flex;
		flex-direction: column;
		
	}

	
	ul#menu-step-menu {
    justify-content: center;
}
	.main-navigation a{
		font-size:1.188rem
	}
	.nav-float-right #site-navigation{
		margin-left:0;
	}
}

.gb-container.gb-container-3aa152cc {
	position: absolute;
	background-image: linear-gradient(90deg, rgb(215 219 255) 0%, rgba(9, 9, 121, 0) 50%, rgb(215 219 255) 100%);
}


@media only screen and (max-width: 1024px) {
	.step_50_50_image_right, .step_50_50_image_left{
		position: relative;
	}
}
@media only screen and (min-width: 1025px) {
	.step_50_50_container figure,
	.step_50_50_container div.gb-block-image  {
		position: relative;
		height:100%;
		margin:0;
	}
}
.step_50_50_container img {
	position: absolute;
}


/* 	
Search Button Modal	 */
button.wp-block-search__button {
	background-color: var(--fusion-03);
}

/* 	Sticky Navigation */

nav#sticky-navigation {
	height: 80px;
}
/* Initially hide all images */
/* .accordian-image .image-panel .gb-image {
	display: none; 
} */

/* .accordian-image .image-panel .gb-image, .accordian-image-2 .image-panel .gb-image {
	opacity: 0;
	transition: opacity 1s ease-in-out;
}

.accordian-image .image-panel .gb-image.active, .accordian-image-2 .image-panel .gb-image.active {
	opacity: 1;
}

 .accordian-image .gb-accordion__content img,
 .accordian-image-2 .gb-accordion__content img{
     display:none;
 } */


@media only screen and (min-width: 801px) {
    .accordian-image img {
        position: absolute;
        width: 45%;
        top: 0;
        right: 0;
    }
    
    .accordian-image-2 .gb-block-image {
        position: absolute;
        width: 45%;
        top: 0;
        left:0
    }
}
@media only screen and (min-width: 1000px) {
    .accordian-image-2 {
        min-height: 450px;
    } 
}
@media only screen and (min-width: 1200px) {
    .accordian-image,  .accordian-image-2  {
        min-height: 540px;
    } 
}

@media only screen and (max-width: 800px) {
/*     .image-panel {
        display: none;
    } */
    .accordian-image > div,
	.accordian-image-2 > div{
        width: 100%;
    }
    .accordian-image .gb-accordion__content img,
	.accordian-image-2 .gb-accordion__content img{
        margin-top:20px;
        display:block;
    }
}

.accordian-image .gb-accordion__item-open, .accordian-image-2 .gb-accordion__item-open {
	border-bottom: solid 3px var(--fusion-03);
}

/* 	Tags */
.gbp-section__tagline {
	display: flex;
	flex-wrap: wrap;
	row-gap: 0.5rem;
}
.gbp-section__tagline a:hover {
	color: white;
	text-decoration:none
}


.gbp-section__tagline .post-term-item {
	background: var(--space-03);
	padding: 0.75rem 1.25rem;
	margin-right: 0.5rem;
	color: white;
	border-radius: 30px;
}


/* Focus styles */
a:focus,
button:focus,
textarea:focus,
input:focus,
input[type="search"]:focus {
	outline: 2px dashed !important;
	outline-offset: 3px !important;
}

a:focus {
	outline-color: white !important;
}
a img:focus {
	outline-color: blue !important;
}




.site-main a:focus, dialog.gp-modal__overlay a:focus{
	outline-color: var(--space-03)!important;
}

.post-term-item a:focus{
	outline-color: white!important;
	color:white;
}

a.gbp-button--primary:focus {
	outline-color: var(--fusion-03)!important;
	color: white;
}
input#gform_submit_button_2:focus, button.search-submit, input#gform_submit_button_3:focus, button.gb-button.close-button:focus, button.wp-block-search__button:focus, .gradient__plasma a.gbp-button--primary:focus, .step_50_50_container.bg-plasma a.gbp-button--primary:focus {
	outline-color: var(--space-03)!important;
}

a.gbp-button--outline:focus {
	outline-color: var(--space-03)!important;
}

.st0 {
	fill: #ffffff!important;
}
/* 
Navigation Hover Styles */

.menu-item:not(.current-menu-item) a:hover {
	border-bottom: 2px white solid;
	margin-bottom: -2px;
}


/* centre align paragraphs on mobile */

@media (max-width: 768px) {

	.step_50_50_container p {
		text-align: center;
	}
}

/* Civic Cookie */
#ccc button#ccc-icon:hover #star path{
	fill: #E46BFF !important;
}
#ccc button#ccc-icon:focus #star path {
	fill: #E46BFF !important;
	outline: 2px dashed !important;
	outline-offset: 3px !important;
	outline-color: #ffffff !important;
}
#ccc button#ccc-icon:focus {g#triangle {}
	outline:0 !important;
}
#ccc #ccc-optional-categories .checkbox-toggle {
	border-color: white !important;

}
#ccc #ccc-optional-categories .checkbox-toggle:focus-within {
	outline: 2px dashed !important;
	outline-offset: 3px !important;
}
#ccc h3.optional-cookie-header {
	display: none;
}

/* Gravity Forms Styles */

input#gform_submit_button_2, input#gform_submit_button_3 {
	background-color: var(--fusion-03);
	border-bottom-left-radius: 4rem;
	border-bottom-right-radius: 4rem;
	border-color: currentColor;
	border-top-left-radius: 4rem;
	border-top-right-radius: 4rem;
	color: var(--base-3);
	font-size: 1.188rem;
	font-weight: 700;
	letter-spacing: 2px;
	padding: 1rem 2rem;
	text-align: center;
	text-transform: uppercase;
}

input#gform_submit_button_2:hover, input#gform_submit_button_3:hover {
	background-color: #9c2c87;
	color: #ffffff;
}
.gform_validation_errors {
	background: white!important;
}

/* Posts */

figcaption {
	background: #ffffff;
	padding: 1rem;

	font-size: 0.75rem;
}
.post figure {
	margin-bottom: 1.5rem;
}

/* Footer */

.site-footer hr {
	margin-top: 16px;
	margin-bottom: 16px;

}

/* News pagination */
@media (max-width: 767px) {
	.gb-query-loop-pagination {
		flex-wrap: wrap;
		gap:8px !important
	}
	.gb-query-loop-pagination .page-numbers {
		align-items: center;
		width:60px;
	}
}


/* Search Pagination */
/* pagination search results page */
ul.search-pagination {
    display: flex;
    justify-content: center;
    margin-top: 20px;
	list-style: none;
	  font-family: STEPSans-Semibold;
    text-transform: uppercase;
    padding: 15px 20px;
    color: var(--space-03);
}
nav#search_pagination ul {
    display: flex;
    justify-content: center;
}
a.page-numbers,
span.page-numbers.current {
    display: inline-flex;
    color: var(--space-03);
    padding: 12px 20px;
    text-decoration: none;
	font-size:19px;
	background: white;
	
}

span.page-numbers.current{
	background: var(--fusion-03);
	font-weight: 700;
	color:white;
}

a.page-numbers:hover{
	background: var(--fusion-03);
	color:white;
}
a.next {
	border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
}
a.next.page-numbers:hover, a.prev.page-numbers:hover{
	background:var(--space-02);
}

a.prev {
	border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
}

    
a.next.page-numbers,
a.prev.page-numbers {
    display: inline-flex;
    padding: 12px 20px;
	background-color: var(--space-03);
	color:white;
}

/* Accessibility / Screen Reader*/
span.hidden {
    border: 0;
    clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
    clip; rect(1px, 1px, 1px, 1px);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

@media (max-width: 1024px) {
.step_50_50_content_inner p {
    text-align: center;
}
}

/* Search Background */

input#wp-block-search__input-1 {
    background: #ffffff;
}

/* Featured Image Margin */

.post .featured-image-container figure {
    margin-bottom: 0;
}

/* Remove Post Date Events Category */

.category-events .post_date {
    display:none;
}
.post-20363.category-events .post_date {
    display:block;
}
/* 
Back to top */

a.generate-back-to-top svg {

    fill: var(--space-02)!important;
}
/* 

Footer Social Links List */

ul.gb-container.social-links {
        display: flex;
    flex-wrap: wrap;
    margin-left: -20px;
    list-style:none;
	margin-bottom:0;
}


ul.gb-container.social-links a {
    display: inline-flex
;
    align-items: center;
    column-gap: 0.5em;
    padding: 0;
    color: #ffffff;
    text-decoration: none;
    padding-left: 20px;
}


.social-links a .gb-icon svg {
    width: 2em;
    height: 2em;
    fill: currentColor;
}

ul.gb-container.social-links .gb-button:hover {
    transform: scale(1.3) perspective(1000px);

}
ul.gb-container.social-links .gb-button {
	transition: all 0.5s ease;
}

/* Gravity Form Styles */

.gform-body input, .gform-body textarea {
    border: solid var(--space-03) 1px!important;
 
}

/* Search Overlay */

dialog.gp-modal__overlay {
    overflow: scroll;
}

/* FAQs */

.gb-container.gb-accordion__item svg.gb-accordion__icon,
.gb-container.gb-accordion__item.gb-accordion__item-open svg.gb-accordion__icon-open {
  display:block;
}

.gb-container.gb-accordion__item.gb-accordion__item-open svg.gb-accordion__icon,
.gb-container.gb-accordion__item svg.gb-accordion__icon-open {
    display:none;
}

.gb-accordion__item>h4, .gb-accordion__item>h3 {
  margin:0;
}

.card a {
    text-decoration: none;
}

.card h3 a::after, .card h2 a::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
}

    .gb-container.gb-container-b2630a09.card:focus-within {
    outline: 2px dashed !important;
    outline-offset: 3px !important;
}

 	.card a:focus {
	outline: 3px solid transparent;
	outline-offset: 2px;
}
            

.card:focus-within h3 a:focus, .card:focus-within h2 a:focus {
    text-decoration: none!important;
}
.card h3 a:focus, .card h2 a:focus {
    outline: 3px solid rgba(255, 255, 255, 0.001) !important;
    text-decoration: underline;
}
span.post-term-item a {
    position: relative;
}


ul.list-cat {
    list-style: none;
    margin: 0;
    text-transform: none;
    font-weight: 600;
}

.single-post .dynamic-entry-content {
    width: 100%;
}

/* Gravity extras */

span.gfield_required.gfield_required_text {
    COLOR: var(--space-03);
    FONT-WEIGHT: 700;
    LETTER-SPACING: 1PX;
}
.gfield_validation_message {
	COLOR: var(--space-03);
}
/* 
Search Extras */

form.search-form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 32px;
    background: white;
    padding: 0;
	border: solid 1px;
}	
form.search-form label {
    width: 100%;
}
input#search-form {
    width: 100%;
}

/* Back to top */

a.generate-back-to-top {
 display:none;
}
a.generate-back-to-top.generate-back-to-top__show {
    display:block;
}
    