@font-face {
  font-display: swap; 
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/lato-v25-latin-regular.woff2') format('woff2'); 
}
@font-face {
  font-display: swap; 
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  src: url('/fonts/lato-v25-latin-italic.woff2') format('woff2'); 
}
@font-face {
  font-display: swap; 
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: url('/fonts/lato-v25-latin-700.woff2') format('woff2'); 
}


body,
body *:not(.fa) {
	font-family: "Lato", serif;
}

body {
	font-size: 0.9rem;
	/*font-weight: 400;
	font-style: normal;
	font-size:14px;
	letter-spacing:0 !important;*/
}

.inner_page h1:first-of-type {	
    font-weight: 700;
}
a.regional-offer.card,
.regional-offer span.price strong {
	color:black !important;
}

.inner_page,
#footer,
.simpleBoxes,
.simpleBoxes *,
.regional-offer span.price,
.image_banner_description,
.image_banner_description strong {
	font-size: 1rem !important;
	line-height: 1.25rem !important;
}

.image_banner_title {
	font-size: 1.2rem !important;
}

.newbookingform .formitem {
	font-size: 0.9rem;
}

#mobile_menu {
	font-size: 12px;
}

@media(min-width:768px) {
	div.secondary_images_wrapper a.selected {
		background-color: #de585c !important;
	background: linear-gradient(to bottom, rgb(202, 54, 59) 0%, rgba(150, 0, 0, 1) 100%) !important;
	}
	/*#hotel_header {
		padding-top: 20px;
	}*/
}

#booking_box,
#tabs li.selected a,
#tabs_reverse li.selected a {
	background-color: rgba(150, 0, 0, 1) !important;
}

#hotel_inner_page,
#tabs li.selected a,
#tabs_reverse li.selected a {
	border-color: rgba(150, 0, 0, 1) !important;
	border-left:0;
	border-right:0;
}

#hotel_inner_page {
	padding:15px 0;
}

#booking_box h4,
#booking_box .h4 {
	color: white;
	font-weight: bold;
}

#tabs_reverse li.selected a {
	box-shadow: none;
}


/*#body-wrapper, #mainColumn, .condensed-font, #cboxContent {	
	font-family: "Lato", serif !important;
	font-weight:400;	
}*/
#mainColumn h1,
#mainColumn .h1,
#body-wrapper .cufon,
.inner_page p.first,
table.list th,
#cboxContent {
	font-family: "Lato", serif !important;
}

#header h1,
#header div.h1 {
	width: 240px;
}

#home-message {
	padding-left: 4px !important;
}

#header h1.image,
#header div.h1.image {
	background-image: none;
	/*url(/images/opl-luxe2.svg) !important;*/
}

#header {
	background-color: transparent !important;
}

h1:not(.image),
.h1 {
	text-transform: none;
}

div#mainColumn:not(.home_page) .orange_button,
p.image_banner_buttons span.orange_button,
#colorbox .orange_button,
.primary-btn {
	background: #2b2b2b !important;
	background: linear-gradient(to bottom, rgb(202, 54, 59) 0%, rgba(150, 0, 0, 1) 100%) !important;
	color: #FFF !important;
	border: 0 !important;
	font-size: 15px !important;
	padding: 10px 12px !important;
	text-align: center !important;
	border-radius: 2px !important;
	z-index: 1;
	transition:none;
}
p.button_container {
	display:flex;
	gap:10px;
	justify-content: center;
}

div#mainColumn:not(.home_page) .orange_button:hover,
p.image_banner_buttons span.orange_button:hover,
.primary-btn:hover,
.red_button_bg {
	background: rgb(150,0,0) !important;
}

div#mainColumn:not(.home_page) .subtle_button_grey,
p.image_banner_buttons span.subtle_button_grey {
	box-shadow: inset 0 0 0 1px rgba(220,220,220, 0.5);
	/* solid inset border */
	background: transparent !important;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(220, 220, 220, 1) 100%) !important;
	color: #666 !important;
	transition: all ease-in-out 0.1s;
	border-radius: 4px !important;
	transition:none;
}

p.image_banner_buttons span.subtle_button_grey {
	background-color: white !important;
	border-color: transparent !important;
	box-shadow: none;
}

div#mainColumn:not(.home_page) .subtle_button_grey:hover,
p.image_banner_buttons span.subtle_button_grey:hover {
	background: #F0F0F0 !important;
	/*box-shadow: inset 0 0 0 2px #AAA;*/
	color: #222 !important;
}

div#mainColumn:not(.home_page).identify_package_title {
	background-color: #4B4B4B !important;
	color: #FFF !important;
	font-size: 14px !important;
}

.book_button:not(.has_chevron)::after {
	display: none;
}

p.image_banner_buttons span {
	padding-right: 5px !important;
}

.auto_width_button.book_button {
	padding-right: 0.7em !important;
}

#menu {
	border-top: 1px solid #810000;
	border-bottom: 1px solid #810000;
}

#menu,
.sf-menu>li {
	background-image: none;
	background-color: transparent !important;
}

#menu,
.sf-menu>li>a {
	border-right: 0;
}

.sf-menu li ul li {
	background-color: white !important;
	box-shadow: none !important;
}

.sf-menu {
	font-family: "Lato", serif;
	float: none;
	display: flex;
	justify-content: space-evenly;
}

.sf-menu a {
	color: #2b2b2b;
	font-size: 0.9rem;
	letter-spacing: 0;
	font-weight: 600 !important;
	box-shadow: none !important;
}

.sf-menu>li a:hover {
	background: #FFF !important;
}

.sf-menu li a,
.sf-menu li a.sf-with-ul {
	padding: 0.6rem 30px 0.6rem 0.6rem !important;
}

.sf-menu li li a,
.sf-menu li li a.sf-with-ul {
	padding: 0.75rem !important;
}

.sf-menu li li > a.sf-with-ul {
	padding-right:80px !important;
}

.sf-sub-indicator {
	background: url(/images/arrows-000000.png) no-repeat 0 -100px
}


.sf-menu ul li:not(.multi_width_display):hover a,
.sf-menu ul li.sfHover a {
	color: #900 !important;
}

.sf-menu div.multi_width_display_container a {
	color: #2b2b2b !important;
}

.sf-menu div.multi_width_display_container a:hover {
	color: #900 !important;
}

.sf-menu li li li:hover a:hover,
.sf-menu li li li.sfHover a:hover {
	background-color: #F0F0F0 !important;
}

.sf-menu li ul a {
	color: #2b2b2b;
}

.browse-hotels span {
	display: none;
}

div.header_title_text {
	border-bottom: 0 !important;
}

.h1.total_price_block {
	font-size: 28px !important;
}

#break_down span.bd_price {
	width: 60px;
}

@media(max-width:768px) {
	div#mainColumn {
		margin-top:0 !important;
	}
	div#mainColumn div.inner_page.top-content {
		padding-top:0 !important;
	}
	div#body-wrapper {
		padding-top:55px !important;
	}
	#hotel_inner_page {
		padding:0 !important;
	}
	#header,
	#menu {
		background-color: white !important;
	}

	#search_button {
		font-size: 16px;
	}

	table.date_month_block,
	.fake_block {
		font-size: 14px;
	}

	div#mainColumn:not(.home_page) .orange_button,
	p.image_banner_buttons span.orange_button,
	.primary-btn {
		padding: 10px 12px !important;
	}
	.sf-menu ul {
		box-shadow:none;
	}
}

.message_pinky {
	border-color: #cc993347 !important;
}
.message_less_alarming {
	background:white;
	border-color:white;
}
.message_less_alarming p.h1 {
	margin-top:0;
}
.filter_display.message_less_alarming {
	background:#777;
}
#booking_box table.date_month_block th.month {
	background:white !important;
	color:#444 !important;
	text-shadow:none !important;
}
#booking_box a.inline_month_nav_anchor_right {
	background: url(/images/arrow-right-square.svg);
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 20px !important;
    width: 30px !important;
    height: 20px !important;
}
#booking_box a.inline_month_nav_anchor_right:hover {
	background-color:transparent;
	background-image: url(/images/arrow-right-square-solid.svg);
}
#booking_box a.inline_month_nav_anchor_left:hover {
	background-image: url(/images/arrow-left-square-solid.svg);
}
#booking_box a.inline_month_nav_anchor_left {
	background: url(/images/arrow-left-square.svg);
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 20px !important;
    width: 30px !important;
    height: 20px !important;
}
.alt_banner {
	display:none !important;
}

@media(max-width:768px) {
	h1#page_title {
		padding:0 30px;
	}
	a.gift_voucher {
		display:none;
	}
	#availability_checker a.gift_voucher {
		display:inline;
	}
	#hotel_header {
		margin-top:-14px !important;
	}
	.col-4 {
   		flex-direction: column;
	}
}


table.date_month_block th,
table.date_month_block td
{
	background-image:none!important;
	background-color:transparent!important;
	color:#222;
	text-shadow:none;
	text-transform:none!important;
}
table.date_month_block th.month {
	border-bottom:1px solid #E9E9E9;
}
table.date_month_block td.date_cell_past {
	background-color:#DDD!important;
	color:#999!important;
}
table.date_month_block td.date_cell_past a,
table.date_month_block td.date_cell_past span {
	color:#999!important;
	font-weight:normal!important;
}
table.date_month_block td.date_cell_past_month,
table.date_month_block td.date_cell_future_month {
	visibility:hidden;
}
table.date_month_block td.date_cell:not(.date_cell_past).anchor_not_functional,
table.date_month_block td.date_cell:not(.date_cell_past).anchor_not_functional span {
	background:#DDD !important;
	color:#AAA !important;
}
table.date_month_block {
	background-color:white!important;
	box-shadow:none;
}
.date_cell a, .date_cell span {
	padding:6px;
	background-image:none!important;
	color:#333!important;
	font-weight:bold;
}
.date_cell a:hover {
	background:#CCD;
	color:#444 !important;
}
.date_cell a.selected {
	background:#AA0000!important;
	color:#FFF!important;
}

div.secondary_images_wrapper a span.description {
	letter-spacing:-0.5px;
}

div.package-details-container div.value-adds-message, 
 div.value-adds-grid{
	display:none;
}

div#offers_box_body ul.offer_details_list {
	list-style-type: none;
	padding-left:0;
}
div#offers_box_body ul.offer_details_list li {
	display:flex;
	align-items:flex-start;
	gap:5px;
}

div#offers_box_body ul.offer_details_list li span.fa {
    margin-top: 5px;
}

/* Mid-sized browser layout fixes (970px to 1200px) */
.card-image img {
	max-width: 100% !important;
}

@media (min-width: 970px) and (max-width: 1200px) {
	div#mainColumn, div#rightColumn {
		margin-top: 10px !important;
		margin-bottom: 10px !important;
	}
	div#mainColumn {
		width: 708px !important;
	}
	div#rightColumn {
		width: 230px !important;
	}
	.sf-menu a {
		font-size: 0.85rem !important;
	}
	.sf-menu li a {
		padding: 0.6rem 8px !important;
	}
	.sf-menu li a.sf-with-ul {
		padding: 0.6rem 16px 0.6rem 8px !important;
	}
	.sf-sub-indicator {
		right: 4px !important;
	}
	div.secondary_images_wrapper a {
		display: flex !important;
		align-items: center !important;
		gap: 6px !important;
		padding: 6px 4px !important;
	}
	div.secondary_images_wrapper a span.image {
		float: none !important;
		width: 50px !important;
		flex-shrink: 0 !important;
		border: 1px solid white !important;
	}
	div.secondary_images_wrapper a span.image img {
		width: 100% !important;
		height: auto !important;
		float: none !important;
	}
	div.secondary_images_wrapper a span.description {
		float: none !important;
		width: auto !important;
		padding-left: 0 !important;
		flex-grow: 1 !important;
		font-size: 0.75rem !important;
		line-height: 1.1 !important;
	}
	#home_telephone div.phone_message {
		background: #F6F6F6 !important;
	}
	div#mainColumn {
		background: none !important;
	}
}

@media (min-width: 768px) and (max-width: 1200px) {
	table.date_month_block th.dow {
		width: 30px !important;
	}
	.date_cell a, .date_cell span {
		padding: 3px 2px !important;
	}
}
