/*----------- GENERAL --------------*/
/*----------- BOUTONS -------------*/
.hb-search-button-wrapper input[type="submit"]:hover,
.hb-search-button-wrapper button:hover,
.hb-select-accom input[type="submit"]:hover {
	background: #16a7d7 !important;
    -webkit-transition: background-color 400ms linear;
    -ms-transition: background-color 400ms linear;
    transition: background-color 400ms linear;
}
select {

  /* styling */
  background-color: white;
  display: inline-block;
  font: inherit;
  line-height: 1.5em;
  padding: 0.5em 3.5em 0.5em 1em;

  /* reset */
  margin: 0;      
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.hbook-wrapper label {
    display: table;
	line-height: 22px;
}
.hb-price-bd-show-text, .hb-price-bd-hide-text{
	color: #118eaf;
}
.hb-price-breakdown-title {
    color: #118eaf;
}
.hb-price-breakdown-title-red, .hb-promotion {
    color: #ff6f3a;
}
.hb-promotion {
    text-align: right;
	font-size: 20px;
    width: 100%;
}
.hb-accom-desc .hb-promotion {
	text-align: left;
}
/*---------- PAGE ACCUEIL - HEADER ---------------*/
#home_header_mobile{ display: none; }
#home_header .wpb_wrapper>.hbook-wrapper {
    position: absolute;
    left: 0;
    right: 0;
    top: 90%;
	
	margin: 0 auto;
	width: 800px;
	max-width: 800px;
	background: rgba(0,0,0,0.8); /*rgb(0,42,58, 0.8); #c1c1c1*/
	color: #fff;
	padding-left: 30px;

	-moz-box-shadow: 4px 4px 10px 2px #000;
	-webkit-box-shadow: 4px 4px 10px 2px #000;
	-o-box-shadow: 4px 4px 10px 2px #000;
	box-shadow: 4px 4px 10px 2px #000;
	filter:progid:DXImageTransform.Microsoft.Shadow(color=#000, Direction=NaN, Strength=10);
}
#home_header input[type="text"]{
	margin: 0;
}
#home_header .hb-check-dates-wrapper, #home_header .hb-people-wrapper{
	margin: 20px 20px 10px 0;
}
#home_header_mobile .hb-check-dates-wrapper, #home_header_mobile .hb-people-wrapper{
	margin-top: 0px;	
}
#home_header .hbook-wrapper input[type="text"], #home_header .hb-people-wrapper select,
#home_header_mobile .hbook-wrapper input[type="text"], #home_header_mobile .hb-people-wrapper select{
	margin: 0;
}
#home_header .hb-check-dates-wrapper i, #home_header .hb-people-wrapper i,
#home_header_mobile .hb-check-dates-wrapper i, #home_header_mobile .hb-people-wrapper i {
    top: 45px;
}
#home_header .hb-search-button-wrapper{
	width: 17.5%;
	float: right;
}
#home_header .hb-search-button-wrapper button{
	padding: 30px;
	line-height: 2;
	height:auto;
}
#home_header .hb-search-button-wrapper label{
	display:none;
}
#home_header .hb-search-button-wrapper button i {
    font-size: 20px;
    margin: 0 0 10px 0;
    display: block;
}
@media only screen and (max-width: 1100px) {
	#home_header{
		margin: 0 !important;
	}
	#home_header .wpb_wrapper > .hbook-wrapper {
		display:none;
	}
	#home_header_mobile {
		display: inline;
	}
	#home_header_mobile .wpb_wrapper > .hbook-wrapper {
		background: #000;
		color: #fff;
		padding: 20px;
	}
	#home_header .wpb_wrapper > .hbook-wrapper {
		position: relative;
		left: 0;
		right: 0;
		top: 60%;
		margin: 0 auto;
		max-width: 800px;
		
		-moz-box-shadow: none;
		-webkit-box-shadow: none;
		-o-box-shadow: none;
		box-shadow: none;
	}
	#home_header .hb-check-dates-wrapper{
		margin: 0 0 20px;
	}
	#home_header .hb-check-dates-wrapper:nth-of-type(2){
		margin: 0 0 10px;
	}
	#home_header .hb-check-dates-wrapper label {
		display: none;
	}
	#home_header .hb-check-dates-wrapper i{
		top: 15px;
	}
	#home_header .hb-people-wrapper {
		margin: 0 4% 10px 0;
	}
	#home_header .hb-vertical-search-form p.hb-people-wrapper-last {
		margin-right: 0;
	}
	#home_header_mobile .hb-search-button-wrapper button {
		padding: 10px;
		line-height: 1;
		height: auto;
		max-width: 100%;
	}
}

@media only screen and (max-width: 600px){
	#home_header_mobile .hb-search-button-wrapper {
		width: 100%;
		float: left;
		margin-top: 10px;
	}
	#home_header_mobile .hb-search-button-wrapper button i {
		font-size: 20px;
		margin: 0 10px 10px 0;
		display: inline;
	}
}
@media only screen and (min-width: 601px) and (max-width: 1100px) {
	#home_header_mobile .hb-search-button-wrapper button{
		height: 100px;
	}
	#home_header_mobile .hb-search-button-wrapper button i {
		font-size: 20px;
		margin: 0 0px 10px 0;
		display: block;
	}
}
/*----------- ROOMS LISTING --------------*/
.hbook_category_title{
	border-bottom: 1px solid #333;
}
.accommodation-grid-wrapper .accommodation-grid-2-col.accommodation-grid .accommodation-block {
    width: calc(50% - 15px);
    float: left;
    margin: 0 30px 30px 0;
    position: relative;
}
.accommodation-grid-wrapper .accommodation-grid-2-col.accommodation-grid .accommodation-block:nth-child(2n) {
    margin: 0 0 30px 0;
}
.sh-image-overlay-wrapper a.accommodation-block-image-link {
    display: block;
    line-height: 0;
}
.accommodation-grid-wrapper .accommodation-grid .accommodation-block img {
    width: 100%;
}
.accommodation-grid-wrapper .accommodation-grid .accommodation-block .accommodation-info {
    position: absolute;
    bottom: 30px;
    left: 30px;
    z-index: 99;
    color: #fff;
}
.accommodation-grid-wrapper .accommodation-grid-2-col.accommodation-grid .accommodation-block .accommodation-info h4 {
    font-size: 22px;
    margin: 0;
}
.accommodation-grid-wrapper .accommodation-grid .accommodation-block .accommodation-info h4 a {
    color: #fff;
    text-decoration: none;
}
.clearfix::after {
    clear: both;
}
.clearfix::before, .clearfix::after {
    content: "";
    display: table;
}
@media only screen and (max-width: 740px) {
	.accommodation-grid-wrapper .accommodation-grid-2-col.accommodation-grid .accommodation-block {
		width: 100%;
		float: left;
		margin: 0 0 30px 0;
		position: relative;
	}
}
/*----------------------------------------*/
/*----------- ROOMS DETAILS --------------*/
/*----------------------------------------*/

/*--------TABLEAU DES PRIX--------*/
.hb-rates-table{
	display: inline-table;
}
.hb-rates-table-mobile{
	display: none;
}
.hb-rates-table, .hb-rates-table-mobile {
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
    word-wrap: break-word;
}
@media only screen and (max-width: 740px) {
	.hb-rates-table{
		display: none;
	}
	.hb-rates-table-mobile{
		display: inline-table;
	}
}

/*------ BOOKING FORM WIDGET --------*/
.sohohotel-sidebar-content .sohohotel-widget-wrapper, .room-price-widget .from, .room-price-widget .price-detail{
	background: #1c1c1c;
}
.sohohotel-sidebar-content .sohohotel-widget-wrapper{
	padding: 30px;
	color: #fff;
	margin: 0 0 60px 0;
}
.sohohotel-sidebar-content .sohohotel-widget-wrapper h3 {
    font-size: 60px;
	line-height: 60px;
    margin: 20px 0 30px 0;
    text-align: center;
}
.sohohotel-sidebar-content .sohohotel-widget-wrapper h3.hb-title-search-form{
	font-size: 30px;
	line-height: 40px;
	margin: 30px 0 30px 0;
	text-align: center;
}
/*- ROOM PRICE WIDGET -*/
.sohohotel-sidebar-content .sohohotel-widget-wrapper .room-price-widget{
	margin: 0 0 30px 0;
}
.sohohotel-sidebar-content .sohohotel-widget-wrapper .room-price-widget .from,
.sohohotel-sidebar-content .sohohotel-widget-wrapper .room-price-widget .price-detail {
    font-size: 14px;
    line-height: 14px;
	text-align: center;
}
.sohohotel-sidebar-content .sohohotel-widget-wrapper .room-price-widget .from{
    margin: -8px auto 0 auto;
    width: 95px;
}
.sohohotel-sidebar-content .sohohotel-widget-wrapper .room-price-widget .price-detail {
    margin: 0 auto -7px auto;
    width: 80px;
}



.sohohotel-sidebar-content .sohohotel-widget .textwidget .hb-check-dates-wrapper,
.sohohotel-sidebar-content .sohohotel-widget .textwidget .hb-people-wrapper{
    margin-bottom: 30px;
	margin-right: 2%;
}
.sohohotel-sidebar-content .sohohotel-widget .textwidget .hb-search-button-wrapper{
	margin-top: 22px;
}

.hb-check-dates-wrapper i,
.hb-people-wrapper i{
	position: absolute;
	right: 10px;
	top: 35px;
	font-size: 18px;
	color: #666;
	z-index: 0;
	pointer-events: none;
}
.hbook-wrapper input[type="text"], .hb-people-wrapper select{
    display: block;
	border: none;
	font-size: 14px;
	padding: 0 15px;
	height: 45px;
	color: #666;
}
.hb-search-button-wrapper input[type="submit"], .hb-search-button-wrapper button,
.hb-select-accom input[type="submit"], .hb-select-accom button {
	color: #fff;
	background: #118eaf;
	border: none;
	font-size: 14px;
	margin: 0 auto;
	max-width: 230px;
	width: 100%;
	height: 45px;
	line-height: 2;
	float: none;
	display: block;
	cursor: pointer;
}
.hb-search-button-wrapper button i {
    font-size: 20px;
    margin: 0 8px 0 0;
}
.hb-select-accom, .hb-view-accom {
    float: left;
	width: 100%;
}

/*---------------------------------------
------------- BOOKING PAGE --------------
-----------------------------------------*/

/*----------- SEARCH FORM BOOKING PAGE --------------*/
#booking_page{
	max-width: 1140px;
	/*width: calc(100% - 30px);*/
	width: 100%;
	margin: 0px auto 80px;	
	float:none;
}
#booking_page .hb-booking-search-form{
	float:left;
	background: #002a3a;
	color: #fff;
	padding: 30px;
	/*width: calc(32% - 20px);*/
	width: 100%;
}
#booking_page .hb-check-dates-wrapper, #booking_page .hb-people-wrapper {
    /*margin: 0;
	width: 100%;*/
	margin: 0 5px;
	width: calc(25% - 10px);
}
#booking_page .hbook-wrapper input[type="text"], #booking_page .hb-people-wrapper select{
	margin: 0;
	/*margin: 0 0 25px 0;*/
}
#booking_page .hb-search-button-wrapper input[type="submit"]{
	border: none;
	color: #fff;
	font-size: 14px;
	padding: 14px 25px;
	cursor: pointer;
	line-height: 1;
}
#booking_page .hb-search-button-wrapper {
    width: 100%;
}
#booking_page .hb-search-button-wrapper button{
	margin: 20px auto 0;
}
#booking_page .hb-check-dates-wrapper i, #booking_page .hb-people-wrapper i {
    top: 45px;
}

#booking_page .hb-chosen-check-in-date, #booking_page .hb-chosen-adults,#booking_page .hb-chosen-check-out-date, #booking_page .hb-chosen-children{
	font-size: 14px;
	line-height: 130%;
	padding: 0 0 15px 0;
	margin: 0 0 15px 0;
	border-bottom: #424242 1px solid;
	width: 25%;
}

@media only screen and (max-width: 900px) {
	#booking_page .hbook-wrapper label {
		margin: 10px 0 0 0;
	}
	#booking_page .hb-booking-searching {
		margin: 10px 0 0 0;
	}
	#booking_page .hb-check-dates-wrapper, #booking_page .hb-people-wrapper,
	#booking_page .hb-chosen-check-in-date, #booking_page .hb-chosen-adults,#booking_page .hb-chosen-check-out-date, #booking_page .hb-chosen-children{
		width: 100%;
	}
	#booking_page .hb-chosen-check-out-date, #booking_page .hb-chosen-children{
		padding: 0 0 30px 0;
		margin: 0 0 30px 0;
	}
	#booking_page .hb-chosen-check-out-date{
		border-bottom: #fff 1px solid;
	}
	#booking_page .hb-chosen-children{
		border-bottom: none;
	}
}
/*----------- LIST ACCOMODATIONS BOOKING PAGE --------------*/

#booking_page .hb-search-result-title-section, .hb-title{
	text-align:center;
	margin: 0 0 25px 0;
}
#booking_page .hb-accom-list{
	/*width: 68%;
	float: right;*/
	float:left;
	width: 100%;
	max-width: 100%;
	margin-top: 30px;

	background: #002a3a;
	color: #fff;
	padding: 30px;
} 

#booking_page .hb-accom {
    background: none;
    transition: background 0.5s;
    border: 0;
    border-bottom: 1px solid #ccc;
    border-radius: 0;
    margin-bottom: 20px;
    min-height: 90px;
    padding: 15px;
    padding-bottom: 0px;
}
#booking_page .hb-accom-selected{
    background: #70b1c9;
    transition: background 0.8s;
    border: 1px solid #333;
	color: #000;
	-moz-box-shadow: 0px 0px 10px 2px #000;
	-webkit-box-shadow: 0px 0px 10px 2px #000;
	-o-box-shadow: 0px 0px 10px 2px #000;
	box-shadow: 0px 0px 10px 2px #000;
	filter:progid:DXImageTransform.Microsoft.Shadow(color=#000, Direction=NaN, Strength=10);
}
#booking_page .hb-accom-selected .hb-accom-title a{
	color: #000;
}
#booking_page .hb-accom-selected .hb-accom-selected-name {
    display: block;
    font-weight: bold;
	text-align: center;
	font-style: italic;
}
#booking_page .hb-accom-selected .hb-price-bd-show-text, #booking_page .hb-accom-selected .hb-price-bd-hide-text, 
#booking_page .hb-accom-selected .hb-price-breakdown-title{
	color: #002a3a;
}
#booking_page .hb-accom-img {
    display: block;
    float: left;
    margin: 0 15px 0 0;
    max-width: 100%;
}
#booking_page .hb-accom-title {
	margin: 0 0 25px 0;
}
#booking_page .hb-accom-title a {
	color: #fff;
	text-decoration: none;
	font-size: 20px;
	line-height: 120%;
	font-weight: 400;
}
#booking_page .hb-accom-desc ul li {
    position: relative;
    font-size: 14px;
    border-bottom: 0;
    padding: 0;
    margin: 0;
    line-height: 140%;
}
#booking_page .hb-accom-price {
    font-size: 30px;
    font-weight: bold;
    line-height: 45px;
    margin-right: 0;
    float: right;
    text-align: right;
}
#booking_page .hb-accom-price-caption{
	font-size: 12px;
	line-height: 14px;
	margin: 0 0 15px;
    width: 100%;
    text-align: right;
}
#booking_page .hb-select-accom input[type="submit"]{
	border: none;
	color: #fff;
	font-size: 14px;
	padding: 14px 25px;
	cursor: pointer;
	line-height: 1;
	margin:0;
	float:right;
}
@media only screen and (max-width: 800px) {
	#booking_page .hb-accom-list{
		width: 100%;
		padding: 20px;
	}
}
/*----------- DETAILS FORM BOOKING PAGE --------------*/
#booking_page .hb-booking-details-form{
	width: 68%;
	float: right;
	margin-top: 30px;
	background: #002a3a;
	color: #fff;
	padding: 30px;
}
#booking_page .hb-booking-details-form.has-validation-callback{
	width:100%;
	max-width: 100%;
	float:left;
}
#booking_page .hb-resa-summary {
	margin-top: 50px;
}
#booking_page .hb-resa-summary-content {
    background: #70b1c9;
    border: 1px solid #333;
	color: #000;
    border-radius: 0;
    margin-bottom: 22px;
    padding: 10px 17px;
}
#booking_page .hb-confirm-button{
	width: 100%;
}
#booking_page .hb-confirm-button input[type="submit"]{
	margin: 0 auto;
	display: block;
}
@media only screen and (max-width: 800px) {
	#booking_page .hb-booking-details-form{
		width: 100%;
		padding: 20px;
	}
}