﻿* { box-sizing: border-box; }

html { height:100%; margin:0; padding:0; }
body { background:url('/images/dark-leather.png') repeat; height:100%; margin:0; padding:0; border-top:3px solid #084976; font:13px Arial, Helvetica, Sans-serif; color:#666; }
#outer { min-height:100%; position:relative; }


/******************************
  BASIC ELEMENTS
******************************/

a { text-decoration:none; color:#4878BD; }
a:hover { color:#4878BD; }
p, ul, ol { margin:5px 0 13px; line-height:170%; }
img { border:none; }

h1, h2 { font-family:'Open Sans', sans-serif; }
h1 { font-size:28px; font-weight:300; margin:0 0 15px; }
h2 { font-size:18px; font-weight:normal; text-transform:uppercase; color:#1D1B2E; margin:10px 0 5px; }
h3 { margin:10px 0 5px; }
h4 { margin:15px 0 5px; }
h4 + p { margin-top:0; }


/******************************
  BASE LAYOUT
******************************/

/*SITE WIDTH*/
#wrapper,
#footer .content { width:95%; max-width: 973px; margin:0 auto; }

/*HEADER*/
#header { position:relative; text-align: center; }
#header a.logo { background:url('/images/logo.png') no-repeat; display:inline-block; height:70px; width:187px; text-indent:-9999em; outline:none; }
#header .phone { font:22px 'Segoe UI', 'Myriad Pro', Arial, Helvetica, Sans-serif; color:#FFF; margin: 10px auto; }
#header ul.nav,
#header ul.nav li,
#header ul.nav li a { display:block; margin:0; padding:0; }
#header ul.nav { list-style-type:none; display: flex; justify-content: center; flex-wrap: wrap; margin: 20px 5px 15px; }
#header ul.nav li { padding-top: 8px; }
#header ul.nav li a { font:16px 'Goudy Bookletter 1911', serif; color:#FFF; text-align:center; padding:0 18px; }
#header ul.nav li a:hover { color:#A9E2CF; }

@media (min-width: 730px) {
    #header { text-align: left; }
    #header .phone { text-align: right; }
    #header a.logo { margin-top: -20px; position: relative; top: -10px; }
    #header ul.nav { position:absolute; top:25px; right:-21px; }
}

/*CONTENT*/
.content-wrapper-outer { background:url('/images/content-wrapper-top.png') center top no-repeat; padding:8px 0 687px; }
.content-wrapper-outer .content-wrapper-inner { background:url('/images/content-wrapper-inner.png') center top repeat-y; }
.content-wrapper-outer .content-wrapper-inner .gradient { background:url('/images/content-wrapper-inner-gradient.png') center top repeat-x #E6E6E6; }
.content-wrapper-outer .content-wrapper-inner .gradient.subpage { padding:1px; }
.content-wrapper-outer .content-wrapper-inner .gradient.subpage .content-box { background:#FFF; min-height:200px; border:1px solid #DDD; padding:20px; }
.content-wrapper-outer .content-wrapper-bottom { background:url('/images/content-wrapper-bottom.png') center bottom no-repeat; padding-top:8px; }

@media (min-width: 600px) { 
    .content-wrapper-outer { padding: 8px 0 430px; }
    .content-wrapper-outer .content-wrapper-inner { padding:5px 13px; }
    
}

/*FOOTER*/
#footer { background:url('/images/footer-bg.png') center top repeat-x; height:547px; max-height: 100%; width:100%; position:absolute; bottom:0; }
#footer .sand-background { background: url('/images/footer-sand.png') center; background-size: cover; padding-bottom: 20px; }
#footer .content { position:relative; }
#footer .content .col,
 #footer .content .copyright,
 #footer .content a.bysteps { z-index:2; position:relative; }
#footer .content .col h4,
 #footer .content .col a.footer-logo { font-size:13px; color:#FFF2A4; margin:0 0 5px; font-weight:bold; display:block; }
#footer .content .col a.footer-logo { background:url('/images/footer-logo.png') center top no-repeat; width: 100%; max-width:123px; padding-top:110px; text-align:center; margin:0 auto; }
#footer .content .col ul { margin:0; padding:0; list-style:none; }
#footer .content .col ul li { line-height:120%; }
#footer .content .col ul li a { font-size:11px; color:#FFF; }
#footer .content .col ul li a:hover { text-decoration:underline; }
#footer .content .copyright { margin:40px auto 10px; text-align:center; font-size:10px; color:#FFF; }
#footer .content a.bysteps { background:url('/images/bysteps.png') no-repeat; display:block; height:29px; width:88px; margin:0 auto; padding-bottom: 20px; text-indent:-9999em; outline:none; }


#footer .content .col { padding-top:25px; width: 100%; text-align: center; float: left; } 
#footer .content .col + .col { width: 50%; }

@media (min-width: 600px) {
    #footer { height: 354px; }
    #footer .content .col { width: 25% !important; }
}

@media (min-width: 767px) { 
    #footer .content .col { width: 20% !important; }
}


/******************************
  SIDEBAR LAYOUT
******************************/

.content-wrapper-outer .content-wrapper-inner .sidebar { width: 100%; max-width: 100%; margin-bottom: 25px; }
.content-wrapper-outer .content-wrapper-inner .sidebar .questions { width: 100%; background:url('/images/script-q.jpg') 5px 5px no-repeat; border:1px solid #E9E9E9; padding:15px; font-family:'Open Sans', sans-serif; }
.content-wrapper-outer .content-wrapper-inner .sidebar .questions h2 { font-size:20px; font-weight:600; color:#999; margin:0 0 10px; }
.content-wrapper-outer .content-wrapper-inner .sidebar .questions p { font-size:18px; color:#BEBEBE; }
.content-wrapper-outer .content-wrapper-inner .sidebar .questions .phone { font:22px 'Segoe UI', 'Myriad Pro', Arial, Helvetica, Sans-serif; color:#999; margin:0; }
.content-wrapper-outer .content-wrapper-inner .main { max-width: 100%; padding: 0 10px 0; }
.content-wrapper-outer .content-wrapper-inner .main .col { width:49% !important; float:left; }
.content-wrapper-outer .content-wrapper-inner .main .col + .col { margin-left:2%; }

@media (min-width: 767px) { 
    .content-wrapper-outer .content-wrapper-inner .sidebar { width: 31%; padding-right:20px; margin-bottom: 0; float: left; }
    .content-wrapper-outer .content-wrapper-inner .main { width: 69%; padding-left:20px; float: left;  border-left:1px solid #E9E9E9; }
}

/******************************
  UTILITY
******************************/

.clear { clear:both; }
.block-center { display:block; margin:0 auto; }
.ta-center { text-align:center !important; }
.fleft { float:left; }
.fleft.mar-r { margin-right:15px; }
.fright { float:right; }
.fright.mar-l { margin-left:15px; }
.red { color:#A31E16; }
.green { color:#009900; }
.top { margin-top:0; }
.em { font-style:italic; }
.border { border:1px solid #CCC; padding:1px; }
table.col { margin:10px 0 20px; }
img.fleft { margin:0 20px 20px 0; }
img.fright { margin:0 0 20px 20px; }


/******************************
  BUTTONS
******************************/

.btn-a { background:url('/images/btn-a.png') left top repeat-x; border:1px solid #CCC; display:block; height:26px; line-height:26px; font-size:10px; text-transform:uppercase; text-align:center; color:#515151; }
.btn-a:hover { background-position:left -26px; border:1px solid #BEBEBE; color:#515151 !important; }
.btn-b { background:url('/images/btn-b.png') left top no-repeat; display:block; height:30px; width:150px; line-height:30px; padding:2px 2px 6px 6px; font-size:13px; font-weight:bold; color:#333; text-align:center; }
.btn-b:hover { background-position:left -38px; color:#333 !important; }
.btn-c { background:url('/images/btn-c-bg.png') center top repeat-x; display:block; height:28px; width:auto; padding:0 20px; line-height:28px; font-size:11px; font-weight:bold; color:#FFF; text-align:center; text-transform:uppercase; }
.btn-c:hover { background-position:center -28px; text-decoration:none !important; }
.btn-c,
input.btn-c { border:1px solid #2E3D63; }
input.btn-a,
input.btn-b,
input.btn-c { padding-bottom:2px; cursor:pointer; }
input.btn-b { border:none; }
a.btn-a,
a.btn-b,
a.btn-c { text-decoration:none !important; }
a.btn-c:hover { color:#FFF !important; }
.btn-a.small,
.btn-b.small,
.btn-c.small { width:80px; }
.btn-a.std,
.btn-c.std { width:116px; }


/******************************
  FORMS
******************************/

.admin-page table tr td input[type="text"],
.form input[type="text"],
.form input[type="password"],
.form textarea,
.form select { width: 100%; margin:5px 0; padding:8px; border:1px solid #CCC; color:#666; }
.form .field { width: 100%; } 
.form input[type="text"],
.form input[type="password"] { width: 100%; }
.form select { width:313px; padding:7px; }
.form textarea { font:13px Arial, Helvetica, Sans-serif; height:80px; }
.form .field { float:left; margin:5px 0; }
.form .field.small,
.form .field.small input[type="text"] { width:125px; }
.form .field.small select { width:143px; }
.form .field.wide,
.form .field.wide input[type="text"] { width:100%; }
.form label { font-weight:bold; }
.form span.field-validation-error { font-style:italic; color:#770000; font-size:88%; }
.form input.input-validation-error,
.form textarea.input-validation-error,
.form select.input-validation-error,
.form .validation-summary-errors { background:#F5EBEB; border:1px solid #D2A4A4; }
.form .validation-summary-errors { margin-bottom:15px; padding:10px;  }
.form .validation-summary-errors span { font-weight:bold; }
.form .validation-summary-errors ul { margin:0; padding:0 10px; list-style-type:none; } 
.form .validation-summary-errors ul li { margin:4px 0; line-height:140%;  }
.form .g-recaptcha { margin-top: 10px; }

@media (min-width: 600px) { 
    .form .field { width: 48%; } 
    .form .field + .field { margin-left: 4%; }
}

/******************************
  ASSETS
******************************/

/*SLIDESHOW*/
#slideshow { background:url('/images/slideshow-bg.png') no-repeat; width:100%; padding: 0 0 49%; position:relative; }
#slideshow .slide { position:absolute; left:0px !important; top:0px !important; }
#slideshow .slide img { width: 100%; }
#slideshow .slide .overlay { text-align: center; background:url('/images/slide-overlay.png') center top repeat-x; position:absolute; left:0; bottom:0; right: 0; height:50px; padding:0 12px; font:300 22px 'Open Sans', sans-serif; line-height:50px !important; color:#FFF; }

@media (min-width: 600px) {  
    #slideshow { left: 8px; }
}

@media (min-width: 850px) { 
    #slideshow .slide .overlay { text-align: left; font:300 30px 'Open Sans', sans-serif; }
}



/*PROPERTY SPECS*/
.property-specs { font-size:14px; }
.property-specs .btn-a { white-space: nowrap; padding: 0 5px;  }
.property-specs .spec { padding:0; font-size:13px; text-align:center; }
.property-specs .icons { margin: 25px 0; }
.property-specs .spec .icon { background:url('/images/property-details-icons.png') no-repeat; height:33px; width:36px; margin:10px auto 0; }
.property-specs .spec .number { font-size:18px; color:#666; }
.property-specs .spec.beds .icon { background-position:left top; }
.property-specs .spec.baths .icon { background-position:-36px top; }
.property-specs .spec.guests .icon { background-position:-72px top; }

@media (min-width: 400px) {
    .property-specs .icons { display: flex; }
        .property-specs .icons .spec { width: 33%; }
        .property-specs .icons .spec.baths { border-left:1px solid #E9E9E9; border-right:1px solid #E9E9E9; }
}

@media (min-width: 600px) {
    .property-specs { display: flex; }
        .property-specs p.description { color: #666; font-size: 11px; margin: 15px 15px 0; line-height: 140%; }
    .property-specs .btn-a { margin-top: 50px; }
}

/******************************
  SUBPAGES
******************************/

/*PAGE: Cities*/
.cities-page .city { padding:20px 0; border-top:1px solid #CCC; }
.cities-page .city h2 { margin-top:0; }
.cities-page .city:first-child { padding-top:0; border-top:none; }

/*PAGE: Home*/
.gradient.home .form.quick-search h2 { text-align: center; margin: 30px 30px 20px 0; }
.gradient.home .form.quick-search { padding:15px; border-bottom:1px solid #CCC; }
.gradient.home .form.quick-search .input-fields { float: left; width: 100%; margin-bottom: 22px; }
.gradient.home .form.quick-search .field.buttons { padding-top: 22px; float: none; width: 285px; margin: 0 auto; }
.gradient.home .form.quick-search .field.buttons em { line-height:26px; }
.gradient.home .form.quick-search .field.small { width: 100%; }
.gradient.home .form.quick-search .field.small input[type="text"] { width:100%; }
.gradient.home .form.quick-search .field.small select { width: 100%; padding:7px 4px; }

.gradient.home .highlight-box { min-height: 182px; width: 98%; background:#FFF; border:1px solid #CCC; margin:18px auto 6px; padding:13px; }
.gradient.home .highlight-box + .highlight-box { margin-top: 0; }
.gradient.home .highlight-box h2 { margin:0 0 5px; }
.gradient.home .highlight-box p { margin:0; }
.gradient.home .highlight-box img { float:left; margin-right:18px; }
.gradient.home .highlight-box .btn-a { width:90px; float:left; margin-top:14px; }

@media (min-width: 500px) { 
    .gradient.home .form.quick-search .input-fields .field.small { width: 30%; } 
    .gradient.home .form.quick-search .input-fields .field + .field { margin-left: 3.3%; }
}

@media (min-width: 767px) {
    .gradient.home .highlight-box-frame { display: flex; justify-content: space-evenly; }
    .gradient.home .highlight-box-frame .highlight-box { width: 48%; }
    .gradient.home .highlight-box-frame .highlight-box + .highlight-box { margin-top: 18px; }
}

@media (min-width: 1020px) {
    .gradient.home .form.quick-search h2 {float: left; text-align: left; }
    .gradient.home .form.quick-search .input-fields { width: 43%; }
    .gradient.home .form.quick-search .field.buttons { float: left; margin-left: 20px; }

}

/*PAGE: Property Details */
.property-details-page { position:relative; }
.property-details-page .photos a.main img,
  .property-details-page .photos .thumbs img { -webkit-transition:opacity 200ms linear; -moz-transition:opacity 200ms linear; -o-transition:opacity 200ms linear; }
.property-details-page .photos a.main:hover img,
  .property-details-page .photos .thumbs a:hover img { opacity:0.8; filter:alpha(opacity = 80); }
.property-details-page .photos a.main { display:block; width:428px; padding:2px; border:1px solid #CCC; position:relative; }
.property-details-page .photos a.main img { width:428px; }
.property-details-page .photos a.main .btn-b { position:absolute; top:124px; left:135px; display:none; }
.property-details-page .photos a.main:hover .btn-b { display:block; }
.property-details-page .photos .thumbs { display: flex; flex-wrap: wrap; justify-content: space-around; margin:9px 0 25px; }
.property-details-page .photos .thumbs a { margin-bottom: 1em; width: 48%; position:relative; border:1px solid #CCC; }
.property-details-page .photos .thumbs a img { width: 100%; }
@media (min-width: 600px) {
    .property-details-page .photos .thumbs a { width: 31%; }
}
@media (min-width: 800px) {
    .property-details-page .photos .thumbs a { width: 18%; }
}

.property-details-page .property-specs { }
.property-details-page .photos .thumbs a .magnify { background:url('/images/magnify-icon.png') no-repeat; height:55px; width:55px; display:none; position:absolute; top:21px; left:43px; }
.property-details-page .photos .thumbs a:hover .magnify { display:block; }
.property-details-page .photos .map { padding-top:13px; border-top:1px solid #CCC; }
.property-details-page .photos .map iframe { border:1px solid #CCC; }
.property-details-page #inquire-form { width:448px; max-width: 100%; margin: 40px auto 0; }
.property-details-page .property-specs { display: block; }
.property-details-page .details p { color:#999; }
.property-details-page .details h2.city-name { margin:0; text-align:center; color:#999; text-transform:none; font-size:16px; }
.property-details-page .details h1 + h2.city-name { margin:-15px 0 15px 0; }
.property-details-page .details h3.property-price { font-weight:normal; text-align:center; font-size:14px; color:#999; margin-top:16px; font-style:italic; margin-bottom:-5px; }
.property-details-page .details .property-specs { padding:5px 46px; border-top:1px solid #CCC; border-bottom:1px solid #CCC; color:#333; }
.property-details-page .details .form-box { background:#F2F2F3; border:1px solid #CCC; padding:15px; }
.property-details-page .details .form-box h2 { margin:0 0 15px; font-size:20px; }
.property-details-page .details .special {  }
.property-details-page .details .special h4 { font-weight:bold; color:#5B924B; }
.property-details-page .details .special p {  }
.property-details-page .form .form-row { margin:0 0 5px; clear:both; }
.property-details-page .form .form-row label { display:block; font-weight:normal; float:left; width:65px; text-align:right; margin-right:10px; line-height:28px; font-size:12px; color:#333; }
.property-details-page .form .form-row input[type="text"],
 .property-details-page .form .form-row textarea { border:1px solid #CCC; padding:5px; }
.property-details-page .form .form-row input[type="text"] { width:302px; }
.property-details-page .form .form-row textarea.comments { height:130px; width:329px; }
.property-details-page .form .form-row.dates input[type="text"] { width:120px; margin-right:3px; }
.property-details-page .form .form-row.dates img { vertical-align:middle; }
.property-details-page .admin-edit-link { position:absolute; top:-18px; right:-18px; }

/*PAGE: Search Results */
.search-results-page .sort { font-size: 12px; margin-bottom: 15px; }
@media (min-width: 800px) {
    .search-results-page .sort { float: right; }
}
.search-results-page .breadcrumbs .crumb { font-size:12px; font-style:italic; color:#999; cursor:pointer; float:left; margin:0 4px 0 0; padding:0 0 0 4px; display:block; }
.search-results-page .breadcrumbs .crumb + .crumb { border-left:1px solid #CCC; }
.search-results-page .breadcrumbs .crumb:hover { color:#A31E16; text-decoration:line-through; }
.search-results-page .search-results .property { border:1px solid #DDD; margin-top:17px; }
.search-results-page .search-results .property .header { position: relative; background:#666; padding:3px 8px; font-family:'Palatino Linotype', 'Times News Roman', Sans-Serif; color:#FFF; }
.search-results-page .search-results .property .header .title { font-size:18px; text-decoration:none; color:#FFF; }
.search-results-page .search-results .property .header .price { font-size:14px; line-height:23px; }
@media (min-width: 800px) {
    .search-results-page .search-results .property .header .price { position: absolute; right: 11px; }
}
.search-results-page .search-results .property .info { padding:10px; }
.search-results-page .search-results .property .info img { display:block; width:140px; max-width: 100%; border:1px solid #CCC; padding:1px; }
.search-results-page .search-results .property.special .header { background:#5B924B; }
.search-results-page .search-results .property.special .info p.description { color:#333; margin-top:15px; font-size:12px; }
.search-results-page .search-results .property.special .info p.description .special-label { font-weight:bold; color:#5B924B; }
.search-results-page.refine-search { border-bottom:1px solid #DDD; padding-bottom:15px; margin-bottom:20px; }
.search-results-page.refine-search h2 { margin-bottom:5px; }
.search-results-page.refine-search .refine label { color:#999; font-size:12px; }
.search-results-page.refine-search .refine input[type="text"],
.search-results-page.refine-search .refine .refine-dd { background:#F9F9F9; border:1px solid #CCC; margin-bottom:5px; padding:2px; }
.search-results-page.refine-search .refine .refine-dd { width:47px; }
.search-results-page.refine-search .refine .refine-type-dd { width:156px; margin-left:5px; }
.search-results-page.refine-search .refine .refine-min,
.search-results-page.refine-search .refine .refine-max { float:left; }
.search-results-page.refine-search .refine .refine-min { margin-left:3px; width:84px; }
.search-results-page.refine-search .refine.price input[type="text"] { width:40px; }
.search-results-page.refine-search .refine.cities { margin-bottom:10px; }
.search-results-page.refine-search .refine.cities label { padding:2px 0; display:block; width:auto; }
.search-results-page .no-results { border:1px solid #CCC; margin-top:20px; padding:20px; text-align:center; color:#888; font-style:italic; }

.search-results-page .property-specs a.photo { min-width: 140px; }

.pagination { margin:15px auto; width:auto; }
.pagination .prev-page { width:82px; height:28px; margin-right:10px; float:left; }
.pagination .prev-page a {  }
.pagination .current-page { line-height:26px; width:100%; text-align:center; }
.pagination .next-page { width:82px; height:28px; margin-left:10px; float:right; }
.pagination .next-page a {  }

/*PAGE: Testimonials*/
.testimonials .testimonial { background:url('/images/quote.png') left top no-repeat; padding:0 0 10px 45px; margin-bottom:10px; border-bottom:1px dashed #DDD; }
.testimonials .testimonial p { margin:0; }
.testimonials .testimonial em { display:block; margin:10px 0 0; color:#999; }