html{
    position: relative;
    min-height: 100%;
}

.red{
    color: red;
}

.w-85 {
    width: 85%;
}

.w-100 {
    width: 100%;
}

.padd-15{
    padding: 15px;
}

body{
    font-family: 'Myriad Light';
    background-color: whitesmoke;
}

header{
    min-height: 80px;
    background-color: #01506E;
    color: white;
    font-family: 'Myriad Light';
    position: relative;
}

header div.client-hotel-logo{
    position: absolute;
    min-height: 80px;
    top: 25%;
}

header span#client-hotel-phone,
header span#client-hotel-email{
    padding: 30px 10px;
}

header div.nav-lang-sel{
    padding: 23px 10px 0 10px;
}

header div.nav-lang-sel button{
    color: white;
    background-color: #01506E;
    border-color: #01506E;
}

#mainContainer{
    padding-bottom: 345px;
}

#selector_row{
    margin-top: 15px;
    height: 74px;
}

div.step-btn{
    background-color: #D3EDF0;
    width: 33.1%;
    height: 74px;
    text-align: center;
    position: relative;
    font-family: 'Myriad Light';
    font-size: 1.8em;
}

div.step-btn.active-step{
    background-color: #105470;
    color: white;
}

div.step-btn p {
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%, -50%) 
}

div.step-btn.middle-step p {
    margin: 0;
    position: absolute;
    top: 50%;
    left: 60%;
    margin-right: -40%;
    transform: translate(-50%, -50%) 
}

div.first-step::after {
    content: "";  
    border-top: 37px solid transparent;
    border-bottom: 37px solid transparent;
    border-left: 50px solid #D3EDF0;
    position: absolute; 
    right: -50px; 
    top: 0;
    z-index: 1;
}

div.first-step.active-step::after {
    content: "";  
    border-top: 37px solid transparent;
    border-bottom: 37px solid transparent;
    border-left: 50px solid #105470;
    position: absolute; 
    right: -50px; 
    top: 0;
    z-index: 1;
}

div.middle-step{
    width: 32%;
    margin-left: 8px;
    margin-right: 8px;
}

div.middle-step::before {
    content: "";  
    border-top: 37px solid transparent;
    border-bottom: 37px solid transparent;
    border-left: 50px solid white;
    position: absolute; 
    left: 0; 
    top: 0;
}

div.middle-step::after {
    content: "";  
    border-top: 37px solid transparent;
    border-bottom: 37px solid transparent;
    border-left: 50px solid #D3EDF0;
    position: absolute; 
    right: -50px;
    top: 0;
    z-index: 1;
}

div.middle-step.active-step::after {
    content: "";  
    border-top: 37px solid transparent;
    border-bottom: 37px solid transparent;
    border-left: 50px solid #105470;
    position: absolute; 
    right: -50px;
    top: 0;
    z-index: 1;
}

div.middle-step::before {
    content: "";  
    border-top: 37px solid transparent;
    border-bottom: 37px solid transparent;
    border-left: 50px solid white;
    position: absolute; 
    left: 0; 
    top: 0;
}

div.last-step::before {
    content: "";  
    border-top: 37px solid transparent;
    border-bottom: 37px solid transparent;
    border-left: 50px solid white;
    position: absolute; 
    left: 0; 
    top: 0;
}

#processingModal .modal-body{
    padding: 30px;
}

#processingModal .modal-body p{
    margin: 0 0 30px;
}

/*
                                                                STEP 1
*/

#search_row{
    margin-top: 15px;
    min-height: 80px;
    background-color: #105470;
    padding: 10px;
}

#search_row #inputs_row{
    margin: 10px;
}

#search_row .date_div{
    margin: 10px;
    padding: 10px;
    border: 1px solid #01506E;
    color: black;
    cursor: pointer;
    font-family: 'Myriad Bold';
    font-size: 1.3em;
    background-color: white;
    text-align: center;
    height: 100%;
    min-height: 92px;
}

#search_row #inputs_row .date_div .date_text{
    width: 85%;
}

#search_row #inputs_row .date_div .date_icon{
    width: 15%;
}

#search_row #inputs_row .date_div .date_icon i {
    position: absolute;     
    top: 50%;       
    transform: translate(-50%, -50%) 
}

#search_row #room_num_div,
#search_row #night_num_div{
    margin: 10px;
    padding: 10px;
    border: 1px solid #01506E;
    color: black;
    font-family: 'Myriad Bold';
    font-size: 1.3em;
    background-color: white;
    text-align: center;
    height: 92px;
}

#search_row #night_num_div .room_text{
    width: 100%;
    height: 50%;
}

#search_row #room_num_div .room_text{
    width: 85%;
    height: 50%;
}

#search_row #room_num_div .room_icon{
    width: 15%;
    height: 50%;
    position: relative;
    cursor: pointer;
}

#search_row #room_num_div .room_icon i {
    position: absolute;     
    top: 50%;       
    transform: translate(-50%, -50%) 
}

/* DATEPICKER */

#datepicker{
    width: 100%;
}

.ui-datepicker {
    width: 100% !important;
    color: rgb(0, 105, 151);
    background-color: white !important;
}

.ui-datepicker table td a,
.ui-datepicker table td span{
    text-align: center;
}

.dp-highlight .ui-state-default {
    background: #006997 !important;
    color: #FFF !important;
}

div#cart_div{
    margin-top: 15px;
    padding: 15px;
    background-color: #D3EDF0;
}

div#cart_div #cart_title{
    font-family: 'Myriad Black';
    width: 100%;
    margin: 0;
    text-align: center;
}

div#cart_div div.cart_row{
    margin: 10px 0;
    border-bottom: 2px solid #01506E;
    position: relative;
    text-align: center;
}

div#cart_div div.cart_row.cart_row_no_border{
    border-bottom: 0;
}

div#cart_div div.cart_row span.cart_room,
div#cart_div div.cart_row span.cart_row_info_room_num{
    color: #01506E;
}

div#cart_div div.cart_row div.cart_row_info{
    padding: 7px 0 0 0;
    min-height: 46px;
    font-family: 'Myriad Black';
    font-size: 1em;
}

div#cart_div div.cart_row div.cart_row_info span,
div#cart_div div.cart_row div.cart_row_info i
{
    margin-right: 0px;
}

div#cart_div div.cart_row div.cart_row_total{
    padding: 7px 0 0 0;
    font-family: 'Myriad Bold';
    color: #01506E;
}

div#cart_total_row{
    font-family: 'Myriad Black';
    font-size: 1.1em;
    margin: 0px;
    position: relative;
    min-height: 100px;
    padding-bottom: 15px;
}

div#cart_total_row button.btn-cart{
    width: 100%;
}

div#cart_total_row div#reservationTotal{
    text-align: right;
    position: absolute;               
    top: 50%;         
    right: 0;
    transform: translate(0, -50%)
}

div#cart_div #action_row{
    font-family: 'Myriad Light';
}

div#cart_div #action_row .btn-cart{
    width: 85%;
}

.btn-cart{
    display: inline-block;
    padding: 8px 20px;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    background-image: none;
    margin: 2px;
}

.btn-cart.btn-small{
    font-size: 1em;
    padding: 5px 8px;
}

.btn-cart.primary{
    color: white;
    background-color: #01506E;
    border: 1px solid transparent;
}

.btn-cart.default{
    color: #01506E;
    background-color: #D3EDF0;
    border: 1px solid #01506E;
}

.btn-cart.selected{
    color: white;
    background-color: green;
    border: 1px solid #105470;
}

.btn-cart:hover{
    text-decoration: none;
    color: black;
    background-color: #80A7B6;
    border: 1px solid #01506E;
}

#room-tabs{
    margin-top: 15px;
    font-family: 'Myriad Black';
    font-size: 1.1em;
}

#room-tabs ul li{
    width: 20%;
}

#room-tabs ul li i.room-tab-ok{
    color: green;
    display: none;
}

#room-tabs ul li i.room-tab-delete{
    cursor: pointer;
}

#room-tabs ul li a{
    color: black;
    background-color: #D3EDF0;
    text-align: center;
}

#room-tabs ul li.active a{
    color: black;
    background-color: white;
}

.tab-content{
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    background-color: white;
    padding: 15px;
}

.add-same-room-div{
    border: 1px solid #ddd;
    padding: 15px;
}

.room-results-div{
    min-height: 250px;
}

.room-results-div.loading{
    min-height: 250px;
}

.occupation_row{
    padding-top: 15px;
}

.occupation_row label{
    font-family: 'Myriad Bold';
    font-size: 1.1em;
    width: 50%;
}

.occupation_row .adults_inpt,
.occupation_row .children_inpt,
.occupation_row .infant_inpt{
    padding: 8px;
    border: 1px solid #01506E;
    color: #01506E;
    width: 50px;
}

.occupation_row .btn-toggle label{
    padding: 8px;
    cursor: pointer;
}

.occupation_row .btn-toggle button{
    margin: 8px 0px;
}

.room-results-div .room{
    margin-top: 25px;
}

.room-results-div .room .room-photo,
.room-results-div .room .room-photo .item{
    /*height: 300px;*/
    overflow: hidden;
}

.room-results-div .room .room-photo .item img{
    /* corrects inline gap in enclosing div */
    display: block;
    max-width: 100%;
    /* just in case, to force correct aspect ratio */
    height: auto !important;
    width: auto\9; /* ie8+9 */
    /* lt ie8 */
    -ms-interpolation-mode: bicubic; 
}

.room-results-div .room .room-more{
    font-family: 'Myriad Light';
}

.panel-more-info .panel-heading a{
    text-decoration: none;
}

.panel-more-info .panel-heading a[aria-expanded="true"]::before{
    content: "\f077";
    font-family: FontAwesome;
}

.panel-more-info .panel-heading a[aria-expanded="false"]::before{
    content: "\f078";
    font-family: FontAwesome;
}

.room .room-name,
.extra .extra-name{
    height: 70px;
    position: relative;
}

.room .room-name p,
.extra .extra-name p{
    color: #105470;
    font-family: 'Myriad Semi-Bold';
    margin: 0;
    position: absolute;               
    top: 50%;                       
    transform: translate(0, -50%);
}

.room-results-div .room .room-rate{
    background-color: #D3EDF0;
    height: 70px;
    position: relative;
}

.room-results-div .room .room-rate span.room-rate-name{
    font-family: 'Myriad Black';
    font-size: 1.1em;
    margin: 0;
    position: absolute;               
    top: 50%;
    left: 2%;
    transform: translate(0, -50%);
}

.room-results-div .room .room-rate span.room-rate-price{
    font-family: 'Myriad Black';
    font-size: 1.1em;
    margin-top: 24.5px;
    /*    margin: 0;
        position: absolute;               
        top: 50%;
        left: 55%;
        transform: translate(0, -50%);*/
}

.room-results-div .room .room-rate button.btn-book{
    font-family: 'Myriad Light';
    font-size: 1.2em;
    color: white;
    /*display: inline-block;*/
    padding: 8px 20px;
    text-align: center;
    white-space: nowrap;
    /*vertical-align: middle;*/
    cursor: pointer;
    background-image: none;
    background-color: #105470;
    border: 1px solid transparent;
    margin: 14px;
    /*    position: absolute;               
        right: 2%;
        top: 50%;
        transform: translate(0, -50%);*/
}

.room-results-div .room .room-rate button.btn-book.room-selected{
    background-color: green;
    border: 1px solid #105470;
}

.room-results-div .room .room-rate button.btn-book:hover,
.room-results-div .room .room-rate button.btn-book:focus{
    color: black;
    background-color: #80A7B6;
}

.room-results-div .room .room-rate-more{
    font-family: 'Myriad Light';
    cursor: pointer;
}

.center-spinner{
    width: 100%;
    margin: 25px auto;
}

/*
                                                                STEP 2
*/

#search_row #info_row{
    margin: 10px;
}

#search_row #info_row .date_div{
    cursor: auto;
}

#search_row #info_row .date_div .date_text{
    width: 100%;
}

#extras_accordion{
    /*margin-top: 15px;*/
}

.panel-extra #headingUpgrades,
.panel-extra .headingExtra{
    background-color: transparent;
    color: #01506E;
    text-decoration: none;
    border-bottom: 1px solid #01506E;
    font-family: 'Myriad Bold';
    font-size: 1.3em;
}

.panel-extra .panel-heading a[aria-expanded="true"]::before{
    content: "\f077";
    font-family: FontAwesome;
}

.panel-extra .panel-heading a[aria-expanded="false"]::before{
    content: "\f078";
    font-family: FontAwesome;
}

.panel-extra .panel-heading a{
    text-decoration: none;
}

.panel-extra .room-photo img,
.panel-extra .extra-photo img{
    width: 100%;
}

.panel-extra .room-total,
.panel-extra .extra-total{
    height: 70px;
    position: relative;
}

.panel-extra .room-total p,
.panel-extra .extra-total p{
    text-align: right;
    color: #105470;
    font-family: 'Myriad Light';
    position: absolute;
    top: 50%;
    left: 55%;
    margin-right: -50%;
    transform: translate(-50%, -50%)
}

/*
                                                                STEP 3
*/

#personal_data,
#billing_data,
#payment_data{
    margin-top: 15px;
    border: 1px solid #ddd;
    background-color: white;
    padding: 15px;
}

#personal_data #personal_data_title,
#billing_data #billing_data_title,
#payment_data #payment_data_title{
    margin-bottom: 15px;
    font-family: 'Myriad Bold';
    color: #01506E;
}

#personal_data label,
#billing_data label,
#payment_data label{
    font-family: 'Myriad Black';
}

#personal_data input,
#personal_data textarea,
#personal_data select,
#billing_data input,
#billing_data select,
#payment_data select{
    border: 1px solid #01506E;
    border-radius: 0;
}

#payment_data .payment-options input[type="radio"] {
    border: 0; 
    clip: rect(0 0 0 0); 
    height: 1px; margin: -1px; 
    overflow: hidden; 
    padding: 0; 
    position: absolute; 
    width: 1px;
}

#payment_data .payment-options label {
    display: inline-block;
    cursor: pointer;
    line-height: 2.5;
    font-size: 1.2em;
    margin-right: 25px;
}

#payment_data .payment-options [type="radio"] + span {
    display: inline-block;
}

#payment_data .payment-options [type="radio"] + span:before {
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.25em;
    border-radius: 1em;
    border: 0.125em solid #fff;
    box-shadow: 0 0 0 0.05em #01506E;
    margin-right: 0.75em;
    transition: 0.5s ease all;
}

#payment_data .payment-options [type="radio"]:checked + span:before {
    background: #01506E;
    box-shadow: 0 0 0 0.15em #01506E;
}

#payment_data #banktransfer-info-container{
    margin-top: 15px;
    padding: 15px;
    background-color: #D3EDF0;
}

/* STRIPE */

#payment_data #stripe-container{
    border: 1px solid rgb(1, 80, 110);
    border-radius: 0px;
    padding: 6px 12px;
}


/*
                                                                SUCCESS
*/

div.room-info{
    margin-top: 15px;
    padding: 15px;
    background-color: #D3EDF0;
}

div.room-info div.date_text{
    text-align: center;
    border: 1px solid #01506E;
    width: 100%;
    padding: 10px;
}

/*
                                                                FOOTER
*/

footer{
    min-height: 330px;
    background-color: #01506E;
    color: white;
    font-family: 'Myriad Light';
    position: absolute;
    bottom: 0;
    width: 100%;
}

footer #contact_list{
    padding-top: 45px;
    padding-bottom: 25px;
}

footer #rights{
    padding-bottom: 25px;
}

footer #social{
    padding-bottom: 45px;
}

footer p{
    width: 100%;
}

footer #social a{
    margin: 0 20px;
    color: white;
}

footer #rights a,
footer #rights a:hover,
footer #rights a:visited{
    color: white;
    text-decoration: none;
}


/*
                                                            SURVEY
*/

div#survey-title{
    margin-top: 15px;
    min-height: 80px;
    background-color: #105470;
    padding: 10px;
}

div#survey-title h1{
    margin-top: 10px;
    color: white;
    text-align: center;
}

div#survey-text,
div#survey-data,
div#survey-partners,
div.survey-category{
    margin-top: 15px;
    padding: 15px;
    background-color: #D3EDF0;
}

div.survey-title{
    font-family: 'Myriad Black';
    width: 100%;
    margin: 0;
    text-align: center;
}

div.survey-question-label{
    font-family: 'Myriad Black';
}

div.survey-category .rr-choice input[type="radio"] {
    border: 0; 
    clip: rect(0 0 0 0); 
    height: 1px; margin: -1px; 
    overflow: hidden; 
    padding: 0; 
    position: absolute; 
    width: 1px;
}

div.survey-category .rr-choice label {
    display: inline-block;
    cursor: pointer;
    line-height: 2.5;
    font-size: 1.2em;
    margin-right: 25px;
}

div.survey-category .rr-choice [type="radio"] + span#outerspan {
    display: inline-block;
}

div.survey-category .rr-choice [type="radio"] + span#outerspan:before {
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.25em;
    border-radius: 1em;
    border: 0.125em solid #fff;
    box-shadow: 0 0 0 0.05em #01506E;
    margin-right: 0.75em;
    transition: 0.5s ease all;
}

div.survey-category .rr-choice [type="radio"]:checked + span#outerspan:before {
    background: #01506E;
    box-shadow: 0 0 0 0.15em #01506E;
}

div.survey-category textarea{
    width: 100%;
}

div#survey-submit{
    margin-top: 15px;
    margin-bottom: 50px;
}

div#survey-submit button{
    width: 100%;
}

div.survey-checkin input[type="checkbox"]{
    width: 34px;
}

@media (max-width: 767px) {
    body.survey-body{
        font-size: 2em;
    }

    body.survey-body header div.nav-lang-sel button,
    body.survey-body header div.nav-lang-sel ul{
        font-size: 1em;
    }

    header div.client-hotel-logo{
        top: 0%;
    }

    #mainContainer{
        padding: 0px;
        padding-bottom: 345px;
    }

    #search_row{
        padding: 0px;
    }

    #search_row #inputs_row {
        padding: 10px;
        margin: 0;
    }

    #search_row #inputs_row .date_div {
        margin: 0;
    }

    #search_row #inputs_row .date_div .date_icon i {
        transform: translate(-20%, -50%);
    }

    #search_row #inputs_row #room_num_div,
    #search_row #inputs_row #night_num_div{
        margin: 0;
    }

    #search_row #info_row{
        margin: 0px;
        padding: 10px;
    }

    #search_row #info_row .date_div{
        cursor: auto;
        margin: 0;
    }

    #room-tabs ul li{
        width: 33.33%;
        font-size: 0.7em;
    }

    .occupation_row label{
        font-size: 1em;
    }

    div#cart_div div.cart_row span.cart_room{
        text-align: center;
    }

    div#cart_div div.cart_row div.cart_row_info{
        padding-top: 0;
    }

    div#cart_div div.cart_row div.cart_row_info span,
    div#cart_div div.cart_row div.cart_row_info i,
    div#cart_div div.cart_row div.cart_row_info_occ
    {
        text-align: center;
        margin-right: 0px;
    }

    div#survey-text,
    div#survey-data,
    div#survey-partners,
    div.survey-category{
        padding: 30px;
    }

    div.survey-category textarea{
        width: 98%;
    }

    div#survey-submit button{
        width: 90%;
        margin: 0 5%;
    }
}
