.promotions-padding {
    padding: 30px 30px 4.5px 30px;
    background-color: #ffffff;
    margin-top: 40px;
    border-radius: 4px;
    /* margin-bottom: 50px; */
}

.promotions-padding.popup-extras{
	margin-top: unset;
}


#single-promotion-header.mobile,
#grey-background.mobile {
	display: none;
}
#single-promotion-header {
	display: flex;
	justify-content: space-between;
}
#promotion_name {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.2;
    text-align: left;
    color: #2c2f33;
    padding-bottom: 7px;
    margin-bottom: 0px;
    max-width: unset;
}

.available-room-message {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.2;
    text-align: left;
    color: #273240;
    max-width: unset;
	margin: 42px 0px 10px 0px;
}
 
.package_results {
	margin-top: 21px;
}
.single-package-content .included,
.single-package-content .meals_included {
	font-size: 14px;
	font-weight: 300;
	line-height: 1.21;
	color: #212529;
	display: block;
}
#offer-inclusions {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 30px;
	margin-bottom: 20px;
}
.price-and-button {
	align-items: center;
}

#property_name {
	text-decoration: underline;
}

.hotel_location {
	padding-bottom: 20px;
    font-size: 13px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.15;
    letter-spacing: normal;
    text-align: left;
    color: #2c2f33;
}

.hotel_location_img_v3 {
	vertical-align: text-bottom;
}

.single-promotion-link {
	color: #454950;
	text-decoration: underline;
	font-size: 14px;
	font-weight: 400;

}

.single-promotion-link:hover {
	color: #4b8cf4;
}

.icon-share__holder {
	display: flex;
	justify-content: flex-end;
	position: relative;
}

.share-icons .icon-share__holder {
	display: unset;
}

.icon-share__text {
    font-size: 12px;
    line-height: 1.17;
    text-align: right;
    color: #8c99af;
    margin-right: 10px;
}

.single-package-content .gallery-contain-left.gallery-contain-left-ajax{
	height: 322px;
	width: 100%;
	min-width: 510px !important;
	max-width: 510px !important;
	margin-right: 0;
}

.cover_image {
    width: inherit;
    object-fit: cover;
    height: 382px;
    border-radius: unset;
    max-width: 1024px;
    margin-bottom: 0px;
	min-height: 382px;
}

.info_section {
	padding-top: 28px;
}

.offer-title {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.21;
    text-align: left;
    color: #273240;
    margin-bottom: 9px;
}

.hotel-info-description-holder {
    margin-bottom: 30px;
}

.offer-text-holder {
	display: flex;
	align-items: flex-start;
	border-bottom: 1px solid #E6E6E6;
	max-width: 625px;
}

.hotel-info-description-holder {
	border-bottom: 1px solid #E6E6E6;
	max-width: 625px;
}

.offer-text-holder:last-child {
	border-bottom: unset;
}

.offer-text {
    font-size: 14px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 25px;
    letter-spacing: normal;
    text-align: left;
    color: #273240;
	margin-bottom: 27.5px;
	max-width: 573px;
}

.clapped-text {
	overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical; 
}

.offer-text-icon {
	margin-top: 21px;
	margin-left: 25.5px;
	cursor: pointer;
	display: none;
}

.offer-text-icon-mobile {
	display: none;
}

.offer-text-long {
	display: none;
}

.show_more_package_info, .show_less_package_info {
    height: 36px;
    border-radius: 4px;
    border: solid 1px#273240;
    background-color: #ffffff;
    font-size: 12px;
    line-height: 1.33;
    color: #273240;
    display: flex;
    justify-content: center;
    align-items: center;
}

.show_more_package_info:focus, .show_less_package_info:focus {
	outline: unset;
}

.show_less_package_info {
	display: none;
}

.hotel_offer_politica {
	font-size: 13px;
    font-weight: 500;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.21;
	letter-spacing: normal;
	text-align: left;
	color: #273240;
	 margin-bottom: 12px; 
	margin-top: 28px;
	cursor: pointer;
}

.info_offer_include {
	padding-left: 0px;
	max-width: 379px;
	width: 379px;
}

#grey-background {
    background-color: #F5F5F5;
    border-radius: 4px;
	display: flex;
	justify-content: space-between;
	padding: 20px 20px 20px 22px;
	margin-bottom: 20px;
	margin-top: 10px;
    width: 100%;
}

#stay-periods-list {
    padding-left: 1.1em;
	margin-bottom: unset;
}

#stay-periods-list li {
    font-size: 14px;
    font-weight: 300;
    line-height: 1.21;
    letter-spacing: normal;
    margin-bottom: 4px;
}

#stay-periods-list li:last-child {
	margin-bottom: 32px;
}

.other_dates {
	font-size: 14px;
	color: #0C83D9;
	text-decoration: underline;
	margin-bottom: 32px;
	text-align: left;
	font-weight: 400;
	opacity: 1;
	cursor: pointer;
}

.ul-head {
    font-size: 17px;
    font-weight: 500;
	font-size: 14px;
	font-weight: 700;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.21;
	letter-spacing: normal;
	text-align: left;
	color: #273240;
	margin-bottom: 10px

}

.single-package-content #text-toggle-component {
	margin-bottom: 30px;
}
#offer-header, #stay-period-header {
	margin-bottom: 20px;
}

#grey-background .included, #grey-background .meals_included {
	font-size: 13px;
	font-weight: normal;
	line-height: 1.21;
	color: #273240;
	margin-bottom:13px;
	display: block;
}

.roomrate .included, .roomrate .meals_included {
	display: flex;
}

.basket_included_checkmark {
	color: #53AC2A;
	font-weight: 800;
	margin-right: 10px;
}

.spacer-line {
	margin-top: 30.5px;
	margin-bottom: 17.5px;
}

.price {
    font-size: 14px;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    margin-bottom: 0;
    background-color: unset;
    height: unset;
    align-self: unset;
    border-radius: unset;
    width: unset;
    padding: unset;
}

.price-value {
	font-size: 18px;
	font-weight: bold;
	line-height: 18px;
	margin-top: 5px;
  	display: block;
  	color: #008009;
}

.price-value span {
	font-weight: normal;
	font-size: 14px;
	line-height: 18px;
}

.price-value .decimal_value_price {
	font-weight: bold;
}

.price-value .per_night_text {
	font-size: 11px;
	font-weight: bold;
}
.gallery-opener {
	z-index: 0 !important;
}
.offer_installment {
	position: absolute;
	z-index: 1;
	left: 0;
	top: 10px;
    font-size: 12px;
	background: #53AC2A;
    color: #fff;
    line-height: 1.17;
	padding: 6px;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}

.offer_installment img {
	filter: brightness(15);
	margin-left: 3px;
	vertical-align: -4px;
}

#package_availability {
	border: none;
	height: 100%;
	background-color: #53ac2a;
	color: #ffffff;
	font-size: 14px;
	line-height: 1.19;
	font-weight: 700;
	padding: 12px 39px 13px 39px;
	border-radius: var(--button-border-radius-lg, 12px);
}

#package_availability:hover {
	color:#ffffff;
	cursor: pointer;
}

#pdf-download {
	display: inline-flex;
    font-size: 14px;
    font-weight: bold;
    border-radius: 12px;
    text-decoration: none;
    padding: 13px 24px;
    border: 1px solid #B9C2D3;
	color: #273240;
    margin-top: 10px;
	margin-bottom: 20px;
}

.info_offer_description {
	padding-bottom: 13px;
}

.guarantee-policy {
	padding-bottom: 30px !important;
}

.hotel_info_image {
	margin-right: 20px;
	max-width: 510px;
	width: 510px;
	position: relative;
}

#guarantees-penalties-component {
	border-top: 1px solid #EAEDF2;
}

.roomrate, .error-div {
	width: auto;	
}

.error-div, .error_message_holder {
	margin-bottom: 30px;
}

#rate_plan_form-lp {
	display: flex;
	border-radius: 4px;
	justify-content: center;
	padding: 20px 0px;
}

.messages_serachbar_holder {
	max-width: 1084px;
	margin: auto;
}


#rate_plan_form-lp #dates, #rate_plan_form-lp #guests_div, #rate_plan_form-lp .promo_code  {
	padding-right: 10px;
}

#rate_plan_form-lp #calendar_dates {
	height: 42px;
	width: 220px;
}

.searchbar-holder {
	position: relative;
}

.searchbar-holder .zcalendar-wrap {
	position: absolute;
	top: 120px;
	left: 0;
	right: 0;
}

#step-results-center {
	position: relative;
	margin-bottom: 100px;
}

#modal-loader {
	position: absolute;
    top: 0px;
    height: max-content;
}


.menu_icon.mobile_search {
	display: none;
}

.error_message_btn_calendar, .error_message_btn_occupancy {
	border: unset;
    border-radius: 4px;
    background-color: #FFFFFF;
    font-size: 14px;
    font-weight: 700;
    color: #0C83D9;
    padding: 8.5px 20px;
    min-width: 115px;
}

.error_message_btn_calendar:focus, .error_message_btn_occupancy:focus {
	outline: unset;
}

.single-package-content {
	display: flex;
	flex-direction: column;
}

.mobile-search-bar-package {
	display: none;
}

.mobile-search-bar-package-spacer{
	display: none;
}


.searchbar-package-section {
	display: block;
	padding-left: 0px;
	padding-right: 0px;
}

.searchbar-package-section .row {
	justify-content: center;
}

.select-age-buttons {
	display: none;
}


.offer_info  {
	width: 100%!important;
}

.section4 {
	padding-bottom: unset!important;
}

.roomrate .description {
	width: 73%;
}

@media (max-width: 1200px){

	.contain {
		max-width: 1084px;
	}
}

@media (max-width: 992px) {
	.section3 {
		padding: 0;
	}

	#single-promotion-header,
	#grey-background,
	.info_offer_description,
	#guarantees-penalties-component {
		margin: 0 20px;
	}
	.promotions-padding {
		padding: 0;
		padding-bottom: 20px;
		margin-top: 0px;
	}

	#property-service-modal .promotions-padding{
		padding: 20px 15px;
	}


	#single-promotion-header:not(.mobile),
	#grey-background:not(.mobile) {
		display: none;
	}
	#single-promotion-header.mobile,
	#grey-background.mobile {
		display: flex;
		margin: 20px;
	}

	#grey-background.mobile {
    	margin: 20px auto 0;
    	width: calc(100% - 40px);
    	padding: 22px 21px 20px 21px;
		flex-direction: column;
        align-items: center;
    }

	.single-package-content .gallery-contain-left.gallery-contain-left-ajax{
		height: 235px;
		width: 100%;
		min-width: unset !important;
		max-width: unset !important;
		margin-right: 0;
		position: relative;
	}

	.modal-content.gallery-content {
		height: 100%;
	}

	.clapped-text {
		-webkit-line-clamp: none;
	}

	.searchbar-package-section .container {
		padding: 0;
		position: relative;
		display: flex;
		justify-content: center;
		width: 100%;
		max-width: unset;
		height: calc(100vh - 60px);
		overflow-y: scroll;
	}

	#rate_plan_form-lp #dates, #rate_plan_form-lp #guests_div, #rate_plan_form-lp .promo_code  {
		padding-right: 15px;
	}

	.searchbar-package-section .row {
		margin-left: 0px;
		margin-right: 0px;
		width: 100%;
		max-width: 500px;
	}

	.searchbar-holder-col {
		width: 100%;
	}

	#rate_plan_form-lp {
		display: flex;
		flex-direction: column;
		padding-top: 20px;
		padding-bottom: 0;
		border-radius: 0;
		width: 100%;
		height: 100%;
		background-color: var(--hotel-custom-bg-color, #1E2023);
	}

	.available-room-message {
		padding-left: 15px;
	}
	
	.section5 {
		padding-left: 15px;
    	padding-right: 15px;
	}

	.select-age-buttons {
		display: block;
	}

	.header-top {
		box-shadow: unset;
	}

	#promotion_name {
		padding-bottom: 10px;
	}

	.hotel_location {
		font-size: 14px;
    	padding-bottom: 10px;
	}

	.icon-share__holder {
		display: none;
	}

	.hotel_info_image {
    	width: 100%;
		max-width: 100%;
	}

	.info_section {
		padding-top: 22.17px;
	}

	.offer-text {
    	line-height: 1.43;
    	margin-bottom: 0px;
    	-webkit-line-clamp: 3;
    	max-width: unset;
	}

	.info_offer_include {
		padding-left: 10px;
		padding-right: 10px;
		display: flex;
    	justify-content: center;
    	width: 100%;
		max-width: 100%;
	}

	.cancelation_policy_holder {
		width: auto;
	}

	.promotion-slide-icon-cancel,.promotion-slide-icon-guarantee {
		display: inline-block;
	}

    .icon-share__holder__phone {
		display: block;
	}

	.icon-share__text__phone {
		display: block;
   		text-align: center;
    	margin-top: 20px;
    	margin-bottom: 5px;
	}

	.icon-share__links {
    	display: flex;
    	justify-content: center;
	}

	.icon-share__text {
		margin-right: 0px;
	}

	#pdf-download {
		width: 100%;
		justify-content: center;
	}

	.guarantee-policy {
		padding-bottom: 0 !important;
	}

	#rate_plan_form-lp .guests_number, #rate_plan_form-lp .promo_code {
		display: block;
	}

	.select-room-title {
		color: var(--hotel-custom-text-color, #ffffff);
		text-transform: none;
		font-weight: 800;
	}

	#dates #calendar_dates {
		width: 100%;
		padding-left: 10px;
		height: 48px;
	}

	#guests {
		width: 100%;
		display: none;
	}

	#promo_code {
		width: 100%;
		display: none;
	}

	.promo_code  > .input-title {
		display: none;
	}

	#guests_div .input-title {
		display: none;
	}

	#occupancy_dropdown, #promo_code_dropdown{
		position: static !important;
    	padding: 0 !important;
    	width: 100%;
	}

	#occupancy_dropdown {
		display: block;
		max-height: none;
		padding: unset!important;
	}

	#group_code, #group_code, #loyalty_code, #Code {
		width: 100%;
	}

	.text-right {
		text-align: center!important;
	}

	#step-results-center {
		margin-bottom: 30px;
	}	

	.messages_serachbar_holder {
		max-width: 992px;
	}

	.offer-text-icon {
		display: none!important;
	}

	.offer-text-icon-mobile {
		display: block;
		margin-right: 10px;
		margin-left: 12px;
		cursor: pointer;
	}

	.offer_guarantees_penalties {
		display: none;
	}

	.hotel-info-description-holder {
		border-bottom: unset;
		margin-bottom: 22px;
		max-width: unset;
	}

	.offer-text-holder {
		border-bottom: unset;
		max-width: unset;
	}

	.grey-background-mobile-hidden {
		display: none;
	}

	.offer-title {
		margin-bottom: 10px;
		line-height: 17px;
	}

	.price {
		margin-bottom: 10.45px;
	}

	.price-value {
		margin-top: 3.55px;
		font-size: 24px;
		line-height: 32px;
		font-weight: 500;
	}

	.price-value .currency_symbol_price, .price-value .decimal_value_price {
		font-size: 24px;
		font-weight: bold;
		font-weight: 500;
	}

	#package_availability {
		line-height: 19px;
	}

	.special_offer {
		width: max-content;
	}

	.hotel_offer_politica {
		margin-top: 22.5px;
		margin-bottom: 10px;
	}

	.ul-head {
		margin-bottom: 6.87px;
	}

	.other_dates {
		margin-bottom: 22px;
	}

	.spacer-line {
		margin-top: 29.5px;
		margin-bottom: 22.5px;
	}


	.mobile-search-bar-package {
		z-index: 18;
		justify-content: space-between;
		position: fixed;
		top: 43px;
		left: 0px;
		height: 49px;
		background: #455A64;
		display: flex;
		align-content: center;
		align-items: center;
		width: 100%;
		padding-right: 15px;
		padding-left: 15px;
		color:#FFF;
		line-height: 1.2;
		transition: all 0.2s ease;
	}

	body:has(.loyalty-bar) .mobile-search-bar-package {
		top: unset;
	}

	#occupancy_dropdown {
		box-shadow: none;
	}

	.searchbar-package-section {
		display: none;
		background-color: var(--hotel-custom-bg-color, #1E2023);
		width: 100%;
		z-index: 999;
		height: auto;
		height: 100vh;
		position: absolute;
		top: 0 !important;
	}

	.mob-codes {
		margin-bottom: 7px;
	}

	.search-button {
		display: none !important;
	}

	#search .mobile-search-button {
		height: 48px;
		border-radius: 12px;
		margin-bottom: 0 !important;
	}
	
	#search button {
		min-width: 290px;
		margin-bottom: 50px;
		height: 40px;
		border-radius: var(--button-border-radius-lg, 12px);
		font-weight: 700;
		font-size: 13px;
		line-height: 1.15;
		background-color: #FD4700;
		color: var(--hotel-custom-text-color, #ffffff);
		border: 1px solid #FD4700; 
		display: block;
		width: 100%;
		font-size: 16px !important;
		height: 48px !important; 
	}

	#rate_plan_form-lp .search {
		position: sticky;
		bottom: 0;
		width: 100%;
		max-width: 500px;
		background: var(--hotel-custom-bg-color, #1E2023);
		padding: 20px 15px;
		margin-top: auto;
		border-top: 1px solid rgba(255, 255, 255, .2);
	}

	button.select-occupancy-apply {
		display: none;
	}

	.multiple-rooms .select-guests-holder {
		border-radius: 2px;
		margin-bottom: 15px;
	}

	.select-child-ages-holder  {
		margin-top: 0px; 
		padding-left: 0px;
	}

	.select-age-buttons {
		display: flex;
	}

	.mobile_promo_code {
		margin-top: 0px;
	}
	
	.select-button {
		box-shadow: none!important;
    	outline: none!important;
	}

	.roomrate .description {
		width: 100%;
	}

}

@media (max-width: 576px) {

	#promotion_name {
		padding-bottom: 5px;
	}

	.hotel_location {
		font-size: 12px;
    	line-height: 1.3;
	}

	.cover_image {
    	height: 171px;
	}

	.info_section {
		padding-top: 10px;
	}

	.info_offer_include {
		padding-left: 10px;
		padding-right: 10px;
	}

	.messages_serachbar_holder {
		max-width: 576px;
	}

	.cover_image {
        aspect-ratio: unset;
        width: 100%;
        height: unset;
        min-height: unset;
		max-height: 382px;
    }

}