/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
	
	/* typography */

		ul{
			margin-bottom:20px;
		}
		
		#dm_serif{
			font-family: 'DM Serif Display' !important;
		}
		
		blockquote{
			border-left: 1px solid #6363AD;
			padding:5px 0px 5px 60px;
			margin-top:75px;
			margin-bottom:75px
		}
		
		blockquote p{
			font-family: DM Serif Display;
			font-size: 24px;
			font-style: italic;
			font-weight: 400;
			line-height: 150%; /* 36px */ 
			color:#6363AD;			
		}
		
		@media screen and (max-width: 1024px) {
			
			blockquote{
				border-left: 1px solid #6363AD;
				padding:5px 0px 5px 40px;
				margin-top:50px;
				margin-bottom:50px
			}
			
			blockquote p{
				font-size: 20px;
				font-style: italic;
				font-weight: 400;
				line-height: 150%; /* 30px */ 		
			} 
			
		
		}
		
	

	/* elementor fixes */

		.elementor-icon {
			vertical-align:middle;
		}
		

	/* Desktop Menu */

		#dt_main_menu, #dt_main_menu *{
			cursor:pointer !important;
		}

		#dt_main_menu .sub-menu .sub-menu{
			background-color:#f9e26e !important;
		}

		#dt_main_menu .sub-menu .sub-menu li:hover > a {
			background-color: #cbb236;
			color: #ffffff;
		}

		#dt_main_menu .sub-menu{
			padding-left:10px;
		}

		#dt_main_menu .sub-menu i {
			display: none;
		}
		
		#dt_main_menu .sub-menu a {
			padding: 15px 30px 15px 20px;
		}
		
		#dt_main_menu a.highlighted, #dt_main_menu a:hover{
			color:#6363AD !important;
		}
		
		#dt_main_menu ul ul a.highlighted, #dt_main_menu ul ul a:hover{
			color:#000000 !important;
		}
		
		#dt_main_menu ul ul a:hover{
			color:#000000 !important;
		}
		
		#dt_main_menu ul ul ul a:hover{
			color:#ffffff !important;
		}
		
	/* mobile menu */

		#mobile_menu .elementor-nav-menu > li a{
			font-size: 32px;
			border-bottom:1px solid #000000;
			padding-bottom:20px;
			padding-top:40px;
		}	
		
		#mobile_menu .elementor-nav-menu > li:last-child a{
			border-bottom:0;
		}
	
		#mobile_menu .elementor-nav-menu .sub-menu li a{
			font-size: 20px;
			border-bottom:0;
			padding-bottom:20px;
			padding-top:20px;
			padding-right:40px;
			padding-left:20px;
		}
		
		#mobile_menu .elementor-nav-menu{
			padding-bottom:30px !important;
		}
		
		#mobile_menu .sub-menu{
			padding-bottom:20px !important;
		}
		
		#mobile_menu .elementor-nav-menu span.sub-arrow {
			flex-grow: 1 !important;
			justify-content: end;
		}
		
		#mobile_menu .elementor-nav-menu .highlighted{
			border-bottom:1px solid #000000 !important;
		}
		
	/* footer */
	
		.btn_full_width .elementor-button-link{
			width:100% !important;
		}
		
	/* home */
		
		@media screen and (max-width: 1024px) {
		
			.btn_full_width_mobile .elementor-button-link{
				width:100% !important;
			}
		
		}
		
		/* tabs menu */
		
		.tabs_menu .e-n-tabs-heading{
			border-bottom:2px solid #000000;
		}
		
		.tabs_menu .e-n-tabs-heading button{
			border-top-left-radius: 5px;
			border-top-right-radius: 5px;
			margin-bottom:-2px;
		}
		
		button[aria-selected="true"] {
			border-bottom:2px solid #ffffff !important;
		}
		
		button[aria-selected="false"] {
			margin-bottom:2px !important;
		}
		
		/* slider */
		
		/*
		@media screen and (min-width: 1025px) {
		
			.home_swipe_tiles .swiper-wrapper {
				justify-content: center;
			}
		
		}
		*/
		
		.home_swipe_tiles .swiper-slide {
			
			height:350px;
			background-size: cover; /* Cover the entire area of the element */
			background-position: center center; /* Center the image */
			
			display: flex; /* Use flexbox */
			align-items: center; /* Align vertically in the center */
			justify-content: center; /* Align horizontally in the center */
			text-align: center; /* Ensure the text inside is centered */
			
			position: relative; /* Needed for absolute positioning of the overlay */

		}
		
		@media screen and (max-width: 1024px) {

			.home_swipe_tiles .swiper-slide {				
				height:200px;
			}		
		
		}
		
		.home_swipe_tiles .swiper-slide-link {
			display: block; /* Make the link block-level */
			color: inherit; /* Optional: Inherit text color */
			text-decoration: none; /* Optional: Remove underline from links */
		}

		.home_swipe_tiles .swiper-slide .slide-overlay {
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			background-color: rgba(0, 0, 0, 0.25); /* Purple color, fully transparent */
			transition: background-color 0.3s; /* Smooth transition for the overlay */
			
			display: flex; /* Use flexbox */
			flex-direction: column;
			align-items: center; /* Align vertically in the center */
			justify-content: center; /* Align horizontally in the center */
			text-align: center; /* Ensure the text inside is centered */
			
			padding:40px 40px 40px 40px;
			
		}
		
		@media screen and (max-width: 1024px) {
		
			.home_swipe_tiles .swiper-slide .slide-overlay{
				padding:20px 20px 20px 20px;
			}
		
		}
		
		.overlay_description{
			font-size:16px;
			line-height:1.5;
			color:#ffffff;
		}
		

		.home_swipe_tiles .swiper-slide:hover .slide-overlay {
			background-color: rgba(99, 99, 173, 0.75); /* Purple color, 50% opacity */
		}
		
		.home_swipe_tiles .cs_label{
			color:#ffffff;
			font-size:24px;
			line-height:1.5;
			text-transform:uppercase;
			margin-bottom:20px;
		}
		
		@media screen and (max-width: 1024px) {
			
			.home_swipe_tiles .cs_label{
				font-size:18px;
			}
			
		}
		
		.overlay_description{
			width:100%;
		}
		
		/* Hide overlay_description by default */
		.home_swipe_tiles .swiper-slide .overlay_description {
			display: none;
			/* Other styling for overlay_description */
		}

		@media screen and (min-width: 1025px) {

			/* Show overlay_description when hovering over slide-overlay */
			.home_swipe_tiles .swiper-slide .slide-overlay:hover .overlay_description {
				display: block;
				/* You can add transition or animation effects if needed */
			}
		
		}
		
		/* slider nav buttons */
		
		.reviews_next .elementor-icon{
			cursor:pointer !important;
		}
		
		.reviews_previous .elementor-icon{
			cursor:pointer !important;
		}
		
		.custom_slider_nav{
			display: flex; /* Use flexbox */
			flex-direction: row;
			justify-content: space-between; /* Align horizontally in the center */
			padding-top:40px;
		}
		
		@media screen and (min-width: 1025px) {
			.custom_slider_nav.hidden{
				display:none;
			}
		}
		
		.help_areas_row_1{
			display:none;
		}
		
		.help_areas_row_2{
			display:none;
		}
		
		/* typography */
		
		a{
			color:#000000;
		}
		
		/* pricing page */
		
		.info-icon {
			cursor: pointer;
		}

		.booking-button {
			display: inline-block;
			background-color: #007bff;
			color: white;
			padding: 5px 10px;
			text-decoration: none;
			color:#ffffff !important;
		}
		
		.pricing_table td, .pricing_table th{
			background-color:#ffffff !important;
			text-align:left !important;
			border:0 !important;
		}
		
		.pricing_table tr td:first-child, .pricing_table tr th:first-child {
			padding-left: 100px;
		}
		
		.pricing_table tr td:last-child, .pricing_table tr th:last-child {
			padding-right: 100px;
		}
		
		.pricing_table tr:nth-child(2) td {
			/*padding-top: 40px !important;*/
		}
		
		tr.category_end{
			border-bottom:1px solid #000000;
		}
		
		tr.category_end td{
			padding-top:40px;
			padding-bottom:5px;
			font-weight:600;			
		}
		
		tr.t_headings{
			border-bottom:1px solid #000000;
		}
		
		tr.t_headings th{
			font-size:24px !important;
			padding-top:30px !important;
			padding-bottom:30px !important;
			font-weight:400;
		}
		
		.hidden-row {
			display: none;
		}
		
		.initial_hidden{
			display: none;
		}
	
		.category_filter_wrap{
			width:33.3%;
			margin-bottom:30px;
		}
		
		.category_filter_wrap select{
			font-size:20px!important;
			padding:20px!important;
		}
		
		#categoryFilterMobile{
			font-size:16px !important;
			padding:10px !important;
		}
		
		.pricing_wrap{
			background-color:#ffffff;
			border:1px solid #000000;
		}
		
		.toggle_more{
			display:inline-block;
			background-color:#F9E26E;
			padding:15px 100px 15px 100px;
			color:#000000;
			font-size:16px;
			line-height:16px;
			border-radius:5px;
			font-weight:700;
		}
		
		@media screen and (max-width: 1024px) {
			
			.toggle_more{
				padding:15px 15px 15px 15px;
				width:100%;
			}
			
		}
		
		.toggle_more_wrap{
			text-align:center;
			padding:30px;
		}
		
		.toggle_button_hide{
			display: none !important;
		}
	
		.booking-button{
			padding:5px 10px 5px 10px;
			background-color:#6363AD;
			color:#ffffff;
			font-size:12px;
			font-weight:700;
			border-radius:5px;
			line-height:1;
			text-transform:uppercase;
		}
		
		.booking-button:hover{
			background-color:#7373B5;
			color:#ffffff;
		}
		
		.close-info{
			display:inline-block;
			padding:5px 10px 5px 10px;
			background-color:#000000;
			color:#ffffff;
			font-size:12px;
			font-weight:700;
			border-radius:5px;
			line-height:1;
			text-transform:uppercase;
		}
		
		.close-info i{
		}
		
		.info-content-row td{
			padding-top:0 !important;
		}
		
		.info-text hr{
			margin-top:20px;
			margin-bottom:0px;
			border: 1px solid #DDE0E3 !important;
		}
		
		.info-icon{
			fill:#6363AD;
			color:#6363AD;
			font-size:20px;
			line-height:1 !important;
			padding:0;
			margin:0;
		}
		
		.info-icon:hover{
			fill:#7373B5;
			color:#7373B5;
		}
		
		/* mobile price list */
		
		.pricing_wrap_mobile{
			background-color:#ffffff;
			border:1px solid #000000;
			padding:20px;
		}
		
		.mobile_price_item{
			border-bottom:1px solid #000000;
			padding-bottom:20px;
			margin-bottom:20px;
		}
		
		.mobile_price_item_heading{
			display:block;
			margin-bottom:0px;
			font-size:12px;
			text-decoration:underline;
		}
		
		.mobile_price_item_field{
			display:block;
			margin-bottom:20px;
		}
		
		.pricing_wrap_mobile .info-text{
		}
		
		.pricing_wrap_mobile .close-info{
			margin-top:20px;
			margin-bottom:10px;
		}
		
		.description_text{
			display:block;
			padding-top:20px;
		}
		
		.mobile_price_menu td{
			padding:0 !important;
			background-color:#ffffff !important;
			border:0 !important;
			vertical-align: middle;
		}
		
		.mobile_price_menu .booking-button{
		}
		
		.mobile_price_menu .info-icon{
		}
		
		.category_filter_wrap_mobile{
			width:100%;
			margin-bottom:30px;
		}
		
		.category_filter_wrap_mobile select{
			font-size:20px!important;
			padding:20px!important;
		}
		
		.mobile_price_item.initial_hidden{
			display:none;
		}
		
		.pricing_wrap_mobile .info-icon img{
			height:20px !important;
			width:auto !important;
			vertical-align:middle !important;
		}
		
		/* elementor fixes */
		


		.select-wrapper {
			position: relative;
			border: 2px solid #000000; /* The border color */
			border-radius: 5px; /* Rounded corners */
			overflow: hidden; /* Ensures the select border stays rounded */
			background: white;
			display: flex; /* Align select and arrow container */
		}

		.select-wrapper select {
			border: none;
			outline: none;
			-webkit-appearance: none; /* Removes default style on Webkit browsers */
			-moz-appearance: none; /* Removes default style on Firefox browsers */
			appearance: none;
			background: transparent;
			width: 100%;
			font-size: 16px; /* Adjust text size */
			color: #333; /* Text color */
			cursor: pointer;
		}

		.select-wrapper::before {
			content: '';
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			width: 80px; /* Width of the background */
			background: #F9E26E; /* Purple background color */
			pointer-events: none;
			border-left:2px solid #000000;
		}

		.select-wrapper::after {
			content: '';
			position: absolute;
			top: 50%;
			right: 15px;
			transform: translateY(-50%);
			width: 50px; /* Width of the arrow */
			height: 50px; /* Height of the arrow */
			background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" fill="black" class="bi bi-chevron-down" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z"/></svg>');
			color:#ffffff;
			background-size: 50px 50px;
			background-repeat: no-repeat;
			background-position: center;
			pointer-events: none;
		}
		
		@media screen and (max-width: 1024px) {
			
			.select-wrapper::before {
				content: '';
				position: absolute;
				top: 0;
				right: 0;
				bottom: 0;
				width: 55px; /* Width of the background */
				background: #F9E26E; /* Purple background color */
				pointer-events: none;
			}
				
			.select-wrapper::after {
				content: '';
				position: absolute;
				top: 50%;
				right: 15px;
				transform: translateY(-50%);
				width: 20px; /* Width of the arrow */
				height: 20px; /* Height of the arrow */
				background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="black" class="bi bi-chevron-down" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z"/></svg>');
				color:#000000;
				background-size: 20px 20px;
				background-repeat: no-repeat;
				background-position: center;
				pointer-events: none;
			}
			
		}
		
		/* FORM */
		
		.js-cm-form input{
			padding:10px !important;
		}
		
		/* Style the form */
		.js-cm-form {
			display: flex !important; /* Use flexbox to align items in a row */
			align-items: center !important; /* Align items vertically in the center */
			gap: 20px !important; /* Space between items */
		}

		/* Style the div containers */
		.js-cm-form > div {
			display: flex !important;
			align-items: center !important;
			text-align:center !important;
		}
		
		/* Adjustments for responsiveness */
		@media (max-width: 1024px) {
			.js-cm-form {
				flex-direction: column !important;
				align-items: center !important; /* Align items to stretch full width */
			}
			
			.js-cm-form input[type="text"]{
				width:100% !important;
			}
			
			.js-cm-form input[type="checkbox"] {
				margin-bottom:0;
			}
		}
	
		.js-cm-form > button{	
			font-family: "Glacial Indifference", Sans-serif;
			font-size: 14px;
			font-weight: 700;
			letter-spacing: 0.2em;
			background-color: #F9E26E;
			color:#000000;
			border:0;
		}
		
		.js-cm-form > button:hover{
			background-color: #FBE992;
			color:#000000;
		}
		
		.js-cm-form label{
			color:#ffffff;
		}



.container {
	max-width: 1170px;
	margin: auto;
	padding-left: 15px;
	padding-right: 15px;
}
.text-center {
    text-align: center;
}
.price-table h2 {
    font-size: 28px;
    font-weight: 300;
    text-align: center;
}
.price-table .tab-content h3 {
    font-size: 20px;
    font-weight: 500;
    text-align: center;
}
.simple-tabs {
    list-style: none;
	margin-bottom: 30px;
	padding: 0;
    text-align: center;
}
.simple-tabs li.active span {
    border: 1px solid #000;
    background: #000;
    color: #fff;
}
.simple-tabs li {
    display: inline-block;
    margin: 0 8px 10px;
}
.simple-tabs li span {
    padding: 12px 25px;
    border-radius: 25px;
    border: 1px solid #000000;
    text-decoration: none;
    font-weight: 600;
    color: #000000;
    display: block;
    cursor: pointer;
}
.page-template-page-flexible-option6 .new-price-table-wrapper {
    padding-left: 15px;
    padding-right: 15px;
}
.new-price-table-wrapper {
    display: grid;
    gap: 30px;
    clear: both;
    position: relative;
    grid-template-columns: repeat(3, 1fr);
}
.package-outer-wrapper {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    padding: 15px 15px 25px;
}
.package-title {
    font-size: 17px;
    font-weight: 900;
    border-bottom: 1px solid #000;
    margin-bottom: 3px;
	font-family: 'DM Serif Display' !important;
	color: #6463b1;
}
.package-description {
    font-size: 14px;
    max-width: 375px !important;
	font-family: "Cormorant Garamond", Sans-serif;
}
.session-title {
    font-size: 14px;
	font-family: "Cormorant Garamond", Sans-serif;
}
.session-option-button {
    padding: 2px 10px;
    border: 1px solid #cfcece;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
	float: left;
}
div.session-option-button.active {
    background-color: #cfcece;
    color: #000;
}
div.package-pricing-wrapper.active {
    display: flex !important;
}
div.package-pricing-wrapper {
    display: none;
    justify-content: space-between;
    grid-row-gap: 20px;
}
div.package-price.has-was-price {
    color: #000;
}
div.package-price {
    font-size: 27px;
    line-height: 1;
    font-weight: 900;
}
.price-was,
.price-then {
    font-size: 16px;
    width: 100%;
    font-weight: 400;
    color: #13283e;
    text-decoration: line-through;
}
.price-was,
.price-then {
    margin-bottom: 7px;
}
div.limited-time-promo-text {
    font-size: 16px;
    width: 100%;
    font-weight: 400;
    color: #13283e;
    margin-top: 7px;
}
.price-now {
    font-size: 24px;
}
.session-pricing {
    height: 100%;
    align-content: center;
}
.session-price-wrapper {
    text-align: right;
    font-size: 18px;
	font-weight: bold;
    line-height: 1;
}
.session-price-wrapper span.package-price-appended-text {
    font-size: 13px;
    display: block;
	font-family: "Cormorant Garamond", Sans-serif;
}
.paypal-button {
    color: #fff !important;
    background-color: #6463b1;
    width: 100%;
    padding: 4px 20px 5px;
    border-radius: 0;
    border: 1px solid #6463b1;
    display: block;
    text-align: center;
    font-weight: 700;
    font-size: 16px;
	cursor: pointer;
}
.session-options {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    justify-content: end;
    margin-bottom: 15px;
}
.col_2 {
	width: 50%;
}
.hidden {
    display: none !important;
}
.session-purchase-button-wrapper {
    margin-top: 15px;
}
.price-table .tab-content.active {
    display: block;
}
.price-table .tab-content {
    display: none;
}
.h2 {
   font-size: 28px !important;
}
.price-table-intro li {
    position: relative;
    text-align: left;
    border-bottom: 1px solid #b0b3bb;
    padding: 15px 50px 15px 0;
    font-weight: 600;
}
.price-table-intro li:after {
    background: #13283e;
    border-radius: 15px;
    content: "\2713";
    color: #fff;
    text-align: center;
    line-height: 30px;
    font-weight: 700;
    vertical-align: text-bottom;
    right: 35px;
    height: 30px;
    top: 10px;
    font-size: 22px;
	display: inline-block;
    width: 30px;
    position: absolute;
}
.blue-btn {
    background-color: #13283e;
    color: #fff !important;
    letter-spacing: 1px;
    padding: 10px 40px;
    font-size: 19px;
    font-weight: 900;
    display: inline-block;
    border-radius: 22px;
    line-height: 1.5;
}
.price-table-intro .inner {
    padding-bottom: 20px;
    padding-left: 50px;
    padding-right: 50px;
	text-align: center;
}
.price-table-intro {
    padding: 0;
    list-style: none;
}
.price-offer_txt {
    /*color: #65cd98; */
	color: #000;
    font-size: 16px;
    margin-bottom: 7px;
}
.price-table h1, 
.price-table h2,
.price-table h3,
.price-table h4,
.price-table h5,
.price-table h6 {
    font-family: 'DM Serif Display' !important;
}
div#price-table-container .package-title {
    font-family: 'DM Serif Display' !important;
}
.page-id-1109 .package-outer-wrapper:nth-child(4), .page-id-1109 .package-outer-wrapper:nth-child(5), .page-id-1109 .package-outer-wrapper:nth-child(6) {
    display: none;
}
@media(max-width:1200px){
	.new-price-table-wrapper {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media(max-width:900px){
	.new-price-table-wrapper {
		grid-template-columns: repeat(1, 1fr);
	}
	.simple-tabs li {
		display: block;
		margin: 0 0 10px;
	}
	.price-now {
		font-size: 20px;
	}
}