.share-buttons {
	display: none; /* Hide the share button before its added onto page */
}

.shared-detail {
	--font-family-display: var(--font-display);
	--font-family-body: var(--font-body);
	--background-color: var(--gray-100);
	--background-color-alt: var(--gray-200);
	--text-color: #333033;
	--text-grey: #2D2F2F;
	--text-color-alt: var(--gray-100);
	--visit-btn-bg: var(--sw-button-primary-bg);
	--visit-btn-bg-alt: var(--sw-button-primary-bg-hover);
	--dropdown-menu-text: var(--gray-800);
	--nearby-tab-bg: var(--sw-button-secondary-bg);
	--nearby-tab-bg-hover: var(--sw-button-secondary-bg-hover);
	--nearby-tab-bg-selected: var(--sw-selected-color);
	--accent-color: var(--sw-key-color);
	--grey-color: #393b3a;
	--light-grey: #efeeee;

	margin: 0 auto var(--space-10);

	.share-buttons {
		display: block;
	}
}

/*----- Detail layout -----*/
.detail-2-col {
    display: block;
    gap: var(--space-5);
}

.shared-detail .detail-drawers {
	> div.booking,
	> div.descriptionTab,
	> div.gradingsTab,
	> div.awardsTab,
	> div.amenitiesTab,
	> dl.map-tab,
	> div.listingudfs,
	> div.unitsTab,
	> div.tripadvisorTab,
	> div.eventsTab,
	> div.hostedTab,
	> div.socialTab,
	> div.openingsTab,
	> div.openingsAdditionalText,
	> div.offersTab {
		border-bottom: 1px solid var(--text-color);
	}
}


@media (min-width: 64em) {
    .detail-2-col, 
	.detail-bottom.detail-drawers {
        max-width: var(--width-base);
        margin: 0 auto;
        display: grid;
        grid-template-columns: calc(100% - 205px) auto;
    }
}

/*----- Detail top -----*/

.shared-detail .detail-top {
	background-image: url(../svg/img_background_intro_cta_1.svg), url(../svg/img_background_intro_cta_2.svg);
    background-position: left bottom 40%, right center;
    background-repeat: no-repeat, no-repeat;
    background-color: unset;
    background-size: 10%;

	.detail-top-inner {
		display: flex;
		flex-direction: column;
		max-width: var(--width-base);
		margin: 0 auto var(--space-6);
		padding: 0 var(--space-5);
	}

	.back-share-panel {
		display: flex;
		flex-direction: column;
		max-width: var(--width-base);
		margin: var(--space-5) 0 var(--space-3);
	
		a {
			color: var(--text-color);
			display: flex;
			align-items: center;
			gap: var(--space-3);
			line-height: 1;
	
			i {
				font-size: .6875rem;
				color: var(--sw-key-color);
			}
		}
	
		.arrow {
			display: none;
		}
	}

	.title-wrapper {
		display: flex;
		align-items: center;
		gap: var(--space-3);
        margin: var(--space-1) 0 var(--space-3);
	}

	h1 {
		font-family: var(--font-bold);
		font-size: var(--text-2xl);
		line-height: var(--leading-none);
		color: var(--text-color);
		margin: 0;
	}

	.trip-builder {
		a {
			display: flex;
			justify-content: center;
			align-items: center;
			background: url(../svg/tripbuilder_btn.svg);
			width: 36px;
			height: 32px;
			background-size: cover;
			transition: transform var(--transition-appendix);
		}

		i {
			font-size: .8125rem;
		}

		a[data-type="Add"] i {
			font-weight: 300;
		}

		span a[data-type="View"] {
			display: none;
		}

		span a[data-type="Remove"] {
			background: url(../svg/tripbuilder_btn_remove.svg);
			background-size: cover;

			i {
				color: var(--white);
			}
		}
	}
}

@media (hover: hover) {
	.shared-detail .detail-top .trip-builder a[data-type="Add"]:hover {
		background: url(../svg/tripbuilder_btn_remove.svg);
		width: 36px;
		height: 32px;
		background-size: cover;

		i {
			color: var(--white);
			font-weight: 900;
		}

		@media (min-width: 64em) {
			width: 45px;
			height: 40px;
		}
	}
}

@media (min-width: 40em) {
	.shared-detail .back-share-panel .arrow {
		width: 15px;
		display: inline;
	}
}

@media (min-width: 64em) {
	.shared-detail .detail-top {
		background-position: left center, right bottom 30%;
        background-size: auto;
		.detail-top-inner {
			padding: 0;

			.title-wrapper {
				margin: var(--space-2) 0 30px;
			}

			h1 {
				font-size: 3.4375rem;
			}

			.trip-builder {
				a {
					width: 45px;
					height: 40px;
				}

				i {
					font-size: var(--text-sm);
				}
			}
		}
	}
}

/*----- Gallery -----*/
.shared-detail .detail-gallery {
	order: 1; /* Always want gallery coming first on mobile */
	position: relative;
	flex: 1 1 50%;

	img { 
		width: 100%;
		height: 100%;
		object-fit: cover;
		background: var(--white);
	}

	iframe { 
		position: absolute;
		top: 0; 

		&.mfp-iframe {
			display: block;
			width: 100%;
			height: 100%;
		}
	}

	.glide__slide {
		position: relative;

		[img-cont-video] {
			width: 100%;
			height: 0;
			padding-bottom: 67.3456%;
			overflow: hidden;
		}
	}

	.mouseoverlay {
		position: absolute;
		left: 0;
		top: 0;
		right: 0;
		bottom: 0;
		background: rgba(238, 238, 238, 0.5);
	}

	.glide__arrows{
		display: flex;
		justify-content: center;
		gap: 10px;
		height: 62px;
        width: 100px;
        background: #36A188E5;
		clip-path: polygon(6.96% 100%, 100% 100%, 100% 0%, 0% 19.25%, 6.96% 100%);
		position: absolute;
		bottom: 0;
        right: 0;
		align-items: center;
		margin: 0;
		pointer-events: none;

		.glide__arrow {
			height: 30px;
			width: 30px;
			margin: var(--space-2) 0 0;

			i {
				font-size: var(--text-base);
			}
		}
	}

	[data-glide-slider-thumbnails]  {
		margin: var(--space-6) 0 0;
	
		.glide__slides {
			overflow: visible;
			column-gap: var(--space-5);
	
			.slide {
				min-width: calc((100% / 5) - 10px);
				margin: 0 !important;
	
				&.glide__slide--active img {
					border-bottom: 4px solid var(--text-color);
				}

				img {
					padding: 0 0 2px;
				}
	
				picture button.shared-play-button {
					width: 37%;
					height: auto;
					display: block;
		
					i {
						font-size: 11px;
						padding: 5px 0 10px;
					}
				}
			}
		}
	}
}

@media (width <= 64em) {
	.shared-detail .detail-gallery [data-glide-slider-thumbnails] {
		margin: 10px 0 0;

		.glide__slides {
			flex-wrap: wrap;
			row-gap: var(--space-3);
			column-gap: 6px;
			width: 100% !important;
			transform: translate3d(0, 0, 0) !important;
		}
	}
}

@media (min-width: 40em) {
	.shared-detail .detail-gallery [data-glide-slider-thumbnails]  {
		margin: var(--space-5) 0 0;
		padding: 0;

		.glide__slides .slide {
			min-width: 80px;

			img {
				padding: 0 0 .875rem;
			}
		}
	}
}

@media (min-width: 64em) {
	.shared-detail .detail-gallery .glide__arrows{
		height: 109px;
        width: 176px;
        background: var(--green);

		.glide__arrow {
			margin: var(--space-4) 0 0;
			height: 50px;
			width: 50px;

			i {
				font-size: var(--text-xl);
			}
		}
	}
}

/*----- Detail right col -----*/
.shared-detail .detail-right {
	.location {
		font-family: var(--font-reg);
		line-height: 1.625;
		padding: 0 var(--space-5);
	
		a {
			color: var(--text-color);
		}
	}

	.detail-info-bar {
		max-width: 1200px;
		margin: 0 auto;
		padding: var(--space-5);

		ul {
			font-family: var(--font-family-body);
			font-size: var(--text-lg);
			font-weight: var(--font-weight-normal);
			line-height: var(--leading-tight);
			margin: 0;
			list-style: none;
	
			li {
				display: inline-block;
				width: calc(50% - 8px);
				justify-content: space-between;
				align-items: center;
				margin-bottom: var(--space-2);
				color: var(--sw-key-color);
				font-size: var(--text-sm);
				transition: all .2s;
				background-color: var(--white);
				font-family: var(--font-bold);
				line-height: 1;
				letter-spacing: 0.1em;
				border-radius: 30px;

				&.book-online {
					background-color: #BA1658;
					color: var(--white);

					a {
						color: var(--white);
						border-color: #BA1658;

					}
				}

				&:hover a {
					text-decoration: none; /*reboot.css override*/
				}
	
				&:last-child {
					margin-bottom: 0;
				}
	
				> div {
					display: flex;
					align-items: baseline;
				}
	
				.two-line-wrap {
					display: block;
					width: 100%;
				}
	
				a {
					width: 100%;
					display: flex;
					justify-content: center;
					align-items: center;
					color: var(--sw-key-color);
					padding: var(--space-4) var(--space-6);
					border: 1px solid var(--sw-key-color);
					border-radius: 30px;
				}
	
				img {
					margin-right: var(--space-1);
					height: 25px;
					width: 25px;
				}
	
				.meta-label {
					margin-right: var(--space-1);
					font-weight: bold;
				}
			}
		}

		.split-pane:not(:has(*)) {
			display: none;
		}

		.split-pane:last-child {
			margin-bottom: 0;
		}

		dl,
		dt,
		dd {
			font-family: var(--font-family-body);
			font-size: var(--text-lg);
			font-weight: var(--font-weight-normal);
			line-height: var(--leading-tight);
			color: var(--text-color);
		}

		dl dt {
			float: left;
			margin-right: var(--space-1);
			font-weight: bold;
		}

		.open-table {
			margin-bottom: var(--space-3);
		}

		.pricing-info {
			.price-amount {
				font-size: 2rem;
				font-weight: bold;
			}

			p {
				margin-top: -10px;
			}
		}
		
		.check-availability,
		.book-online-external {
			width: 100%;
		}

		ul.hours-of-operation li {
			margin-bottom: 0;
			justify-content: space-between;

			&.current {
				font-weight: var(--font-weight-bold);
			}
		}
	}

	.social-icons {
		display: flex;
		list-style: none;
		margin-left: 0;
		padding: 0 var(--space-5);

		li {
			margin-right: var(--space-5);
			margin-bottom: 0;
		}

		a {
			font-size: var(--text-xl);
			color: var(--text-color);
		}
	}
}

@media (min-width: 64em) {
	.shared-detail .detail-right {
		.location {
			padding: 0;
			margin-bottom: var(--space-4);

			a {
				color: var(--text-grey);
			}
		}

		.detail-info-bar {
			padding: 0;
			margin-bottom: var(--space-4);

			ul li {
				width: 100%;
				display: flex;
				margin-bottom: var(--space-4);
				text-transform: uppercase;
			}
		}

		.social-icons {
			padding: 0;;
		}
	}
}

/*----- Detail drawers -----*/
.shared-detail .drawer-title {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	background-color: var(--white);
	padding: 0;
	margin-bottom: var(--space-4);
	width: 100%;
	font-family: var(--font-header);
	font-size: 1.875rem;
	line-height: var(--leading-normal);
	color: var(--text-color);
}

.shared-detail .redeemable {
	display: flex;
	flex-direction: column;
}

.shared-detail .detail-drawers,
.shared-detail .redeemable{
    padding: 0 var(--space-5);
	
	.drawer-button {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		padding: 0;
		margin-bottom: var(--space-3);
		font-family: var(--font-header);
		font-size: 1.875rem;
		line-height: var(--leading-normal);
		color: var(--text-color);
		background-color: transparent;
		gap: 15px;

		i {
			font-size: var(--text-base);
			padding: 7px;
			color: var(--white);
			background-color: var(--sw-key-color);
			border-radius: var(--rounded-circle);
			border: .0938rem solid #DADADE;
			transition: transform var(--transition-appendix);
			box-shadow: 0px 1px 3px 0px #0000001A;
		}
	}

	.drawer {
		&.active {
			.drawer-button i {
				transform: rotate(180deg);
			}

			> .content {
				display: block;
				margin: 0 0 30px;
			}
		}

		> .content {
			display: none;
		}
	}

	> div {
		padding: var(--space-10) var(--space-5);
	}

	:is(.core-styles, .contentRender_name_plugins_core_textbox) p {
		font-family: var(--font-body);
		color: var(--text-grey);
		line-height: 1.75;

		strong {
			font-family: var(--font-bold);
		}
	}

	/*----- openings -----*/
	.openingsTab {
		width: 100%;
		color: var(--text-grey);
		p, span {
			line-height: 1.75;
		}

		.openings-table {
			background: #efeeee;
			box-sizing: border-box;
			clear: both;
			display: block;
			padding: 15px 15px 15px;
			width: 100%;
			margin-bottom: 30px;
		}

		table.dates {
			width: 100%;

			>tbody {
				tr {
					display: block;
					list-style: none outside none;
					margin: 0 0px 10px 0;
					float: left;
					width: 100%;
					clear: both;
					border-bottom: 1px dashed #c2c3c7;
					padding: 0 0 10px 0;

					&:last-of-type {
						border: none;
						padding: 0;
						margin: 0;
					}

					&.opening {
						>span.name {
							font-weight: bold;
						}
					}

					>span.date {
						clear: both;
						display: inline;
						margin: 0;
						padding: 0 0 5px;
						width: 100%;
						font-weight: bold;
					}

					>span.name {
						margin: 0;
						overflow: auto;
						padding: 0 0 5px;
						width: 100%;
						clear: both;
						float: left;
					}
				}
			}
		}

		.openingsTextExists {
			border-bottom: 0;
			padding: var(--space-10) 0 0 !important;
		}
	}
	
	> .openingsAdditionalText .openingsText{
		clear: both;
		margin: 0 0 0;
	}

	/*----- guide prices -----*/
	.unitsTab {
		border-bottom:0;

		.content {
			background: #D9D9D94D;
			padding: 26px 30px;
		}

		div.pricingAdditionalText {
			margin: 15px 0;
		}

		& .numberOfRooms {
			display: none !important;
			margin: 0 0 15px;
			width: 100%;
		}
		
		& table {
			clear: both;
			margin: 0 0 0;
			display: block;
	
			& thead {
				width: 100%;
	
				& tr > th {
					text-align: left;
					font-weight: bold;
					font-size: 14px;
					padding: 0 8px 10px 0;
				}
			}
	
			& tbody {
				width: 100%;
				vertical-align: baseline;
				& tr > td {
					border-top: 1px solid #f5f3f3;
					font-size: 14px;
					line-height: 25px;
					padding: 10px 0;
				}
	
				& tr.masterunit > td {
					border-top: 1px solid #bbbcbe;
				}
	
				& tr > td.tariff {
					text-transform: lowercase;
	
					& .free {
						text-transform: none;
					}
				}
	
				& tr > td.unit {
					padding: 10px 10px 10px 0;
				}
			}
		}

		p {
			font-family: var(--font-reg);
			font-size: var(--text-base);
		}
	}

	/*----- offers -----*/
	.offersTab .content {
		position: relative;
		margin-bottom: 82px;
		color: var(--text-color);

		&::after {
			content: '';
            position: absolute;
			bottom: -82px;	
            right: 0;
            background: url(../svg/offer_shape.svg) no-repeat center center;
            width: 217px;
            height: 193px;
            z-index: -1;
		}

		> div {
			clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 94.46%, 0% 0%);
  			background-color: #DADADE;
			padding: 16px;	
		}
	}

	.offerItem .inner {
		font-family: var(--font-reg);

		.content-section {
			max-width: 354px;
		}

		.img-cont {
			width: 100%;
    		margin-bottom: 25px;

			img {
				width: 100%;
				height: auto;
			}
		}

		.info-list {
			list-style: none;
			margin-left: 0;

			span {
				font-family: var(--font-bold);
			}

			> * {
				margin: 0 0 var(--space-2);
			}

			a {
				color: #fff;
				text-decoration: underline;
			}
		}

		.offer-description {
			margin-bottom: 25px;

			span, h2, p {
				font-family: var(--font-reg);
			}

			> span {
				display: inline-block;
				margin: 0 0 var(--space-2);
			}
		}
	}

	/*----- Gradings -----*/
	.gradingsTab .grading-cont {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		width: 100%;

		.grading-item {
			display: flex;
			flex-direction: row;
			flex-wrap: wrap;	
			margin:0 0 var(--space-5) 0;

			.grading-img {
				max-height: 62px;

				img {
					height: 100%;
				}
			}

			.grading-info { 
				display: none;
				flex-direction: column;
				flex-wrap: wrap;
				padding: 0 0 0 10px;
			}

			&:last-of-type {
				border: none;
				padding: 0;
				margin: 0;
			}
		}
	}

	/*----- Awards -----*/
	.awardsTab div.award {
		padding: 0 var(--space-10) 0 0;
		display: inline-block;
		vertical-align: top;

		p {
			display: none;
		}

		img {
			width: 100%;
			max-height: 90px;
		}
	}

	/*----- Amenities -----*/
	dl.drawers dd.active {
		&.amenitiesTab .amenities {
			.subtab {
				display: flex;
				flex-wrap: wrap;
				margin-bottom: 0;
				padding: 0 0 var(--space-5);
				width: 100%;
				background: transparent;
				gap: 10px;

				> dd {
					width: 100%;
				}

				.active button {
					color: var(--white);
					background: #404041;
				}

				button {
					display: flex;
					align-items: center;
					justify-content: space-between;
					color: #404041;
					background: var(--white);
					padding: 14px 25px;
					border: 1px solid #404041;
					border-radius: 24px;
					padding: 11px 25px;
					width: 100%;

					i {
						font-weight: 400;
					}
				}

				.content {
					display: none;
					color: var(--text-grey);

					&.active {
						display: grid;
						width: 100%;
						flex-direction: row;
						flex-wrap: inherit;
						grid-template-columns: 1fr;
						grid-gap: var(--space-5) var(--space-5);
						background: #D9D9D94D;
						padding: 26px 30px;
					}

					.facilityWrap {
						width: 100%;
						font-family: var(--font-reg);
					}

					h5 {
						font-family: var(--font-bold);
						padding: var(--space-3) var(--space-3) 0 0;
						text-transform: lowercase;

						&::first-letter {
							text-transform: uppercase;
						}
					}

					.amen-subtab {
						padding: 5px 15px 5px 0;

						li {
							line-height: 1.75;
						}
					}
				}
			}
		}
	}

	dl.subtab {
		display: flex;
	}

	ul.amen-subtab > li,
	ul.meeting-subtab > li {
		display: block !important;

		> .value {
			display: none;
			clear: both;
			width: 100%;
			font-weight: bold;
			font-style: italic;
			padding: 0 0 0 5px !important;
		}
	}

	/*----- Map/directions -----*/
	.mapTab .content {
		> #tab-map {
			position: relative;
			display: flex;
			justify-content: center;
			align-items: center;
			background: url(../jpg/map.jpg) no-repeat center center;
			background-size: cover;
    		width: 100%;

			&.active {
				background: none;
				height: auto;
	
				div#mapTab {
					background: none;
					height: auto;
					display: block;
				}

				.mapButton {
					display: none;
				}
			}

			

			.mapButton { 
				position: absolute;
				width: 144px;
				transition: all 0.5s ease;
				font-family: var(--font-bold);
				font-size: var(--text-sm);
				text-transform: uppercase;
				text-decoration: none;
				transition: color var(--transition-appendix);
				letter-spacing: 0.1em;
				color: var(--white);
				margin: 0 auto;
				display: grid;
				grid-template-columns: auto auto;
				justify-content: center;
				align-items: center;
				gap: 10px;
				padding: var(--space-3) var(--space-5);
				clip-path: polygon(100% 92.66%, 4.10% 100%, 0% 0%, 96.99% 4.59%, 100% 92.66%);
				background-color: var(--sw-key-color);
			}

			.gMapContainer {
				width: 100%;
				z-index: -2;
				overflow: hidden;

				&.map-open {
					z-index: 0;
				}
			}
		}

		a.directions-link {
			display: block;
			padding: var(--space-3) 0;
		}
	}

	.gMapHolder {
		height: 123px;
	}

	.road-dir + .transport-dir {
		padding-top: var(--space-10);
	}

	.directionsTab  {
		.drawer-title {
			font-size: var(--text-xl);
			font-family: var(--font-bold);
			color: #333332;
			margin-bottom: 10px;
		}

		p {
			font-size: var(--text-lg);
			color: #747477;
			line-height: 1.5;
		}
	}

	/*----- Related listings/events and hosted by -----*/
	.layoutjs .content {
		padding: 0;
		margin: 0;

		@supports (display: grid) {
			grid-gap: var(--space-6);
		}

		.item {

			.info {
				padding: 26px var(--space-5) var(--space-5);
			}

			.top-info-upper {
				gap: 10px;
				margin: 0 0 var(--space-5);

				.locations {
					color: var(--text-color);
					font-family: var(--font-reg);
				}

				.description p {
					color: var(--text-grey);
					font-family: var(--font-reg);
					line-height: 1.3;
					font-size: var(--text-base);
				}

				h4 {
					color: var(--text-grey);
					font-size: 1.375rem;
					line-height: 1.2;

					a{
						color: var(--text-grey);
					}
				}
			}

			.actionButton {
				font-family: var(--font-bold);
				font-size: var(--text-sm);
				text-transform: uppercase;
				text-decoration: none;
				transition: color var(--transition-appendix);
				letter-spacing: 0.1em;
				color: var(--sw-key-color);
				background: none;
				margin: 0;
				padding: 0;
				display: grid;
				grid-template-columns: auto auto;
				justify-content: center;
				align-items: center;
				gap: 8px;
				max-width: 100%;
				
				i {
					font-size: .6875rem;
				}
			}
		}
	}

	.hosted-container {
		display: flex;

		.hosted-image {
			max-width: 300px;
			padding: 0 20px 20px 0;
		}

		.hosted-information {
			.hosted-title {
				font-family: var(--font-bold);
                font-size: 1.375rem;
                line-height: 1.25;
				margin: 0 0 10px 0;

				a {
                	color: var(--text-grey);
				}
			}

			.hosted-description {
				margin-bottom: var(--space-4);
				font-family: var(--font-reg);
				line-height: var(--leading-normal);
				color: var(--text-color);
			}
		}
	}

	.eventsTab {
		width: 100%;

		.grid > div {
			display: flex;
            flex-flow: wrap row;
            justify-content: space-between;
			margin-bottom: var(--space-5);

			@supports (display: grid) {
				display: grid;
				grid-gap: var(--space-6);
				grid-template-columns: repeat(auto-fill, minmax(259px, 1fr));
			}

			.eventItem {
				position: relative;
				display: flex;
				align-items: stretch;
				flex-wrap: wrap;
				box-shadow: 0px 3px 6px 1px rgba(0, 0, 0, 0.10);

				.inner {
					display: block;
					.img-cont {
						width: 100%;
						margin: 0;

						img {
							width: 100%;
							height: auto;
						}
					}

					.content-section {
						display: grid;
						gap: 10px;
						padding: 26px var(--space-5) var(--space-5);

						.info-list {
							list-style: none;
							margin-left: 0;
						}

						.dateInfo {
							color: var(--text-color);
							font-family: var(--font-reg);
						}

						.description {
							display: -webkit-box;
							-webkit-line-clamp: 5;
							-webkit-box-orient: vertical;
							overflow: hidden;
							text-overflow: ellipsis;
							word-break: break-word;

							p {
								color: var(--text-grey);
								font-family: var(--font-reg);
								line-height: 1.3;
								font-size: var(--text-base);
							}
						} 

						h4 {
							color: var(--text-grey);
							font-size: 1.375rem;
							line-height: 1.2;
						}

						.actionButton {
							font-family: var(--font-bold);
							font-size: var(--text-sm);
							text-transform: uppercase;
							text-decoration: none;
							transition: color var(--transition-appendix);
							letter-spacing: 0.1em;
							color: var(--sw-key-color);
							background: none;
							margin: var(--space-5) 0 0;
							padding: 0;
							display: grid;
							grid-template-columns: auto auto;
							justify-content: center;
							align-items: center;
							gap: 8px;
							max-width: 100%;
							place-self: flex-start;
							
							i {
								font-size: .6875rem;
							}
						}
					}

					.trip-builder {
						position: absolute;
						inset: var(--space-3) var(--space-2) auto auto;
						z-index: 4;

						a {
							position: relative;
                            display: block;
                            padding: 7px 7px 5px 6px;
                            margin: 0;
                            line-height: 1;
                            background: var(--white);
                            border: none;
                            border-radius: var(--rounded-circle);

							i {
								font-size: var(--text-lg);
								font-weight: 300;
							}
						}

						span a[data-type="Remove"] i {
							font-weight: 900;
						}

						span a[data-type="View"] {
							display: none;
						}
					}      
				}
			}
		}
	}

	/*----- Downloads -----*/
	.downloadsTab .download-item {
		margin: 0 0 10px 0;

		a[href*=".pdf"]::before {
			content: url(../png/icon_pdf.png);
			vertical-align: middle;
			margin: 0 10px 0 0;
		}
	}

	/*----- Social icons -----*/
	.social-icons {
		display: flex;
		width: 100%;
		align-items: flex-start;
		justify-content: flex-start;
		flex-wrap: wrap;

		> li {
			padding: var(--space-5);

			&:first-of-type {
				padding-left: 0;
			}

			> div {
				max-width: 100%;

				a {
					font-size: var(--text-3xl);
				}
			}
		}
	}

	/*----- External links -----*/
	.externalLinksTab a {
		display: block;
	}
}

@media (hover: hover) {
	.shared-detail .detail-drawers {
		:is(.core-styles, .contentRender_name_plugins_core_textbox) p a:hover {
			text-decoration: underline;
			color: var(--sw-link-color);
		}
		.mapTab .content> #tab-map .mapButton:hover {
			background: var(--dark-pink);
		}

		.eventsTab .grid > div .eventItem .inner .trip-builder a:hover {
			color: var(--sw-link-color);
		}
	}
}

@media (min-width: 40em) {
    .shared-detail .detail-drawers {
        margin-bottom: var(--space-10);

		.gradingsTab .grading-cont  {
			flex-direction: row;
	
			.grading-item  {
				padding: 0 var(--space-5) 0 0;
				border-right: 1px solid black;
				margin:0 var(--space-5) 0 0;		
			}
		}

		> dl.map-tab > dd button#drawer_mapTab {
			padding: var(--space-5) var(--space-16);
		}

		.gMapHolder {
			height: 202px;
		}

		.offerItem .inner {
			display: flex;
			padding: 34px 0 79px 38px;

			.img-cont {
				max-width: 222px;
				margin-right: 25px;
			}
		}

		.offersTab .content {
			/*background: url(/includes/public/assets/shared/decorations/offers_bg.svg) no-repeat left top;
			background-size: contain;*/
			background-color: var(--sw-key-color);
			border-radius: 25px;
			color:var(--white);
			
			margin: 0;

			&::after {
				display: none;
			}

			> div {
				padding: 0;
				clip-path: none;
				background-color: transparent;
			}
		}
    }
}

@media (min-width: 40em) and (max-width: 64em) {
	.shared-detail .detail-drawers div.amenitiesTab div.amenities div.content.active {
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 64em) {
	.shared-detail .drawer-title {
		font-size: 3.125rem;
	}

    .shared-detail .detail-drawers,
	.shared-detail .redeemable {
		padding: 0;

		.drawer-button {
			font-size: 3.125rem;

			i {
				font-size: var(--text-xl);
			}
		}

		> div,
		> dl.map-tab {
			padding: var(--space-10) 0;
		}

		.gradingsTab .gradingItem  {
			flex-direction: column;
		}

		dl.drawers dd.active.amenitiesTab {
			padding-right: 0;

			.amenities .subtab {
				> dd {
					max-width: 190px;
				}

				.content.active {
					grid-template-columns: repeat(auto-fit, minmax(20%, 1fr));
				}
			}
		}

		dd  > div#mapTab {
			padding: 0;
			margin-left: 0;
			background-size: 100% auto;
		}

		.eventsTab .grid > div .eventItem .inner {
		}
    }
}

/*----- Whats nearby -----*/
.shared-detail .whats-nearby {
	padding: 0;
	margin-bottom: var(--space-10);

	.whats-nearby-slider {
		opacity: 0;
		transition: opacity var(--transition-appendix);
	
		&.loaded {
			opacity: 1;
		}

		&.no-slider {
			display: none;
		}
	}

	.wrapper {
		padding: var(--space-4) 0;

		> .inner {
			margin: 0 auto;
		}
	}

	.title-cont {
		margin: 0 auto;
		margin-bottom: var(--space-6);
		max-width: var(--width-base);
		padding: 0 var(--space-5);
		display: grid;
		justify-content: center;
		gap: var(--space-2)
	}

	.section-subtitle {
		font-family: var(--font-family-display);
		font-size: var(--text-xl);
		line-height: var(--leading-tight);
		text-align: center;
	} 

	.tab-group {
		display: flex;
		margin: 0 auto;
		gap: var(--space-2);
		max-width: var(--width-base);
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	.tab {
		display: flex;
		gap: var(--space-4);
		align-items: center;
		justify-content: space-between;
		color: #404041;
		background: var(--white);
		padding: 8px 25px;
		border: 1px solid #404041;
		border-radius: 24px;
		font-size: var(--text-sm);
		white-space: nowrap;

		i {
			font-weight: 400;
			display: none;
		}
	}

	.tab[aria-expanded="true"] {
		color: var(--white);
		background: #404041;
	}

	.tab-pane {
		display: block;
		margin: 0;
		width: 100%;

		.item {
			margin: 0 0 3px 0;
			padding: 0 3px;
			height: auto;

			.inner {
				box-shadow: 0px 3px 6px 1px #0000001A;
				height: 100%;
                grid-template-rows: auto 1fr;
                display: grid;
			}

			.image {
				position: relative;

				img {
					width: 100%;
				}

				.mini-date-container {
					position: absolute;
					top: 0;
					left: 0;
					display: flex;
					flex-direction: column;
					justify-content: center;
					align-items: center;
					background-color: var(--sw-mini-date-bg);
					color: var(--sw-mini-date-color);
					padding: var(--space-1) var(--space-4);
					pointer-events: none;

					.month {
						font-family: var(--font-family-body);
						font-size: var(--text-base);
						font-weight: var(--font-weight-bold);
						line-height: var(--leading-none);
						text-transform: uppercase;
					}

					.day {
						font-family: var(--font-family-body);
						font-size: var(--text-3xl);
						font-weight: var(--font-weight-bold);
						line-height: var(--leading-none);
					}
				}
			}

			.info {
				display: grid;
                gap: 10px;
				padding: var(--space-5);
				color: var(--text-color);
			}

			.info h4,
			.info h4 a { 
				font-family: var(--font-bold);
				font-size: 1.375rem;
				line-height: 1.25;
				color: var(--text-grey);
				-webkit-hyphens: auto;
				word-break: break-word;
				hyphens: auto;
			}

			.locations {
				font-family: var(--font-reg);
			}

			.distance {
				align-self: flex-end;
			}
		}
	}

	.layoutjs .content.grid {
		margin: 0;
		padding: 0;
		grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));

		.item {
			background-color: var(--white);

			.info-list > li.distance {
				padding-left: 0;
			}
		}
	}

	.glide__arrows {
		display: flex;
		justify-content: center;
		gap: 35px;

		.glide__arrow {
			height: 40px;
			width: 40px;
			font-size: var(--text-2xl);
			margin: 15px 0;
		}
	}

	.no-results {
		text-align: center;
		color: var(--white);
	}

	.tripbuilder {
		position: absolute;
		inset: var(--space-3) var(--space-2) auto auto;
		z-index: 4;

		a {
            position: relative;
            display: block;
            padding: 7px 6px 6px 6px;
            margin: 0;
            font-size: var(--text-lg);
            line-height: 1;
            background: var(--white);
            border: none;
            border-radius: var(--rounded-circle);

			&::before {
				display: block;
				font-family: var(--fa-6-family, 'Font Awesome 5 Free');
				content: '\f004';
				color: var(--sw-key-color);
				font-weight: 300;
				font-size: var(--text-lg);
			}

			&.removeTrip::before {
				font-weight: 900;
			}
		}
	}
}

@media (hover: hover) {
	.shared-detail .whats-nearby .tab:hover {
		color: var(--white);
		background: #404041;
	}
}

@media (min-width: 40em) {
	.shared-detail .whats-nearby {
		.tab-group {
			padding: 0;
		}

		.whats-nearby-slider.one-slide .glide__slides {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 20px;
		}

		.static-slides {
			.glide__arrows {
				display: none;
			}
		}
	}
}

@media (min-width: 64em) {
	.shared-detail .whats-nearby {
		.wrapper {
			padding: 30px 0;
		}

		.drawer-title {
			padding: 0;
		}

		.whats-nearby-slider.one-slide .glide__slides {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}

		.tripbuilder {
			top: var(--space-3);
        	right: var(--space-3);
		}

		.glide__arrows {
			position: absolute;
			left: 0;
			translate: 0 -50%;
			z-index: 1;
			width: 100%;
			justify-content: space-between;

			.glide__arrow {
				margin: var(--space-3);
			}
		}

		.tab {
			padding: 11px 25px;
			font-size: var(--text-base);

			i {
				display: block;
			}
		}

		.tab-pane {
			.item {
				max-width: 275px;
			}
		}
	}
}

/*----- route maps -----*/
.shared-detail {
	.routes-nav {
		display: flex;
		flex-wrap: wrap;
		gap: var(--space-2);
		margin-bottom: var(--space-4);

		.route-button,
		.more-routes-button {
			padding: var(--space-2) var(--space-4);
			margin: 0;
			font-weight: normal;
			font-size: var(--text-base);
			border-radius: var(--rounded-full);
		}

		.route-button {
			display: inline-block;
			text-align: center;
			color: var(--green-dark);
			background-color: var(--white);
			border: 2px solid var(--green-dark);
			transition:
				color var(--transition-appendix),
				background-color var(--transition-appendix);
			&.active {
				color: var(--white);
				background-color: var(--green-dark);
			}
		}
	
		.more-routes-button {
			display: inline-flex;
			align-items: center;
			gap: var(--space-3);
			text-align: left;
			color: var(--white);
			background-color: var(--gray-dark);
			border: 2px solid var(--gray-dark);
			&::after {
				font: var(--fa-font-solid);
				content: '\f107';
				transition: rotate var(--transition-appendix);
			}
			&.active::after {
				rotate: x 180deg;
			}
		}
	}

	.routes-map {
		height: 80vh;
		min-height: 500px;
		max-height: 700px;
	}

	.info-window-img {
		width: 100%;
		max-width: 200px;
	}

	.route-info {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: var(--space-2);
		margin-top: var(--space-4);

		.poi {
			padding: var(--space-6);
			background: var(--gray-200);
			border-radius: var(--rounded-md);

			.route-info-list dd {
				padding-left: var(--space-8);
			}

			.poi-label {
				display: flex;
				align-items: center;
				justify-content: center;
				width: var(--space-8);
				aspect-ratio: 1;
				flex-shrink: 0;
				font-weight: bold;
				font-size: var(--text-base);
				text-align: center;
				color: var(--sw-key-color);
				border: 3px solid var(--sw-key-color);
				border-radius: var(--rounded-circle);
			}
		
			.poi-image {
				width: 100%;
				max-width: 500px;
			}
		}
	}

	.route-products-grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
		gap: var(--space-3);
	}

	.route-product,
	.route-product-img-cont {
		position: relative;
	}

	.route-product {	
		border-radius: var(--rounded-md);
		overflow: hidden;
	}

	.route-product-content {
		position: absolute;
		inset: auto 0 0;
		z-index: 3;
		padding: var(--space-4);
		color: var(--white);
		pointer-events: none;
		
		a {
			pointer-events: all;
		}
	}

	.route-product-cat {
		display: block;
		font-size: var(--text-sm);
		font-weight: bold;
		color: inherit;
	}

	.route-product-title {
		margin: 0;
		color: inherit;
	}

	.route-product-image {
		width: 100%;
	}

	.route-product-img-cont {
		aspect-ratio: 64 / 48;

		&::before {
			position: absolute;
			inset: 0;
			display: block;
			content: '';
			background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
			pointer-events: none;
		}
	}

	.route-product-img-cont
	.poi-desc {
		display: flex;
		align-items: baseline;
		gap: var(--space-4);
	}
}

@media (hover: hover) {
	.shared-detail .route-button:hover {
		color: var(--white);
		background-color: var(--green-dark);
	}
}

@media (min-width: 40em) {
	.shared-detail .route-products-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 81em) {
	.shared-detail .route-products-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/*----- meeting capacity -----*/
.shared-detail .capacity-wrapper {
	display: block;

	.rooms-data-container-table {
		.rooms-data-tabs-thead {
			display: none;
		}

		.rooms-data-tbody {
			.room-data-row {
				margin: 0 0 var(--space-12);
				display: flex;
				flex-direction: column;
				background: var(--light-grey);
				position: relative;
				padding: var(--space-5);

				div {
					display: flex;
					text-align: left;
					padding: 0 var(--space-3);
					width: auto;
					vertical-align: middle;
					border-bottom: 1px solid var(--grey-color);
	
	
					&.roomname {
						font-weight: bold;
						padding: 0 var(--space-3) var(--space-3);
					}
	
					&:not(.roomname) {
						span {
							padding: var(--space-3) 0 var(--space-3) 20px;
						}
	
						&::before {
							display: block;
							width: 50%;
							content: attr(data-rooms-th) " ";
							border-right: 1px solid var(--grey-color);
							padding: var(--space-3) 0;
						}
	
						&:last-of-type {
							border-bottom: none;
						}
					}
				}
			}
		}
	}
}

@media screen and (min-width: 64em) {
	.shared-detail .conferenceCapacityTab {
		padding: var(--space-5);

		.rooms-data-container-table {
			position: relative;
			display: table;
			border-collapse: collapse;
			border-spacing: 0 15px;
			table-layout: auto;
			width: 100%;
	
			&::before {
				position: absolute;
				content: '';
				height: calc(100% + 40px);
				width: calc(100% + 40px);
				top: -20px;
				left: -20px;
				background-color: var(--light-grey);
				z-index: -1;
			}
	
			.rooms-data-tabs-thead {
				display: table-header-group;
				border-bottom: 1px solid var(--grey-color);
	
				div {
					display: table-cell;
					font-size: var(--text-base);
					font-weight: bolder;
					padding: var(--space-2);
					text-align: center;
					font-family: var(--font-header);
	
					&:first-of-type {
						text-align: left;
					}
	
					&:last-of-type {
						border-right: none;
					}
				}
			}
	
			.rooms-data-tbody {
				display: table-row-group;
	
				.room-data-row {
					display: table-row;
					border-bottom: 1px solid var(--grey-color);
	
					&:last-of-type {
						border-bottom: none;
					}
	
					div {
						display: table-cell;
						padding: var(--space-4);
						text-align: center;
						text-indent: 3px;
						vertical-align: middle;
						border-right: 1px solid var(--grey-color);
	
						&.roomname {
							font-weight: normal;
							text-indent: 0px;
							text-align: left;
							border-bottom: none;
						}
	
						&:not(.roomname) {
							border-bottom: none;
	
							&::before {
								display: none;
							}
	
							span {
								padding-left: 0px;
							}
						}
	
						&:last-of-type {
							border-right: none;
						}
					}
				}
	
			}
		}
	}
}

@media screen and (min-width: 1150px) {
	.shared-detail .rooms-data-container-table .rooms-data-tabs-thead div {
		font-size: var(--text-base);
        padding: var(--space-4) var(--space-2);
	}
}

/*----- yelp snippet -----*/
.shared-detail .yelp-snippet {
	margin-bottom: 8px;

	.yelp-top {
		display: flex;
		align-items: center;
		gap: 8px;
	}

	.yelp-logo {
		order: -1;
		width: 60px;
	}

	.yelp-bottom {
		font-size: var(--text-xs);
		color: var(--gray-700);
	}
}

@media (min-width: 64em) {
	.shared-detail .yelp-snippet {
		margin-bottom: 26px;

		.yelp-logo {
			width: 70px;
		}

		.yelp-bottom {
			font-size: var(--text-sm);
		}
	}
}

/*----- yelp reviews -----*/

.shared-detail #yelpTab {
	.reviews-provider-header {
		display: flex;
		align-items: center;
		gap: 12px;
	}

	.reviews-rating-line-text {
		font-size: var(--text-xs);
		color: var(--gray-700);
	}

	h4 {
		font-family: var(--font-display);
		font-weight: bold;
		font-size: var(--text-2xl);
		line-height: 1.1;
		color: var(--black);
	}

	.review {
		margin: 24px 0;
	}

	h4 + .review {
		margin-top: 12px;
	}

	.review-user-image {
		width: 100%;
	}

	.review-user {
		margin: 12px 0 8px;
		font-family: var(--font-body);
		font-weight: bold;
		font-size: var(--text-xs);
		line-height: 1.1;
		color: var(--black);
	}

	.review-rating {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 32px;
		margin-bottom: 12px;
		font-size: var(--text-xs);
		color: var(--gray-700);
	}

	.review-links {
		margin-top: 12px;
	}

	.review {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 4fr);
		align-items: center;
		gap: 24px;
	}

	.review-meta,
	.review-user-image {
		position: relative;
	}

	.review-user-image {
		z-index: 1;
	}

	.review-user {
		position: absolute;
		inset: auto 0 0 auto;
		z-index: 2;
		padding: 4px 8px;
		margin: 0;
		background: rgba(0, 0, 0, 0.75);
		color: var(--white);
	}
}

@media (min-width: 40em) {
	.shared-detail #yelpTab .review-user {
		font-size: var(--text-base);
	}
}

@media (min-width: 64em) {
	.shared-detail #yelpTab {
		h4 {
			font-size: var(--text-4xl);
		}

		.review-rating img {
			width: 100px;
		}

		.review-rating {
			font-size: var(--text-sm);
		}
	}
}

/*----- viator -----*/
.shared-detail .tourItem {
	.rating {
		display: flex;

		svg {
			width: var(--space-5);
			fill: var(--sw-text-color);
			margin-right: var(--space-2);
		}
	}

	.info-list li {
		margin-bottom: var(--space-3);
	}

	.img-cont {
		flex: 1 0 auto;
	}
}

/* You smart thing */
.shared-detail .detail-drawers > dl.drawers > dd.active > .content .ystTab > div {
	padding: 0;
}

.detail-right #YSTBtn {
	display: block;
	font-size: var(--text-2xl);
    color: var(--white);
    padding: var(--space-6) var(--space-5);
	margin: var(--space-6) 0 var(--space-4);
	border-radius: var(--button-radius);
	background: var(--orange);
	background-size: 25px;
}

@media (min-width: 64em) {
    .detail-right #YSTBtn {
        margin: 0 0 var(--space-8) 0;
    }
}