@font-face {
	font-family: Hrot Premium;
	font-style: normal;
	font-weight: 500;
	src: url(../fonts/hrotpremium-medium-webfont.woff) format("woff"), url(../fonts/hrotpremium-medium-webfont.woff2) format("woff2")
}

@font-face {
	font-family: Hrot Premium;
	font-style: normal;
	font-weight: 600;
	src: url(../fonts/hrotpremium-semibold-webfont.woff) format("woff"), url(../fonts/hrotpremium-semibold-webfont.woff2) format("woff2")
}


h1, h2, h3, h4, h5, h6 {
	color: rgb(0, 0, 0);
	font-family: 'Hrot Premium', sans-serif;
	font-weight: 600;
}

body {
	background: #f9f9f9;
	min-height: 100vh;
}

footer {
	right: 0px;
	left: 0px;
	bottom: 0px;
}

.sfp-hrot {
	font-family: 'Hrot Premium', sans-serif;
	font-weight: 500;
}

.sfp-bold {
	font-weight: 600;
}

.sfp-grey-text {
	color: rgb(155, 155, 155) !important;
}

.sfp-page-content {
	display: block;
	padding: 100px 0;
	overflow: initial;

	--bs-border-radius: 0;
  --bs-border-radius-sm: 0;
  --bs-border-radius-lg: 0;
  --bs-border-radius-xl: 0;
  --bs-border-radius-xxl: 0;
  --bs-border-radius-2xl: 0;
}
.sfp-content-container {
	max-width: 1170px;
}

.sfp-header {
	
}

.sfp-footer {
	
}
.sfp-logo {
	width: 130px;
	
}

.sfp-borderless {
	border-bottom: transparent;
}

.step { 
	display: none;
}
.step.active {
	display: block;
}

.sfp-image-radio {
	cursor: pointer;
	overflow: hidden;
	transition: 0.2s;
	width: 100px;
	border: 1px solid var(--bs-secondary-bg);
}

.sfp-image-radio-title{
	font-family: 'Hrot Premium', sans-serif;
  font-weight: 500;
	margin-block: 0px;
}

.sfp-image-radio-description{
	font-size: .9rem;
  line-height: 1.35;
	margin-block: 0px;
}

.sfp-image-radio input {
	display: none;
}

.sfp-image-radio img {
	display: block;
	width: 100%;
}

.sfp-image-radio:has(input:checked) {
	border-color: var(--bs-dark);
	background-color: var(--bs-dark);
	
	:is(.sfp-image-radio-title, .sfp-image-radio-description) {
		color: var(--bs-white);
	}
}

.image-radio span {
	display: block;
	min-width: 100%;
}

.intl-tel-input {
	display: table-cell;
}
.intl-tel-input .selected-flag {
	z-index: 4;
}
.intl-tel-input .country-list {
	z-index: 5;
}

.step.is-invalid .validation-group:has(:invalid) .invalid-feedback{
	display: block;
}

.step.is-valid .validation-group:has(:valid) .valid-feedback{
	display: block;
}

.btn-check.btn-hover-style + .btn:hover {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
}

.step:is(.is-invalid, .is-valid) .sfp-image-radio:has(:invalid) {
  border-color: var(--bs-form-invalid-border-color);
}

select option.disabled{
	display: none;
}

.step.non-interactive {
	opacity: .5;
	user-select: none;
	pointer-events: none;
}

.hover\:underline:hover{
	text-decoration: underline;
}

.js-checkCard{
	border: 1px solid transparent;
	
	&:has(input.btn-check:checked){
		border-color: #212529;
	}
}

.btn-check:checked ~ .btn {
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
}

.btn-check:checked ~ .js-uncheckedLabel {
  display: none;
}

.btn-check:not(:checked) ~ .js-checkedLabel {
  display: none;
}

.btn-unstyled{
	background-color: transparent;
	border: none;
}

.last\:no-divder > :last-child{
	border-bottom-color: transparent;
}

.sfp-room-gallery{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 4fr 1fr 1fr;
	gap: .625rem;

	> *{
		width: 100%;
		height: 100%;
		min-width: 0;
		min-height: 0;
		object-fit: cover;
		
		border: 1px solid transparent;
	}
	
	> .active{
		border-color: #212529;
	}
	
	> :not(:is(.elevated, .active)){
		cursor: pointer;
	}
}

@media (width < 575px) {
	.sfp-room-gallery{
		> :first-child{
			grid-column: 1 / 3;
		}
	}
}

@media (576px < width < 991px) {
	.sfp-room-gallery{
		grid-template-columns: 1fr 1fr 1fr 1fr;

		grid-template-rows: 4fr 1fr;
		
		> :first-child{
			grid-column: 1 / 5;
		}
	}
}

@media (992px < width) {
	.sfp-room-gallery{
		grid-template-columns: 4fr 1fr;
		grid-template-rows: 1fr 1fr 1fr 1fr;
		
		> :first-child{
			grid-row: 1 / 5;
		}
	}
}

.features-column{
	> :not(:last-child){
		border-bottom: 1px solid #212529;
	}
}