/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jul 23 2025 | 11:01:32 */
html, body {
    overflow-x: hidden;
}

.page .entry-header {
	visibility:hidden;
	width: 0px !important;
  height: 0px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  white-space: nowrap !important;
  border: 0 !important;
	margin: 0 !important;
}

/* NAV MENU  */

.sub-menu {
	line-height:1.5 !important;
}

.menu-icon {
display: flex; 
  align-items: center;
  justify-content: center;
	  width: 40px !important;
  height: 40px !important;
}

.menu-icon img {
  width: 40px !important;
  height: 40px !important;
  object-fit: contain;
    margin: 0;
  padding: 0;
}

 #ast-fixed-header .main-header-bar {
    background-color: #F3F4F5 !important;
}

@media (max-width: 350px) {

	.ast-mobile-header-wrap .ast-primary-header-bar, .ast-primary-header-bar .site-primary-header-wrap  {
		min-height: 60px !important;
	}
	
	#ast-mobile-header, #ast-mobile-header > * {
		height: 60px !important;
	}} 

.location-menu-text {
  font-weight: 500 !important;
	transition: all .2s linear;
}

.location-menu-column {
	  display: flex;
flex-direction: column;
justify-content: space-between !important;
}

.location-menu-stack {
	  height: 100% !important;
  flex-grow: 1
}

.non-click-menu > a {
    cursor: default; 
}

.site-primary-header-wrap {
	max-width: 1300px !important;
}

.menu-link.white {
    color: white !important;
}

.location-menu-column p.hover >* {
	color: #FF9868;
}

@media (max-width: 1450px) {
  .location-menu-column {
    padding: 5x !important;
  }
}

@media (max-width: 1300px) {
  .location-menu-column {
    padding: 3px !important;
  }
}

/*  Increase height of open nav menu on mobile*/
#ast-mobile-header .content-align-flex-start {
/* 	max-height: calc( 100vh - 80px) !important; */
	min-height: 168px !important;
	height: 100% !important;
	  overflow-y: visible !important;
}

.ast-mobile-header-content {
    flex-grow: 1 !important;
    overflow-y: auto !important;
    min-height: 100% !important;
}

.ast-mobile-header-content > * {
    height: 100% !important;
}

#ast-mobile-header .content-align-flex-start {
	overflow: visible !important;
}

#ast-mobile-header > div.ast-main-header-wrap.main-header-bar-wrap > div > div > div.site-header-primary-section-right.site-header-section.ast-flex.ast-grid-right-section > div.ast-builder-layout-element.ast-flex.site-header-focus-item.ast-header-button-1 > div > a.ast-custom-button-link > div, #ast-desktop-header > div > div > div > div > div.site-header-primary-section-right.site-header-section.ast-flex.ast-grid-right-section > div.ast-builder-layout-element.ast-flex.site-header-focus-item.ast-header-button-1 > div > a.ast-custom-button-link > div, .phone-number, .phone-number > * {
white-space: nowrap !important;
}

/* FOOTER */


.footer-column-space-between {
	  display: flex;
  flex-direction: column;
  justify-content: space-between !important;
}

.footer-text {
    font-family: inherit;
    font-size: inherit;
    color: #005335;
    text-align: center; 
    margin: 0;
    padding: 0;
}

.footer-icon .fab {
  margin: 2px !important;
  padding: 0 !important;
  color: #005335 !important;
	font-size: 34px !important;
	width: 36px !important;
}

.footer-icon .fab:hover {
	color: rgb(243, 111, 50);
}
.footer-icon span {
	margin: 2px !important;
  padding: 0 !important;
}

@media (max-width: 1200px) {
.footer-icon .fab {
	font-size: 20px !important;
	width: 22px !important;
}
}

button {
	white-space:nowrap !important;
}



/*NAV  */

@media (max-width: 1199px) {
	.custom-logo, #ast-desktop-header > div > div > div > div > div.site-header-primary-section-left.site-header-section.ast-flex.site-header-section-left > div.ast-builder-layout-element.ast-flex.site-header-focus-item > div > span > a > img {
		width: 110px !important;
			max-width: 170px !important;
	}
	
	.phone-number {
		font-size: 13px !important;
		padding-right: 10px;
	}

		 div.site-header-primary-section-right.site-header-section.ast-flex.ast-grid-right-section > div.ast-builder-layout-element.ast-flex.site-header-focus-item.ast-header-button-1 > div > a.ast-custom-button-link > div {
		padding: 5px !important;
	}
	
		.ast-builder-menu-1 .menu-item > .menu-link {
		font-size: 12px !important;
	}
	
		.header-widget-area,.header-widget-area .menu-link, div.site-header-primary-section-right.site-header-section.ast-flex.ast-grid-right-section > div:nth-child(3), .header-widget-area .menu-link span {
		padding: 0 !important;
		margin: 0 !important;
	}
}

@media (max-width: 920px) {
	.custom-logo {
		width: 170px !important;
		max-width: 170px !important;
		height: auto !important;
	}
}

@media(max-width:550px) {
	.header-widget-area,.header-widget-area .menu-link, div.site-header-primary-section-right.site-header-section.ast-flex.ast-grid-right-section > div:nth-child(3), .header-widget-area .menu-link span {
		padding: 0 !important;
		margin: 0 !important;
	}
}

@media (max-width:450px) {
	
	.ast-mobile-header {
		width: 100vw !important;
	}
	.wp-block-kadence-tab {
		padding: 20px !important;
	}
	
		.custom-logo {
		width: 130px !important;
	}
}

@media (max-width:350px) {
	
	.ast-custom-button {
		font-size: 10px !important;
	}
}

@media (max-width: 350px) {
	.custom-logo {
		width: 110px !important;
		max-width: 110px !important;
	}
}


/* SALE BANNERS */

.big-sale-text {
	  max-width: 150px;
}

.sale-banner-container {
	display: none;
}

.course-sale-text.discount-code {
		font-size: 50px !important;
	}

@media (max-width: 1400px) {
	.sale-banner-container {
		max-height: 230px;
	}
}

@media (max-width: 595px) {
	.big-sale-text {
	  max-width: 350px;
		font-size: 40px !important;
}
	
		.sale-banner-container {
		max-height: 500px;
			gap: 0px !important;
	}
	
	.sale-asterisk-text {
		text-align: center;
	}
	
	.discount-text {
		font-size: 80px !important;
	}
	
	.course-sale-text {
		font-size: 35px !important;
	}
	
	.course-sale-subtitle {
		font-size: 25px !important;
	}
}

@media (max-width: 330px) {
	.discount-text {
		font-size: 60px !important;
	}
}

/* DROP DOWNS */

#courseSelect, .courseSelect, #locationSelect, .locationSelect {
	padding: 15px 15px;
	border-radius: 15px;
	width: 100%;
	margin: 0px;
	appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 6"%3E%3Cpath d="M0 0l5 6 5-6z" fill="grey" /%3E%3C/svg%3E') no-repeat;
    background-position: calc(100% - 10px) center;
    background-size: 15px;
}

.course-and-location-dropdowns {
	display: flex;
	flex-direction: row;
}
	.wp-block-group.course-and-location-dropdowns > * {
    flex-basis: 50%;
    max-width: 50%; 
    box-sizing: border-box; 
}
	
	.dropdown-row {
	 align-items:flex-end;
}


.get-started-button {
	  align-items: flex-end !important;
  margin-bottom: 0px !important;
}

.get-started-button > * {
	margin: 0 !important;
	  white-space:nowrap !important;
}
	
	@media ( max-width: 920px) {
  .dropdown-row {
    flex-basis: 100% !important;
    width: 100% !important;
  }
}

@media (max-width: 580px) {
  .get-started-button {
  display: flex !important;
  flex-direction: column !important;
}

.dropdown-row {
	flex-direction: column;
	 align-items:center !important;
	justify-content: center !important;
	 gap: 15px !important;
}
}

@media (max-width: 500px) {
	
	.course-and-location-dropdowns {

	flex-direction: column;
}
    .course-and-location-dropdowns {
        width: 100%; 
        max-width: 100%; 
        padding: 0; 
        margin: 0; 
        box-sizing: border-box; 
    }

    .wp-block-group.course-and-location-dropdowns > * {
        flex-basis: auto !important;
        width: 100% !important;
        max-width: 100% !important;
    }
	
}

	/*  Onsite Group Booking Button & text in banners*/


@media (max-width: 580px) {
	
	.onsite-arrow {
		display:none;
	}
	
	.onsite-booking-button-group {
		padding: 0px !important;
	}
	
	.onsite-booking-group {
		display:flex;
		flex-direction: column;
		align-items: center;
		justify-content:center;
					width: 100%
	}
	
}

@media (max-width: 450px) {
	
	.onsite-booking-button > *  {	 
    font-size: 14px !important;
    width: 100% !important;
 white-space: nowrap !important;
	}
}



@media (max-width: 400px) {
	.course-header-row-mobile {
		margin-block-start: 0px !important;
	}
	
	.course-mobile-header > *, .course-mobile-header {
		font-size: 20px !important;
	}
}


.travel-column {
	display:flex;
  	flex-direction:column;
  	justify-content:space-between;
		flex-shrink: 0 !important;
  flex-grow:0 !important;
}
	
	/* Location Tabs */

.location-button {
white-space: nowrap;
}

.location-tabs-button-group > * {
		display: flex;
		flex-direction: row;
		align-items: flex-start !important;
	justify-content: left !important;
			width: 100%;
	}

@media (max-width: 580px) {
	.location-tabs-button-group > * {
		gap: 10px !important;
		align-items: space-between;
	}
	
	.location-button {
			flex-grow: 1;
	}
}
	
	/* Group / public bookings section */

@media (max-width: 780px) {
	
	.public-bookings-title-group {
		display: flex;
		flex-direction: row;
	align-items: center;
		justify-content: center;
		gap: 5px;
	}
	
	.onsite-bookings-header {
		text-align: center;
	}
	
}

/*  COURSE PAGE BANNER*/

.course-row, .course-subheading {
  max-width: 1140px !important;
}

.course-row {
    gap: 20px !important;
  }


.course-info-img {
	width: 250px;
	hieght: auto !important;
}

@media (max-width:1200px) {
  .course-image-group, .course-image {
    margin-left: 0px;
  }
}

@media (max-width:768px) {
.course-row {
    display: flex;
    align-items: flex-start !important;
  }
}

@media (max-width:580px) {
.course-image-group, .course-image {
   display: none !important;
  }
}

@media (max-width: 500px) {
  .course-subheading {
  margin-top: 10px !important;
    margin-bottom: 10px !important;
    font-size: 26px !important
    }
}

@media (max-width: 450px) {
  .course-heading {
font-size: 30px !important}
.course-row {
    flex-direction: column-reverse;
  }
}


/* COURSE PAGE - COURSE INFO  */

.course-info-tiles, .location-info-tiles {
	  display: flex;
  flex-direction:row;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap !important;
}

.booking-time-heading {
	display: inline-block;
	margin-bottom: 0px 1important;
}

.course-info-tile-single {
	display:flex;
  	flex-direction:column;
  	justify-content:space-between;
		flex-shrink: 0 !important;
  flex-grow:0 !important;
}

.price-row {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}

.course-info-price.on-sale {
	 text-decoration: line-through;
  color: #888888;
	font-size: 50px !important;
}
}

.course-info-price.sale-price {
	display: none;
}

@media (max-width:  780px) {
 .course-info-tiles, .location-info-tiles {
    width: 300px !important;
  }
	
	.booking-time-heading {
		font-size: 30px !important;
	}
}

@media (max-width: 580px) {
	
.learning-time-row {
gap: 5px !important;
}
}

@media (max-width: 450px) {
	.course-info-heading {
		font-size: 50px !important;
	}
}

@media (max-width: 380px) {
   .course-info-tiles, .location-info-tiles {
    width: 280px !important;
  }
}

@media (max-width: 300px) {
   .course-info-tiles, .location-info-tiles {
    width: 250px !important;
  }
}

/* LOCATION PAGE */

.location-page-map {
	border: black 3px solid;
}
	
	
/* ONSITE GROUP BOOKING */

.onsite-columns {
	align-items:center;
	justify-content:center;
}

.onsite-tile {
	height: 100%;
	align-items: stretch !important;
}
	
	/* Onsite & public Bookings block */
.mfac-icon {
height: 15px !important;
	margin: 0 !important;
	display:flex !important;
	align-items: center !important;
	align-content: center !important;
}

.mfac-bookings-group {
    background: linear-gradient(to right, #005335 50%, #FF9868 50%);
  display: flex;
  align-items: stretch;
  justify-content: center;
  margin: 0 !important;
}

.mfac-booking-wrapper {
	width: 100%;
	max-width: 1140px;
}

.mfac-booking-columns {
	display: flex !important;
	align-items: stretch !important;
}

/* Blog Category drop down */
#wp-block-categories-1  {
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
    display: block;
}

/* Ensure options wrap properly */

.wp-block-post-featured-image, .wp-block-post-featured-image img  {
	height: 100% !important;
}

.wp-block-search__button-outside, .wp-block-search__button-outside > *  {
	height: 46px !important;
}

	.wp-block-post {
		margin-bottom: 20px !important;
	}

	.wp-block-post-template {
		margin-inline-start: 0px !important}

@media (max-width: 921px) {
	.wp-block-search__button-outside, .wp-block-search__button-outside > *  {
	height: 40px !important;
}
}

@media (max-width: 781px) {
	.wp-block-post .wp-block-columns {
		gap: 0px;
	}
}

/* Force breakout for specific blocks using class */
.jack-breakout {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  position: relative;
  box-sizing: border-box;
  clear: both;
  z-index: 1;
}

/* FORM */
.ff-el-input--label label {
	font-size: 18px !important;
	font-weight: 700 !important;

}

#fluentform_3 input, #fluentform_5 input {
	height: 50px !important;
}


input, textarea {
	border-radius: 8px !important;

}

input:focus, textarea:focus {
	border: 2px solid #f36f32 !important;
}

.choices__inner {
	padding: 0  !important;
	border-radius: 8px !important;
}

.choices {
  border: 1px solid #000;
border-radius: 8px;
} 

#fluentform_5 .choices {
	overflow: visible;
}

.choices__item--selectable {
	margin-top: 10px;
	margin-left: 10px;
}

.choices__list--dropdown {
  overflow: hidden !important; 
	 max-height: 300px !important;
}

.choices__list--dropdown div {
  overflow-y: auto;
}

.ff-btn-submit {
	border-radius: 8px !important;
	font-size: 20px !important;
  background-color: #f36f32 !important;
	font-weight: 600 !important;
		padding-inline: 0px !important;
		padding: 12px 24px !important;
	text-align: center !important;
	border-style: solid !important;
    border-top-width: 0 !important;
    border-right-width: 0 !important;
    border-left-width: 0 !important;
    border-bottom-width: 0 !important;
	line-height: 20px !important;
}
.grouprow {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; 
}

.grouprow > .wp-block-group {
  flex: 0 1 48%;
}

@media (max-width: 768px) {
  .grouprow {
    flex-direction: column;
  }

  .grouprow > .wp-block-group {
    flex: 1 1 100%; /* full width on mobile */
  }
}


.missitformobile {
  display: block;
}

@media (max-width: 768px) {
  .missitformobile {
    display: none;
  }
}

