#modal-prenota .rounded-btn{
    background:#CE162B;
}
#modal-prenota .rounded-btn{
    height: 37px;
    margin-top: 35px;
    line-height: 33px;
}
#modal-prenota .modal-dialog button.close{
    opacity:1;
    outline:none;
    position: absolute;
    top: 15px;
    right: 15px;
}
#modal-prenota .modal-dialog button.close svg{
    width:28px;
    height:28px;
}
#modal-prenota .modal-header,
#modal-sold-out-nexity .modal-header
{
    border-bottom:none;
}
#modal-prenota .modal-title{
    font-size:35px;
    line-height:33px;
    font-weight:bold;
    text-align:center;
    color:#CE162B;
    display:block;
    width:100%;
    text-transform:uppercase;
    margin-top:5px;
}
#modal-prenota .modal-body{
    padding:2rem 4rem 2.5rem 4rem;
}
#modal-prenota .modal-header{
    padding-bottom:0;
}
#frm-prenota{
    position:relative;
}
#frm-prenota input
{
    display:block;
    border:0;
    width:100%;
    border-bottom:solid 1px #999;
    height:40px;
    outline:none;
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease;
    font-size:12px;
    color:#575756 !important;
    background:#fff;
}
#frm-prenota button,
#frm-prenota .message p:last-child,
.prenota-acquisizione-heading
{
    font-family: "Barlow", sans-serif;
}

.modal-slide-container{
    position:fixed;
    width:100%;
    top:0;
    /*transform:translateX(100%);*/
    pointer-events:none;
    transition: all .25s ease-out;
    opacity:0;
}
.modal-slide-container.active{
    /*transform:translateX(0);*/
    position:relative;
    opacity:1;
    pointer-events:auto;
}
.modal-slide-container.inactive{
    /*transform:translateX(-100%);*/
    position:absolute;
}
.custom-control-label::before{
    border:0;
}
.custom-radio .custom-control-input:checked~.custom-control-label::before, .prenota-login-mode .custom-radio .custom-control-input:disabled:checked~.custom-control-label::before
{
    background-color:#CE162B;
}
#mode_appuntamento_default_wrapper input, #mode_appuntamento_default_wrapper label{
    cursor:pointer;
}
.prenota-consulenti-wrapper .custom-control-label::before{
    background-color: #dee2e6 !important;
}
.prenota-consulenti-wrapper .custom-radio .custom-control-input:checked~.custom-control-label::before{
    background-color: #CE162B !important;
}
.custom-control-label:focus,.custom-control-label:active{
    outline:none !important;
}
.prenota-consulente-box img{
    display:block;
    max-width:90px;
    border-radius:50%;
    margin-right:15px;
    float:left;
}
.prenota-consulente-box{
    display:table;
    margin-bottom:25px;
    cursor:pointer;
    transition:all .35s ease;
    opacity:1;
}
.prenota-consulente-box:hover{
    opacity:.8;
}
.prenota-consulente-box > div{
    display:table-cell;
    vertical-align:middle;
}
.prenota-consulenti-wrapper .prenota-consulente-box:last-of-type{
    margin:0;
}
.prenota-consulente-heading{
    font-size:30px;
    line-height:60px;
    clear:both;
    font-weight:bold;
}
.ms-consulente{
    font-size:23px;
    line-height:27px;
}
.custom-control-input:focus~.custom-control-label::before{
    box-shadow:none;
}
.modal-slide-buttons{
    margin-top:20px;
}
.modal-slide-buttons button{
    max-width:190px;
    border:solid 2px #CE162B;
}
.modal-slide-buttons button.full{
    max-width:100%;
}
.modal-slide-buttons button svg{
    transform:translateY(-2px);
}
.modal-slide-buttons button.float-left svg{
    margin-right:4px;
}
.modal-slide-buttons button.float-right svg{
    margin-left:4px;
}
.red-outlined-btn{
    background:#fff !important;
    border:solid 2px #CE162B;
    color:#CE162B;
}
.but-recover-pwd{
    font-weight:bold;
    text-decoration:underline;
}
.ms-calendar *{
    font-family: "Barlow", sans-serif;
}
.ms-calendar .ui-widget.ui-widget-content{
    border:0;
    border-radius:0;
    padding:0;
}
.ms-calendar .ui-datepicker{
    width:100%;
}
.ms-calendar .ui-datepicker th{
    font-weight:400;
    color:#AAAEB3;
    text-transform:uppercase;
}
.ms-calendar .ui-widget-header{
    color:#CE162B;
    border:none;
    background:none;
}
.ms-calendar .ui-datepicker .ui-datepicker-title{
    line-height:1.2em;
}
.ms-calendar .ui-datepicker .ui-datepicker-title{
    font-size:23px;
    font-weight:500;
    transform: translateY(-7px);
}
.ms-calendar .ui-datepicker td span, .ms-calendar .ui-datepicker td a{
    text-align:center;
}
.ms-calendar .ui-datepicker td span, .ms-calendar .ui-datepicker td a{
    padding:1em;
}
.ms-calendar .ui-state-default, .ms-calendar .ui-widget-content .ui-state-default{
    border:none;
    background:none;
}
.ms-calendar .ui-state-active, .ms-calendar .ui-widget-content .ui-state-active{
    background-color:#CE162B;
}
.ms-calendar .ui-state-highlight, .ms-calendar .ui-widget-content .ui-state-highlight{
    color:#454545;
}
.ms-calendar .ui-state-highlight.ui-state-active{
    color:#fff;
}
.ms-calendar .ui-datepicker .ui-datepicker-prev, .ms-calendar .ui-datepicker .ui-datepicker-next{
    width:20px;
    height:20px;
    background-size:10px;
    background-repeat:no-repeat;
    cursor:pointer;
}
.ms-calendar .ui-widget-header .ui-icon{
    display:none;
}
.ms-calendar .ui-datepicker .ui-datepicker-prev{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12.783' height='22.738' viewBox='0 0 12.783 22.738'%3E%3Cpath d='M10.662,21.324,0,10.662,10.662,0' transform='translate(1.414 0.707)' fill='none' stroke='%23ce162b' stroke-width='2'/%3E%3C/svg%3E");
}
.ms-calendar .ui-datepicker .ui-datepicker-next{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12.783' height='22.738' viewBox='0 0 12.783 22.738'%3E%3Cpath d='M-2151.159,1414.8l-10.662,10.662,10.662,10.662' transform='translate(-2150.452 1436.834) rotate(180)' fill='none' stroke='%23ce162b' stroke-width='2'/%3E%3C/svg%3E");
}
.ms-calendar .ui-state-hover,
.ms-calendar .ui-widget-header .ui-state-hover,
.ms-calendar .ui-state-focus,
.ms-calendar .ui-widget-content .ui-state-focus,
.ms-calendar .ui-widget-header .ui-state-focus,
.ms-calendar .ui-button:hover, .ui-button:focus{
    border:0;
    background-color:transparent;
}
.ms-calendar .ui-datepicker .ui-datepicker-next-hover{
    right:2px;
}
.ms-calendar .ui-datepicker .ui-datepicker-left-hover{
    left:2px;
}
.ms-calendar .ui-datepicker .ui-datepicker-prev, .ms-calendar .ui-datepicker .ui-datepicker-next{
    top:2px;
}
.prenota-input-fields{
    margin-bottom:15px;
    position:relative;
}
.pi-login{
    position:absolute;
    top:0;
    margin-top:10px;
    width:100%;
}
.prenota-input-fields.login .pi-fields{
    opacity:0;
    pointer-events: none;
}
.pi-login{
    display:none;
}
.prenota-input-fields.login .pi-login{
    display:block;
}
.pi-login input {
    border-radius:0;
    border:solid 1px #999 !important;
}
#prenota-login{
    background-color:#CE162B;
    font-size:20px;
    line-height:22px;
    color:#fff;
    font-weight:bold;
    text-align: center;
    border:0;
    padding:9px 40px;
    bottom: 0;
    position: absolute;
    font-family: "Barlow", sans-serif;
}
/*#frm-prenota.logged .prenota-login-mode{*/
/*    display:none;*/
/*}*/
.prenota-login-mode{
    margin-top:3px;
}
#frm-prenota.logged .pi-fields{
    opacity:1;
    pointer-events: auto;
}
#frm-prenota.logged .pi-login{
    display:none;
}
.prenota-project-fields.disabled{
    opacity:.2;
    pointer-events:none;
}
.prenota-headline-selected-day{
    font-size:20px;
    line-height:17px;
    margin-bottom:15px;
}
.pct-item{
    position:relative;
    height:32px;
    border-top:solid 1px #D3D3D3;
    border-bottom:solid 1px #D3D3D3;
    margin-top:-1px;
    cursor:pointer;
    font-size:10px;
    transition: all .35s ease;
}
.pct-item:hover{
    background-color:#CE162B;
}
.pct-item:hover span, .pct-item.on span{
    color:#fff;
}
.pct-item.full:hover span{
    color:#9D9D9C !important;
}
.pct-item span{
    position:absolute;
    left:8px;
    color:#9D9D9C;
    top:8px;
    pointer-events:none;
}
.pct-item div{
    display:none;
}
.pct-item.on div{
    display:block;
    width:100%;
    height:100%;
    background-color:#CE162B;
}
.pct-item.on div a{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22.263' height='22.263' viewBox='0 0 22.263 22.263'%3E%3Cg transform='translate(-3638.062 -354.959)'%3E%3Cpath d='M10.688,22.255C3.8,22.255,0,18.456,0,11.571v-.895C0,3.8,3.8,0,10.688,0h.887c6.887,0,10.688,3.8,10.688,10.684v.895c0,6.885-3.8,10.684-10.688,10.684h-.887Z' transform='translate(3638.062 377.223) rotate(-90)' fill='%23fff'/%3E%3Cg transform='translate(3643.76 360.619)'%3E%3Cline x1='11.431' y2='11.431' transform='translate(0 0)' fill='none' stroke='%23ce162b' stroke-width='1'/%3E%3Cline x2='11.431' y2='11.431' transform='translate(0 0)' fill='none' stroke='%23ce162b' stroke-width='1'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    position:absolute;
    top:50%;
    right:8px;
    width:22px;
    height:22px;
    background-size:100%;
    transform: translateY(-50%);
    transition: opacity .35s ease;
    opacity:1;
}
.pct-item.on div a:hover{
    opacity:.7;
}
.pct-item.full{
    cursor:default;
    /*pointer-events:none;*/
    background:url(https://www.nexity.it/assets/img/bg-prenota-time-full.png);
    background-size:45px;
}
.modal-slide-buttons button, button#booking-check-1st-appointment{
    outline:none;
}
.modal-slide-container button.disabled{
    opacity:.3;
    cursor:not-allowed;
}
.lds-ellipsis {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 37px;
}
.lds-ellipsis div {
    position: absolute;
    top: 12px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #fff;
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.lds-ellipsis div:nth-child(1) {
    left: 8px;
    animation: lds-ellipsis1 0.6s infinite;
}
.lds-ellipsis div:nth-child(2) {
    left: 8px;
    animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(3) {
    left: 32px;
    animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(4) {
    left: 56px;
    animation: lds-ellipsis3 0.6s infinite;
}
@keyframes lds-ellipsis1 {
    0% {
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}
@keyframes lds-ellipsis3 {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(0);
    }
}
@keyframes lds-ellipsis2 {
    0% {
        transform: translate(0, 0);
    }
    100% {
        transform: translate(24px, 0);
    }
}
#booking-check-1st-appointment span,
.modal-slide-buttons .goto-slide-forward span,
#booking-send-verification span
{
    display:inline-block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13.844' height='23.445' viewBox='0 0 13.844 23.445'%3E%3Cpath d='M-2151.159,1414.8l-10.662,10.662,10.662,10.662' transform='translate(-2150.098 1437.188) rotate(180)' fill='none' stroke='%23fff' stroke-width='3'/%3E%3C/svg%3E");
    width: 14px;
    height: 24px;
    transform: translateY(3px);
    position:absolute;
    margin-left:7px;
}
.modal-slide-buttons .goto-slide-back span{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13.844' height='23.445' viewBox='0 0 13.844 23.445'%3E%3Cpath d='M10.662,21.324,0,10.662,10.662,0' transform='translate(2.121 1.061)' fill='none' stroke='%23ce162b' stroke-width='3'/%3E%3C/svg%3E");
    display:inline-block;
    width: 14px;
    height: 24px;
    transform: translateY(5px);
    /*position:absolute;*/
    /*margin-right:7px;*/
}
#modal-update-appointment .modal-dialog,
#modal-confirm-appointment-success .modal-dialog,
#modal-confirm-prenota-appartamento .modal-dialog
{
    max-width:500px;
}
#modal-update-appointment .modal-dialog button.close,
#modal-confirm-appointment-success .modal-dialog button.close,
#modal-confirm-prenota-appartamento .modal-dialog button.close,
#modal-sold-out-nexity .modal-dialog button.close
{
    opacity:1;
    outline:none;
}
#modal-update-appointment .modal-dialog button.close svg,
#modal-confirm-appointment-success .modal-dialog button.close svg,
#modal-confirm-prenota-appartamento .modal-dialog button.close svg,
#modal-sold-out-nexity .modal-dialog button.close svg,
#modal-reservation-appointment-expired .modal-dialog button.close svg
{
    width:28px;
    height:28px;
}
#modal-update-appointment .modal-header,
#modal-confirm-appointment-success .modal-header,
#modal-confirm-prenota-appartamento .modal-header,
#modal-reservation-appointment-expired .modal-header
{
    border-bottom:none;
}
#modal-update-appointment .modal-title,
#modal-confirm-appointment-success .modal-title,
#modal-confirm-prenota-appartamento .modal-title,
#modal-reservation-appointment-expired .modal-title
{
    font-size:35px;
    line-height:33px;
    font-weight:bold;
    text-align:center;
    color:#CE162B;
    display:block;
    width:100%;
    text-transform:uppercase;
    margin-top:5px;
}
#modal-prenota .modal-content,
#modal-update-appointment .modal-content,
#modal-reservation-appointment-expired .modal-content
{
    background-color:#fff;
}
#modal-update-appointment .modal-body,
#modal-confirm-appointment-success .modal-body,
#modal-confirm-prenota-appartamento .modal-body,
#modal-reservation-appointment-expired .modal-body
{
    padding:2rem;
}
#modal-update-appointment .modal-header,
#modal-confirm-appointment-success .modal-header,
#modal-confirm-prenota-appartamento .modal-header,
#modal-reservation-appointment-expired .modal-header
{
    padding-bottom:0;
}
#modal-update-appointment .modal-title,
#modal-confirm-appointment-success .modal-title,
#modal-confirm-prenota-appartamento .modal-title,
#modal-reservation-appointment-expired .modal-title
{
    padding-left:50px;
}
#modal-confirm-appointment-success .modal-dialog{
    max-width:700px;
}

#modal-confirm-appointment-success .modal-title{
    font-size:40px;
}
.body-confirm-success-appointment{
    font-size:23px;
    line-height:27px;
    text-align:center;
}
#booking-check-1st-appointment{
    /*display:none;*/
}
#alert-booking-send-verification{
    display:none;
    margin-top:20px;
}
#calendar-loading{
    padding:15px;
    text-align:center;
}
select.nexity-select {
    display: block;
    border: 0;
    width: 100%;
    border-bottom: solid 1px #999;
    height: 40px;
    outline: none;
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease;
    font-size: 12px;
    color: #575756 !important;
    background: #fff;
}
#modal-prenota .modal-content{
    border-radius:10px;
}
.rounded-btn {
    display: block;
    width: 100%;
    height: 30px;
    text-transform: uppercase;
    /*color: #fff;*/
    border: 0;
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease;
    font-size: 18px;
    font-weight: bold;
    line-height: 21px;
    border-radius: 20px;
    cursor: pointer;
}
.modal-slide-buttons button.rounded-btn.goto-slide-forward{
    color: #fff !important;
}
#booking-send-verification,
#booking-check-1st-appointment,
#but-prenota-orario,
#but-complete-prenotazione{
    color:#fff;
}
.big-checkbox-wrapper {
    display: inline-block;
    position: relative;
    padding-left: 25px;
    cursor: pointer;
    font-size: 14px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.frm-privacy-wrapper * {
    font-size: 11px;
}
.frm-privacy-wrapper a {
    text-decoration: underline;
    font-weight: bold;
    color:#343434;
}
.frm-privacy-wrapper .checkmark {
    top: -1px !important;
}
.checkmark {
    position: absolute;
    top: 2px;
    left: 0;
    height: 16px;
    width: 16px;
    background-color: #fff;
    border: solid 1px #707070;
}
.big-checkbox-wrapper input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}
.big-checkbox-wrapper input:checked ~ .checkmark:after {
    display: block;
}
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}
.big-checkbox-wrapper .checkmark:after {
    left: 4px;
    top: 1px;
    width: 7px;
    height: 10px;
    border: solid #707070;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.message {
    background-color: #d3dfcd;
    /*width: calc(100% - 3em);*/
    /*max-width: 24em;*/
    padding: 4.2em 1em 1em 1em;
    text-align:center;
    border-radius: 3px;
    position: relative;
    line-height: 1.5;
    box-shadow:0 0 10px rgba(100,100,100,.3);
}
.message + .message {
    margin-top: 2em;
}
.message:before,
#modal-reservation-appointment-expired .alert.alert-danger:before
{
    color: white;
    width: 2.8em;
    height: 2.8em;
    position: absolute;
    top: 1em;
    left: 50%;
    border-radius: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    font-size: 1rem;
}
.message p {
    margin: 0 0 1em;
}
.message p:last-child {
    margin-bottom: 0;
}

.message--error {
    border-left-color: firebrick;
}
.message--error:before {
    background-color: firebrick;
    content: "‼";
}

.message--warning {
    border-left-color: darkorange;
}
.message--warning:before {
    background-color: darkorange;
    content: "!";
}

.message--success {
    border-left-color: darkolivegreen;
}
.message--success:before {
    background-color: darkolivegreen;
    /*content: "✔";*/
    content: "";
    color:#fff;
    background-image: url("data:image/svg+xml,%3Csvg aria-hidden='true' focusable='false' data-prefix='fas' data-icon='check' class='svg-inline--fa fa-check fa-w-16' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23ffffff' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'%3E%3C/path%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position: center center;
    background-size:14px;
    padding:14px;
}
#modal-reservation-appointment-expired .alert.alert-danger{
    padding-top: 3.5em;
    text-align:center;
}
#modal-reservation-appointment-expired .alert.alert-danger:before{
    background-color: firebrick;
    content:'';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23ffffff' d='M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z'/%3E%3C/svg%3E%0A");
    background-position:center center;
    background-repeat:no-repeat;
    background-size:24px;
    padding:14px;
}

.modal-slide-container.ms-acquisizione .prenota-acquisizione-heading{
    font-size: 30px;
    line-height: 34px;
    clear: both;
    font-weight: bold;
    margin:-25px auto 25px auto;
    text-align:center;
    max-width:360px;
}
.modal-slide-container.ms-acquisizione ul{
    margin-bottom:0;
}
.modal-slide-container.ms-acquisizione li{
    list-style:none;
    width:49%;
    padding-right:10px;
    display:inline-block;
    font-weight:bold;
}
.modal-slide-container.ms-acquisizione .custom-control-label{
    font-size:19px;
}
#modal-sold-out-nexity .l{
    width:128px;
    height:128px;
    margin:-20px auto 60px;
}
#modal-sold-out-nexity .l svg{
    width:100%;
}
#modal-sold-out-nexity .modal-body *{
    text-align:center;
    font-family: "Barlow", sans-serif;
}
#modal-sold-out-nexity .s{
    color:#CE162B;
    font-size:74px;
    line-height:65px;
    margin-bottom:40px;
}
#modal-sold-out-nexity .s span{
    display:block;
    margin-top:5px;
    font-size:22px;
    line-height:28px;
}
#modal-sold-out-nexity .ss{
    font-size:32px;
    line-height:41px;
    margin-bottom:40px;
}
#modal-sold-out-nexity .ss a{
    text-decoration:underline;
}
#booking-type-wrapper {
    padding:60px 30px 0;
}
#booking-type-wrapper .custom-radio{
    margin:20px 0;
}
#prenota-agency-apartment-data{
    display:none;
    margin-bottom:10px;
}
#prenota-agency-apartment-data.active{
    display:block;
}
#mode_appuntamento_agency_listing_wrapper{
    display:none;
}
#mode_appuntamento_agency_listing_wrapper.active{
    display:block;
}
.float-left {
    float: left!important;
}
.float-right {
    float: right!important;
}
#modal-confirm-appointment-success *{
    font-family: "Barlow", sans-serif;
}
@media (min-width: 992px){
    #modal-prenota .modal-dialog,
    #modal-update-appointment .modal-dialog,
    #modal-confirm-appointment-success .modal-dialog,
    #modal-confirm-prenota-appartamento .modal-dialog,
    #modal-sold-out-nexity .modal-dialog
    {
        max-width: 700px;
    }
}
@media screen and (max-width:992px){
    #modal-prenota .modal-body{
        padding:1.5em;
    }
}

@media screen and (max-width:576px){
    .modal-slide-buttons button{
        max-width:140px;
    }
    #modal-prenota .modal-body{
        padding:1.5em;
    }
    .modal-slide-container.ms-acquisizione li{
        width:100%;
    }
}