
/*
Theme Name:        Peach Umbrella Network
Theme URI:         https://finitytek.com
Author:            Finity Tek Designs
Author URI:        https://finitytek.com
Description:       A lightweight, modern layout mockup for WordPress block and classic headers.
Version:           1.0.020
License:           GNU General Public License v2 or later
License URI:       http://gnu.org
Text Domain:       pun-theme
Tags:              custom-header, flexible-header, translation-ready, light
*/
/* ==========================================================
   Peach Umbrella Network
   Bootstrap 5 Custom Stylesheet
   Brand Colors:
   Black : #000000
   Peach  : #ff8772
   Green  : #007d00
========================================================== */

:root{
    --primary:#ff8772;
	--bs-primary-rgb:255,135,114;
	--bs-primary: rgb(255,135,114);
    --secondary:#007d00;
	--bs-secondary-rgb:0,0,0;
    --black:#000000;
    --light:#f8fbfc;
    --gray:#6c757d;
    --white:#ffffff;

    --shadow:0 10px 30px rgba(0,0,0,.08);
    --radius:16px;
    --transition:.3s ease;
	
	--bs-green-color: #007d00;
	--bs-offcanvas-zindex: 9999 !important;
	--global--spacing-unit: 20px;
}

.btn-primary{
	--bs-btn-active-bg: #007d00;
	--bs-btn-active-border-color: #007d00;
}
.btn-outline-primary {
  --bs-btn-color: rgba(255,135,114);
  --bs-btn-border-color: rgba(255,135,114);
  --bs-btn-hover-bg:rgba(255,135,114);
  --bs-btn-hover-border-color:rgba(255,135,114);
}

html{
 scroll-behavior:smooth;
}

body{
    font-family:'Montserrat',sans-serif;
    color:#444;
    background:#fff;
    line-height:1.7;
}

/* ===========================
   Typography
=========================== */

h1,h2,h3,h4,h5{
    font-weight:700;
    color:var(--dark);
}
.strong{font-weight: 700;}
.sr-only{position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border-width: 0;}
.section-title{
    margin-bottom:15px;
    font-weight:800;
}
.section-subtitle{
    color:#777;
    max-width:700px;
    margin:auto auto 50px;
}

/* ===========================
   Navbar
=========================== */

.navbar{
    transition:.35s;
    padding:18px 0;
}
.navbar-brand{
    font-size:1.5rem;
    font-weight:700;
}
.nav-link{
    color:#333;
    font-weight:600;
    margin-left:20px;
    transition:var(--transition);
}
.nav-link:hover{
    color:var(--primary);
}
.navbar.scrolled{
    padding:10px 0;
    background:#fff;
    box-shadow:var(--shadow);
}
/* ===========================
   Buttons
=========================== */
.btn{
    border-radius:50px;
    padding:14px 34px;
    font-weight:600;
    transition:var(--transition);
}
.btn-pink{
    background:var(--secondary);
    color:#fff;
}
.btn-pink:hover{
    background:#d6007f;
    color:#fff;
    transform:translateY(-3px);
}
.btn-outline-blue{
    border:2px solid var(--primary);
    color:var(--primary);
}
.btn-outline-blue:hover{
    background:var(--primary);
    color:#fff;
}
.bottom  .swiper-navigation{gap:25px;margin: 15px auto;}
.bottom .swiper-button-next,
.bottom .swiper-button-prev{position:relative;width: calc(var(--swiper-navigation-size)/ 44 * 44); border-radius: 50px;margin-top: 0px;
  background: var(--bs-white);
  border: 1px solid var(--primary);
  transition: .6s ease;
transform: translateY(0);
}
.bottom .swiper-button-next:hover,
.bottom .swiper-button-prev:hover{transition: .6s ease;
transform:translateY(-4px)}
.bottom .swiper-button-next::after, .bottom .swiper-button-prev::after{color: var(--primary);font-size: 24px;}
.bottom .swiper-pagination .swiper-pagination-bullet-active{background: var(--primary);}
.bottom .swiper-pagination{width: auto !important;
  position: relative;
  bottom: 0 !important;
  align-content: center; display: none;}

/* ===========================
   Hero
=========================== */
/* Hero Section Container */
.hero-section {
  overflow: hidden;
  background-color: #000; /* Fallback color */
}
.hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Dark Overlay */
.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.55); /* Adjust opacity here (0.55 = 55% dark) */
  z-index: 2;
}

/* Content Layer (Above Overlay) */
.hero-section .container {
  position: relative;
  z-index: 3;
}
#business-loader{
    min-height:150px;
}
#business-pagination .page-numbers{
    display:inline-block;
    padding:10px 16px;
    margin:4px;
    border-radius:6px;
    border:1px solid #ddd;
    text-decoration:none;
}
#business-pagination .current{
    background:var(-primary);
    color:#fff;
}
#business-count{
    font-weight:600;
}
/* AJAX Fade Effect */
#business-results{
    transition:opacity .25s ease;
}
#business-loader{
    min-height:100px;
}
.business-card{
   transition:.3s;
}
.business-card:hover{
   transform:translateY(-6px);
}
.pagination .page-item.active .page-link{
   background:var(--primary);
   border-color:var(--primary);
}
.pagination .page-link{
    cursor:pointer;
}

/* ===========================
   CTA
=========================== */

.cta{
    padding:80px 0;
    background:var(--secondary);
    color:#fff;
}
.cta h2{
    color:#fff;
    font-size:2.3rem;
}
.cta p{
    opacity:.95;
}


/* ===========================
   Events
=========================== */

.event-card{
    border:none;
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:.35s;
}

.event-card:hover{
    transform:translateY(-8px);
}
.event-card img{
    height:230px;
    object-fit:cover;
}
.event-card .card-body{
    padding:30px;
}

/* ===========================
   News
=========================== */

.news-card{
    border:none;
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow);
}
.news-card img{
    height:220px;
    object-fit:cover;
}
.news-card .card-body{
    padding:30px;
}

/* ===========================
   Newsletter
=========================== */

.newsletter-section{
    background:#f26b5e;
}

/* ===========================
   Post
=========================== */
.post-content{
    font-size:1.05rem;
    line-height:1.9;
}

.post-content img{
    max-width:100%;
    height:auto;
    border-radius:8px;
}

.post-content h2,
.post-content h3,
.post-content h4{
    margin-top:2rem;
}

.post-content blockquote{
    border-left:4px solid var(--primary);
    padding-left:20px;
    font-style:italic;
    margin:2rem 0;
}

.post-content table{
    width:100%;
}

.post-content pre{
    background:#f8f9fa;
    padding:20px;
    border-radius:8px;
    overflow:auto;
}

.card-img-top{
    height:220px;
    object-fit:cover;
}

.avatar{
    border-radius:50%;
}

.wp-caption{
    max-width:100%;
}

.aligncenter{
    display:block;
    margin:auto;
}


.search-form .form-control{
    min-height:48px;
}

.search-form .btn{
    min-width:60px;
}

.search-form{
    max-width:700px;
    margin:auto;
}

.card{
    transition:.3s;
}

.card:hover{
    transform:translateY(-4px);
}
.card-img-top,
.card img{
    object-fit:cover;
}
.page-numbers{
    display:inline-block;
    padding:10px 16px;
    margin:3px;
    border:1px solid #ddd;
    border-radius:6px;
    text-decoration:none;
}
.page-numbers.current{
    background:var(--primary);
    color:#fff;
    border-color:var(--primary);
}
.page-numbers:hover{
    background:#f5f5f5;
}

/* Comments */

.comment-list{
    padding-left:0;
}
.comment-list li{
    list-style:none;
}
.comment-body,
.comment-list .border{
    background:#fff;
}
.comment-list .children{
    margin-top:20px;
    margin-left:50px;
    padding-left:20px;
    border-left:2px solid #e9ecef;
}

.comment-meta{
    font-size:.9rem;
}
.comment-author img{
    border-radius:50%;
}
.comment-reply-link{
    text-decoration:none;
}
.comment-form textarea{
    resize:vertical;
}
.comment-form input,
.comment-form textarea{
    border-radius:.375rem;
}
.comment-navigation a{
    text-decoration:none;
}
.bypostauthor{
    border-left:4px solid var(--primary);
    padding-left:10px;
}

/* =========================================================
   ftd VIDEO GRID
   ========================================================= */

.ftd-video-grid {
	width: 100%;
	margin-bottom: 60px;
}


.ftd-video-grid-inner {
	display: grid;

	grid-template-columns:
		repeat(
			var(--video-grid-columns, 3),
			minmax(0, 1fr)
		);

	gap: var(--video-grid-gap, 20px);
}


/*
 * =========================================================
 * COLUMNS
 * =========================================================
 */

.ftd-video-grid.columns-1
	.ftd-video-grid-inner {
	--video-grid-columns: 1;
}


.ftd-video-grid.columns-2
	.ftd-video-grid-inner {
	--video-grid-columns: 2;
}


.ftd-video-grid.columns-3
	.ftd-video-grid-inner {
	--video-grid-columns: 3;
}


.ftd-video-grid.columns-4
	.ftd-video-grid-inner {
	--video-grid-columns: 4;
}


/*
 * =========================================================
 * VIDEO CARD
 * =========================================================
 */

.ftd-video-grid-item {
	min-width: 0;
	overflow: hidden;
}


/*
 * =========================================================
 * VIDEO MEDIA
 * =========================================================
 */

.ftd-video-grid-media {
	position: relative;

	width: 100%;

	aspect-ratio: 16 / 9;

	overflow: hidden;

	background: #000;
}


/*
 * WordPress / direct videos.
 */

.ftd-video-grid-video {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
}


/*
 * Embedded YouTube / Vimeo.
 */

.ftd-video-grid-media iframe {
	display: block;

	width: 100%;
	height: 100%;

	border: 0;
}


/*
 * Thumbnail.
 */

.ftd-video-grid-thumbnail {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;

	transition:
		transform .4s ease;
}


/*
 * =========================================================
 * PLAY BUTTON
 * =========================================================
 */

.ftd-video-grid-play {
	position: absolute;

	top: 50%;
	left: 50%;

	display: flex;

	align-items: center;
	justify-content: center;

	width: 64px;
	height: 64px;

	transform:
		translate(-50%, -50%);

	border-radius: 50%;

	background: rgba(0, 0, 0, .75);

	color: #fff;

	text-decoration: none;

	transition:
		transform .3s ease,
		background .3s ease;
}


.ftd-video-grid-play-icon {
	font-size: 22px;

	margin-left: 4px;
}


.ftd-video-grid-play:hover {
	transform:
		translate(-50%, -50%)
		scale(1.08);

	background: rgba(0, 0, 0, .9);
}


.ftd-video-grid-item:hover
.ftd-video-grid-thumbnail {
	transform: scale(1.04);
}


/*
 * =========================================================
 * CONTENT
 * =========================================================
 */

.ftd-video-grid-content {
	padding-top: 15px;
}


.ftd-video-grid-title {
	margin-top: 0;
	margin-bottom: 8px;
}


.ftd-video-grid-description {
	font-size: 15px;
	line-height: 1.6;
}


.ftd-video-grid-description > :last-child {
	margin-bottom: 0;
}


/*
 * =========================================================
 * TABLET
 * =========================================================
 */

@media (max-width: 991.98px) {

	.ftd-video-grid.columns-4
		.ftd-video-grid-inner {

		grid-template-columns:
			repeat(2, minmax(0, 1fr));
	}


	.ftd-video-grid.columns-3
		.ftd-video-grid-inner {

		grid-template-columns:
			repeat(2, minmax(0, 1fr));
	}

}


/*
 * =========================================================
 * MOBILE
 * =========================================================
 */

@media (max-width: 767.98px) {

	.ftd-video-grid
		.ftd-video-grid-inner {

		grid-template-columns: 1fr;
	}

	.ftd-video-grid-play {
		width: 54px;
		height: 54px;
	}

}

/* =========================================================
   VIDEO MODAL
   ========================================================= */

.ftd-video-modal {
	position: fixed;

	inset: 0;

	z-index: 99999;

	display: flex;

	align-items: center;
	justify-content: center;

	padding: 30px;

	visibility: hidden;
	opacity: 0;

	transition:
		opacity .25s ease,
		visibility .25s ease;
}


.ftd-video-modal.is-open {
	visibility: visible;
	opacity: 1;
}


/*
 * =========================================================
 * BACKDROP
 * =========================================================
 */

.ftd-video-modal-backdrop {
	position: absolute;

	inset: 0;

	background: rgba(0, 0, 0, .88);
}


/*
 * =========================================================
 * DIALOG
 * =========================================================
 */

.ftd-video-modal-dialog {
	position: relative;

	z-index: 2;

	width: min(
		1100px,
		100%
	);

	max-height: 90vh;
}


/*
 * =========================================================
 * VIDEO CONTAINER
 * =========================================================
 */

.ftd-video-modal-content {
	position: relative;

	width: 100%;

	aspect-ratio: 16 / 9;

	background: #000;

	border-radius: 8px;

	overflow: hidden;

	box-shadow:
		0 25px 80px rgba(0, 0, 0, .5);
}


.ftd-video-modal-player {
	width: 100%;
	height: 100%;
}


.ftd-video-modal-player iframe {
	display: block;

	width: 100%;
	height: 100%;

	border: 0;
}


/*
 * =========================================================
 * CLOSE BUTTON
 * =========================================================
 */

.ftd-video-modal-close {
	position: absolute;

	top: -45px;
	right: 0;

	z-index: 3;

	display: flex;

	align-items: center;
	justify-content: center;

	width: 40px;
	height: 40px;

	padding: 0;

	border: 0;

	border-radius: 50%;

	background: rgba(255, 255, 255, .15);

	color: #fff;

	font-size: 30px;
	line-height: 1;

	cursor: pointer;

	transition:
		background .2s ease,
		transform .2s ease;
}


.ftd-video-modal-close:hover {
	background: rgba(255, 255, 255, .3);

	transform: scale(1.05);
}


/*
 * =========================================================
 * PREVENT PAGE SCROLL
 * =========================================================
 */

body.video-modal-open {
	overflow: hidden;
}


/*
 * =========================================================
 * MOBILE
 * =========================================================
 */

@media (max-width: 767.98px) {

	.ftd-video-modal {
		padding: 15px;
	}


	.ftd-video-modal-dialog {
		width: 100%;
	}


	.ftd-video-modal-close {
		top: -50px;
		right: 0;
	}

}

/* =========================================================
   GALLERY GRID
   ========================================================= */

.ftd-gallery-grid {
	width: 100%;
}


.ftd-gallery-grid-inner {
	display: grid;

	grid-template-columns: repeat(
		var(--gallery-columns, 3),
		minmax(0, 1fr)
	);

	gap: var(--gallery-gap, 20px);
}


/*
 * Columns
 */

.ftd-gallery-grid.columns-1
	.ftd-gallery-grid-inner {
	--gallery-columns: 1;
}


.ftd-gallery-grid.columns-2
	.ftd-gallery-grid-inner {
	--gallery-columns: 2;
}


.ftd-gallery-grid.columns-3
	.ftd-gallery-grid-inner {
	--gallery-columns: 3;
}


.ftd-gallery-grid.columns-4
	.ftd-gallery-grid-inner {
	--gallery-columns: 4;
}


/*
 * Gallery item
 */

.ftd-gallery-grid-item {
	position: relative;

	min-width: 0;
	margin: 0;

	overflow: hidden;
}


.ftd-gallery-grid-link {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	text-decoration: none;
}


.ftd-gallery-grid-image {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center;

	transition: transform .4s ease;
}


/*
 * Hover
 */


.ftd-gallery-grid-link:hover
.ftd-gallery-grid-image {
	transform: scale(1.04);
}


/*
 * Caption
 */

.ftd-gallery-grid-caption {
	margin-top: 10px;

	font-size: 14px;
	line-height: 1.5;
}


/*
 * =========================================================
 * TABLET
 * =========================================================
 */

@media (max-width: 991.98px) {

	.ftd-gallery-grid.columns-4
		.ftd-gallery-grid-inner {

		grid-template-columns:
			repeat(2, minmax(0, 1fr));
	}


	.ftd-gallery-grid.columns-3
		.ftd-gallery-grid-inner {

		grid-template-columns:
			repeat(2, minmax(0, 1fr));
	}

}


/*
 * =========================================================
 * MOBILE
 * =========================================================
 */

@media (max-width: 767.98px) {

	.ftd-gallery-grid
		.ftd-gallery-grid-inner {

		grid-template-columns: 1fr;
	}

}


/*
Table
*/
table,
.wp-block-table {
	width: 100%;
	min-width: 240px;
	border-collapse: collapse;
}

table thead,
table tfoot,
.wp-block-table thead,
.wp-block-table tfoot {
	text-align: center;
}

table th,
.wp-block-table th {
	font-family: var(--heading--font-family);
}

table td,
table th,
.wp-block-table td,
.wp-block-table th {
	padding: calc(0.5 * var(--global--spacing-unit));
	border: 1px solid;
}

table figcaption,
.wp-block-table figcaption {
	color: var(--global--color-primary);
	font-size: var(--global--font-size-xs);
}

table.is-style-regular .has-background,
table.is-style-stripes .has-background,
table.is-style-stripes .has-background thead tr,
table.is-style-stripes .has-background tfoot tr,
table.is-style-stripes .has-background tbody tr,
.wp-block-table.is-style-regular .has-background,
.wp-block-table.is-style-stripes .has-background,
.wp-block-table.is-style-stripes .has-background thead tr,
.wp-block-table.is-style-stripes .has-background tfoot tr,
.wp-block-table.is-style-stripes .has-background tbody tr {
	color: var(--table--has-background-text-color);
}

table.is-style-stripes,
.wp-block-table.is-style-stripes {
	border-color: var(--table--stripes-border-color);
}

table.is-style-stripes th,
table.is-style-stripes td,
.wp-block-table.is-style-stripes th,
.wp-block-table.is-style-stripes td {
	border-width: 0;
}

table.is-style-stripes tbody tr:nth-child(odd),
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background-color: var(--table--stripes-background-color);
}

table.is-style-stripes .has-background tbody tr:nth-child(odd),
.wp-block-table.is-style-stripes .has-background tbody tr:nth-child(odd) {
	background-color: var(--global--color-white-90);
}

table.wp-calendar-table td,
table.wp-calendar-table th {
	background: transparent;
	border: 0;
	text-align: center;
	line-height: 2;
	vertical-align: middle;
	word-break: normal;
}

table.wp-calendar-table th {
	font-weight: bold;
}

table.wp-calendar-table thead,
table.wp-calendar-table tbody {
	color: currentColor;
	border: 1px solid;
}

table.wp-calendar-table caption {
	font-weight: bold;
	text-align: left;
	margin-bottom: var(--global--spacing-unit);
	color: currentColor;
}

/* =========================================================
   CONTENT GRID
   ========================================================= */

.content-grid {
	width: 100%;
}


.content-grid-inner {
	display: grid;
	gap: 30px;
}


/*
 * =========================================================
 * COLUMNS
 * =========================================================
 */

.content-grid.columns-1 .content-grid-inner {
	grid-template-columns: 1fr;
}

.content-grid.columns-2 .content-grid-inner {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.content-grid.columns-3 .content-grid-inner {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.content-grid.columns-4 .content-grid-inner {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

/*
 * =========================================================
 * ITEMS
 * =========================================================
 */

.content-grid-item {
	min-width: 0;
}


.content-grid-image {
	margin-bottom: 20px;
}


.content-grid-image img {
	display: block;

	width: 100%;
	height: auto;

	border-radius: 12px;
}


.content-grid-title {
	margin-top: 0;
	margin-bottom: 15px;
}


.content-grid-text > :last-child {
	margin-bottom: 0;
}

/* ===========================
   Footer
=========================== */

.site-footer{
    background:#111;
}
.site-footer p,
.site-footer a{
    color:#ccc;
}
.site-footer a{
    text-decoration:none;
    transition:.3s;
}
.site-footer a:hover{
    color:#fff;
}

.footer-menu li,
.footer-links li{
    margin-bottom:12px;
}
.social-links a{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    width:42px;
    height:42px;
    margin-right:10px;
    border-radius:50%;
    background:#f26b5e;
    color:#fff;
}
.social-links a:hover{
    background:#fff;
    color:#f26b5e;
}
.newsletter-section .form-control{
    min-height:56px;
}

.newsletter-section .btn{
    min-height:56px;
}
.custom-logo{
    max-height:70px;
    width:auto;
}
/*Business*/
.business-header img{
    max-height:220px;
    object-fit:contain;
}
.business-content .card{
    border-radius:12px;
}
.business-content h4{
    margin-bottom:20px;
}
.related-businesses img{
    height:220px;
    object-fit:cover;
}
.related-businesses .card{
    transition:.3s;
}
.related-businesses .card:hover{
    transform:translateY(-6px);
}
.business-content a{
    text-decoration:none;
}
.page-header{
    background:#f8f9fa;
}
.card{
    transition:.3s ease;
}
.card:hover{
    transform:translateY(-6px);
}
.card-img-top{
    height:240px;
    object-fit:cover;
}
.badge{
    font-size:.8rem;
}
.pagination .page-numbers{
    display:inline-block;
    padding:10px 16px;
    margin:4px;
    border:1px solid #ddd;
    border-radius:5px;
    text-decoration:none;
}
.pagination .current{
    background:var(--primary);
    color:#fff;
    border-color:var(--primary);
}
.pagination a:hover{
    background:#f5f5f5;
}

/* ==========================
404 Page
========================== */

.error-404{
    min-height:65vh;
    display:flex;
    align-items:center;
}
.error-404 .display-1{
    font-size:8rem;
    line-height:1;
}
.error-404 .btn{
    min-width:180px;
}

/* Search Form */

.search-form{
    max-width:650px;
    margin:0 auto;
}
.search-form .form-control{
    min-height:58px;
}
.search-form .btn{
    min-width:70px;
}

/* Cards */

.error-404 .card{
    transition:.3s ease;
}
.error-404 .card:hover,
.bg-light .card:hover{
    transform:translateY(-6px);
}
.card-img-top{
    height:220px;
    object-fit:cover;
}
.event-header img{
    max-height:420px;
    width:100%;
    object-fit:cover;
    border-radius:12px;
}
.event-content{
    line-height:1.8;
}
.event-content img{
    max-width:100%;
    height:auto;
}
.event-content h2,
.event-content h3{
    margin-top:2rem;
}
.card{
    border-radius:12px;
}
.card-body p{
    margin-bottom:1rem;
}
.card-img-top{
    height:220px;
    object-fit:cover;
}
.object-fit-cover{
    object-fit:cover;
}
.card{
    transition:.3s;
    border-radius:12px;
}
.card:hover{
    transform:translateY(-6px);
}
.card-img-top{
    height:240px;
    object-fit:cover;
}
.badge{
    font-size:.8rem;
}
.pagination .page-numbers{
    display:inline-block;
    padding:10px 16px;
    margin:4px;
    border:1px solid #ddd;
    border-radius:6px;
    text-decoration:none;
}
.pagination .current{
    background:var(--primary);
    color:#fff;
    border-color:var(--primary);
}
.pagination a:hover{
    background:#f5f5f5;
}
input.form-control,
select.form-select{
    min-height:48px;
}
.btn{
    border-radius:50px;
}
/* =========================================================
   CONTENT BLOCK
   ========================================================= */

.content-block {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;
}

/* ---------------------------------------------------------
   IMAGE
   --------------------------------------------------------- */

.content-block.image-left,
.content-block.image-right {
	grid-template-columns:
		minmax(0, 1fr)
		minmax(0, 1fr);
	align-items: start;
}

.content-block.image-left
	.content-block-image {
	order: 1;
}

.content-block.image-left
	.content-block-content {
	order: 2;
}

.content-block.image-right
	.content-block-image {
	order: 2;
}


.content-block.image-right
	.content-block-content {
	order: 1;
}

.content-block-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
}

/* ---------------------------------------------------------
   CONTENT
   --------------------------------------------------------- */

.content-block-content {
	min-width: 0;
}
.content-block-title {
	margin-top: 0;
	margin-bottom: 20px;
}

/* ---------------------------------------------------------
   EXPANDABLE CONTENT
   --------------------------------------------------------- */

.content-block-more {
	overflow: hidden;
	opacity: 1;
	transition:
		opacity .3s ease;
}
.content-block-more[hidden] {
	display: block;
	height: 0;
	opacity: 0;
	visibility: hidden;
}

/* ---------------------------------------------------------
   BUTTON
   --------------------------------------------------------- */

.content-read-more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 20px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--bs-primary);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}
.content-read-more:hover {
	text-decoration: underline;
}
.content-read-more-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: 18px;
	line-height: 1;
	transition:
		transform .3s ease;
}

/* Expanded state */

.content-block.is-expanded
	.content-read-more-icon {
	transform: rotate(45deg);
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767.98px) {
	.content-block.image-left,
	.content-block.image-right {
		grid-template-columns: 1fr;
	}

	.content-block.image-left
		.content-block-image,
	.content-block.image-right
		.content-block-image {
		order: 1;
	}

	.content-block.image-left
		.content-block-content,
	.content-block.image-right
		.content-block-content {
		order: 2;
	}
}
/* Fade Animation */

.card,
section,
.timeline-item{
    opacity:0;
    transform:translateY(30px);
    transition:.6s ease;
}

.fade-in{
    opacity:1;
    transform:translateY(0);
}
/* Back To Top */

#backToTop{
    position:fixed;
    right:30px;
    bottom:30px;
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    opacity:0;
    visibility:hidden;
    transition:.3s;
    z-index:999;
}
#backToTop.show{
    opacity:1;
    visibility:visible;
}
#backToTop i{width: 16px; height: 16px;}

/* Loader */

.page-loader{
    position:fixed;
    inset:0;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#fff;
    z-index:99999;
    transition:.5s;
}
.page-loader.loaded{
    opacity:0;
}

/*==================================================
=            Membership Hero
==================================================*/

/*==================================
Hero Heights
==================================*/

.membership-hero{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    background-size:cover;
    background-position:center;
    overflow:hidden;
}

.hero-small{
    min-height:400px;
}

.hero-medium{
    min-height:550px;
}

.hero-large{
    min-height:700px;
}

.hero-fullscreen{
    min-height:calc(100vh - 106px);
}
.membership-hero-overlay{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:inherit;
    position:relative;
}
.membership-hero h1{
    text-shadow:0 3px 20px rgba(0,0,0,.35);
}
.membership-hero .lead{
    font-size:1.25rem;
    max-width:700px;
    margin:0 auto;
}
.membership-hero .btn{
    border-radius:50px;
    padding:14px 42px;
    font-weight:600;
}

@media (max-width:991px){

    .membership-hero{
        min-height:500px;
    }
    .membership-hero h1{
        font-size:2.5rem;
    }
}

@media (max-width:576px){
    .membership-hero{
        min-height:420px;
    }
    .membership-hero h1{
        font-size:2rem;
    }
    .membership-hero .lead{
        font-size:1rem;
    }
}

/*=========================================
Membership CTA
=========================================*/

.membership-cta{
    position:relative;
    background-size:cover;
    background-position:center;
    overflow:hidden;
}
.membership-cta-overlay{
    padding:120px 0;
}
.membership-cta h2{
    text-shadow:0 3px 20px rgba(0,0,0,.35);
}
.membership-cta .lead{
    max-width:700px;
    margin:0 auto;
}
.membership-cta .btn{
    border-radius:50px;
}
.membership-cta-form{
    max-width:700px;
    margin:auto;
}
.membership-logos img{
    opacity:.8;
    transition:.3s;
    max-height:70px;
    width:auto;
}
.membership-logos img:hover{
    opacity:1;
    transform:scale(1.05);
}
@media(max-width:768px){
    .membership-cta-overlay{
        padding:80px 0;
    }
    .membership-cta h2{
        font-size:2.25rem;
    }
}

/*==================================
Scroll Indicator
==================================*/

.scroll-indicator{
    position:absolute;
    left:50%;
    bottom:30px;
    transform:translateX(-50%);
    display:flex;
    flex-direction:column;
    align-items:center;
    text-decoration:none;
    color:#fff;
    z-index:20;
}
.scroll-text{
    font-size:.85rem;
    letter-spacing:.2rem;
    text-transform:uppercase;
    margin-bottom:10px;
}
.scroll-mouse{
    width:32px;
    height:52px;
    border:2px solid #fff;
    border-radius:25px;
    position:relative;
}
.scroll-wheel{
    position:absolute;
    left:50%;
    top:10px;
    width:4px;
    height:8px;
    background:#fff;
    border-radius:3px;
    transform:translateX(-50%);
    animation:scrollWheel 2s infinite;
}
@keyframes scrollWheel{
    0%{
        opacity:1;
        transform:translate(-50%,0);
    }
    60%{
        opacity:0;
        transform:translate(-50%,16px);
    }
    100%{
        opacity:1;
        transform:translate(-50%,0);
    }
}
.scroll-indicator:hover{
    color:#fff;
}
.scroll-indicator:hover .scroll-mouse{
    transform:scale(1.05);
    transition:.25s;
}

/*=========================================
= Membership Pricing
=========================================*/

.membership-plans{
    position:relative;
}

.membership-plan{
    border-radius:20px;
    transition:.35s ease;
    /*overflow:hidden;*/
    position:relative;
}

.membership-plan:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 45px rgba(0,0,0,.12);
}
.featured-plan{
    border:3px solid var(--bs-primary);
    transform:scale(1.04);
}
.featured-plan:hover{
    transform:scale(1.04) translateY(-10px);
}
.membership-badge{
    position:absolute;
    right:20px;
    top:20px;
    background:var(--bs-primary);
    color:#fff;
    padding:8px 18px;
    border-radius:40px;
    font-size:.8rem;
    font-weight:600;
}
.membership-price{
    color:var(--bs-primary);
}
.membership-price small{
    font-size:1rem;
}
.membership-features{
    margin:0;
    padding:0;
}
.membership-features li{
    padding:12px 0;
    border-bottom:1px solid #eee;
}
.membership-features li:last-child{
    border-bottom:0;
}
.membership-plan .btn{
    border-radius:50px;
}
@media (max-width:992px){
    .featured-plan{
        transform:none;
    }
}

/*=========================================
= Membership Benefits
=========================================*/

.membership-benefits{
    position:relative;
}
.membership-content{
    font-size:1.05rem;
    line-height:1.9;
}
.membership-content ul{
    padding-left:1.25rem;
}
.membership-content li{
    margin-bottom:.75rem;
}
.benefit-card{
    background:#fff;
    border-radius:16px;
    padding:30px;
    text-align:center;
    transition:.35s;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
    height:100%;
}
.benefit-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(0,0,0,.12);
}
.benefit-icon{
    width:80px;
    height:80px;
    margin:0 auto 20px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--bs-primary);
    color:#fff;
    font-size:2rem;
}
.bg-primary .benefit-card{
    color:#212529;
}
.membership-benefits img{
    border-radius:20px;
}
@media (max-width:991px){
    .membership-benefits{
        text-align:center;
    }
}
/*=================================
Statistics
=================================*/

.membership-statistics{
    position:relative;
    background-size:cover;
    background-position:center;
}
.statistics-overlay{
    padding:40px 0;
    background:rgba(0,0,0,.35);
}
.statistics-gradient{
    background:linear-gradient(135deg,#00a800,#007d00);
}
.stat-card{
    padding:35px 20px;
    border-radius:16px;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(8px);
    transition:.35s;
}
.stat-card:hover{
    transform:translateY(-8px);
}
.stat-card:after{
    content:"";
    width: 1px;
    height: 80%;
    background:#999999;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
}
.col-lg-3:last-child .stat-card:after{display: none;}
.text-white .stat-card:after{display: none;}
.stat-icon{
    font-size:2.5rem;
    margin-bottom:20px;
}
.stat-number{
    font-size:3rem;
    font-weight:700;
}
.stat-card p{
    font-size:1.05rem;
}

@media(max-width:768px){
    .stat-number{
        font-size:2.3rem;
    }
}

/*=================================
Membership FAQ
=================================*/

.membership-faq{
    position:relative;
}
.membership-faq .accordion-item{
    border:0;
    border-radius:12px;
    margin-bottom:18px;
    overflow:hidden;
    box-shadow:0 5px 20px rgba(0,0,0,.06);
}
.membership-faq .accordion-button{
    font-weight:600;
    padding:22px;
}
.membership-faq .accordion-button:not(.collapsed){
    background:var(--primary);
    color:#fff;
}
.membership-faq .accordion-button:focus{
    box-shadow:none;
}
.membership-faq .accordion-body{
    padding:25px;
    line-height:1.8;
}
.membership-faq .faq-search{
    border-radius:50px;
    padding:14px 24px;
}
.membership-faq .badge{
    font-size:.75rem;
}
/* ===========================
   Utility Classes
=========================== */
 .flex {
    display: flex;
  }
.justify-start {
    justify-content:flex-start;
  }
.justify-center {
    justify-content: center;
  }
.justify-end {
    justify-content: flex-end;
  }
.bg-primary-soft{
    background:#eaf9fc;
}
.text-primary{
    color:var(--primary)!important;
}
.text-pink{
    color:var(--secondary);
}
.shadow-soft{
    box-shadow:var(--shadow);
}
.rounded-xl{
    border-radius:20px;
}
/* ===========================
   Animations
=========================== */

.fade-up{
    opacity:0;
    transform:translateY(30px);
    transition:all .8s ease;
}
.fade-up.show{
    opacity:1;
    transform:translateY(0);
}

/* ===========================
   Responsive
=========================== */

@media (max-width:992px){
.stat-card:after{display: none;}
.col-lg-2,.col-lg-3{width: 33.333%;}
}

@media (max-width:768px){
.col-lg-2,.col-lg-3{width: 50%;}
}

@media (max-width:576px){
.col-lg-2,.col-lg-3{width:100%;}
}

#site-header{
    transition: all .3s ease;
    z-index:9999;
}

.navbar-brand img{
    max-height:60px;
    width:auto;
}

.navbar-nav .nav-link{
    font-weight:500;
    color:#222;
    margin:0 12px;
    transition:.3s;
}

.navbar-nav .nav-link:hover,
.navbar-nav .current-menu-item>.nav-link{
    color:#ef6d5a;
}

.btn-primary{
    background:#ef6d5a;
    border-color:#ef6d5a;
}

.btn-primary:hover{
    background:#de5947;
    border-color:#de5947;
}
.txt-green{color: var(--bs-green-color);}
.bg-green{background: var(--bs-green-color);}
.bg-dpl{display: inline-block;
  width: auto;
  max-width: fit-content;
  padding: 6px 12px;
  margin: -36px auto 0;
  position: inherit;
}
.txt-link{text-transform: uppercase; font-weight: 600;text-decoration: none;}
input{padding: 10px;
  border-radius: 8px;
  border: 1px solid #ccc;;}
[type="submit"]{font-weight: 600; text-transform: uppercase;margin-left: 15px;padding: 10px 20px;}
.offcanvas{
    width:300px;
	z-index: 9999;;
}

/* Page Header */
.page-header {
    background: #f8f9fa;
}

.page-header h1 {
    color: #222;
}

/* Page Content */
.entry-content img {
    max-width: 100%;
    height: auto;
}

.entry-content p {
    margin-bottom: 1.5rem;
    line-height: 1.8;
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.entry-content ul,
.entry-content ol {
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
}
#testimonialCarousel .carousel-control-next-icon, #testimonialCarousel .carousel-control-prev-icon{filter: invert(1);}
.lead{font-weight: 400;}
.featured-image img {
    width: 100%;
    border-radius: 10px;
}

.page-links {
    margin-top: 2rem;
    font-weight: 600;
}

.sidebar .widget {
    margin-bottom: 2rem;
    padding: 1.5rem;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 0.5rem;
}

.sidebar .widget-title {
    margin-bottom: 1rem;
    font-size: 1.25rem;
}
.hero-overlay{background-image: linear-gradient(90deg,rgba(255,135,114.1) 30%,rgba(0,0,0,.01) 80%);}
#backToTop{padding: 20px;}
/* Blog Cards */

.blog-section .card{
    transition:.3s ease;
    overflow:hidden;
}

.blog-section .card:hover{
    transform:translateY(-6px);
}

.blog-section .card-img-top{
    height:240px;
    object-fit:cover;
}

.blog-section .badge{
    font-size:.75rem;
}

.blog-section h3{
    font-weight:700;
}

.blog-section .btn{
    margin-top:auto;
}
.btn, span.fw-semibold{text-transform: uppercase;}
.history-section .gy-5 .row >*{
  --bs-gutter-y: 3rem;
}
/* Pagination */

.nav-links{
    margin-top:40px;
}

.nav-links .page-numbers{
    display:inline-block;
    padding:10px 16px;
    margin:4px;
    border:1px solid #ddd;
    border-radius:5px;
    text-decoration:none;
}

.nav-links .current{
    background:#0d6efd;
    color:#fff;
    border-color:#0d6efd;
}

.nav-links a:hover{
    background:#f5f5f5;
}
/*=====================================
Business Cards
=====================================*/

.business-card{
    transition:.3s ease;
    overflow:hidden;
    border-radius:12px;
	opacity: 1;
}

.business-card:hover{
    transform:translateY(-8px);
}

.business-logo{
    height:220px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
	overflow: hidden;
}

.business-logo img{
    /*max-height:160px;*/
    width:auto;
}

.business-card .card-img-top{
    height:220px;
    object-fit:cover;
}

.business-card .badge{
    font-size:.75rem;
}

.business-card h3{
    font-weight:700;
}

.business-card .btn{
    border-radius:30px;
}

.business-card i{
    width:18px;
    text-align:center;
}

.business-card a{
    text-decoration:none;
}
.min-vh-100 {
  min-height: calc(100vh - 106px) !important;
}
/* Archive */

.archive .card{
    transition:.3s ease;
    border-radius:12px;
}

.archive .card:hover{
    transform:translateY(-6px);
}

.archive .card-img-top{
    height:240px;
    object-fit:cover;
}

.archive .badge{
    font-size:.75rem;
}

.archive h2{
    font-size:1.35rem;
    font-weight:700;
}

.archive nav .page-numbers{
    display:inline-block;
    margin:0 4px;
    padding:10px 16px;
    border:1px solid #dee2e6;
    border-radius:6px;
    text-decoration:none;
}

.archive nav .current{
    background:#0d6efd;
    color:#fff;
    border-color:#0d6efd;
}

.archive nav .page-numbers:hover{
    background:#f8f9fa;
}

.archive .card-body{
    display:flex;
    flex-direction:column;
}
.site-footer .custom-logo-link{filter: brightness(0) invert(1);}
@media (max-width:768px){
	.history-section .gy-5 .row{margin: auto;}
.history-section .gy-5 .row > * {
  --bs-gutter-y: 1rem;
}
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

	.content-grid.columns-4 .content-grid-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.content-grid.columns-3 .content-grid-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

	.content-grid .content-grid-inner {
		grid-template-columns: 1fr !important;
	}

}


/* ////////
Menu Custom
///////////*/

/* --- Base Layout --- */
.site-header {
    position: relative;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    z-index: 9999;
}
.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 15px;
}


.navbar {
    transition: .35s ease;
    padding: 1rem 0;
}
.site-header.scrolled {
    background: #fff;
    box-shadow: 0 10px 40px rgba(0,0,0,.08);
	position: fixed;

}
.dropdown-menu {
    border: 0;
    border-radius: 18px;
    box-shadow: 0 15px 50px rgba(0,0,0,.12);
    padding: 1rem;
    min-width: 260px;
}
.dropdown-item {
    padding: .7rem 1rem;
    border-radius: .5rem;
	border: none;
  outline: 0;
  box-shadow: none;

}
.dropdown-item:hover {
    background: var(--bs-primary);
    color: #fff;
}
.nav-link{
    font-weight:600;
    padding:.9rem 1rem;
    color:#1d1d1d;
}
.nav-link:hover{
    color:var(--bs-primary);
}
.btn-primary{
    border-radius:50px;
    padding:.8rem 1.6rem;
}
.dropdown-menu{
    opacity:0;
    transform:translateY(15px);
    transition:.25s;
    display:block;
    visibility:hidden;
}
.dropdown-menu.show{
    opacity:1;
    visibility:visible;
    transform:none;
}
/* First level */
.dropdown-menu{
    border:0;
    border-radius:.75rem;
    box-shadow:0 .5rem 2rem rgba(0,0,0,.12);
}
.dropdown-menu.show{margin-top: 0px}
.dropdown-menu.mega-menu-panel{border-radius:0;}

/* Nested dropdown */
.dropend>.dropdown-menu{
    top:0;
    left:100%;
    margin-left:.125rem;
}

/* Desktop hover */
@media (min-width:992px){
    .navbar .dropdown:hover>.dropdown-menu{
        display:block;
    }
    .navbar .dropend:hover>.dropdown-menu{
        display:block;
    }
}

.nav-link:focus-visible,.dropdown-menu {
  outline: 0;
  box-shadow: none;
}
.dropend>.dropdown-menu{
    top:0;
    left:100%;
    margin-left:.125rem;
}
@media(min-width:992px){
.dropdown:hover>.dropdown-menu{
display:block;
}

.dropend:hover>.dropdown-menu{
display:block;
}
}
@media(max-width:991px){
.dropdown-menu{
position:static;
float:none;
box-shadow:none;
padding-left:1rem;
}
.dropend>.dropdown-menu{
margin-left:1rem;
}
}

/* =========================================================
   Desktop Dropdown - Hover with Delay
   ========================================================= */

@media (min-width: 992px) {
	.navbar-nav > .dropdown,
	.navbar-nav .dropend {
		position: relative;
	}

	/* Dropdown base state */
	.navbar-nav .dropdown > .dropdown-menu,
	.navbar-nav .dropend > .dropdown-menu {
		display: block;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		transition:
			opacity 180ms ease,
			transform 180ms ease,
			visibility 0s linear 180ms;
	}

	/* First-level dropdown */
	.navbar-nav > .dropdown > .dropdown-menu {
		transform: translateY(0px);
		transition-delay: 180ms;
	}

	/* Nested dropdown */
	.navbar-nav .dropend > .dropdown-menu {
		transform: translateX(8px);
		transition-delay: 0s;
	}

	/* ---------------------------------------------------------
	   Open
	   --------------------------------------------------------- */
	.navbar-nav > .dropdown:hover > .dropdown-menu,
	.navbar-nav > .dropdown > .dropdown-menu.show {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
		transition-delay: 150ms;
	}
	.navbar-nav .dropend:hover > .dropdown-menu,
	.navbar-nav .dropend:focus-within > .dropdown-menu {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		transform: translateX(0);
		transition-delay: 150ms;
	}
}

@media (min-width: 992px) {
	.navbar-nav > .dropdown > .dropdown-menu::before {
		content: "";
		position: absolute;
		top: -10px;
		left: 0;
		width: 100%;
		height: 10px;
	}
	.navbar-nav .dropend > .dropdown-menu::before {
		content: "";
		position: absolute;
		top: 0;
		left: -10px;
		width: 10px;
		height: 100%;
	}
}
@media (max-width: 1199px) {
	.navbar-nav .dropdown > .dropdown-menu, .dropdown-menu {
		display: none;
		visibility: visible;
		opacity: 1;
		transform: none;
		pointer-events: auto;
	}
	.navbar-nav .dropdown > .dropdown-menu.show ul {padding: 0}
    .navbar-nav .dropdown > .dropdown-menu.show li::marker  {content:none;}
	.navbar-nav .dropdown > .dropdown-menu.show,.dropdown-menu.show {
		display: block;
		position: relative;
		transform: translate3d(0px, 0px, 0px) !important;
	}
}

/* =========================================================
   MOBILE NAVIGATION
   Click / Tap to Open Only
   ========================================================= */

@media (max-width: 1199px) {

	/* ---------------------------------------------------------
	   Disable all hover opening
	--------------------------------------------------------- */

	.site-header .navbar-nav .dropdown:hover > .dropdown-menu,
	.site-header .navbar-nav .dropend:hover > .dropdown-menu {
		display: none;
	}

	/* Allow Bootstrap's .show class to control opening */
	.site-header .navbar-nav .dropdown > .dropdown-menu.show,
	.site-header .navbar-nav .dropend > .dropdown-menu.show {
		display: block;
		transform: translate3d(-16px, 8px, 0px) !important;
	}


	/* ---------------------------------------------------------
	   Navigation
	--------------------------------------------------------- */

	.site-header .navbar-nav {
		width: 100%;
		margin: 0;
		padding: 0;
	}

	.site-header .navbar-nav > .nav-item {
		width: 100%;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	}

	.site-header .navbar-nav > .nav-item:last-child {
		border-bottom: 0;
	}
	.navbar-nav .dropdown-menu {
  position: static !important;
}

	/* ---------------------------------------------------------
	   Top-Level Links
	--------------------------------------------------------- */

	.site-header .navbar-nav > .nav-item > .nav-link {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 54px;
		padding: 0.85rem 0;
		color: var(--bs-dark);
		font-size: 1rem;
		font-weight: 600;
		text-decoration: none;
		cursor: pointer;
	}
	.site-header .navbar-nav > .nav-item > .nav-link:hover {
		color: var(--bs-dark);
	}
	.site-header .navbar-nav > .nav-item > .nav-link:focus {
		color: var(--bs-primary);
	}


	/* ---------------------------------------------------------
	   Dropdown Toggle
	--------------------------------------------------------- */

	.site-header .navbar-nav .dropdown-toggle {
		cursor: pointer;
	}
	.site-header .navbar-nav .dropdown-toggle::after {
		margin-left: auto;
		transition: transform 0.2s ease;
	}

	/* Closed */

	.site-header .navbar-nav .dropdown-toggle[aria-expanded="false"]::after {
		transform: rotate(0deg);
	}

	/* Open */

	.site-header .navbar-nav .dropdown-toggle[aria-expanded="true"]::after {
		transform: rotate(180deg);
	}


	/* ---------------------------------------------------------
	   Dropdown
	--------------------------------------------------------- */

	.site-header .navbar-nav .dropdown-menu {
		position: static !important;
		width: 100%;
		margin: 0 !important;
		padding: 0 0 0.5rem;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none !important;
		transform: none !important;
	}

	/*
	 * Bootstrap controls visibility.
	 */

	.site-header .navbar-nav .dropdown-menu:not(.show) {
		display: none;
	}

	.site-header .navbar-nav .dropdown-menu.show {
		display: block;
	}


	/* ---------------------------------------------------------
	   Dropdown Items
	--------------------------------------------------------- */

	.site-header .navbar-nav .dropdown-menu .dropdown-item {
		display: flex;
		align-items: center;
		width: 100%;
		min-height: 48px;
		padding: 0.75rem 1rem;
		border-radius: 0.5rem;
		color: var(--bs-dark);
		font-size: 0.95rem;
		font-weight: 500;
		white-space: normal;
		cursor: pointer;
	}
	.site-header .navbar-nav .dropdown-menu .dropdown-item:hover {
		background: transparent;
		color: var(--bs-dark);
		position: relative;
	}
	.site-header .navbar-nav .dropdown-menu .dropdown-item:focus {
		background: rgba(var(--bs-primary-rgb), 0.08);
		color: var(--bs-primary);
		position: relative;
	}

	/* ---------------------------------------------------------
	   Nested Dropdowns
	--------------------------------------------------------- */

	.site-header .navbar-nav .dropend {
		width: 100%;
	}
	.site-header .navbar-nav .dropend > .dropdown-menu {
		position: static !important;
		width: 100%;
		margin: 0 !important;
		padding: 0 0 0.35rem 1rem;
		transform: none !important;
		box-shadow: none !important;
	}
	.site-header .navbar-nav .dropend > .dropdown-menu:not(.show) {
		display: none;
	}
	.site-header .navbar-nav .dropend > .dropdown-menu.show {
		display: block;
	}

	/* ---------------------------------------------------------
	   Nested Toggle Arrow
	--------------------------------------------------------- */

	.site-header .navbar-nav .dropend > .dropdown-toggle::after {
		margin-left: auto;
		transform: rotate(-90deg);
		transition: transform 0.2s ease;
	}
	.site-header .navbar-nav .dropend > .dropdown-toggle[aria-expanded="true"]::after {
		transform: rotate(0deg);
	}

	/* ---------------------------------------------------------
	   Icons
	--------------------------------------------------------- */

	.site-header .navbar-nav .menu-title {
		display: inline-block;
	}
	.site-header .navbar-nav .nav-link > i,
	.site-header .navbar-nav .dropdown-item > i {
		flex-shrink: 0;
	}

	/* ---------------------------------------------------------
	   Badges
	--------------------------------------------------------- */

	.site-header .navbar-nav .badge {
		margin-left: auto !important;
		font-size: 0.7rem;
	}


	/* ---------------------------------------------------------
	   Descriptions
	--------------------------------------------------------- */

	.site-header .navbar-nav .dropdown-description {
		margin-top: 0.15rem;
		font-size: 0.75rem;
		line-height: 1.4;
	}


	/* ---------------------------------------------------------
	   CTA
	--------------------------------------------------------- */

	.site-header .navbar-nav .btn {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		margin: 1rem 0 0;
		padding: 0.85rem 1.25rem;
		border-radius: 50rem;
	}


	/* ---------------------------------------------------------
	   Accessibility
	--------------------------------------------------------- */

	.site-header .navbar-nav .nav-link:focus-visible,
	.site-header .navbar-nav .dropdown-item:focus-visible,
	.site-header .navbar-toggler:focus-visible {
		outline: 3px solid rgba(var(--bs-primary-rgb), 0.25);
		outline-offset: 2px;
	}
}

/* =========================================================
   MEGA MENU
   ========================================================= */

@media (min-width: 992px) {
.site-header .navbar-nav
		.dropdown-menu
		.dropdown-submenu > .dropdown-menu {
		position: absolute;
		top:0;
		left: 95%;
		min-width: 220px;
		margin: 0;
        transition-delay: 150ms;
		transform: translateX(6px);
	}
	.site-header .navbar-nav > .mega-menu-item {
		position: static;
	}
	.site-header .mega-menu-panel {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		display: block;
		width: 100%;
		padding-top: 12px;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		transform: translateY(0px);
		transition:
			opacity 180ms ease,
			transform 180ms ease,
			visibility 0s linear 180ms;
	}

	.site-header .mega-menu-item:hover > .mega-menu-panel,
	.site-header .mega-menu-item > .mega-menu-panel.show {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		transform: translateY(-15px);
		transition-delay: 150ms;
	}
	.site-header .mega-menu-inner {
		width: min(1320px, calc(100% - 30px));
		margin-inline: auto;
		padding: calc(var(--bs-gutter-x) * .5);
		/*! background: #fff; */
		/*! border: 1px solid rgba(0, 0, 0, .08); */
		/*! border-radius: 16px; */
		/*! box-shadow: 0 20px 60px rgba(0, 0, 0, .12); */
	}

	.site-header .mega-menu-grid {
		display: grid;
		grid-template-columns:
			repeat(4, minmax(0, 1fr));
		gap: 30px;
	}

	.site-header .mega-menu-column {
		min-width: 0;
	}

	.site-header .mega-menu-column-heading {
		display: flex;
		align-items: center;
		margin-bottom: 12px;
		color: #111;
		font-size: .78rem;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: .08em;
	}

	.site-header .mega-menu-links {
		display: block;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.site-header .mega-menu-links .dropdown-item {
		display: flex;
		align-items: center;
		padding: 8px 0;
		color: #212529;
		background: transparent;
		font-size: .95rem;
		font-weight: 500;
		transition:
			color .2s ease,
			transform .2s ease;
	}

	.site-header .mega-menu-links .dropdown-item:hover,
	.site-header .mega-menu-links .dropdown-item:focus {
		color: var(--bs-primary);
		background: transparent;
		transform: translateX(3px);
	}
}

@media (max-width: 1199px) {
	.site-header .mega-menu-panel {
		position: static;
		display: none;
		padding: 0;
		visibility: visible;
		opacity: 1;
		transform: none;
		pointer-events: auto;
	}

	.site-header .mega-menu-item > .mega-menu-panel.show {
		display: block;
	}

	.site-header .mega-menu-inner {
		width: 100%;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	.site-header .mega-menu-grid {
		display: block;
	}

	.site-header .mega-menu-column {
		padding: 8px 0;
	}

	.site-header .mega-menu-column-heading {
		padding: 10px 16px;

		font-size: .8rem;
	}

	.site-header .mega-menu-links {
		padding-left: 12px;
	}

	.site-header .mega-menu-links .dropdown-item {
		padding: 10px 16px;
	}

}
