@import url('https://fonts.googleapis.com/css?family=Lato:300,400,700');

.availability_calendar_form form { 
    margin: 0;
    width: 630px;
}
.availability_calendar_form form .availability_calendar_input {
    display: inline-block;
    *display: inline;
    zoom: 1;
    vertical-align: middle;
    position: relative;
}
.availability_calendar_form form #input-dates .availability_calendar_input {
    width: 159px;
    line-height: 30px;
    padding-right: 30px;
    position: relative;
    margin: 0 3px;
    text-align: left;
}
.availability_calendar_form form #input-dates .availability_calendar_input input {
    border: 1px solid #d7d7d7;  
    font-size: 14px;
    color: #474747;   
    padding: 0 5px;
    width: 100%;
    
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
}
.availability_calendar_form form .availability_calendar_input label {
    color: #a0a0a0;
    font-size: 13px;
    margin-bottom: -5px;
    display: block;
}
.availability_calendar_form form .availability_calendar_input input#txtArrivalDate_plugin,
.availability_calendar_form form .availability_calendar_input input#txtDepartDate_plugin {
    padding: 10px 15px;
    float: right;
    cursor: text;
    background: #fff url(../images/calendar.png) 95% 8px no-repeat;
}
.availability_calendar_form form button {
    font-size: 14px;
    background: #a28144;
    border: none;
    color: #fff;
    text-transform: uppercase;
    padding: 11px 15px;
    outline: none;
    cursor: pointer;
    margin-left: 3px;
    display: inline-block;
    *display: inline;
    zoom: 1;
    vertical-align: bottom;
    
    -webkit-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
    
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
}
.availability_calendar_form form button:hover {
    background: #93763f;
}
@media all and (max-width: 767px) {


}
@media all and (max-width: 359px) {
    .availability_calendar_form form #input-dates .availability_calendar_input {
        width: 172px;
    }
}

.availability_calendar_overlay {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;    
    left: 0;
    right: 0;
    z-index: 1009;
    background: rgba(0, 0, 0, .7);
}
.availability_calendar_popup_content {
    font-family: 'Lato', sans-serif;
    display: none;
    background: #fff;
    position: fixed;
    z-index: 1010;
    left: 50%;
    max-width: 500px;
    width: 100%;
    top: 50%;
    text-align: center;
    color: #474747;
    padding: 30px;
    
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    border-radius: 4px;
}
@media all and (max-width: 767px) {
    .availability_calendar_popup_content {
        top: 10%;

        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
        transform: translateX(-50%);
    }
}
.availability_calendar_popup_content h2 {
    font-size: 32px;
    font-weight: 300;
    margin-bottom: 100px;
}
.availability_calendar_popup_content h2 strong {
    font-weight: 700;
}
.availability_calendar_popup_content p {
    font-size: 14px;
    line-height: 18px;
    margin-bottom: 80px;
}
.availability_calendar_popup_content a {
    text-decoration: none;
    text-align: center;
    margin: 0 auto;
}
.availability_calendar_popup_content a img {
    display: block;
    text-align: center;
    margin: 0 auto;
}
.availability_calendar_popup_content a small {
    font-size: 12px;
    color: #a28144;
    text-transform: uppercase;
    text-decoration: none;
    display: block;
    margin-top: 10px;
}
.availability_calendar_popup_content .availability_calendar_arrows {
    font-size: 0;
    text-align: center;
    margin-bottom: 15px;
}
.availability_calendar_popup_content .availability_calendar_arrows span {
    display: inline-block;
    *display: inline;
    zoom: 1;
    background: url(../images/arrows.png) no-repeat;
    height: 40px;
    width: 38px;
}
.availability_calendar_popup_content .availability_calendar_arrows span#arrow-1 {
    animation: span1 1s 0s steps(1) infinite;
}
.availability_calendar_popup_content .availability_calendar_arrows span#arrow-2 {    
    animation: span1 1s .2s steps(1) infinite;
}
.availability_calendar_popup_content .availability_calendar_arrows span#arrow-3 {    
    animation: span1 1s .4s steps(1) infinite;
}

.availability_calendar_form .error-message {
    position: absolute;
    color:  #fff;
    background: #ee5858;
    z-index: 2;
    font-size: 10px;
    padding: 2px 3px;
    height: auto;
    line-height: 1;
    right: 9px;
    bottom: -13px;
    top: auto;
    text-transform: uppercase;
}

/* Miniform */
.miniform-wrapper {    
    width: 100% !important;
    margin-top: -57px !important;
    position: absolute;
    z-index: 101;
}
.miniform {
    font-family: 'Roboto', sans-serif;
    font-size: 15px;
    color: #000;
    line-height: 24px;
    font-weight: 600;
    text-transform: uppercase;
    background: rgba(255, 255, 255, .75);
    padding: 10px;
    text-align: center;
    width: 100% !important;
    margin-top: -57px !important;
    position: absolute;
    
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;    
}
.miniform-wrapper .miniform {
    margin-top: 0 !important;
}
.sticky .miniform {
    background: #fff;
    border-bottom: 1px solid #efefef;
    position: fixed;
    visibility: visible;
    width: 100% !important;
    z-index: 25;
    margin-top: 0 !important;
}
.miniform .form-container {
    vertical-align: middle;
    position: relative;
    display: inline-block;
    *display: inline;
    zoom: 1;   
}
.miniform label {
    vertical-align: middle;
    display: inline-block;
    *display: inline;
    zoom: 1;
}
.miniform .form-column {
    background: #fff;
    border: 1px solid #dbdbdb;
    margin-right: 96px;
    vertical-align: middle;
    position: relative;
    display: inline-block;
    *display: inline;
    zoom: 1;
}
.miniform .form-column.select:after {    
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 10px;
    border-top: 6px solid;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;

    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}
.miniform .form-container:last-of-type .form-column {
    background: #fff url(../images/in-out.png) no-repeat center center;
}
.miniform .form-column input,
.miniform .form-column select {
    border: none;
    background: transparent;
    padding: 10px;
}
.miniform .form-column select {
    min-width: 200px; 
    
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.miniform button {
    padding: 10px 25px !important;    
    margin-left: 0 !important;
    vertical-align: middle !important;
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    -ms-border-radius: 0 !important;
    -o-border-radius: 0 !important;
    border-radius: 0 !important;
}
@media all and (max-width: 1100px) {
    .miniform .form-column {
        margin-right: 70px;   
    }
}
@media all and (max-width: 1024px) {
    .miniform .form-column {
        margin-right: 50px;   
    }
}
@media all and (max-width: 980px) {
    .miniform .form-column {
        margin-right: 10px;   
    }
}
@media all and (max-width: 900px) {	
    .miniform .form-column input {
        width: 130px;
    }
    .miniform .form-column select {
        min-width: 130px;   
    }
}
@media all and (max-width: 767px) {
    .miniform-wrapper {
        position: relative;
        margin-top: 0 !important;
        height: auto !important;
    }
    .miniform {
        position: relative;   
        margin-top: 0 !important;
        background: #f0f0f0;
    }
    .sticky .miniform {
        position: relative;
        top: 0 !important;
    }
    .miniform .form-container {
        display: block;
    }
    .miniform label {
        float: left;
        margin: 7px 0 0 10px;    
        z-index: 2;
        position: relative;
    }
    .miniform .form-column {
        display: block;
        text-align: right;
        margin: 0 0 5px !important;
        font-size: 0;
    }
    .miniform .form-container:last-of-type .form-column {
        background-position: 68% center !important;
    }
    .miniform .form-column input {
        width: 32%;
        display: inline-block;
        *display: inline;
        zoom: 1;
    }
    .miniform .form-column select {
        width: 64%;
    }
    .miniform button {
        display: block;
        width: 100%;
    }
}

/* Calendar */
.ui-datepicker {
    border: 1px solid #dbdbdb !important;
    padding: 0!important;
    z-index: 99!important;
    margin-left: -1px;
    margin-top: 0px;
    border-radius: 0 !important;
    width: auto !important;
}
.ui-datepicker .ui-datepicker-header {
    border-bottom: 1px solid #dbdbdb !important;
    border-top: none;
    border-left: none;
    border-right: none;
    border-radius: 0;
    background: #fff;
}
.ui-datepicker table {
    margin-bottom: 0;
    font-size: .76em !important;
}
.ui-datepicker td span, .ui-datepicker td a {
    padding: 10px !important;
    border: none !important;
}
.ui-datepicker td span {
    background: #f6f6f6 !important;
}
.ui-datepicker td a {
    background: #f6f6f6 !important;
}
.ui-datepicker td a:hover {
    background: #ededed !important;
}
.ui-datepicker .ui-datepicker-today .ui-state-highlight {
    background-color: #a28144 !important;
    color: #fff;
}
.ui-datepicker .ui-state-active, 
.ui-datepicker .ui-state-active:hover, 
.ui-datepicker .ui-widget-header .ui-state-active, 
.ui-datepicker a.ui-button:active, 
.ui-datepicker .ui-button:active, 
.ui-datepicker .ui-button.ui-state-active:hover {
    border: 1px solid #174165 !important;
    background: #174165 !important;
    font-weight: normal;
    color: #fff !important;
}

@keyframes span1 {
  0% {
    background-position: 0 0;
  }
  20% {
    background-position: -84px 0;
  }
  40% {
    background-position: -42px 0;
  }
  60%, 80%, 100% {
    background-position: 0 0;
  }
}