/*
 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
*/

	
/*animation*/
.rise-up {
    position: relative;
    transition: transform 0.5s ease-out !important;
    will-change: transform;
}

.rise-up:hover {
    transform: translateY(-20px) !important;
}

.elementor-flip-box__front .elementor-flip-box__layer__inner::after{
    content:url('/wp-content/uploads/2026/04/linkedin.png');
    position:relative; 
    top:20px;
}

/*Fluid Type*/
h1 {font-size: clamp(2.125rem, 1.188rem + 3vw, 3.438rem); line-height:1.1em; font-weight:300;}/*55px - 34px*/
h2 {font-size: clamp(1.875rem, 1.458rem + 1.333vw, 2.625rem); line-height:1em!important; font-weight:300;}/*42px - 30px*/
h3 {font-size: clamp(1.625rem, 1.417rem + 0.667vw, 2rem); line-height:1.1em!important; font-weight:300;}/*32px - 26px*/
h4 {font-size: clamp(1.375rem, 1.236rem + 0.444vw, 1.625rem); line-height:1.1em!important; font-weight:300;}/*26px - 22px*/
h5 {font-size:clamp(1.1875rem, 1.16803rem + 0.082vw, 1.25rem); line-height:1.1em!important; font-weight:300;}/*20px - 19px*/
p {font-size: 18px;}/*16px - 16px*/
body {font-size: 18px;}/*16px - 16px*/

.elementor-widget-heading p {line-height:1.2em !important;}

/*Fluid Type Extras*/
.h1-home h1 {font-size: clamp(2.5rem, 1.518rem + 3.143vw, 3.875rem); line-height:1em!important; font-weight:300;}/*62px - 40px*/
.h2-xxl h2 {font-size: clamp(2.125rem, 1.188rem + 3vw, 3.438rem); line-height:1.1em;}/*55px - 34px*/
.h2-m h2 {font-size: clamp(1.375rem, 1.236rem + 0.444vw, 1.625rem); line-height:1.1em!important; font-weight:300;}/*26px - 22px*/

.para-xxl p {font-size: clamp(2.125rem, 1.5rem + 2vw, 3rem); line-height:1.1em; font-weight:300;}/*48px - 34px*/
.para-xl p {font-size: clamp(1.875rem, 1.458rem + 1.333vw, 2.625rem); line-height:1.1em!important; font-weight:300;}/*42px - 30px*/
.para-lg p {font-size: clamp(1.625rem, 1.417rem + 0.667vw, 2rem); line-height:1.1em!important; font-weight:300;}/*32px - 26px*/
.para-m p {font-size: clamp(1.375rem, 1.236rem + 0.444vw, 1.625rem); line-height:1.2em;}/*26px - 22px*/
.p-sm p {font-size: 14px;}
.p-event-header p{font-size: clamp(2.125rem, 1.79891rem + 1.373vw, 3rem); line-height:1em!important;}/*48px - 34px*/

.post-template h1 {font-size: clamp(1.75rem, 1.5638rem + 0.784vw, 2.25rem); line-height:1em!important;}/*36px - 28px*/
.post-template h2 {font-size: clamp(1.375rem, 1.32845rem + 0.196vw, 1.5rem); line-height:1.1em!important;}/*24px - 22px*/
.post-template h3 {font-size: clamp(1.25rem, 1.20345rem + 0.196vw, 1.375rem); line-height:1.1em!important;}/*22px - 20px*/


/*Fluid Padding*/
.wrapper-hero{padding-top: clamp(3.75rem, 2.81853rem + 3.922vw, 6.25rem);}/*100px - 60px*/
.wrapper-hero-internal{
  padding-top: clamp(5.625rem, 3.99504rem + 6.863vw, 10rem);/*160px - 90px*/
  padding-right: clamp(1.25rem, 1.48275rem + -0.98vw, 0.625rem)!important;
  padding-bottom: clamp(3.125rem, 2.54099rem + 2.459vw, 5rem)!important;/*80px-50px*/
  padding-left: clamp(1.25rem, 1.48275rem + -0.98vw, 0.625rem)!important;
}

.wrapper-pagetitle{
  padding-top: clamp(5.625rem, 3.99504rem + 6.863vw, 10rem);/*160px - 90px*/
  padding-right: clamp(1.25rem, 1.48275rem + -0.98vw, 0.625rem)!important;
  padding-bottom: 30px;
  padding-left: clamp(1.25rem, 1.48275rem + -0.98vw, 0.625rem)!important;
}

.wrapper-main{
    padding-top: clamp(3.75rem, 1.071rem + 8.571vw, 7.5rem)!important;/*80px-40px*/
    padding-right: clamp(1.25rem, 1.48275rem + -0.98vw, 0.625rem)!important;
    padding-bottom: clamp(3.75rem, 1.071rem + 8.571vw, 7.5rem)!important;/*80px-50px*/
    padding-left: clamp(1.25rem, 1.48275rem + -0.98vw, 0.625rem)!important;
}  


.wrapper-no-top{
    padding-top: 0 !important;
    padding-right: clamp(1.25rem, 1.48275rem + -0.98vw, 0.625rem)!important;
    padding-bottom: clamp(3.75rem, 1.071rem + 8.571vw, 7.5rem)!important;/*80px-50px*/
    padding-left: clamp(1.25rem, 1.48275rem + -0.98vw, 0.625rem)!important;
}

.wrapper-no-bottom{
    padding-top: clamp(3.75rem, 1.071rem + 8.571vw, 7.5rem)!important;/*80px-40px*/
    padding-right: clamp(1.25rem, 1.48275rem + -0.98vw, 0.625rem)!important;
    padding-bottom: 0 !important;
    padding-left: clamp(1.25rem, 1.48275rem + -0.98vw, 0.625rem)!important;
}

.wrapper-no-topbottom{
    padding-top: 0 !important;
    padding-right: clamp(1.25rem, 1.48275rem + -0.98vw, 0.625rem)!important;
    padding-bottom: 0 !important;
    padding-left: clamp(1.25rem, 1.48275rem + -0.98vw, 0.625rem)!important;
}/*when you want the image to be flush with the top and bottom of the section*/

.wrapper-no-leftright{
    padding-top: clamp(3.75rem, 1.071rem + 8.571vw, 7.5rem)!important;/*80px-40px*/
    padding-right: 0 !important;
    padding-bottom: clamp(3.75rem, 1.071rem + 8.571vw, 7.5rem)!important;/*80px-50px*/
    padding-left: 0 !important;
} 

.wrapper-no-lrb{
    padding-top: clamp(3.75rem, 1.071rem + 8.571vw, 7.5rem)!important;/*80px-40px*/
    padding-right: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
} 


.wrapper-no-lrt{
    padding-top:  0 !important;
    padding-right: 0 !important;
    padding-bottom: clamp(3.75rem, 1.071rem + 8.571vw, 7.5rem)!important;/*80px-40px*/
    padding-left: 0 !important;
} 


.wrapper-text-left{
  padding-right: clamp(0rem, -1.16423rem + 4.902vw, 3.125rem)!important;/*50px-0px*/
}
.wrapper-text-right{
  padding-left: clamp(0rem, -1.16423rem + 4.902vw, 3.125rem)!important;/*50px-0px*/
}


@media only screen and (max-width: 544px){
.text-wrap-left{padding-right: clamp(1.25rem, 1.48275rem + -0.98vw, 0.625rem)!important;}
.text-wrap-right{padding-left: clamp(1.25rem, 1.48275rem + -0.98vw, 0.625rem)!important;}
}/*END 544px*/



.grecaptcha-badge {visibility: hidden;}

html{overflow-x: hidden;}
body { overflow-x: hidden; /* Hide scrollbars */}
.alink a{text-decoration: underline !important; color:black;}
.alink a:hover{color:#0240FF;}
.blog-alink a{color:black; text-decoration: underline !important; font-weight:500;}
.white-links a{color:white !important; text-decoration: underline !important; font-weight:500;}

.bullets ol,
.bullets ul {
  margin: 0 0 1.5em 1em !important; /*Removes indent from bulleted lists*/
}

.bullets li {
  margin-bottom: 6px;
}
/*To have coloured bullets use the following 2 code blocks*/

/*coloured bullets using the before tag*/
.bullets-coloured ul li::marker {
  color: #FF6900;
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}

/*coloured bullets using the before tag*/
.bullets-coloured-arrow ul li::marker {
  content: "> > ";
  color: #ffffff;
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}

.bullets-coloured-blue ul li::marker {
  color: #0f2c4a;
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}


.elementor-element.transparentheader {
  z-index: 999;
  transition: all ease-in-out 0.4s;
}
.elementor-element.transparentheader {
  position: absolute;
  top: 0px !important;
  background: transparent !important;
  border-bottom: 0px solid rgba(255, 255, 255, 0.1);
  transition: all 0.4s;
  left: 0;
  width: 100% !important;
  padding:30px 20px;
}
/* sticky header styles*/
.transparentheader.elementor-sticky--effects {
  position: fixed; /* Change from absolute to fixed */
  top: 0 !important; /* Position at the top of the viewport */
  background-color: #1F1438 !important;
  width: 100%; /* Ensure the header spans the full width */
  padding:10px 20px;
}

/* .transparentheader.elementor-sticky--effects{
transition: background-color 1s ease !important;
}
.transparentheader.elementor-sticky--effects > .elementor-element{
min-height: 500px !important;
} */

.transparentheader > .elementor-element {
  max-width: 1200px; /* Limit the width of the header content */
  margin: 0 auto; /* Center the header content horizontally */
}
.transparentheader.elementor-sticky--effects .elementor-widget-image a img {
width: 150px !important;
  transition: 0.7s ease !important;
}


.centre-absolute {
  left: 0; 
  right: 0; 
  margin-left: auto; 
  margin-right: auto; 
  width: 450px; /* Need a specific value to work */
}

.centre-absolute-element-wrap{position: relative;}
.centre-absolute-element {
    position: absolute;
    left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: 0 auto;
}


 /*MAP STYLES*/
.leaflet-bottom {
  bottom: 0;
  display: none;
}
.leaflet-tile-pane {
  filter: grayscale(1);
}

:target {
  scroll-margin-top: 120px;
}


/* Gravity Forms */
.gform_wrapper.gravity-theme input[type=color], .gform_wrapper.gravity-theme input[type=date], .gform_wrapper.gravity-theme input[type=datetime-local], .gform_wrapper.gravity-theme input[type=datetime], .gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=month], .gform_wrapper.gravity-theme input[type=number], .gform_wrapper.gravity-theme input[type=password], .gform_wrapper.gravity-theme input[type=search], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme input[type=time], .gform_wrapper.gravity-theme input[type=url], .gform_wrapper.gravity-theme input[type=week], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme textarea{
  border-radius:8px;
  padding:14px 10px !important;
  background-color:white !important;
}
.gform_wrapper.gravity-theme input[type="submit"]{
  font-family: Montserrat, sans-serif !important;
  color:white;

}
.gform_wrapper.gravity-theme input[type="submit"]:hover{
  background-color:black;
  color:white;
}

.gform_confirmation_wrapper{
  background-color: white;
  padding:20px;
  border: 1px solid black;
}

.gform_required_legend{display:none !important;}

.field_submit input [type="submit"] #gform_submit_button_21 {font-size:12px !important;}

.gravity-theme input[type="submit"]{
  font-family: Montserrat, sans-serif !important;
  color:white;
}

.newsletter-form .gform_wrapper.gravity-theme input[type=email]{
	padding:8px 10px !important;
}


/*Search & Filter - START*/

#search-filter-form-93 * {
	box-sizing: border-box;
}

.searchandfilter ul {
	display: flex;
	gap: 1%;
  margin:0px; 
}

.searchandfilter ul li{
	align-self: center;
}

.searchandfilter li {
	flex: 1;
}

.searchandfilter input {
	width: 100%;
}

.searchandfilter select {
	width: 100%;
}

.searchandfilter label {
	width: 100%;
}
a.search-filter-reset {
  background-color: #DFF34F;
    padding: 10px 20px;
    color: #1F1438;
    font-size: 14px;
    font-weight: 700;
    border-radius: 5px;
    border: 1px solid #DFF34F;
}
a.search-filter-reset:hover {
  background-color: #1F1438;
    padding: 10px 20px;
    color: #DFF34F;
    font-size: 14px;
    font-weight: 700;
    border-radius: 5px;
    border: 1px solid #1F1438;
}

.searchandfilter input[type="text"], select {
	border-radius: 5px;
	color: #231f20;
	font-family: "Lato", sans-serif;
	font-size: 14px;  
	background-color:white;
}

.searchandfilter input::-webkit-input-placeholder {
    color:#231f20;
	opacity: 1;
}

.searchandfilter input::-moz-placeholder {
    color:#231f20;
	opacity: 1;
}

.searchandfilter input::-ms-placeholder {
    color:#231f20;
	opacity: 1;
}

.searchandfilter input::placeholder {
    color:#231f20;
	opacity: 1;
}

/* .searchandfilter select {
    background: #ffffff;
} */
.searchandfilter select.sf-input-select {
    min-width: 150px;
}

.searchandfilter li.sf-field-search input[type="search"]{
	border-radius: 5px;
	color: white;
	font-family: "Lato", sans-serif;
	font-size: 14px;  
	background-color:#231f20;

}

/* Hide the actual checkbox/radio */
.searchandfilter input[type="checkbox"],
.searchandfilter input[type="radio"] {
    display: none;
} 

/* Style the label as a pill */
.blog-filter-pills .searchandfilter li {
    display: flex;
	width: 100%;
    margin: 5px;
	flex-direction:row;
	justify-content: center;
}

.blog-filter-pills .searchandfilter li label {
    padding: 8px 16px;
	width: max-content;
    background-color: #DACAFF;
    border: 1px solid #DACAFF;
    border-radius: 20px;
    cursor: pointer;
}

.blog-filter-pills .searchandfilter li label:hover {
/*     padding: 8px 16px; */
    background-color: #1F1438;
    border: 1px solid #1F1438;
	color:#FFF !important;
    border-radius: 20px;
    cursor: pointer;
}

/* Style the checked/active state */
.blog-filter-pills .searchandfilter li.sf-option-active label {
    background-color: #1F1438;
    color: #DFF34F;
    border-color: #1F1438;
}

@media (min-width: 768px) and (max-width: 1024px){
		.searchandfilter select {
    		background:#ffffff;
}

        }/*END 1024px*/
        
        
@media only screen and (max-width: 767px){
              .searchandfilter ul {
                 display: inline-flex;
        flex-wrap: wrap;
        }
                }/*END 544px*/  
                      

@media only screen and (max-width: 544px){
		.searchandfilter ul {
		display: inline-flex;
        flex-wrap: wrap;
	}
}
	



.thumbnail-pst .elementor-post__thumbnail {
    border-radius: 14px;
}

.elementor-posts .elementor-post__card {
    border-radius: 14px !important;
}

.twae-title{
    font-size: 18px;
    font-weight: 500;
    flex-direction: column;
    flex: auto;
}
.twae-horizontal-timeline.twae-wrapper .twae-content {
    height: 100%;
    flex-direction: row;
    align-items: center;
}
.twae-wrapper .twae-label-big {
    line-height: 1em;
    font-size: 20px !important;
}



.tribe-events button.tribe-events-c-top-bar__datepicker-button:hover{background-color:transparent !important;}
#tribe-events-pg-template {
  width: 100% !important;
  padding: 0 !important;
  max-width: 100% !important;
}
.tribe_events-template-default .grid-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 100% !important;
}
.tec-events-elementor-event-widget__venue .tec-events-elementor-event-widget__venue-details>*{padding:0 !important; margin:0 !important;}
.tec-events-elementor-event-widget__venue .tec-events-elementor-event-widget__venue-details{padding:0 !important; margin:0 !important;}
.tec-events-elementor-event-widget__venue .tec-events-elementor-event-widget__venue-container{margin:0 !important; padding:0 !important; border:0px !important;}

/*css for heading, read more link text, meta field*/
.event_meta_address{display:block !important;}
.eventful .eventful__item--title a, .eventful .eventful_pro__item--title a {color:#5223BC !important;}
.eventful .eventful__item--title a:hover, .eventful .eventful_pro__item--title a:hover {color:#1d1d1d !important;}
.eventful .eventful__item__link, .eventful .eventful_pro__item__link {
  display: block;
  margin-top: 20px;
}
/*setting height and object cover on featured image*/
.eventful .eventful__item--thumbnail img, .eventful .eventful_pro__item--thumbnail img {
  max-width: 100%;
  transition: ease all .3s;
  height: 200px !important;
  object-fit: cover !important;
  object-position: center !important;
}
/*width of select dropdowns*/
.eventful_pro_filter_wrapper .eventful_pro_select_area {
  max-width: 250px !important;
}

/*Gravity confirmation wrapper*/
.gform_confirmation_wrapper {
  background-color: #DACAFF !important;
  text-align: center;
  padding: 18px !important;
  border: 0px solid white !important;
  border-radius: 15px;
  color: black;
  font-size: 16px;
	margin-top:25px;
}

/* =====================================================
   Paysecure Contact Us - Gravity Form Styles
   Scoped to #gform_wrapper_1 — verify form ID in browser
   ===================================================== */



/* Labels */
.enquiry-form .gfield_label,
.enquiry-form .gfield_required,
.enquiry-form .ginput_complex label {
    color: #5223bc;
    font-weight: 500;
}

.enquiry-form .gfield_description:not(.validation_message) {
    color: #5223bc;
	padding-bottom: 0px!important;
}

.enquiry-form .gfield_description:not(.validation_message) {
	padding-bottom: 5px!important;
}

/* Sub-labels (First name / Last name) */
.enquiry-form .ginput_complex span label {
    color: #5223bc;
}



/* Text inputs, email, tel, select */
.enquiry-form input[type="text"],
.enquiry-form input[type="email"],
.enquiry-form input[type="tel"],
.enquiry-form input[type="number"],
.enquiry-form input[type="url"],
.enquiry-form select,
.enquiry-form textarea {
    background-color: #DACAFF !important;
    border: 0px solid #5223bc;
    border-radius: 8px;
    color: #1f1438;
    padding: 14px 16px;
    width: 100%;
    font-size: 15px;
    transition: border-color 0.2s ease;
}

.enquiry-form input::placeholder,
.enquiry-form textarea::placeholder {
    color: rgba(255, 255, 255, 0.6);
}

.enquiry-form input[type="text"]:focus,
.enquiry-form input[type="email"]:focus,
.enquiry-form input[type="tel"]:focus,
.enquiry-form textarea:focus {
    outline: none;
border-color: #1f1438; /* accent on focus */
}

/* Radio buttons — side by side */
.enquiry-form .gfield--type-radio .gfield_radio {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px;
}

.enquiry-form .gfield--type-radio .gfield_radio .gchoice {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.enquiry-form .gfield--type-radio .gfield_radio .gchoice label {
    color: #5223bc;
    margin: 0;
    cursor: pointer;
	white-space: nowrap;
}

/* Custom radio button appearance */
.enquiry-form input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #DACAFF;
    border-radius: 50%;
    background-color: #DACAFF;
    cursor: pointer;
    flex-shrink: 0;
    position: relative;
    transition: border-color 0.2s ease;
}

.enquiry-form input[type="radio"]:checked {
    border-color: #DACAFF;
    background-color: #DACAFF;
}

.enquiry-form input[type="radio"]:checked::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    background-color: #5223bc;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Submit button */
.enquiry-form .gform_footer input[type="submit"],
.enquiry-form .gform_footer button[type="submit"] {
    background-color: #dff34f;
    color: #1f1438;
    border: none;
    border-radius: 8px;
    padding: 16px 32px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.08em;
    width: 240px;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

.enquiry-form .gform_footer input[type="submit"]:hover,
.enquiry-form .gform_footer button[type="submit"]:hover {
    background-color: #dacaff;
	color: #1f1438;
}

/* Validation error messages */
.enquiry-form .gfield_description.validation_message {
    color: #ffcccc;
}

.enquiry-form .gform_validation_errors {
    color: #1f1438;
    background-color: rgba(255, 0, 0, 0.2);
    border-color: rgba(255, 255, 255, 0.3);
    border-radius: 8px;
}

/*Blogs*/
.elementor-post__card:hover {
    background-color: #e5def5 !important;
}
.elementor-post__read-more {
    color: #1F1438;
    background-color: #DFF34F;
    padding: 10px 20px;
    border-radius: 8px;
}
.elementor-post__card:hover .elementor-post__read-more {
    color: #FFFFFF !important;
    background-color: #1F1438;
    padding: 10px 20px;
    border-radius: 8px;
}
.elementor-post__title a:hover {
    color: #5223BC !important;
    font-weight: bold;
} 
.elementor-post {
    position: relative;
}

.elementor-post__read-more::after {
    bottom: 0;
    content: '';
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}
	
.e-gallery-image {
    border-radius: 12px !important;
}
/* 
.eventful .eventful_pro__item:hover {
    background-color: #e5def5 !important;
} */



/*Tablepress*/
.tablepress>:where(thead,tfoot)>tr>* {
    background-color: #5223BC !important;
	color:white !important;
}
.tablepress td{
	font-size:12px;
}
.tablepress thead{
	font-size:12px;
}

.hide-menu{display:block;}
.hide-burger{display:none;}

/*---------------------------------MEDIA QUERIES-----------------------------------------*/

@media (min-width: 768px) and (max-width: 1145px){
    .hide-menu{display:none;}
	.hide-burger{display:block;}
  .contact-gf .gform_wrapper .top_label li.gfield.gf_right_half{width: 60%; margin-bottom: 20px;}
 .contact-gf .gform_wrapper .top_label li.gfield.gf_left_half{width: 40%;}
 }/*END 1024px*/
 
 
 @media only screen and (max-width: 767px){
 .elementor-section.home-hero-bg{background-image:none !important;}
 .hide-burger{display:block;}
 }/*END 768px*/
 
 
 @media only screen and (max-width: 544px){
	 .hide-burger{display:block;}
     /*FORM*/
     .ginput_container_name{margin-bottom: 0px !important;}
     .ginput_container_name .name_first{margin-bottom: 8px !important;}
     .contact-gf .gform_wrapper .top_label li.gfield.gf_right_half{width: 100%; margin-bottom: 20px;}
     .contact-gf .gform_wrapper .top_label li.gfield.gf_left_half{width: 100%;}
     /* .hero-heading{font-size:35px;} */
     .elementor-section.transparentheader { background:#272B2B !important; top:0; position: relative;} 
     .elementor-section.home-hero-bg{background-image:none !important;}
   .event-brite-btn { margin-bottom: 50px; margin-left:0 !important;}
   .hide-mobile{display:none;}
 }/*END 544px*/
 