.direct-booking-container {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	margin-bottom: 96px;
	position: relative;

	&.no-margin {
		margin-bottom: 0;
	}
	
	.booking-slideshow {
		& a {
			pointer-events: none;
		}
		& .content-section {
			display: none;
		}
		& .ccl-v2-widget .img-cont {
			border-radius: 0;
		}
	}

		
	.booking-col {
		margin-block: auto;
		position: relative;
		display: flex;
		z-index: 10;
		justify-self: center;
		margin-top: -40px;
		margin-inline: 30px;
		& form::before {
			content: "";
			position: absolute;
			top: -12px;
			left: -12px;
			width: calc(100% + 24px);
			height: calc(100% + 5px);
			z-index: -1;

			background: 
				linear-gradient(to right, #667D41 50%, #32B2C5 50%) top,
				linear-gradient(to right, #E59189 50%, #A05C4A 50%) bottom;
			background-size: 100% 50%;
			background-repeat: no-repeat;
		}

	}

	& #widget-container-2276 .jrs-dropdown-2276::after {
		content: '\f107';
		font-size: var(--text-xl);
		position: absolute;
		bottom: 8px;
	}
	#jrs-form-2268 {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
		gap: var(--space-4);
	}

	#jrs-title-2268 {
		max-width: 19ch;
		margin: 0 0 var(--space-3);
		font-family: var(--font-utopia);
		font-weight: var(--fotn-weight-normal);
		font-size: 2rem;
		line-height: var(--leading-none);
		color: inherit;
	}

	input,
	select {
		display: block;
		width: 100%;
		padding: 10px var(--space-4);
		margin: 0;
		font-family: var(--font-body);
		font-weight: var(--font-weight-normal);
		font-size: var(--text-base);
		line-height: 1.2;
		color: var(--gray-dark);
		background-color: var(--white);
		background-image: url('/includes/public/assets/shared/angle-down-black.svg');
		background-repeat: no-repeat;
		background-position: right 16px center;
		background-size: auto 10px;
		border: none;
		border-radius: 4px;
	}

	[id*="jrs-calendar"],
	[id*="jrs-categories"] {
		border: none !important;
	}

	.jrs-dropdown-2268:after {
		display: none;
	}

	#jrs-submit-2268 {
		margin-top: var(--space-4);
	}
 	#jrs-title-2276 span {
		line-height: 1.06;
	}
	#jrs-button-2268 {
		--icon-width: var(--space-5);

		position: relative;
		display: inline-block;
		padding: 11px 47px 11px 19px;
		margin: 0;
		font-family: var(--font-body);
		font-weight: var(--font-weight-normal);
		font-size: var(--text-base);
		line-height: var(--leading-none);
		letter-spacing: 0.02em;
		text-decoration: none;
		text-align: left;
		color: var(--text-color);
		background-color: transparent;
		border: 1px solid var(--border-color);
		border-radius: 4px;
		overflow: hidden;
		cursor: pointer;
		transition:
			padding var(--transition-appendix),
			color var(--transition-appendix),
			background-color var(--transition-appendix);

		&::before,
		&::after {
			position: absolute;
			top: 50%;
			translate: 0 -50%;
			display: block;
			width: var(--icon-width);
			aspect-ratio: 1;
			content: '';
			background-repeat: no-repeat;
			background-position: center center;
			background-size: contain;
			pointer-events: none;
			transition:
				translate var(--transition-appendix),
				rotate var(--transition-appendix),
				opacity var(--transition-appendix);
		}

		&::before {
			left: calc((var(--icon-width) + var(--space-2)) * -1);
			background-image: var(--icon-left);
			opacity: 0;
		}

		&::after {
			right: 19px;
			background-image: var(--icon-right);
		}
	}

	.link-row {
		margin-top: var(--space-8);
	}

	.booking-interior-link {
		display: inline-block;
		padding-bottom: var(--space-4);
		font-family: var(--font-body);
		font-weight: var(--font-weight-normal);
		font-size: var(--text-base);
		line-height: 1.2;
		text-decoration: none;
		color: inherit;
		border-bottom: 1px solid currentColor;
		transition: border-bottom-color var(--transition-appendix);
	}

	@media (hover: hover) {
		#jrs-button-2268:hover {
			padding: 11px 19px 11px 47px;
			color: var(--text-color-hover);
			background-color: var(--bg-color-hover);

			&::before,
			&::after {
				translate: calc(var(--icon-width) + var(--space-2) + 19px) -50%;
				rotate: 90deg;
			}

			&::before {
				opacity: 1;
			}

			&::after {
				opacity: 0;
			}
		}

		.booking-interior-link:hover {
			border-bottom-color: transparent;
		}
	}


	@media (width < 40em) {
		#widget-container-2276 {
			--title-font-size: 20px;
			--title-margin-bottom: 20px;
			--form-padding: 20px;
			--form-gap: 4px 8px;
			--input-title-font-size: 12px;
			--input-padding: 12px;
			--input-padding-left: 30px;
			--input-icon-left: 10px;
			--input-bottom: 14px;
			--button-font-size: 12.537px;
			 #jrs-title-2276 {
				margin-block-end: 16px ;
			 }
			/* button */
			#jrs-submit-2276 {
				text-align: center;
			}
			#jrs-submit-2276 {
				margin-top: 8px;
			}
			#jrs-title-2276 {
				max-width: unset;
			}

			#jrs-calendar-start-2276 {
				grid-column: 1 / 2;
			}

			#jrs-calendar-end-2276 {
				grid-column: 2 / 3;
			}


		}

	}


	@media (min-width: 40em) {

		.booking-col {
			margin-top: -140px;
			
			& form::before {
				height: calc(100% + 15px);
			}
		}

		#jrs-form-2268 {
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: var(--space-6) var(--space-4);
		}

		#jrs-title-2268,
		.jrs-dropdown-2268,
		#jrs-submit-2268 {
			grid-column: span 2;
		}

		#jrs-submit-2268 {
			margin: 0;
		}
		#jrs-calendar-icon-2276,
		#jrs-calendar-icon-2276 {
			width: 100%;
		}

	}

	@media (min-width: 64em) {
		align-items: stretch;
		margin-bottom: var(--space-20);

		&.no-margin {
			margin-bottom: 0;
		}

		.booking-col {
			margin-block: auto;
			position: absolute;
			display: flex;
			right: 0;
			z-index: 10;
			margin: 0;
			margin-right: 7em;
			align-self: center;
			text-align: left;
			& form::before {
				height: calc(100% + 14px);
			}
		}

		#jrs-title-2268 {
			margin-bottom: var(--space-10);
			font-size: var(--text-5xl);
		}

		.link-row {
			margin-top: var(--space-20);
		}
	}

	@media (min-width: 90em) {

		#jrs-title-2268 {
			margin-bottom: 72px;
		}

		.link-row {
			margin-top: 152px;
		}
	}
}