textarea:focus, 
textarea.form-control:focus, 
input.form-control:focus, 
input[type=text]:focus, 
input[type=password]:focus, 
input[type=email]:focus, 
input[type=number]:focus, 
[type=text].form-control:focus, 
[type=password].form-control:focus, 
[type=email].form-control:focus, 
[type=tel].form-control:focus, 
[contenteditable].form-control:focus {
  box-shadow: inset 0 -1px 0 #ddd;
}
.form-control { font-size: 14px; }
body { font-size: .8rem; color: #484848; padding-top: 77px; font-family: 'Merriweather', serif;}
.ls-1 { letter-spacing: 1px; }
.fs-17 { font-size: 17px; line-height: 30px; }
.btn-primary, .btn-primary:hover { background-color: #009DA7!important; border-color: #009DA7!important; color: #FFF!important; 
font-size: 14px;}
.btn-primary:hover { opacity: .8; }
.text-yellow { color: #FFBB01!important; }
.text-grey { color: grey; }
.text-dark-grey { color: #484848; }
.bg-primary { background-color: #009DA7!important; color: #FFF; }
.link-primary { color: #009DA7!important; font-weight: bold; }
.link-primary:hover { color: #009DA7!important; }
.font-merriweather { font-family: 'Merriweather', sans-serif; }
a { color: #484848!important; text-decoration: none; }
.navbar { border-bottom: 1px solid #e8e8e8; font-family: 'Montserrat', sans-serif; font-size: 14px;
letter-spacing: .5px;}
.navbar.navbar-light { background-color: #FFF!important; }
.navbar-toggler:focus { box-shadow: none!important; border:2px solid #CCC!important; }
.banner-cont { position: relative; height: 600px; background-position: center; background-size: cover; }
@media (max-width: 575.98px) {
    .banner-cont { height: 480px; }
}
.banner-content { padding-top: 120px; letter-spacing: 1px; text-align: center; font-family: 'Merriweather', sans-serif; color: #FFF;}
@media (max-width: 575.98px) {
    .banner-content { padding-top: 40px; }
}
.banner-content h1 { margin-bottom: 20px; }
.banner-content p { font-style: italic; letter-spacing: 1px; font-weight: lighter; }
.banner-content .banner-search-cont { margin-top: 50px; margin-bottom: 30px;}
.banner-content .banner-search-cont form { display: flex; flex-direction: row; }
.banner-content .banner-search-cont form .btn-primary { font-family: 'Montserrat', sans-serif; text-transform: uppercase;
font-weight: bold; letter-spacing: .5rem; width: 150px; margin-left: 20px; }
.banner-content .banner-search-cont form .form-control { font-size: 15px; padding: 13px; font-family: 'Montserrat', sans-serif; }
.banner-content ul { list-style-type: none; margin-top: 50px; padding: 0; font-weight: lighter; letter-spacing: 2px;}
.banner-content ul li { display: inline-block; }
.banner-content ul li a { color: #FFF!important; }
.banner-content ul li::after { content: " | "; }
.banner-content ul li:last-child::after { content: ""; }
.section { padding: 50px 0; }
.section .section-title { text-align: center; font-family: 'Merriweather', serif; color: #484848; letter-spacing: 1px; 
margin-bottom: 50px;}
.section .section-title h3 { font-weight: bold; font-size: 24px; }
.class-item { position: relative; height: 300px; background-position: center; background-size: cover;
display: flex; justify-content: center; align-items: center;}
.class-item .class-label { color: #FFF; font-family: 'Merriweather', serif; font-size: 30px; z-index: 100; letter-spacing: 1px;}
.overlay { position: absolute; width: 100%; height: 100%; background-color: #000; opacity: .2; transition: opacity 0.3s ease;}
.class-item:hover .overlay{ opacity: .1; }
.room-item .room-img { height: 220px; position: relative; background-position: center; background-size: cover; display: block; }
@media (max-width: 575.98px) {
    .room-item .room-img { height: 250px; }
}
.room-item .room-content { margin-top: 5px; }
.room-item .room-content .room-cat { color: #767676; font-size: 14px; font-family: "Montserrat", sans-serif;
letter-spacing: 0.5px; }
.room-item .room-content .room-name { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 16px; }
.room-item .room-content .room-area { font-family: 'Montserrat', sans-serif; font-size: 12px; color: #484848; }
.room-item .room-content .room-price { font-family: 'Montserrat', sans-serif; font-weight: bold; margin-top: 5px;}
.how-it-works { list-style-type: none; padding: 0; font-family: 'Merriweather', sans-serif; }
.how-it-works h5 { color: #484848; font-weight: lighter; font-style: italic; }
.how-it-works p { color: #9E9E9E; font-size: 14px; }
footer { color: #FFF; background-color: #009DA7; padding: 50px 0; font-family: 'Merriweather', sans-serif;
font-size: 14px;}
footer p { line-height: 20px; }
footer h6 { margin-bottom: 20px; }
footer ul { list-style-type: none; padding: 0; }
footer ul li a { color: #FFF!important; }
footer .socmed li{ display: inline-block; margin-right: 5px; }
.map-cont { padding-right: 0;}
@media (max-width: 991.98px) {
    .map-cont { display: none!important; }
}
#map { top: 0; position: sticky!important; position: -webkit-sticky!important; height: 100vh; width: 100%; }
.filter-cont { margin-bottom: 25px; position: relative; width: 100%; }
.filter-active-cont .filter-active-item { border: 1px solid #e6e6e6; padding: 10px; border-radius: 18px; letter-spacing: .3px;
display: inline-block; margin-right: 10px; margin-bottom: 13px; font-style: italic; color: grey; font-size: 13px; }
.filter-active-cont .filter-active-item .filter-active-delete{ background-image: url('/image/delete.png');border-radius: 50%;
background-size: 100%; border: 0; width: 15px; background-position: center; height: 15px; margin-left: 20px; display: inline-block; cursor: pointer;}
.filter-active-cont .filter-active-delete { color: #009DA7!important; display: inline-block; font-size: 13px; }
.filter-list-cont { display: flex; flex-direction: row; position: relative; width: 100%; margin-bottom: 15px; }
.filter-list-cont .filter-item-wrapper { display: flex; margin-right: 5px; }
.filter-list-cont .filter-item { font-size: 13px; padding: 5px 12px; border: 1px solid #e6e6e6; margin-right: 5px; border-radius: 4px; 
color: #484848; cursor: pointer;}
.filter-list-cont .filter-item.active { background-color: #009DA7; color: #FFF; }
.filter-list-cont .filter-item.dropdown-toggle::after { display: none; margin-left: 0; vertical-align: 0; content: ""; border: none; }
.filter-item-wrapper .form-group { margin-bottom: 15px; }
.filter-item-wrapper .form-group .form-label, 
.filter-item-wrapper .form-group .form-check-label,
.filter-item-wrapper .form-group input, 
.filter-item-wrapper button,
.filter-item-wrapper .form-group select { font-size: 13px; }
.marker-cont { width: 220px; }
.marker-cont img { max-width: 100%!important; margin-bottom: 10px; }
.marker-title { font-weight: bold; letter-spacing: .5px; font-size: 15px; }
.marker-price { font-weight: bold; letter-spacing: .5px; margin-top: 20px; }
.photo-cont .photo-featured { width: 100%; background-size: cover; background-repeat: no-repeat; 
    background-position: center; min-height: 600px; text-align: center; position: relative; display: flex; align-items: center;
    justify-content: center;}
@media (max-width: 575.98px) {
    .photo-cont .photo-featured { min-height: 300px; }
}
.btn-photo-expand { background-color: white; border: 0; position: absolute; bottom: 15px; left: 15px; border-radius: 4px; font-size: 13px; padding: 10px 20px; font-style: italic; color: #484848; cursor: pointer; }
.room-detail .room-cat { color: #9F9F9F;font-size: 16px; text-transform: uppercase; letter-spacing: 1px; font-weight: bold; }
.room-detail .room-name { margin: 15px 0; }
.room-detail .room-area { display: flex; align-items: center; font-family: 'Montserrat'; letter-spacing: 1px; color: grey; }
.room-detail .room-area img { margin-right: 15px; }
.room-detail-separator { position: relative; widows: 100%; height: 1px; background-color: lightgrey; margin-top: 35px; margin-bottom: 35px; }
.room-detail .room-title-section { font-size: 16px; margin-bottom: 20px; font-weight: bold; }
.room-detail .room-section .room-section-item { display: flex; flex-direction: row; align-items: center; font-size: 14px; 
letter-spacing: .5px; margin-bottom: 15px;}
.room-detail .room-section .room-section-item img { margin-right: 15px; }
.booking-cont .booking-wrapper { top: 77px; position: sticky!important; position: -webkit-sticky!important; min-height: 400px; width: 100%; padding: 15px;
    -webkit-box-shadow: 1px 1px 7px 0px rgb(0 0 0 / 27%); -moz-box-shadow: 1px 1px 7px 0px rgba(0, 0, 0, 0.27);
    box-shadow: 1px 1px 7px 0px rgb(0 0 0 / 27%);}
@media (max-width: 991.98px) {
    .booking-cont .booking-wrapper { -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; padding: 0; }
}
.booking-cont .booking-wrapper .booking-price { font-size: 22px; font-weight: bold; margin-bottom: 10px; }
.booking-cont .booking-wrapper .booking-price span, 
.booking-cont .booking-wrapper .booking-minimum { font-size: 13px; font-weight: lighter; font-style: italic; color: grey; }
.booking-wrapper .room-detail-separator { margin-bottom: 15px; margin-top: 15px; }
.datepicker { font-size: 14px; font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; padding: 10px; }
.datepicker td, .datepicker th { font-size: 14px; width: 25px; height: 25px; }
.booking-item { margin-bottom: 15px; }
.booking-item .booking-item-title, .booking-item input{ font-size: 14px; }
.booking-item-total { display: flex; justify-content: space-between; margin-bottom: 15px; }
.booking-item-total span { font-size: 14px; }
.auth-cont { border: 1px solid lightgrey; }
.auth-cont .auth-header { background-color: #EBEBEE; padding: 15px;}
.form input { font-size: 13px; }
.help-block { font-size: 12px; }
.nav-avatar { width: 30px; height: 30px; border-radius: 50%; background-repeat: no-repeat; background-position: center;
background-size: cover; display: inline-block; margin-left: 10px; }
#navbar .nav-item .nav-link { min-height: 52px; display: flex !important; align-items: center;}
#navbar .nav-item.dropdown .dropdown-menu{ font-size: 14px; }
.profile-cont { position: relative; }
.profile-avatar-cont { display: flex; padding-bottom: 25px; border-bottom: 1px solid lightgrey; margin-bottom: 25px;}
.profile-avatar { height: 100px; width: 100px; margin-right: 25px; border-radius: 50%; background-repeat: no-repeat; background-position: center;
    background-size: cover;}
.profile-avatar-cont h3 { font-size: 20px; }
.profile-item { margin-bottom: 25px; }
.profile-item h6 { color: grey; font-size: 16px; margin-bottom: 5px; }
.profile-item p { margin-bottom: 0; font-size: 14px; }
.pagination-cont .pagination .page-link{ font-size: 12px; }
.active>.page-link { background-color: #009DA7; border-color: #009DA7;}