#myBookingContainer {
	font-family: 'Open Sans', sans-serif;
	margin-bottom:100px;
}

#myBookingContainer .bookingForm .form-group {
	position: relative;
}

#myBookingContainer .bookingForm .form-group label {
	text-transform:uppercase;
	font-weight:normal;
	position: absolute;
	top: 8px;
	left: 10px;
}

#myBookingContainer .bookingForm .form-group label:after {
	content:":";
}

#myBookingContainer .bookingForm .form-group label i {
	margin-right:10px;
}

#myBookingContainer .bookingForm .form-group input#bookingEmail {
	padding-left:85px;
}

#myBookingContainer .bookingForm .form-group input#bookingArrivo {
	padding-left:95px;
}

#myBookingContainer .bookingForm .form-group input#bookingPartenza {
	padding-left:120px;
}

#myBookingContainer .bookingForm .form-group input#bookingPersone {
	padding-left:105px;
}

#datePickerBookingPartenza .xdsoft_label.xdsoft_month i,
#datePickerBookingPartenza .xdsoft_label.xdsoft_year i,
#datePickerBookingPartenza .xdsoft_select.xdsoft_monthselect, 
#datePickerBookingPartenza .xdsoft_select.xdsoft_yearselect,
#datePickerBookingArrivo .xdsoft_label.xdsoft_month i,
#datePickerBookingArrivo .xdsoft_label.xdsoft_year i,
#datePickerBookingArrivo .xdsoft_select.xdsoft_monthselect, 
#datePickerBookingArrivo .xdsoft_select.xdsoft_yearselect		{
	visibility:hidden;			
}
.xdsoft_datetimepicker .xdsoft_label:hover>span {
	text-decoration:none !important;
}

.xdsoft_datetimepicker .xdsoft_calendar th {
	color:black;
	background:white;
	border:none;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_date.xdsoft_disabled {
	color:black;
	background:white;
	opacity:1;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_date {
	color:black;
	background:#5bb85d;
	opacity:1;
}


#myBookingContainer #bookingPersone, 
#myBookingContainer #bookingArrivo, 
#myBookingContainer #bookingPartenza {
	background:white;
}

#myBookingContainer #sceltaPersone > p {
	margin-bottom:10px;
}

#myBookingContainer #sceltaPersone select {
	float: right;
	font-size:18px;
}

#myBookingContainer #sceltaPersone {
	border: 1px solid #ccc;
	padding:15px;
	display:none;
	margin-bottom:20px;
}

#myBookingContainer .bookingTypes i,
#myBookingContainer .kidTypes i {
	margin-right:10px;
}

/* auto-computed age-bracket counts: submitted but not shown to the user */
#myBookingContainer .kidTypeBracket {
	display:none;
}

#myBookingContainer .bookingButton i {
	display:none;
	margin-right:5px;
}

#myBookingContainer .bookingButton,
#myBookingContainer .greenButton {
	background-color: #5bb85d;
	color: white;
	border: none;
	padding: 7px 15px;
	text-transform: uppercase;
}

#myBookingContainer #bookingColumnPrivacy {
	font-size:12px;
}

#myBookingContainer #bookingColumnPrivacy h4{
	font-weight:bold;
	font-size:12px;
}

#myBookingContainer #bookingColumnPrivacy label {
	margin-right:10px;
	text-transform:uppercase;
}

#myBookingContainer .bookingLoading {
	text-align:center;
	margin-top:100px;
}

#myBookingContainer .hotelRow{
	border: 1px solid #ccc;
}

#myBookingContainer .bookingForm .row img {
	width:100%;
}

#myBookingContainer .bookingColumnImg {
	padding-left:0;
	padding-right:0;
}

#myBookingContainer .bookingColumnImg > .bookingHotelData,
#myBookingContainer .bookingColumnImg > .bookingRowTitle {
	padding-left:15px;
	padding-right:15px;
}

#myBookingContainer .bookingColumnImg>img {
	border-right: 1px solid #ccc;
}

#myBookingContainer .hotelFinal .bookingColumnImg>img {
	border-bottom: 1px solid #ccc;
}

#myBookingContainer .hotelFinal .bookingHotelData,
#myBookingContainer .hotelFinalHidden .bookingHotelData {
	padding-bottom: 50px;
	margin-bottom: 50px;
}

#myBookingContainer .bookingRowTitle {
	text-transform:uppercase;
	font-size:16px;
	margin-top: 20px;
	margin-bottom: 10px;
}

#myBookingContainer .bookingRowTitle > i {
	margin-right:10px;
}

#myBookingContainer .bookingRowTitle.bookingHotelPrezzo {
	font-weight:bold;
	font-size: 22px;
	margin-top: 3px;
}

#myBookingContainer .bookingRowTitle.bookingHotelPreventivo {
	font-size:13px;
}

#myBookingContainer .bookingHotelData {
	font-size:12px;
}

#myBookingContainer .bookingHotelData i {
	margin-right:10px;
}

#myBookingContainer .bookingHotelData p {
	margin-bottom:1px;
	line-height:14px;
}

#myBookingContainer .bookingHotelData p.bookingHotelDesc {
	margin-bottom:10px;
	line-height:14px;
}

#myBookingContainer .hotelHidden > .row,
#myBookingContainer .hotel > .row {
	margin-bottom:20px;
}

#myBookingContainer .hotelHidden > hr,
#myBookingContainer .hotel > hr {
	margin:50px 0;
}

#myBookingContainer .hotelHidden, .hotelFinalHidden {
	display:none;
}

#myBookingContainer .bookingErrorDetail {
	color:#cf1524;
	font-weight:bold;
	display:none;
}

#myBookingContainer .bookingError .bookingErrorDetail {
	display:block;
}
#myBookingContainer .bookingErrorDetail > i {
	margin-right:10px;
}

#myBookingContainer .inviaButton > .bookingErrorDetail {
	margin-bottom:40px;;
}

#bookingInvia, #bookingPrenota {
	margin-bottom: 40px;
}

.polizzaAnnulloContainer input.polizzaCheck {
    margin-right: 5px;
}

.polizzaAnnulloContainer a,
.bookingPolizzaViaggio a {
    margin-right: 15px;
    color: inherit;
    text-decoration: underline;
}

.row.extrasSectionRow {
    font-size: 16px;
    margin-bottom: 20px;
}

.row.extrasSectionRow .detailSmaller,
.bookingConfirmDetails .detailSmaller {
	font-size: 12px;
}

.row.prezzoTotale {
    padding-top: 30px;
    padding-bottom: 30px;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    margin-bottom: 30px;
}

.bookingGiornoExtra h3.bookingHotelTitle.bookingRowTitle, 
.bookingPolizzaViaggio h3.bookingHotelTitle.bookingRowTitle,
.modificaPrenotazione h3.bookingHotelTitle.bookingRowTitle,
.prezzoTotale h3.bookingHotelTitle.bookingRowTitle {
    display: inline;
	vertical-align: top;
}

.bookingGiornoExtra h3.bookingHotelTitle.bookingRowTitle + span, 
.bookingPolizzaViaggio h3.bookingHotelTitle.bookingRowTitle + span,
.modificaPrenotazione h3.bookingHotelTitle.bookingRowTitle + span {
    margin-left: 10px;
	vertical-align: top;
}

#myBookingContainer .bookingRowTitle.bookingHotelPreventivo, 
.row.extrasSectionRow .sectionTitle {
    font-size: 16px;
    display: inline;
    text-transform: uppercase;
    margin-right: 12px;
}

.padding-0 {
	padding-left:0;
	padding-right:0;
}

.extrasSectionRow .colonnaPrezzo, 
.extrasSectionRow .colonnaPrezzo > p,
.prezzoTotale .colonnaPrezzo, 
.prezzoTotale .colonnaPrezzo > p {
    display: inline-block;
}

.prezzoTotale .colonnaPrezzo {
    top: -13px;
    position: relative;
}

.row.bookingHotelPreventivoContainer.extrasSectionRow {
    border-top: 1px solid #ccc;
    padding-top: 20px;
}

.row.bookingHotelPreventivoContainer.extrasSectionRow > .col-xs-11 {
	margin-top:-8px;
}

#myBookingContainer p.bookingHotelPrezzo.bookingRowTitle {
    margin-right: 12px;
    margin-left: 0;
}

#myBookingContainer p.descrizioneSconto {
    margin-left: 0;
}

.row.bookingHotelPreventivoContainer.extrasSectionRow .bookingRiassuntoPersone, 
.prezzoTotale .bookingRiassuntoPersone {
    font-size: 12px;
}

.row.bookingHotelPreventivoContainer.extrasSectionRow .bookingRiassuntoPersone {
	margin-top: 10px;
}

.bookingRiassuntoPersone > p {
    margin-bottom: 2px;
}

#myBookingContainer .bookingForm h1 {
	font-size:30px;
	margin-bottom:30px;
	font-weight:bold;
}

#myBookingContainer .bookingForm h1 img{
	margin-right:10px; 
	float:left;
}

#myBookingContainer .bookingIntro {
	margin-bottom:30px;
}

#myBookingContainer .bookingEricaFinal, 
#myBookingContainer .bookingCroceFinal {
	display:none;
}

#myBookingContainer .bookingDetailsPersone .row.odd, 
#myBookingContainer .bookingDetailsPersone .row.even {
	padding:30px 10px;
	border-bottom:1px solid #ccc;
}

#myBookingContainer .bookingDetailsPersone > div:last-of-type {
	border-bottom:none;
}

#myBookingContainer .bookingDetailsPersone .row.odd {
	background:#fafafa;
}

#myBookingContainer .bookingDetailsPersone .row.even {
	background:#f5f5f5;
}

#myBookingContainer .bookingDetailsPersone input, 
#myBookingContainer .bookingDetailsPersone input:focus,
#myBookingContainer .bookingDetailsPersone select, 
#myBookingContainer .bookingDetailsPersone select:focus {
	border: none;
	background: transparent;
	border-bottom: 1px solid #ccc;
	width:100%;
	outline:none;
}

#myBookingContainer .bookingDetailsPersone input[type=checkbox] {
	width:initial;
	float:left;
	margin-right:5px;
}

#myBookingContainer .bookingDetailsPersone i.fas {
	margin-right:10px;
}

#myBookingContainer .bookingDetailsPersone .row .row {
	margin-bottom:10px;
}

#myBookingContainer .hotelFinal .hotelRow .bookingFinalDetails,
#myBookingContainer .hotelFinalHidden .hotelRow .bookingFinalDetails,
#myBookingContainer .giorniAggiuntivi,
#myBookingContainer .polizza {
	font-size:12px;
}

#myBookingContainer .polizza {
	padding-bottom:40px;
	border-bottom: 1px solid #ccc;
	margin-bottom:40px;
	margin-top:40px;
}

#myBookingContainer .camere input[type=checkbox] {
	float: left;
	margin-right: 5px;
}

#myBookingContainer .camere > h4 {
	font-size:14px;
	margin-top:0;
}

#myBookingContainer .camere > h4#secondTitleRooms {
	margin-top:20px;
}

#myBookingContainer .camere > .row {
	margin-bottom:3px;
}

#myBookingContainer .camere > .row > div > div {
	border-bottom: 1px solid #ccc;
	padding-bottom: 5px;
	margin-bottom: 5px;
}

#myBookingContainer .camere select {
	float:right;
	height: 22px;
	font-size: 17px;
}

#myBookingContainer .bookingFinalDetails .servizi > div > div {
	padding-bottom:2px;
	border-bottom: 1px solid #ccc;
}
#myBookingContainer .serviziAsiagoneve {
	margin-top:20px;
}

#myBookingContainer select {
	border: none;
	outline: none;
}

#myBookingContainer .arrivo, .partenza, .persone, #bookingCalcola, #bookingFormHotel, #bookingFormHotelFinal {
	display:none;
}

#myBookingContainer .bookingCamereRow, .bookingPersoneRow {
	margin-top:40px;
	margin-bottom:40px;
}


#bookingColumnPrivacy label > a {
	color:black;
	text-decoration:underline;
	text-transform:none;
	float:left;
}

#myBookingContainer .titolare {
	display:block;
}

#myBookingContainer .sceltaScuola {
	background:transparent;
	max-width:80px;
}

#myBookingContainer .error.bookingPersonaDetails > input, 
#myBookingContainer .error.bookingPersonaDetails > input:focus,
#myBookingContainer .error.bookingPersonaDetails > .jq-dte {
	border-bottom-color:#cf1524;
	border-bottom-width:2px;
}
#myBookingContainer .error.bookingPersonaDetails > input::placeholder, 
#myBookingContainer .error.bookingPersonaDetails > input, 
#myBookingContainer .error.bookingPersonaDetails > input:focus,
#myBookingContainer .error.bookingPersonaDetails > .jq-dte > .jq-dte-inner > input {
	color:#cf1524;
}

#myBookingContainer .bookingPersonaDetails > .jq-dte {
	border-bottom: 1px solid #ccc;
    border-top: none;
    border-left: none;
    border-right: none;
	padding: 1px 0;
	margin:0;
}

#myBookingContainer .bookingPersonaDetails > .jq-dte,
#myBookingContainer .bookingPersonaDetails > .jq-dte > .jq-dte-inner,
#myBookingContainer .bookingPersonaDetails > .jq-dte > .jq-dte-inner > input {
	background-color:transparent !important;
}

#myBookingContainer .bookingPersonaDetails > .jq-dte > .jq-dte-inner > input {
	border-bottom:none;
}

#myBookingContainer .bookingConfirmDetails > .row {
	margin-top:30px;
}

#myBookingContainer .bookingTitolareViaggio {
	margin-top:50px;
}

#myBookingContainer .bookingServiziViaggio.bookingHotelData {
	margin-bottom: 0;
    padding-bottom: 0;
}

#myBookingContainer .bookingConfirmDetails p {
	margin-left:25px;
	margin-bottom:0;
}

#myBookingContainer .bookingPolizzaViaggio {
	margin-bottom:20px;
}

#myBookingContainer .ultimiDettagli.statistica h3 {
	font-size:15px;
}

#myBookingContainer .ultimiDettagli textarea {
	width:100%;
	min-height:100px;
}

#myBookingContainer .ultimiDettagli select {
	width:100%;
	border: 1px solid #ccc;
}

#myBookingContainer select[name=statistica].error {
	border: 2px solid #cf1524;
	color:#cf1524;
}

#myBookingContainer .ultimiDettagli.modificaPrenotazione a {
	color: black;
    text-decoration: underline;
    font-weight: bold;
}

#myBookingContainer #policySpec {
	font-size:10px;
}

#myBookingContainer .polizza a {
	text-decoration:underline;
	color: initial;
}

#myBookingContainer .bookingRowTitle a {
	color: initial;
}

#myBookingContainer .jq-dte {
	display:none;
}

#myBookingContainer .compiled .jq-dte {
	display:initial;
}

#myBookingContainer .compiled .fintaNascita {
	display:none;
}

#myBookingContainer .primaVoltaDiv {
	font-size:11px;
	line-height:17px;
}


#myBookingContainer .row.no-gutters {
	margin-left:0;
	margin-right:0;
}

#myBookingContainer .row.no-gutters> div {
	padding-left:0;
	padding-right:0;
}

#myBookingContainer .camere {
	font-size: 11px;
}

.bookingPersonaDetails span.extraDetails {
	text-align: justify;
    font-size: 9px;
    display: block;
	line-height: initial;
}

.inputProvincia {
	text-transform:uppercase;
}

.inputProvincia::placeholder {
	text-transform:none;
}

.scontiDiv {
	color:red;
}

#myBookingContainer input[name=bookingPrivacy] {
	vertical-align:top;
	margin-top: 3px;
}

#myBookingContainer .unavailable_button {
	background-color: #cecece;
	color: black;
	border: none;
	padding: 7px 15px;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: not-allowed;
	position: absolute;
	text-align: center;
}
@media (min-width: 768px) {
	.padding-sm-0 {
		padding-left:0;
		padding-right:0;
	}

	.extrasSectionRow .col-xs-1 {
		width:3%;
		text-align:right;
	}
	
	.extrasSectionRow .col-xs-11 {
		width:97%;
	}
}

@media (max-width: 767px) {
	#myBookingContainer .unavailable_button {
		position:initial;
	}
	#myBookingContainer .bookingHotelData {
		font-size:10px;
	}
	
	#myBookingContainer .bookingHotelData p {
		line-height:12px;
	}
	
	.bookingPersonaDetails span.extraDetails {
		text-align: initial;
		font-size: inherit;
		display: initial;
	}
	
	#myBookingContainer .primaVoltaDiv {
		font-size:inherit;
		line-height:inherit;
	}
	
	#myBookingContainer .bookingRowTitle.bookingHotelPreventivo {
		font-size:16px;
	}
	
	#myBookingContainer .bookingButton i {
		display:inline;
	}
	
	#myBookingContainer .inviaButton > .bookingErrorDetail {
		visibility:visible;
		margin-top:20px;
	}
	
	#myBookingContainer .inviaErrori{
		display:none !important;
	}
	
	#myBookingContainer .sceltaScuola {
		max-width:initial;
	}
	
	#myBookingContainer #bookingFormCalcola input {
		padding-top:30px;
		padding-bottom:30px;
		font-size:20px;
	}
	
	#myBookingContainer .bookingForm .form-group label {
		top: 22px;
	}
	
	#myBookingContainer input[name=bookingPrivacy] {
		height:25px;
		width:25px;
		vertical-align: initial;
		margin-top: 0;
	}
	
	#myBookingContainer .bookingButton {
		width:100%;
		padding-top:20px;
		padding-bottom:20px;
		font-size:24px;
		font-weight:bold;
	}
	
	#myBookingContainer .hotelRow {
		border:none;
		margin-bottom:50px;
	}
	
	#myBookingContainer .bookingPrenota {
		margin-bottom:50px;
	}
	
	#myBookingContainer .bookingForm h1 {
		font-size:14px;
	}
	
	#myBookingContainer .bookingPersoneRow .row > .bookingPersonaDetails {
		margin-bottom:10px;
	}
	
	#myBookingContainer .bookingPersoneRow input, 
	#myBookingContainer .bookingPersoneRow select {
		font-size:16px;
		padding: 15px 10px;
	}
	
	#myBookingContainer .row.bookingIntro {
		margin-bottom:30px;
	}
	
	
	#myBookingContainer .hotelHidden > .row,
	#myBookingContainer .hotel > .row {
		border-bottom: 1px solid #ccc;
		margin-bottom:50px;
	}
	
	#myBookingContainer .camere > .row > div > div {
		padding-bottom: 15px;
		margin-bottom: 15px;
	}
	
	#myBookingContainer .camere select {
		height: 30px;
		font-size: 25px;
		margin-top: -10px;
	}
	
	#myBookingContainer .row.no-gutter {
	  margin-left: 0;
	  margin-right: 0;
	}
	#myBookingContainer .row.no-gutter [class*='col-']:not(:first-child),
	#myBookingContainer .row.no-gutter [class*='col-']:not(:last-child) {
	  padding-right: 0;
	  padding-left: 0;
	}
	
	#myBookingContainer .titolare {
		display:inline;
		margin-left:5px;
	}
	
	#myBookingContainer .bookingFinalDetails input[type=checkbox], 
	#myBookingContainer .polizza input[type=checkbox],
	#myBookingContainer .giorniAggiuntivi input[type=checkbox] {
		height: 25px;
		width: 25px;
		margin-top: -3px;
	}
	
	#myBookingContainer #sceltaPersone select {
		height: 30px;
		font-size: 25px;
		margin-top: -10px;
	}
	
	#myBookingContainer #sceltaPersone > p {
		margin-bottom: 15px;
	}
	
	#myBookingContainer .bookingFinalDetails .servizi > div > div {
		font-size:16px;
	}
	
	#myBookingContainer .polizza,
	#myBookingContainer .giorniAggiuntivi {
		font-size:16px;
		padding-bottom:10px;
		border-bottom: none;
	}
	
	#myBookingContainer .jq-dte-errorbox {
		position:static;
		white-space:normal;
	}

	.row.extrasSectionRow img, .row.extrasSectionRow input, .row.extrasSectionRow a, .row.extrasSectionRow span {
		vertical-align: middle;
	}
	
}
input[name="centro_commerciale_nome"] {
	display:none;
	margin-top: 16px;
	margin-bottom: 16px;
	width: 100%;
	border: 1px solid #ccc;
}

#myBookingContainer input[name="centro_commerciale_nome"].error {
    border: 2px solid #cf1524;
    color: #cf1524;
}

.primaVoltaDiv {
	text-wrap: nowrap;
}
.primaVoltaDiv > .extraDetails {
    text-wrap: initial;
}