
/* == LivePrice == */

.hapi-liveprice{
	padding-top: 60px;
	padding-bottom: 60px;
}
.hapi-liveprice-boxes{
	display: flex;
	align-items: stretch;
}

.hapi-liveprice-boxes > *{
	width: 100%;
}
.hapi-liveprice-box-select{
	margin-left: 60px;
}
.hapi-liveprice-box-headline{
	font-size: 24px;
    line-height: 30px;
    box-sizing: border-box;
    padding-bottom: 10px;
    text-align: center;
}

/* = LivePrice Colors = */

.hapi-liveprice-occupancy-headline, 
.hapi-liveprice-rateplans,
.hapi-liveprice-select-rateplan-checkbox,
.hapi-liveprice-control-group,
.hapi-liveprice-package-room{
	border-color: #dadada;
}
.hapi-liveprice-button{
	background-color: black;
	color: white;
}

/* = LivePrice Box Calendar = */

.hapi-liveprice-box-calendar .bh-hapi-datepicker-container{
	margin-bottom: 10px;
}
.hapi-liveprice-calendar-price-info{
    font-size: 12px;
    text-align: center;
}
/*
.hapi-liveprice .date-picker-wrapper {
    background: transparent;
}
*/

/* = LivePrice Occupancy = */
.hapi-liveprice-occupancy-headline{
	border-bottom-width: 1px;
	border-bottom-style: solid;
}

.hapi-liveprice-children-age.disabled{
	opacity: 0.5;
	pointer-events: none;
}
.hapi-liveprice-input-control{
	cursor: pointer;
}
.hapi-liveprice-input-control[data-control="up"].disabled {
	pointer-events: none;
	opacity: 0.5;
}
.hapi-liveprice-control-group{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    border-bottom-width: 1px;
    border-bottom-style: solid;
}
.hapi-liveprice-control-box{
    width: calc( 100% / 3 );
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding-top: 30px;
    padding-bottom: 30px;
    box-sizing: border-box;
}

.hapi-liveprice-controls{
	display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px;
}
.hapi-liveprice-input-control{
    cursor: pointer;
    height: 30px;
    width: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.hapi-liveprice-input-title{
    text-align: center;
    margin-bottom: 15px;
}
.hapi-liveprice-input-subtitle{
	text-align: center;
}
.hapi-liveprice-input-display{
    font-size: 50px;
    padding: 0px 10px;
    user-select: none;
}

/* = LivePrice Rateplan Select = */
.hapi-liveprice-rateplans{
	padding: 30px 0;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	margin-bottom: 30px;
}
.hapi-liveprice-select-rateplans{
	display: flex;
    justify-content: center;
    padding-top: 30px;
    padding-bottom: 30px;
}
.hapi-liveprice-select-rateplan{
    width: 33.333%;
    text-align: center;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}
.hapi-liveprice-select-rateplan-checkbox{
    height: 20px;
    width: 20px;
    border-style: solid;
    border-width: 1px;
}
.hapi-liveprice-select-rateplan.active .hapi-liveprice-select-rateplan-checkbox{
	background: black;
	opacity: 1;
}
.hapi-liveprice-select-rateplan-name{
	margin-bottom: 15px;
}

/* = LivePrice Messages = */
.hapi-liveprice-messages{
	padding-left: 15px;
	padding-right: 15px;
	padding-bottom: 30px;
	text-align: center;
}
.hapi-liveprice-message{
	display: none;
}
.hapi-liveprice-message.active{
	display: block;
}
[data-discount="0"] .hapi-liveprice-discount-box{
	display: none;
}
.hapi-liveprice-discount-price{
	font-size: 20px;
	margin-bottom: 10px;
	opacity: 0.7;
	text-decoration: line-through;
}
.hapi-liveprice-price-total{
	font-size: 24px;
	margin-bottom: 10px;
}
.hapi-liveprice-buttons{
	display: flex;
	justify-content: center;
}

.hapi-liveprice-button{
	line-height: 50px;
    flex-grow: 1;
    margin-left: 10px;
    margin-right: 10px;
    font-weight: bold;
    text-align: center;
}
.hapi-liveprice-buttons .hapi-liveprice-button:first-child{
	margin-left: 0;
}
.hapi-liveprice-buttons .hapi-liveprice-button:last-child{
	margin-right: 0;
}

/* = LivePrice Package Detail = */
.hapi-liveprice-package .hapi-liveprice-boxes{
/* 	flex-wrap: wrap; */
	margin-bottom: 60px;
}
.hapi-liveprice-package-room{
	display: flex;
    justify-content: flex-start;
    padding-top: 30px;
    padding-bottom: 30px;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    box-sizing: content-box;
}
.hapi-liveprice-package-room-content{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	flex-grow: 1;
}
.hapi-liveprice-package-room-buttons{
	align-self: flex-end;
	width: 100%;
}
.hapi-liveprice-package .hapi-liveprice-package-room:first-child{
	border-top-width: 1px;
	border-top-style: solid;
}
.hapi-liveprice-package-room-pictures{
	flex-shrink: 0;
    width: 240px;
    margin-right: 30px;
}
.hapi-liveprice-package-room-picture{
	display: block;
	height: 0;
	padding-bottom: 80%;
	background-size: cover;
	background-repeat: no-repeat;
}
.hapi-liveprice-package-room-picture-hover{
	
}
.hapi-liveprice-package-room-prices{
	flex-shrink: 0;
    width: 240px;
    margin-left: auto;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.hapi-liveprice-package-room-headline{
	font-size: 24px;
    line-height: 30px;
}
.hapi-liveprice-package .hapi-liveprice-message{
	text-align: right;
}
.hapi-liveprice-button-not-available {
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed;
}

@media ( max-width: 1440px ){
	.hapi-liveprice-package-room{
		padding-left: 20px;
		padding-right: 20px;	
	}
}
/* = LicePrice Mobile = */
@media (max-width: 768px){
	.hapi-liveprice-boxes{
	    flex-direction: column-reverse;
	}
	.hapi-liveprice-box-select{
		margin-left: 0;
	}
	.hapi-liveprice-box-calendar{
		padding-top: 30px;
	}
	
	.hapi-liveprice-package-room{
	    flex-wrap: wrap;
	}
	.hapi-liveprice-package-room-pictures{
	    width: 20%;
	    margin-right: 5%;
	}
	.hapi-liveprice-package-room-content {
	    width: 75%;
	}
	.hapi-liveprice-package-room-prices{
		width: 100%;
		margin-left: 0;
	}
	.hapi-liveprice-package .hapi-liveprice-messages{
		padding-left: 0;
		padding-right: 0;
	}
	.hapi-liveprice-package .hapi-liveprice-message{
		text-align: left;
	}
}