.booking .header {
    background-color: #517974;
    color: white;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    padding: 20px;
}
.booking .header_section{
	position: relative;
}
.booking .header_section h3{
	position: relative;
	background-color: white;
	font-size: 14px;
	display: inline-block;
	padding-right: 10px;
	z-index: 10;
    font-family: "Montserrat";
}
.booking .header_section:after{
	content: ' ';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(50%);
	width: 100%;
	height: 2px;
	background-color: #517974;
	z-index: 5;
}
.booking .qty{
	margin-left: 10px;
}
.booking .qty div[data-op]{
	font-size: 21px;
	color: #005771;
	width: 20px;
	height: 20px;
	border-radius: 20px;
	border: 1px solid #585a5a;
	font-weight: bold;
	cursor: pointer;
	outline: none;
	user-select: none;
}
.booking .qty div[data-op].disabled{
    opacity: .2;
}
.booking .qty div[data-value]{
	width: 30px;
	user-select: none;
}
.booking .user_info input[type='text'], 
.booking .user_info input[type='number'], 
.booking .user_info input[type='date'], 
.booking .user_info select, textarea{
	width: 100% !important;
}
.booking .user_info .large{
	grid-column: 1 / 3;
}
.booking .btn{
	width: 100%;
	color: white;
	background-color: #517974;
	padding: 20px 0;
	text-align: center;
	font-family: "Montserrat";
	font-weight: bold;
	border-radius: 6px;
	transition: 400ms ease;
}
.booking .btn:hover{
	background-color: #2e4542;
}
.booking .ico{
	width: 20px;
	vertical-align: middle;
}
.booking .box_info_notti{
	background-color: #517974;
	color: white;
	text-align: center;
	padding: 10px;
	font-weight: bold;
}
.booking .box_info_notti #num_notti{
	font-size: 23px;
}

@media screen and (max-width: 1000px){
	.booking .header{
		padding: 10px;
	}
	.booking .clear_40{
		height: 20px !important;
	}
	.booking .w60{
		margin-top: 20px;
	}
	.booking .user_info{
		display: flex;
		flex-flow: column;
		gap: 20px;
	}
	.booking .btn{
		margin-bottom: 20px;
	}
}
@media screen and (min-width: 1000px){
	.booking .w40{
		width: 40%;
	}
	.booking .w60{
		width: 60%;
		padding-left: 60px;
	}
	.booking .user_info{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 20px 40px;
	}
	#popup .booking .lv3{
		display: flex;
		align-content: center;
		justify-content: center;
		flex-flow: initial;
	}
}
@media screen and (max-width: 999px){
	.booking .w40, .booking .w60{
		width: 100%;
	}
}