/*
|--------------------------------------------------------------------------
|  DESIGN TOKENS
|--------------------------------------------------------------------------
*/
:root {
	--size-1:  0.0625rem;
	--size-2:  0.125rem;
	--size-3:  0.1875rem;
	--size-4:  0.25rem;
	--size-5:  0.3125rem;
	--size-6:  0.375rem;
	--size-7:  0.4375rem;
	--size-8:  0.5rem;
	--size-9:  0.5625rem;
	--size-10: 0.625rem;

	--size-11: 0.6875rem;
	--size-12: 0.75rem;
	--size-13: 0.8125rem;
	--size-14: 0.875rem;
	--size-15: 0.9375rem;
	--size-16: 1rem;
	--size-17: 1.0625rem;
	--size-18: 1.125rem;
	--size-19: 1.1875rem;
	--size-20: 1.25rem;

	--size-21: 1.3125rem;
	--size-22: 1.375rem;
	--size-23: 1.4375rem;
	--size-24: 1.5rem;
	--size-25: 1.5625rem;
	--size-26: 1.625rem;
	--size-27: 1.6875rem;
	--size-28: 1.75rem;
	--size-29: 1.8125rem;
	--size-30: 1.875rem;

	--size-31: 1.9375rem;
	--size-32: 2rem;
	--size-33: 2.0625rem;
	--size-34: 2.125rem;
	--size-35: 2.1875rem;
	--size-36: 2.25rem;
	--size-37: 2.3125rem;
	--size-38: 2.375rem;
	--size-39: 2.4375rem;
	--size-40: 2.5rem;

	--size-41: 2.5625rem;
	--size-42: 2.625rem;
	--size-43: 2.6875rem;
	--size-44: 2.75rem;
	--size-45: 2.8125rem;
	--size-46: 2.875rem;
	--size-47: 2.9375rem;
	--size-48: 3rem;
	--size-49: 3.0625rem;
	--size-50: 3.125rem;

	--c-white: #FFFFFF;
	--c-black: #000000;

	--c-cream-100: #F4F1DF;
	--c-cream-200: #EAEBE0;
	--c-yellow-500: #FFC107;

    --c-teal-800: #012B2A;
	--c-teal-900: #022423;
	--c-teal-500: #619E9B;

	--c-border-light: rgba(152, 162, 179, 0.25);
	--c-border-medium: rgba(152, 162, 179, 0.5);
	--c-border-strong: #98A2B3;
	--c-allergy: rgb(255 181 0 / 46%);

	--font-body: "Work Sans", sans-serif;
	--font-headline-sans: "Kudryashev Headline Sans", serif;
   	--font-display-sans: "Kudryashev Display Sans", serif;
	--font-display-regular: "Kudryashev Display", serif;
    --font-review: "Crimson Text", serif;

	--fs-xs: 0.875rem;
	--fs-sm: 0.9rem;
	--fs-base: 1rem;

	--space-xs: 0.45rem;
	--space-sm: 0.75rem;
	--space-md: 1.25rem;
	--space-lg: 2rem;
	--space-xl: 2.5rem;

	--radius-pill: 999px;
	--radius-sm: var(--size-6);

	--container-max: 1280px;
	
}

:root {
	--space-10: 10px;
	--space-20: 20px;
	--space-30: 30px;
	--space-40: 40px;
	--space-50: 50px;
	--space-60: 60px;
	--space-70: 70px;
	--space-80: 80px;
	--space-90: 90px;
	--space-100: 100px;
}

.pt-10 { padding-top: var(--space-10); }
.pb-10 { padding-bottom: var(--space-10); }

.pt-20 { padding-top: var(--space-20); }
.pb-20 { padding-bottom: var(--space-20); }

.pt-30 { padding-top: var(--space-30); }
.pb-30 { padding-bottom: var(--space-30); }

.pt-40 { padding-top: var(--space-40); }
.pb-40 { padding-bottom: var(--space-40); }

.pt-50 { padding-top: var(--space-50); }
.pb-50 { padding-bottom: var(--space-50); }

.pt-60 { padding-top: var(--space-60); }
.pb-60 { padding-bottom: var(--space-60); }

.pt-70 { padding-top: var(--space-70); }
.pb-70 { padding-bottom: var(--space-70); }

.pt-80 { padding-top: var(--space-80); }
.pb-80 { padding-bottom: var(--space-80); }

.pt-90 { padding-top: var(--space-90); }
.pb-90 { padding-bottom: var(--space-90); }

.pt-100 { padding-top: var(--space-100); }
.pb-100 { padding-bottom: var(--space-100); }

html {
    font-size: 16px;
}

.dcb-layout {
	a {
		text-decoration: none !important;
	}
}

.dcb-card-excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 15px;
    line-height: 1.3em;
}

/*
|--------------------------------------------------------------------------
| HOMEPAGE HERO
|--------------------------------------------------------------------------
*/
.hero_section {
    height: 86vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.heading_btn {
	.content-wrap {
		display: flex;
		justify-content: space-between;
		align-items: center;

		.button-link {
			margin-right: 0;
		}
	}
}

img.fitvector {
    max-width: 328px;
    padding-top: 30px;
}

.amazing-location .col-md-6.left {
    padding-right: 80px;
}

.ds-vertical-align.first .col-md-6:first-child {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dark-btn .btn-view__cta a,
.dark-btn .btn-view__cta a span {
    color: var(--c-white);
}

.dark-btn .btn-view__cta a::before {
    background: var(--c-teal-800);
}

.has-bg-video.hero_section [data-aos],
.has-bg-video.hero_section [data-aos^=fade][data-aos^=fade] {
	animation: none !important;
    transition: none;
    transform: none;
    opacity: 1;
}

.nearby {
	ul {
		list-style: none !important;
		padding: 0;
		padding-left: 0 !important;
		margin: 0;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 30px 40px;
	}

    ul li {
        font-family: var(--font-display-sans);
        font-size: 22px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
        padding-bottom: 14px;
    }

	ul li a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		text-decoration: none;
		position: relative;
		padding-right: 2px;
	}

	ul li a::after {
		content: "";
		width: 8px;
		height: 14px;
		background-color: var(--c-cream-200);
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='14' viewBox='0 0 8 14' fill='none'%3E%3Cpath d='M0.750237 0.75L5.95449 5.9545C6.05895 6.05897 6.14182 6.18299 6.19836 6.31948C6.2549 6.45597 6.284 6.60226 6.284 6.75C6.284 6.89774 6.2549 7.04403 6.19836 7.18052C6.14182 7.31701 6.05895 7.44103 5.95449 7.5455L0.749986 12.75' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='14' viewBox='0 0 8 14' fill='none'%3E%3Cpath d='M0.750237 0.75L5.95449 5.9545C6.05895 6.05897 6.14182 6.18299 6.19836 6.31948C6.2549 6.45597 6.284 6.60226 6.284 6.75C6.284 6.89774 6.2549 7.04403 6.19836 7.18052C6.14182 7.31701 6.05895 7.44103 5.95449 7.5455L0.749986 12.75' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
		flex-shrink: 0;
	}

	ul li a::after {
		transition: transform 0.3s ease;
	}

	ul li a:hover::after {
		transform: translateX(4px);
	}
}

.ds-vertical-align .col-md-6.right {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.has-bg-video.hero_section .content-wrap {
	display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-direction: column;
    height: 79vh;
    z-index: 9;
    position: relative;
}

/* .has-bg-video.hero_section:before {
    position: absolute;
    content: '';
    left: 0;
    right: 0;
    bottom: 0;
    height: 80px;
    background-color: var(--c-white);
    z-index: 9;
    opacity: 0.35;
} */

#event-map, 
#attraction-map,
.leaflet-container {
    font-family: var(--font-body);
}

/*
|--------------------------------------------------------------------------
| CATEGORY TAG
|--------------------------------------------------------------------------
*/
.speire-view__category {
    background-color: var(--c-teal-500);
    display: inline-block;
    padding: var(--size-4) var(--size-16);
    padding-bottom: var(--size-3);
    border-radius: var(--radius-pill);
    margin: 0;
    text-decoration: none;
    font-size: var(--size-14);
    width: max-content;
}


/*
|--------------------------------------------------------------------------
| CLIP CAROUSEL
|--------------------------------------------------------------------------
*/
.dcb-carousel-layout,
.dcb-swiper-related {
    -webkit-clip-path: inset(0 -100vw 0 0);
    clip-path: inset(0 -100vw 0 0);
}

.swiper {
    overflow: visible; /* Default to allow peeking */
}

.hideoverflow {
	overflow: hidden !important;
}

.swiper.dcb-no-peek {
    overflow: hidden; /* Hide partial slides when peeking is disabled */
}

/*
|--------------------------------------------------------------------------
| SINGLE POST TYPE - HERO SECTION
|--------------------------------------------------------------------------
*/
.hero-section {
    .speire-view__item {
		img {
			aspect-ratio: 60 / 40;
			background-position: center;
			background-size: cover;
			width: 100%;
		}
    }

	.gallery-swiper {
		-webkit-clip-path: inset(0 -100vw 0 0);
		clip-path: inset(0 -100vw 0 0);

		.swiper-slide img {
			aspect-ratio: 60 / 40;
			background-position: center;
			object-fit: cover;
			width: 100%;
		}
	}
}

.flexible-content-image {
    aspect-ratio: 60 / 40;
    object-fit: cover;
}


/*
|--------------------------------------------------------------------------
| STANDARD CARD
|--------------------------------------------------------------------------
*/
.dcb-card-content {
    padding-top: var(--size-10);
}

section.dark .speire-view__menu-meta svg path {
    stroke: var(--c-white);
}

/*
|--------------------------------------------------------------------------
| SINGLE POST
|--------------------------------------------------------------------------
*/
.single-post {
	
    .featured-image-container img {
        display: block;
        width: 100%;
        margin: auto;
        aspect-ratio: 16 / 9;
        object-fit: cover;
		max-height:600px;
    }
	
	.post-date {
    	color: var(--c-cream-200);
		margin-bottom: var(--size-18);
	}
	
	.post-categories a {
		background-color: var(--c-teal-500);
		display: inline-block;
		padding: var(--size-4) var(--size-16);
		border-radius: var(--radius-pill);
		margin: 0 var(--size-8);
		text-decoration: none;
		font-size: var(--size-14);
	}
	
	.post-tags .bg-info {
		background-color: var(--c-teal-500) !important;
		display: inline-block;
		padding: var(--size-4) var(--size-16) !important;
		margin: 0 var(--size-3);
		text-decoration: none;
		font-size: var(--size-14);
		color: var(--c-white) !important;
	}
	
	.post-categories a,
	.post-tags .bg-info:hover {
		color: var(--c-white);
	}
	
	.featured-image-container {
		margin: 0 var(--size-50);
	}
	
	.share-section {
		text-align: center;
	}
	
	.share-section p {
		font-weight: 400;
	}
	
	.post-tags {
		margin-top: var(--size-30);
	}

	/* Bullets */
	.blog-content ul {
		list-style: none;
		padding-left: 0;
		margin: 2.5rem 0;
	}

	.blog-content ul li {
		position: relative;
		padding-left: 1.75rem;
		margin-bottom: 0.9rem;
		line-height: 1.35em;
	}

	.blog-content ul li::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: var(--size-20);
		height: var(--size-20);
		background-image: url("/clients/ballyroe/wp-content/themes/ballyroe-lodge-child/assets/img/star-icon.webp");
		background-repeat: no-repeat;
		background-size: contain;
		filter: brightness(0) invert(1);
 		opacity: 0.85;
	}

	/* Share Buttons */
	.share-buttons {
		display: inline-flex;
		gap: var(--size-10);
	}
	
	.share-buttons > a {
		display: flex;
		width: var(--size-34);
		height: var(--size-34);
		align-items: center;
		justify-content: center;
		background-color: var(--c-teal-500);
		border-radius: var(--radius-pill);
	}
	
	.share-buttons svg:not(:root) {
		width: var(--size-20);
	}
	
	.author-box.text-center {
		padding-top: var(--size-48);
		border-top: var(--size-1) solid var(--c-border-medium);
	}
	
	.author-box.text-center h6 {
		font-size: var(--size-16);
		color: var(--c-cream-200);
		margin-top: var(--size-18) !important;
	}
	
	.ballyroe-icon img {
		width: 50px;
		height: auto;
	}

	.author-box img {
		border-radius: 50%;
	}
}


/*
|--------------------------------------------------------------------------
| SINGLE ROOM
|--------------------------------------------------------------------------
*/
.single-room {

	/*** Hero - Gallery Section ***/
	.dcb-swiper-room-hero .swiper-slide {
		opacity: 0;
		transform: translateY(50px);
		transition: opacity 0.4s ease-out, transform 0.4s ease-out;
	}

	.dcb-swiper-room-hero .swiper-slide-active, .dcb-swiper-room-hero .swiper-slide-duplicate-active, .dcb-swiper-room-hero .swiper-slide-duplicate-next, .dcb-swiper-room-hero .swiper-slide-next {
		opacity: 1 !important;
		transform: translateY(0);
	}

	/*** Guest Section ***/
	.guest-review-icon {
		padding-bottom: var(--size-10);
	}

	.guest-review-title {
		font-family: var(--font-review);
		font-size: var(--size-25);
		font-weight: 700;
		letter-spacing: -1px;
		margin-bottom: 0 !important;
	}

	.guest-review {
		font-family: var(--font-review);
		font-style: normal;
		font-size: var(--size-30);
		line-height: 1.2em;
	}
}


/*
|--------------------------------------------------------------------------
| SINGLE MENU
|--------------------------------------------------------------------------
*/
.single-menu {
	.menu-items-list h5,
	.item-price .h5 {
		font-weight: 400;
		text-transform: uppercase;
		letter-spacing: 1px;
	}

	.menu-hero img {
		display: block;
		width: 100%;
		margin: auto;
		object-fit: cover;
		aspect-ratio: 16 / 9;
	}

	.menu-hero__meta {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.menu-hero__days svg,
	.menu-hero__time svg {
		position: relative;
		top: -1px;
	}

	.allergy {
		background-color: var(--c-allergy);
		text-align: center;
	}

    .menu-hero__buttons {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: var(--size-30);

		.btn-view__cta a {
			width: 200px;
		}
    }
}

/*
|--------------------------------------------------------------------------
| SINGLE DEAL
|--------------------------------------------------------------------------
*/
.single-promotion .hero-section {
	.swiper-slide img {
		background-position: center;
		aspect-ratio: 7 / 6;
		object-fit: cover;
		width: 100%;
	}
}

.single-promotion {
	.expiry-date {
		padding-top: 1.5rem;
	}

	.read-more.terms {
        border-bottom: var(--size-1) solid var(--c-cream-200);
        text-decoration: none;
        padding-bottom: var(--size-5);
        display: flex !important;
        justify-content: space-between;
	}

	.icon.up svg {
		transform: rotate(180deg);
	}
}


/*
|--------------------------------------------------------------------------
|  PAGINATION
|--------------------------------------------------------------------------
*/
.swiper-pagination {
	margin-top: var(--size-10);
	position: relative;
	text-align: inherit;
}

.swiper-pagination-bullet {
	background: rgba(255,255,255,0.5);
	border-radius: 50%;
	display: inline-block;
	height: var(--size-8);
	margin: 0 var(--size-4);
	margin-left: 0px;
	opacity: 1;
	transition: all 0.2s ease;
	width: var(--size-8);
}

.dcb-carousel-layout .swiper-pagination-bullet-active,
.swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: var(--c-cream-100);
	border-radius: 100px;
	opacity: 1;
	width: var(--size-25);
}

/*
|--------------------------------------------------------------------------
|  AMENTIES
|--------------------------------------------------------------------------
*/
.dcb-card-minimal img {
    margin-bottom: var(--size-10);
}

img.satellite, img.cots {
    transform: scale(0.95);
}

img.upon, img.Smoking, img.Wi-Fi {
    transform: scale(0.8);
}

.amenity-item.dcb-card-minimal:hover {
    transform: none;
}

.amenity-item.dcb-card-minimal:hover .dcb-card-image {
    transform: none;
}


/*
|--------------------------------------------------------------------------
|  VIDEO
|--------------------------------------------------------------------------
*/
.room-video {
	width: 100%;
	padding: 0;
	position: relative;
}

.room-video iframe {
	width: 100%;
	height: 400px;
}

.video-container {
	.play-button {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		font-size: 80px;
		color: var(--c-white);
		opacity: 0.8;
		transition: opacity 0.3s;
	}

	.play-overlay {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.3);
	}

	.video-placeholder {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-size: cover;
		background-position: center;
		cursor: pointer;
	}

	.video-player {
		width: 100%;
	}
}


/*
|--------------------------------------------------------------------------
|  ATTRACTIONS
|--------------------------------------------------------------------------
*/
.attraction-icons .col img {
	background-color: #fff;
	border-radius: 50%;
	margin-bottom: var(--size-15);
	padding: var(--size-10);
	width: 80px;
}

.attraction-icons h4 {
	margin-bottom: var(--size-12);
}

.attraction-sidebar {
	padding: var(--size-25) var(--size-30);
	background-color: var(--c-cream-200);
	color: var(--c-teal-800);
}

.attraction-sidebar a {
    color: var(--c-teal-800);
    font-weight: 600;
}


/*
|--------------------------------------------------------------------------
|  SINGLE ATTRACTION
|--------------------------------------------------------------------------
*/
.single-attraction .hero-section {
	.swiper-slide img {
		background-position: center;
		aspect-ratio: 7 / 6;
		object-fit: cover;
		width: 100%;
	}
}

.single-attraction{ 

	.attraction-distance {
		padding-top: 1.5rem;
	}	

	.attraction-taxonomy {
		background-color: var(--c-teal-500);
		display: inline-block;
		padding: var(--size-2) var(--size-20);
		border-radius: var(--radius-pill);
		margin: 0 var(--size-8);
		text-decoration: none;
		font-size: var(--size-14);
		margin-bottom: 15px;
	}
}


/*
|--------------------------------------------------------------------------
|  SINGLE EVENT
|--------------------------------------------------------------------------
*/

section.event-intro {
    position: relative;
}

.single-event {
	.eventbadge {
		position: relative;
		margin-bottom: var(--size-25);
		display: inline-block;
	}

	.event-dt {
		font-weight: 600;
	}

	.btn-view__cta {
		margin-top: var(--size-25);
	}

	.custom-video-wrapper {
		position: relative;
		cursor: pointer;
	}

	.video-thumbnail {
		background-size: cover;
		background-position: center;
		height: 0;
		padding-bottom: 56.25%;
		position: relative;
	}

	.custom-play-btn {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 80px;
		height: 80px;
		background: rgba(0,0,0,0.6);
		border-radius: 50%;
		border: none;
		cursor: pointer;
	}

	.custom-play-btn::after {
		content: '';
		position: absolute;
		left: var(--size-32);
		top: var(--size-24);
		border-left: var(--size-22) solid var(--c-white);
		border-top: var(--size-14) solid transparent;
		border-bottom: var(--size-14) solid transparent;
	}
}


.leaflet-container {
    font-family: var(--font-body);
}

.btn.disabled,
.btn[aria-disabled="true"] {
    pointer-events: none;
    opacity: 0.6 !important;
    cursor: not-allowed;
}

/*
|--------------------------------------------------------------------------
|  EVENTS
|--------------------------------------------------------------------------
*/
.dcb-card-link a {
    text-decoration: none;
}

.casetext {
    text-transform: none !important;
    font-size: initial !important;
    letter-spacing: 0px !important;
    font-weight: 400 !important;
}

.center-filter .dcb-filter-bar {
    justify-content: center;
}

/*
|--------------------------------------------------------------------------
|  FOOTER
|--------------------------------------------------------------------------
*/
section.footer .ballyoelogo {
    width: 120px;
    margin-bottom: var(--size-20);
}

section.footer-bar .container {
    font-size: var(--size-14);
    padding-bottom: var(--size-15);
    padding-top: var(--size-15);
    border-top: var(--size-1) solid;
}

.share-buttons a, 
section.footer-bar a, 
section.footer .col-md-2 a {
    text-decoration: none;
}

.accent-footer.widget h4 {
    color: var(--c-teal-500);
}

section.footer h4 {
    font-family: var(--font-body);
    font-weight: 400 !important;
    font-size: var(--size-18) !important;
	margin-bottom: var(--size-20);
}

.accent-footer.widget p {
    font-size: var(--size-14);
}

.accent-footer.widget li {
    font-size: var(--size-14);
	margin-bottom: var(--size-5);
}

ul.policies {
    text-align: center;
}


/*
|--------------------------------------------------------------------------
|  SEARCH RESULTS
|--------------------------------------------------------------------------
*/

.search-results {
	.featured-image {
		aspect-ratio: 16 / 9;
		background-repeat: no-repeat;
		background-size: cover;
		position: relative;
	}

	article.search-item {
		display: grid;
		gap: var(--space-20);
	}

	article h4, article p {
		margin-bottom: 0;
	}

	article.search-item a {
		text-decoration: none;
	}

	.button-link {
		width: max-content;
	}

	.mb-10 {
		margin-bottom: 3rem;
	}
}

/*
|--------------------------------------------------------------------------
|  FORMS
|--------------------------------------------------------------------------
*/
.gfield_label.gform-field-label, .gform-theme--framework .field_sublabel_above .gform-field-label--type-sub {
    color: var(--c-white) !important;
    opacity: 1;
    font-weight: 400 !important;
    font-size: var(--size-13) !important;
    margin-bottom: var(--size-5);
}

.gform-button--width-full,
.gform-theme--foundation .gfield input, 
.gform-theme--foundation .gfield select {
    block-size: var(--size-44) !important;
    vertical-align: middle;
    align-items: center;
    border-radius: var(--size-8) !important;
	outline: none !important;
}

.gform-theme--foundation .gform_fields,
.gform-theme--foundation .gform-grid-row {
    row-gap: var(--size-20) !important;
}

.gform-theme--foundation .ginput_container_consent [type="checkbox"] {
    block-size: auto !important;
}

.gform-button--width-full {
    background-color: var(--c-teal-500) !important;
    border-color: var(--c-teal-500) !important;
}

.gform_required_legend {
	display: none;
}

.form-medium .gform_wrapper.gform-theme {
    max-width: 680px;
    margin: auto;
    padding-top: var(--size-20);
}

section.dark {
	.ginput_container_consent label {
		color: var(--c-white) !important;
	}

	.ginput_container_consent label a {
		color: var(--c-teal-500);
		text-decoration: none;
	}
}

/*
|--------------------------------------------------------------------------
|  GENERAL
|--------------------------------------------------------------------------
*/
.mobile-navigation__nav > li > a,
.mobile-navigation__nav .sub-menu a {
	text-decoration: none;
}

.double-heading h2 {
    margin-bottom: 0 !important;
}

.pod.content.mx-auto .dcb-filter-bar {
    justify-content: center;
}

.featured-image img {
	display: block;
	width: 100%;
	margin: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	max-height:600px;
}

.negative-margin .content-wrap {
    margin-top: -180px;
}

.align-center {
	
	h2, h3 {
		text-align: center;
	}
	
    text-align: center;
}

.medium .content-wrap {
    max-width: 700px;
    margin: auto;
}

.wp-image-2823 {
    width: 100%;
    object-fit: cover;
    height: 464px;
}

.wp-image-2814 {
    width: 100%;
    object-fit: cover;
    height: 376px;
}

.top-bottom-edge-toe-edge {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.content-wrap {
	height: 100%;
}

.ballyroe-reviews ul.stars {
    display: none;
}

.iframe-booking iframe {
    max-width: 85%;
}

.custom-video {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    cursor: pointer;
}

.equal-wide-btn span.button-link {
    margin-right: 0;
    width: 250px;
    text-align: center;
	
}

.custom-video img {
    width:100%;
    height:100%;
    object-fit:cover;
}

.custom-video iframe,
.custom-video video {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}

.video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: none;
    border: none;
    cursor: pointer;
    width: 100px;
    z-index: 9;
}

.custom-video:after {
    position: absolute;
    content: '';
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    background-color: rgb(0 0 0 / 40%);
    z-index: 1;
}

/* Page Gallery */
.rl-gallery .rl-gallery-link img {
    aspect-ratio: 1 / 1;
    height: auto;
    width: 100%;
    object-fit: cover;
}

.page-gallery .splide {
    -webkit-clip-path: inset(0 -100vw 0 0);
    clip-path: inset(0 -100vw 0 0);
}

.page-gallery .splide__track--draggable {
    overflow: visible;
}

.page-gallery {
    overflow: hidden !important;
}

.splide__pagination {
    margin-top: 10px !important;
    padding: 0 !important;
    right: auto !important;
    position: relative !important;
    bottom: 0 !important;
    display: block !important;
}

.splide__pagination__page.is-active {
    transform: none !important;
    background: #f4f1df !important;
    border-radius: 100px !important;
	opacity: 1 !important;
    width: var(--size-25);
}

.splide__pagination__page {
    transition: all 0.2s ease !important;
}

/*
|--------------------------------------------------------------------------
|  ACCENT BUTTONS
|--------------------------------------------------------------------------
*/

.button-link {
    color: var(--c-cream-200) !important;
    border-color: var(--c-cream-200) !important;
    border-width: var(--size-1) !important;
    border-style: solid;
    border-radius: var(--size-6) !important;
    padding-top: var(--size-10) !important;
    padding-bottom: var(--size-11) !important;
    padding-left: var(--size-32) !important;
    padding-right: var(--size-32) !important;
    background: transparent;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
    --bs-btn-line-height: auto;
}

.button-link:hover {
	background-color: transparent !important;
	color: var(--c-teal-800) !important;
}

.button-link::before {
    background: var(--c-white);
	content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    transition: left 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: -1;
}

.button-link:hover::before {
    left: 0;
}

.filled .button-link::before {
    left: 0 !important;
}

.filled .button-link {
	color: var(--c-teal-800) !important;
}

section.dark {
	.filled .button-link {
		background-color: var(--c-white) !important;
	}
}

/** Light Section Buttons **/
section.light {
	.button-link {
		color: var(--c-teal-900) !important;
		border-color: var(--c-teal-900) !important;
	}

	.button-link:hover {
		background-color: transparent !important;
		color: var(--c-white) !important;
		transition: all 0.5s ease !important;
	}

	.button-link::before {
		background: var(--c-teal-900);
	}

	.button-link:hover::before {
		left: 0;
	}

	.filled .button-link {
		background-color: var(--c-teal-900) !important;
	}

	.filled .button-link::before {
		left: 0 !important;
	}

	.filled .button-link {
		color: var(--c-white) !important;
	}
}

.has-bg-video.hero_section .button-link {
    font-size: var(--size-22);
    background-color: var(--c-teal-900);
    border-color: var(--c-teal-900) !important;
    border-style: solid;
	border-radius: var(--size-8) !important;
    padding-top: var(--size-15);
    padding-bottom: var(--size-20) !important;
    padding-left: var(--size-50) !important;
    padding-right: var(--size-50);
    width: 300px;
	margin-right: 0 !important;
    font-family: var(--font-headline-sans);
    line-height: 1.2em;
    letter-spacing: var(--size-1);
	text-align: center;
}

.has-bg-video.hero_section .button-link:hover {
	background-color: var(--c-teal-800) !important;
	border-color: var(--c-teal-800) !important;
	color: var(--c-white) !important;
}

.has-bg-video.hero_section .button-link::before {
	display: none;
}


/* ====================== GLOBAL STICKY RIGHT WIDGET ====================== */
#sticky-right-widget-container {
    position: fixed;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 99;
    transition: all 0.3s ease;
}

/* Wrapper invisible */
.sticky-widget-area {
    background: transparent;
    padding: 8px;
    box-shadow: none;
}

/* ====================== BOOKING BUTTON - ICON ALWAYS VISIBLE ====================== */
.booking-button a {
    display: flex;
    align-items: center;
    height: 56px;
    background-color: #006160;
    border-radius: 10em;
    padding: var(--size-6);
    text-decoration: none;
    color: #EAEBE0;
    font-size: var(--size-15);
    overflow: hidden;
    width: 56px; 
    transition: width 0.45s cubic-bezier(0.4, 0, 0.2, 1),
                border-radius 0.45s ease;
    justify-content: center;
    gap: 0;
}

.booking.icon {
    flex-shrink: 0;
    background-color: #012b2a;
    padding: 10px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--size-44);
    height: var(--size-44);
}

.booking.icon svg {
    width: var(--size-22);
    height: var(24);
    stroke: #EAEBE0;
}

/* Text takes ZERO space until hover */
.booking.text {
    width: 0;
    overflow: hidden;
    white-space: nowrap;
    padding: 0;
    opacity: 0;
    transition: all 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

/* HOVER STATE - text appears to the right + pushes icon left */
.booking-button a:hover {
    width: 160px;
    border-radius: 10em;
    justify-content: flex-start;
}

.booking-button a:hover .booking.text {
    width: 115px;
    padding: 0 var(--size-18) 0 var(--size-8);
    opacity: 1;
}

.h6, h6 {
    line-height: 150%;
}

.rooms-grid {
	.dcb-card-standard .dcb-card-image-wrapper img {
		aspect-ratio: 16 / 10.6;
		height: 100%;
		object-fit: cover;
	}
}

.contact-text {
    font-size: 2rem;
    line-height: 1.2em;

	.medium-x {
		font-size: 1.35rem;
	}

	.small {
		display: block;
		font-size: 16px;
		line-height: 1.2em;
	}
}

.contact-form-section .gform_wrapper {
    padding: 30px 40px;
    background-color: var(--c-teal-900);
    border-radius: var(--size-12);
}

/* Icon Boxes */
section.icon-boxes {
    margin-bottom: var(--space-40);
    margin-left: -10px;
    margin-right: -10px;
}

.icon-box h5 {
    font-size: 16px;
    font-weight: 600;
}

.icon {
    gap: 5px;
    display: flex;
    align-items: center; 

    h5 {
      margin-bottom: 0 !important;
    }

	img {
		width: 44px;
		padding: 6px;
		background-color: var(--c-cream-200);
		border-radius: 12px;
	}
}

@media all and (min-width: 980px) {

	.no-bullets-desktop .swiper-pagination  {
		display: none;
	}

	.legal-content .content-wrap {
		background-color: var(--c-teal-800);
		padding: var(--space-70);
		border-radius: var(--space-20);
	}

	h6 {
		font-size: var(--size-20);
		line-height: 1.4em;
		font-weight: 400;
	}

	.heading-sub h1 {
		margin-bottom: var(--size-5) !important;
	}

	.add-spacing {
		padding-left: 60px;
	}

	.inner-title {
		margin-bottom: var(--size-45) !important;
	}

	.align_middle .row {
		align-items: center;
	}

	.align_middle.add-padding-left .col-md-6.left {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		padding-right: 70px;
	}

	.add-padding-right .col-md-6.right .content-wrap,
	.add-padding-right .col-md-8.right .content-wrap  {
		display: flex;
		justify-content: center;
		padding-left: 70px;
		flex-direction: column;
	}

	.align_middle .col-md-6, .align_middle .col-md-4 {
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}

	.end-to-end.button .col-md-4.right {
		display: flex;
		justify-content: flex-end;
	}

	.inlinebtns .content-wrap {
		display: flex;
		gap: var(--size-15);
	}

	.align_bottom .row {
		align-items: flex-end;
	}

	.align_bottom .col-md-4.right {
		display: flex;
		align-items: flex-end;
		flex-direction: column;
	}

	.align-right .col-md-4.right {
		text-align: right;
	}
}

@media all and (max-width: 980px){

	.single-menu {

		.menu-hero__buttons {
			flex-direction: column;
			gap: var(--size-15);
		}
	}

	.nearby {
		ul {
			grid-template-columns: 1fr;
			margin-top: var(--size-15);
			margin-bottom: var(--size-15);
		}
	}

	.dcb-carousel-layout, .dcb-swiper-related {
		padding: 0;
	}

	.heading_btn {
		.content-wrap {
			justify-content: space-between;
			flex-direction: column;
			align-items: flex-start;
		}
	}

	.contact-text {
		margin-bottom: var(--size-40);
		font-size: 1.2em;

		.small {
			font-size: 1.2rem;
		}
	}

	/* Sticky Button */

    .booking-button a {
        flex-direction: column;          /* stack icon + text */
        width: auto;                     /* no fixed width */
        height: auto;
        padding: 10px 12px;
        justify-content: center;
        border-radius: 12px;
    }

    /* Always show text */
    .booking.text {
        width: auto;
        opacity: 1;
        padding: 0;
        font-size: 12px;
    }

    /* Remove hover animation entirely */
    .booking-button a:hover {
        width: auto;
        justify-content: center;
		border-radius: 12px;
    }

    .booking-button a:hover .booking.text {
        width: auto;
        padding: 0;
        opacity: 1;
    }

    /* Optional: slightly smaller icon for mobile balance */
    .booking.icon {
        width: 36px;
        height: 36px;
        padding: 8px;
    }

    .booking.icon svg {
        width: 18px;
        height: 18px;
    }

	.mb-10.heading {
		margin-bottom: var(--size-20);
	}

	section.icon-boxes {
		margin-bottom: var(--space-40);
	}

	.fitvector {
		display: none;
	}

	body section h1 {
		font-size: var(--size-45) !important;
	}

	.heading-sub h1 {
		margin-bottom: var(--size-5) !important;
	}

	body h2 {
		font-size: var(--size-40) !important;
	}

	.mobipad {
		padding: 0 var(--size-10);
	}

	.dcb-carousel-layout .swiper {
		padding-top: 0;
		padding-bottom: 0;
	}

	.amazing-location .col-md-6.left {
		padding-right: var(--size-14);
		padding-bottom: var(--size-20);
	}

	section.room-intro {
		padding-left: var(--size-20);
		padding-right: var(--size-20);
		padding-bottom: var(--size-40) !important;
	}

	section.room-amenities {
		padding-left: 0;
		padding-right: 0;
		padding-bottom: var(--size-10) !important;

		h2 {
			padding-bottom: var(--size-10) !important;
		}
	}

	.legal-content .content-wrap {
		background-color: var(--c-teal-800);
		padding: var(--space-30);
		border-radius: var(--space-20);
	}
	
	section.room-intro h2 {
		padding-bottom: var(--size-10) !important;
	}

    section.room-section {
        padding-bottom: 0 !important;
    }

	section.room-section.heading {
		padding-top: var(--size-40) !important;
	}

	section.room-section.no-image {
		padding-bottom: var(--size-30) !important;
	}

	section.room-section.with-image {
		padding-bottom: var(--size-50) !important;
	}

	.amenity-col{
		padding-bottom: 0;
	}

	section.room-section img {
		margin-bottom: var(--size-15);
	}

	section.room-review {
		padding-top: var(--size-40) !important;
		padding-bottom: var(--size-40) !important;
	}

	.guest-review {
		font-size: var(--size-25) !important;
	}

	.guest-review-icon {
		margin-top: var(--size-15);
	}

	section.room-content {
		padding: var(--size-40) var(--size-22) !important;
	}

	section.menu-items {
		padding: 0px var(--size-10);
	}

	.menu-feat-img {
		padding: 0 var(--size-20);
		padding-bottom: var(--size-30);
	}

	.dietary-key {
		margin-bottom: var(--size-40);
	}

    section.more-menus {
        padding: 0 var(--size-10);
        padding-bottom: var(--size-20) !important;
    }

	.dcb-card.dcb-card-menu {
		padding-bottom: var(--size-20);
	}

	.menu-item .item-price {
		display: flex;
		flex-direction: column;
	}

	.dcb-card-link {
		flex-direction: column;
	}

	.dcb-card-event .dcb-card-read-more {
		padding-left: 0;
	}

	.dcb-event-meta {
		margin-bottom: var(--size-10);
	}

	[data-instance="room-hero"] {
		padding-top: var(--size-40) !important;
	}

	section.event-intro {
		padding-top: var(--size-40) !important;
		padding-left: var(--size-20);
		padding-right: var(--size-20);
	}

	section.event-content {
		padding-left: var(--size-5);
		padding-right: var(--size-5);
	}

	section.more-events h2 {
		margin-bottom: var(--size-15);
	}

	.single-event {
		.eventbadge {
			margin-bottom: var(--size-10);
		}

		.btn-view__cta {
			margin-bottom: var(--size-40);
		}

		section.event-map-section {
			padding-left: var(--size-20);
			padding-right: var(--size-20);
		}
	}

	.attraction-intro {
		padding-top: var(--size-35);
		padding-bottom: var(--size-35);
	}

	.attraction-content,
	.attraction-map-section {
		padding-top: var(--size-40);
		padding-bottom: 0;
		padding-left: var(--size-20);
		padding-right: var(--size-20);
	}

	.attraction-flexi-content {
		padding-left: var(--size-5);
		padding-right: var(--size-5);
		padding-bottom: var(--size-20);
	}

	#attraction-map {
		height: 350px !important;
	}

	.attraction-map-section {
		padding-bottom: var(--size-40) !important;
	}

	.attraction-flexi-content .flexible-content-image {
		margin-bottom: var(--size-10);
	}

	.attraction-flexi-content h2 {
		margin-bottom: var(--size-15) !important;
	}

	section.more-attractions {
		padding-bottom: var(--size-45) !important;
		padding-left: var(--size-8);
		padding-right: var(--size-8);
	}

	.main-content {
		padding-top: var(--size-40);
	}

	.attraction-sidebar {
		margin-top: var(--size-15);
	}

	.events-intro {
		padding-top: var(--size-40) !important;
	}

	.events-listing .dcb-filter-bar {
		margin-bottom: 0px;
	}

	#event-map {
		height: 350px !important;
	}

	.mobile-navigation__nav .hide-submenu svg,
	.mobile-navigation__nav > li .menu-arrow svg {
		filter: invert(1);
	}
	
	.removepadding .dcb-carousel-layout .swiper {
		padding-left: 0;
	}

	.video-play svg {
		width: 70px;
	}
	
	.removeonmobile {
		display: none;
	}

	.rl-gallery.rl-basicslider-gallery .rl-gallery-item {
		width: calc(73.3333% - 13.3333px) !important;
	}

	.pt-10 {
		padding-top: var(--size-10) !important;
	}

	.pb-10 {
		padding-bottom: var(--size-10) !important;
	}

	.pb-40 {
		padding-bottom: var(--size-40) !important;
	}

	.flip-columns .row {
		flex-direction: column-reverse;
	}

	.mobipad.equal-wide-btn p {
		margin-bottom: 0;
	}
}

@media all and (max-width: 500px) {
	.fullwidth-image img {
		object-fit: cover;
		height: 220px;
	}

	.removerightcol .col-md-4.right,
	.removerightcol .col-md-6.right,
	.removeleftcol .col-md-4.left,
	.removeleftcol .col-md-6.left {
		display: none;
	}

	.mrbp {
		padding-bottom: 0 !important;
	}

	.mpt-10 { padding-top: var(--space-10) !important; }
	.mpt-20 { padding-top: var(--space-20) !important; }
	.mpt-30 { padding-top: var(--space-30) !important; }
	.mpt-40 { padding-top: var(--space-40) !important; }
	.mpt-50 { padding-top: var(--space-50) !important; }
	.mpt-60 { padding-top: var(--space-60) !important; }
	.mpt-70 { padding-top: var(--space-70) !important; }
	.mpt-80 { padding-top: var(--space-80) !important; }
	.mpt-90 { padding-top: var(--space-90) !important; }
	.mpt-100 { padding-top: var(--space-70) !important; }

	.mpb-10 { padding-bottom: var(--space-10) !important; }
	.mpb-20 { padding-bottom: var(--space-20) !important; }
	.mpb-30 { padding-bottom: var(--space-30) !important; }
	.mpb-40 { padding-bottom: var(--space-40) !important; }
	.mpb-50 { padding-bottom: var(--space-50) !important; }
	.mpb-60 { padding-bottom: var(--space-60) !important; }
	.mpb-70 { padding-bottom: var(--space-70) !important; }
	.mpb-80 { padding-bottom: var(--space-80) !important; }
	.mpb-90 { padding-bottom: var(--space-90) !important; }
	.mpb-100 { padding-bottom: var(--space-100) !important; }

}

/* =============================================
   Subscribe Section
   ============================================= */

.subscribe-section {
	background-color: var(--c-cream-200);
	padding: 60px 0;
}

.subscribe-header {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--size-16);
	margin-bottom: var(--size-32);
}

.subscribe-header h3 {
	color: var(--c-teal-900);
	margin: 0;
	line-height: 1.3;
}

.subscribe-icon {
	flex-shrink: 0;
}

/* Form row — desktop: single row with input, checkbox, button */
.subscribe-form-row {
	max-width: 900px;
	margin: 0 auto;
}

.subscribe-fields,
.subscribe-section .mc4wp-form-fields {
	display: flex;
	align-items: flex-start;
	gap: var(--size-20);
	flex-wrap: wrap;
}

.subscribe-fields input[type="email"],
.subscribe-section .mc4wp-form input[type="email"] {
	flex: 1 1 260px;
	padding: var(--size-12) var(--size-16);
	border: 1.5px solid var(--c-teal-800);
	border-radius: var(--size-8);
	background: transparent;
	font-size: var(--size-16);
	color: var(--c-teal-800);
	outline: none;
}

.subscribe-fields input[type="email"]::placeholder,
.subscribe-section .mc4wp-form input[type="email"]::placeholder {
	color: var(--c-teal-800);
	opacity: 0.6;
}

.subscribe-consent,
.subscribe-section .mc4wp-form label:has(input[type="checkbox"]) {
	display: flex;
	align-items: flex-start;
	gap: var(--size-8);
	font-size: var(--size-14);
	color:  var(--c-teal-800);
	line-height: 1.4;
	flex: 1 1 220px;
	cursor: pointer;
}

.subscribe-consent input[type="checkbox"],
.subscribe-section .mc4wp-form input[type="checkbox"] {
	margin-top: 3px;
	accent-color: var(--c-teal-800);
	flex-shrink: 0;
}

.subscribe-submit-wrap {
	flex: 0 0 auto;
	text-align: center;
}

.subscribe-btn,
.subscribe-section .mc4wp-form input[type="submit"],
.subscribe-section .mc4wp-form button[type="submit"] {
	display: inline-block;
	padding: var(--size-12) var(--size-28);
	background-color: var(--c-teal-800);
	color: var(--c-cream-200);
	border: none;
	border-radius: var(--size-8);
	font-size: var(--size-16);
	font-weight: 600;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.subscribe-btn:hover,
.subscribe-section .mc4wp-form input[type="submit"]:hover,
.subscribe-section .mc4wp-form button[type="submit"]:hover {
	opacity: 0.85;
}

.subscribe-subtext,
.subscribe-section .mc4wp-form .subscribe-subtext {
	font-size: var(--size-14);
	color: var(--c-teal-800);
	margin-top: var(--size-8);
	margin-bottom: 0;
}

.subscribe-admin-notice {
	text-align: center;
	margin-top: var(--size-16);
	padding: var(--size-10) var(--size-16);
	background: var(--c-cream-100);
	border: 1px solid var(--c-yellow-500);
	border-radius: var(--size-6);
	font-size: var(--size-14);
	color: var(--c-teal-900);
}

.subscribe-admin-notice a {
	color: var(--c-teal-900);
}

/* Responsive — stack on mobile */
@media (max-width: 768px) {
	.subscribe-header {
		flex-direction: column;
		text-align: center;
	}

	.subscribe-header h2 {
		font-size: var(--size-24);
	}

	.subscribe-fields,
	.subscribe-section .mc4wp-form-fields {
		flex-direction: column;
	}

	.subscribe-fields input[type="email"],
	.subscribe-section .mc4wp-form input[type="email"] {
		width: 100%;
	}

	.subscribe-submit-wrap {
		width: 100%;
	}

	.subscribe-btn,
	.subscribe-section .mc4wp-form input[type="submit"],
	.subscribe-section .mc4wp-form button[type="submit"] {
		width: 100%;
	}

	.subscribe-consent, .subscribe-section .mc4wp-form label:has(input[type="checkbox"]),
	.subscribe-fields input[type="email"], .subscribe-section .mc4wp-form input[type="email"] {
		flex: auto;
	}
	
}

