:root{
    --blue: #25a9e0;
    --gray: #58595b;
}

body{
    box-sizing: border-box;
    color: var(--gray);
}


a,a:hover{
    color: var(--blue);
}

section{
    padding: 30px 0;
}

img{
    max-width: 100%;
}

.table-element{
    display: table;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}

.table-cell{
    display: table-cell;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    vertical-align: middle;
}

.text-box{
    background-color: #ccc;
    height: 300px;
    width: 100%;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 30px;
}

.btn-primary,.btn-primary:hover{
    background-color: var(--blue);
    border-color: var(--blue);
}

header{
    position: fixed;
    background-color: #fff;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    box-shadow: 0 0 10px rgba(0,0,0,.3);
    padding: 30px 0;
}

header > .navbar{
    background-color: #fff;
}

header .logo{
    position: absolute;
    /*top: -15px;*/
    left: 0;
    /*max-width: 300px;*/
    width: 25vw;
    min-width: 150px;
}

header a{
    color: var(--gray);
    text-transform: uppercase;
    font-weight: bold;
}

header a:focus, header a:hover,header a.active{
    color: var(--blue);
    text-decoration: none;
}

#page_content{
    padding-top: 84px;
    min-height: calc(100vh - 132px);
}

/*#hero{
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-attachment: fixed;
    min-height: 600px;
    height:calc(100vh - 214px);
    padding: 0;
}*/

#hero {
  min-height: 600px;
  height: calc(100vh - 214px);
  padding: 0;
  position: absolute;
  width: 100%;
  top: 50%;
  left: 0;
  margin: 0 auto;
  transform: translateY(-50%);
}

#hero h1{
    color: #fff;
    text-shadow: 3px 3px 3px rgba(0,0,0,.5);
    text-transform: uppercase;
    font-size: 50px;
    margin: 20px 0;
}

#hero p{
    color: #fff;
    font-size: 25px;
    text-shadow: 0 0 10px rgba(0,0,0,.8);
}

button,.button {
    display: inline-block;
    border-color: var(--blue);
    background-color: var(--blue);
    color: #fff;
    cursor: pointer;
    padding: 15px 30px;
    text-transform: uppercase;
}

.button:hover{
    color: #fff;
    text-decoration: none;
}

.box-content{
    background-color: #f7f7f7;
    padding: 28px;
    box-shadow: 5px 5px 5px rgba(0,0,0,.3);
    margin-bottom: 15px;
    border: 2px solid transparent;
}

.box-content:hover,.search-box:hover{
    border-color: var(--blue);
}

.search-box{
    width: 450px;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
    background-color: #f7f7f7;
    padding: 28px;
    box-shadow: 5px 5px 5px rgba(0,0,0,.3);
    border: 2px solid transparent;
}

.search-box button{
    width: 100%;
}

.search-box h2{
    text-align: center;
    margin: 0 0 20px;
}

.select2-selection,.select2-selection__rendered{
    height: 38px!important;
}

.select2-selection__rendered{
    padding-top: 4px;
}

.select2-selection__arrow{
    top: 5px!important;
}

.search-box form{
    text-align: left;
}

.logo-box{
    overflow: hidden;
    width: 100%;
}

.logo-box .logo-scroll{
    width: 5000px;
}

.logo-box img{
    display: inline-block;
    vertical-align: middle;
    height: 75px;
    width: auto;
    margin: 0 15px;
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
}

.logo-box img:hover{
    filter: grayscale(0);
    -webkit-filter: grayscale(0);
}

.logo-box img:first-of-type{
    margin-left: 0;
}

.logo-box img:last-of-type{
    margin-right: 0;
}

.title{
    text-align: center;
}

#home_lots{
    background-color: #f7f7f7;
}

footer{
    background-color: #383838;
    padding: 30px 0;
    color: #ffffff;
}

footer ul{
    padding: 0;
    margin: 0 0 15px;
    list-style-type: none;
}

footer ul li{
    display: inline-block;
}

footer ul li a{
    display: block;
    padding: 0 15px;
    color: #fff;
}

footer ul li a:hover{
    color: var(--blue);
    text-decoration: none;
}

footer p{
    font-size: 12px;
    margin: 0;
}

#faq .card-header button{
    color: #000;
    width: 100%;
    text-align: left;
    text-decoration: none;
    white-space: normal;
}

.checkout-steps{
    margin-top: 40px;
}

#cart{
    padding: 13px 28px;
    box-shadow: 3px 3px 10px rgba(0,0,0,.3);
    background-color: #f7f7f7;
    border: 2px solid transparent;
    margin-bottom: 30px;
}

#cart:hover{
    border-color: var(--blue);
}

.cart-top p{
    font-size: 26px;
    text-align: center;
    font-weight: bold;
    margin: 0;
}

.cart-top{
    border-bottom: 1px solid #ccc;
    padding-bottom: 15px;
}

.cart-bottom{
    padding: 15px 0;
}

.cart-bottom .parking-logo{
    display: block;
    margin: auto;
}

.cart-bottom .parking-title{
    font-size: 22px;
    text-align: center;
    margin: 10px 0;
}

.cart-bottom .parking-image{
    width: 100%;
}

.cart-bottom .parking-address{
    font-size: 18px;
    text-align: center;
    margin: 10px 0 0;
}

.cart-line-items{

}

.cart-line-items p{
    font-size: 18px;
    margin: 0 0 10px;
}

.cart-line-items p span{
    display: inline-block;
    width: 40%;
    text-align:right;
}

.cart-line-items p strong{
    display:inline-block;
    margin-left: 15px;
}

.cart-line-items #subtotal_list p,.cart-line-items #tax_list p{
    font-size: 14px;
    margin: 0;
}

.cart-line-items .collapse{
    margin-bottom: 10px;
}

.cart-description{
    padding: 15px 0 0;
    text-align: center;
}

.checkout-step + h2{
    display: inline-block;
    margin: 0;
    vertical-align: middle;
}

#account_info h2 + .row,#payment_details h2 + .row,#order_total h2 + .row{
    margin-top: 30px;
}

.checkout-step{
    display: inline-block;
    width: 50px;
    height: 50px;
    border-radius: 100%;
    background-color: var(--blue);
    color: #fff;
    font-size: 20px;
    vertical-align: middle;
    margin-right: 15px;
}

#complete_purchase{
    margin-top: 30px;
}

#complete_purchase .btn{
    padding: 15px 30px;
    font-size: 20px;
}

#account_info a{
    display: inline-block;
    position: relative;
    top: 20px;
}

#search_criteria{
    padding: 3px 0 10px;
    background-color: var(--blue);
}

#search_criteria label{
    color: #fff;
    font-size: 12px;
    margin-bottom: 0;
}

#search_criteria .form-control{
    font-size: 14px;
    padding: 5px;
    height: auto;
    line-height: 1;
}

#search_criteria .select2-selection,#search_criteria .select2-selection__rendered{
    height: 29px!important;
    font-size: 14px;
    padding: 0;
}

#search_criteria .select2-selection__rendered{
    padding: 0 20px 5px 5px;
}

#search_criteria .select2-selection__arrow{
    top: 2px!important;
}

#map{
    width: 100%;
    height: 100%;
}

#results_left{
    height: calc(100vh - 178px);
    overflow: auto;
}

#search_results{
    padding: 0;
}

#results_left + div{
    padding: 0;
}

#results_left{
    padding-top: 15px;
}

#search_criteria button{
    background-color: #fff;
    color: var(--blue);
    padding: 7px 20px;
    font-size: 14px;
    line-height: 1;
    border-radius: .25rem;
}

.results-title p{
    margin: 0;
}

.results-title h3{
    margin: 0;
}

.result{
    padding: 15px;
    border: 2px solid #ccc;
    box-shadow: 3px 3px 3px rgba(0,0,0,.3);
    margin-bottom: 15px;
}

.result:hover,.result.hover{
    border-color: var(--blue);
}

.result .result-image{
    float: left;
    width: 22%;
    padding-right: 10px;
}

.result .result-image img{
    max-width: 100%;
}

.result .result-info{
    float: left;
    width: 60%;
}

.result .result-image + .result-info{
    width: 38%;
}

.result .result-price{
    display: flex;
    flex-direction: row;
    float: left;
    width: 40%;
    text-align: center;
}

.result .result-price h5{
    font-size: 12px;
    margin: 0;
}

.result .result-price a.button + h5{
    margin-top: 10px;
}

.result .result-info p{
    font-size: 12px;
}

.result .result-info .parking-title{
    font-size: 20px;
    font-weight: bold;
    margin: 0;
}

.result .result-info .parking-address{
    margin-bottom: 10px;
}

.result .result-info .distance{
    font-weight: bold;
    margin-bottom: 5px;
}

.result .button{
    padding: 5px 10px;
    font-size: 12px;
}

.result .result-price > div{
    padding: 0 5px;
    width: 100%;
}

.result .result-price h4{
    font-size: 18px;
    font-weight: bold;
}

.result .result-price p{
    margin: 0;
}

.result .result-price .default-rate{
    font-size: 14px;
    text-decoration: line-through;
}

.result .result-price .corporate-rate{
    font-size: 38px;
    font-weight: bold;
    margin-bottom: 5px;
}

.result .result-price .default-rate + .corporate-rate{
    font-size: 16px;
}

.result .result-amenities{
    width: 65%;
    float: left;
}

.ui-widget-header{
    background-color: var(--blue);
    color: #fff;
}

#ui-datepicker-div button{
    background-color: var(--blue);
    border-color: var(--blue);
    color: #fff;
    border-radius: 0;
}

.ui-state-highlight, .ui-widget-content .ui-state-highlight{
    border-color: var(--blue);
    background-color: var(--blue);
    color: #fff;
    opacity: .5;
}

.ui-state-active, .ui-widget-content .ui-state-active{
    border-color: var(--blue);
    background-color: var(--blue);
    color: #fff;
}

.select2-container--default .select2-results__option--highlighted[aria-selected]{
    background-color: var(--blue)!important;
}
.select2-container{
    max-width: 100%;
}

#page_title.has-bg{
    padding: 150px 0;
    background-attachment: fixed;
    background-position: center top;
/*    background-size: cover;*/
    background-repeat: no-repeat;
}

#page_title.has-bg h1{
    color: #fff;
    text-shadow: 3px 3px 3px rgba(0,0,0,.5);
    text-transform: uppercase;
}

.amenity-icon{
    max-width: 45px;
}

.info-window{
    text-align: center;
}

.info-window h3{
    font-size: 18px;
    margin: 0;
}

.info-window p{
    font-weight: bold;
    color: var(--blue);
    margin: 0;
}

#parking_lot_view #lot_info p{
    margin: 0;
}

.lot-info{
    float: left;
    width: calc(70% - 15px);
}

.lot-logo{
    float: left;
    margin-right: 15px;
    width: 30%;
}

.lot-logo img{
    width: 100%;
}

#parking_lot_view .box-content .row + .row{
    margin-top: 10px;
}


#parking_lot_view .box-content#pl_booking h3{
    margin-bottom: 15px;
    font-size: 24px;
}

#parking_lot_view .box-content#pl_booking label{
    font-size: 14px;
    margin: 0;
}

#parking_lot_view .box-content#pl_booking p{
    font-weight: bold;
    font-size: 16px;
    margin: 0;
}
#parking_lot_view .box-content#pl_booking a.btn{
    margin-top: 10px;
}


#parking_lot_view #lot_info p.lot-description{
    margin: 15px 0;
}

.gallery-image{
    margin-bottom: 10px;
}

.gallery-image img{
    width: 100%;
}

.gallery-thumbs{
    margin-left: -5px;
    margin-right: -5px;
}

.thumbnail{
    display: block;
    float: left;
    width: 200px;
    height: 200px;
    overflow: hidden;
    padding: 0 5px;
    margin-bottom: 10px;
}

.thumbnail img{
    width: 100%;
}

#hero .search-box p{
    text-shadow: none;
    color: var(--gray);
    font-size: 12px;
}

#newsletterModal .modal-content{
    border-radius: 0;
    border-color: transparent;
    min-height: 70vh;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
}

#newsletterModal .modal-body{
    height: 100%;
    padding: 60px;
}

#newsletterModal .close{
    color: #fff;
    text-shadow: 3px 3px 3px rgba(0,0,0,.5);
    opacity: 1;
    font-size: 30px;
    position: absolute;
    top: 15px;
    right: 15px;

}

#newsletterModal .modal-title{
    display: block;
    width: 100%;
    color: #fff;
    text-shadow: 3px 3px 3px rgba(0,0,0,.5);
    text-align: center;
    font-size: 30px;
    margin: 0 0 15px;
}

#newsletterModal p{
    color: #fff;
    text-shadow: 3px 3px 3px rgba(0,0,0,.5);
    font-size: 18px;
    margin: 15px 0 30px;
}

#newsletterModal input[type=email]{
    background-color: rgba(255,255,255,.8);
}

#three_boxes .box-content{
    padding: 0;
    border: none;
}

#three_boxes .box-content img{
    width: 100%!important;
}
#three_boxes .box-content p{
    margin: 0;
    padding: 0;
}

.booking-logos{
    text-align: center;
}

.booking-logos img{
    display: inline-block;
    vertical-align: middle;
    max-width: 200px;
}

.booking-logos img + img{
    margin-left: 15px;
}

#faq_list .card{
    border-bottom: 1px solid rgba(0,0,0,.125);
}

#faq_list .card + .card{
    border-top-width: 1px;
}

#faq_list .card:hover,#faq_list .card:hover .card-header{
    border-color: var(--blue);
}

footer .social{
    padding: 0 0 15px;
}

footer .social a{
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    font-size: 26px;
}

footer .social a + a{
    margin-left: 30px;
}

footer .social a:hover{
    color: var(--blue);
}

.filter-row{
    margin-top: 30px;
}

.filter-row .checkbox{
    display: inline-block;
    vertical-align: middle;
}

.filter-row .checkbox + .checkbox{
    margin-left: 15px;
}

.filter-row .amenity-icon{
    max-width: 35px;
}

#search_results a:not(.button){
    display: block;
    padding: 0 10px;
}

#search_results a:not(.button):hover{
    background-color: #fff;
    text-decoration: none;
}

#search_results a + a:not(.button){
    border-top: 1px solid rgba(0,0,0,.3);
}

#search_results a span{
    display: block;
}

.search-title{
    font-size: 14px;
}

.search-city{
    font-size:12px;
}

.search-code{
    font-size: 16px;
    font-weight: bold;
}

.row{
    -webkit-flex-wrap: wrap;
    display: -webkit-flex;
}

#page_content > .position-ref{
    text-align: center;
    padding: 100px 0;
}

#page_content > .position-ref .title{
    font-size: 30px;
    font-weight: bold;
    text-transform: uppercase;
}

/* 10/05/2024 */

.index-hero-wr {
  position: relative;
  min-height: 600px;
}
.hero-video-wr video {
    display: block;
    width: 100%;
}
.hero-video-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.2);
}

#hero h1 span, #hero h1 b {
  font-size: 2rem;
}

.brand-logo {
    margin-top: -15px;
    height: 60px;
}

/* Responsive  */

@media only screen and (max-width: 1179px) {

    .index-hero-wr {
      min-height: auto;
    }

    .brand-logo {
        margin-top: -12px;
        height: auto;
    }


} /* 1024  */

@media only screen and (max-width: 1023px) {

    #hero {
      min-height: auto;
      padding: 14px 0;
      top: 0;
      height: auto;
      transform: none;
    }
    #hero h1 {
      font-size: 29px;
    }
    #hero p {
      font-size: 20px;
    }
    .index-hero-wr .form-group {
      margin-bottom: 10px;
    }

} /* 980  */

@media only screen and (max-width: 979px) {

    .index-hero-wr #hero .col-12 {
      -ms-flex: 0 0 100%;
      flex: 0 0 100%;
      max-width: 100%;
    }

    .hero-video-wr {
      position: relative;
    }

    #hero {
        position: static;
    }

    .qp-cls-mobile {
        position: absolute;
        top: 13%;
        left: 0;
    }
    .qp-cls-mobile-rg {
        padding-top: 30px;
    }

} /* 768  */

@media only screen and (max-width: 767px) {

    .qp-cls-mobile {
      top: 0;
    }

} /*480*/

@media only screen and (max-width: 479px) {

    #hero p {
      font-size: 15px;
    }
    #hero h1 span, #hero h1 b {
      font-size: 18px;
    }
    .search-box h2 {
      font-size: 24px;
    }

} /* 375  */


@media only screen and (max-width: 767px){
    #hero{
        padding-bottom: 30px;
        height: auto;
        min-height: 0;
    }

    #hero .table-element{
        display: block;
    }

    #hero .table-element .table-cell{
        display: block;
    }

    #hero .search-box{
        padding: 15px;
    }

    header .logo{
        position: relative;
        top: auto;
        left:auto;
    }

    header a:last-of-type{
        display: block;
        clear:both;
        margin-top: 10px;
    }

    header{
        padding: 10px 0;
    }

    #page_content{
        padding-top: 71px;
    }

    #results_left{
        height: auto;
    }

    .brand-logo {
        margin-top: 5px;
        height: auto;
        padding-bottom: 5px;
    }
}




