.PageLayout {
    border: 1px solid #A9C7CE;
    background-color: #FFF;
    width: 752px;
    padding: 8px;
    text-align: left
    }
.PageHeader {
    background-color: #FFF;
    padding: 8px;
    border-bottom: 1px solid #000;
    min-height: 188px
    }
.InfoArea {
    padding: 16px;
    border: 1px solid #A9C7CE;
    margin-bottom: 8px
    }
.HeaderGrid {
    height: 188px
    }
.HeaderTitleCell {
    vertical-align: middle
    }
#imgHeaderImage {
    width: 346px;
    height: 108px;
    background-color: #ffffff;
    background-image: url(../Images/logoFamilyFratLogo.gif);
    background-repeat: no-repeat;
    background-position: 0 0
    }
.HeaderTitle {
    margin: 0 12px 0 12px;
    font-family: "Times New Roman";
    font-size: 32pt;
    line-height: 1.3;
    color: #000000
    }
.ContentArea {
    margin: 8px;
    font-family: Times, "Times New Roman", serif;
    font-size: 16px;
    line-height: 1.5;
    color: #000000;
    overflow-wrap: anywhere
    }
.ArticleHero {
    position: relative;
    height: 340px;
    margin: 0 0 8px;
    overflow: hidden;
    background-color: #003366
    }
.ArticleHeroImage {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: cover
    }
.ArticleHeroCaption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 56px 16px 16px;
    background-image: linear-gradient(rgba(0, 51, 102, 0), rgba(0, 51, 102, 0.9))
    }
.ArticleTitleBlock {
    margin: 0 0 8px;
    padding: 8px 0 12px;
    border-bottom: 1px solid #A9C7CE
    }
.ArticleTitle {
    margin: 0;
    font-family: "Times New Roman", Times, serif;
    font-size: 36px;
    font-weight: 400;
    line-height: 1.2;
    color: #003366
    }
.ArticleHeroCaption .ArticleTitle {
    color: #ffffff
    }
.ArticleSubtitle {
    margin: 8px 0 0;
    font-size: 18px;
    font-style: italic;
    line-height: 1.5;
    color: #000000
    }
.ArticleHeroCaption .ArticleSubtitle {
    color: #ffffff
    }
.ArticleGrid {
    width: 100%;
    border-collapse: collapse
    }
.ArticleMain {
    width: 540px;
    padding: 0;
    vertical-align: top
    }
.ArticleAside {
    width: 188px;
    padding: 0 0 0 8px;
    vertical-align: top
    }
.ArticleWide {
    padding: 0
    }
.AsideBox {
    position: sticky;
    top: 8px;
    padding: 12px;
    background-color: #ffffff;
    border: 1px solid #A9C7CE
    }
.AsideStats {
    margin: 0 0 8px;
    padding: 0 0 8px;
    list-style: none;
    border-bottom: 1px dotted #91897A;
    font-family: arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 1.4;
    color: #1b325f
    }
.AsideStat {
    margin: 0 0 4px
    }
.AsideIcon {
    vertical-align: -2px;
    color: #003366
    }
.ArticleContents {
    font-family: arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 1.4
    }
.ContentsSummary {
    min-height: 24px;
    cursor: pointer;
    color: #003366
    }
.ContentsLabel {
    font-weight: 700
    }
.ContentsTime {
    display: block;
    color: #1b325f
    }
.ContentsList {
    margin: 8px 0 0;
    padding: 0 0 0 16px;
    list-style: disc
    }
.ContentsItem {
    margin: 0 0 6px
    }
.ContentsLink,
.ContentsHotel {
    display: inline-block;
    min-height: 24px;
    color: #003366
    }
.ContentsLink:hover,
.ContentsHotel:hover {
    color: #3c89c8;
    text-decoration: none
    }
.ContentsHotels {
    margin: 2px 0 0;
    padding: 0 0 0 14px;
    list-style: disc
    }
.ArticlePart {
    border-radius: 5px
    }
.PartTitle {
    margin: 0 0 12px;
    font-family: arial, Helvetica, sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #003366
    }
.PartSubTitle {
    margin: 16px 0 10px;
    padding: 0 0 4px;
    border-bottom: 1px solid #A9C7CE;
    font-family: "Times New Roman", Times, serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    color: #003366
    }
.PartDeepTitle {
    margin: 14px 0 8px;
    font-family: "Times New Roman", Times, serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    color: #003366
    }
.SubPart {
    margin: 8px 0 0
    }
.PartText {
    max-width: 30em;
    font-size: 16px;
    line-height: 1.5
    }
.PartText a,
.HotelText a {
    color: #003366;
    font-size: inherit
    }
.PartText a:hover,
.HotelText a:hover {
    color: #3c89c8;
    text-decoration: none
    }
.ArticlePart > .PartText:first-of-type > p:first-child {
    font-size: 17px;
    font-weight: 500;
    color: #003366
    }
.PartGallery {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
    margin: 12px 0 0
    }
.PartFigure {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin: 0
    }
.PartFigure:only-child {
    grid-column: span 2
    }
.PartImage {
    display: block;
    flex: 1 1 60%;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 6px
    }
.PartCaption {
    flex: 0 1 40%;
    font-family: arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 1.4;
    color: #1b325f
    }
.HotelList {
    margin: 12px 0 0
    }
.HotelItem {
    display: block;
    margin: 0 0 12px;
    padding: 16px;
    background-color: #BBDCED;
    color: #000000
    }
.HotelItemAlt {
    background-color: #ffffff;
    border: 1px solid #A9C7CE
    }
.HotelHead {
    display: block;
    margin: 0 0 12px;
    cursor: pointer;
    list-style: none
    }
.HotelHead::-webkit-details-marker {
    display: none
    }
.HotelPill {
    display: inline-block;
    margin: 0 0 8px;
    padding: 2px 10px;
    border-radius: 12px;
    background-color: #003366;
    font-family: arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    color: #ffffff
    }
.HotelName {
    display: block;
    margin: 0;
    font-family: "Times New Roman", Times, serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
    color: #003366
    }
.HotelPhotos {
    float: right;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 4px;
    width: 220px;
    margin: 0 0 8px 16px
    }
.HotelPhotoZoom {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    cursor: zoom-in
    }
.HotelPhotoZoom:only-child {
    grid-column: span 2
    }
.HotelPhoto {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto
    }
.HotelInfo {
    overflow: hidden
    }
.HotelStars,
.HotelWhere,
.HotelFeatures {
    margin: 0 0 8px;
    font-family: arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 1.4;
    color: #003366
    }
.HotelIcon {
    vertical-align: -2px
    }
.HotelTimes {
    margin: 0 0 8px;
    padding: 0;
    list-style: none;
    font-family: arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 1.4;
    color: #1b325f
    }
.HotelTime {
    margin: 0 0 2px
    }
.HotelText {
    max-width: 30em;
    font-size: 16px;
    line-height: 1.5
    }
.HotelFoot {
    clear: both;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    margin: 12px 0 0;
    padding: 12px 0 0;
    border-top: 1px dotted #91897A
    }
.HotelScore {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 8px;
    margin: 0;
    font-family: arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 1.4;
    color: #1b325f
    }
.HotelBar {
    display: inline-block;
    width: 80px;
    height: 8px;
    background-color: #ffffff;
    border: 1px solid #A9C7CE
    }
.HotelBarFill {
    display: block;
    height: 100%;
    background-color: #003366
    }
.HotelVotes {
    color: #1b325f
    }
.HotelScoreValue {
    font-size: 15px;
    color: #003366
    }
.HotelPrice {
    margin: 0 0 0 auto;
    padding: 4px 10px;
    background-color: #003366;
    font-family: arial, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    color: #ffffff
    }
.HotelActions {
    display: flex;
    gap: 8px;
    margin: 0
    }
.HotelMapButton,
.HotelDetails {
    min-width: 32px;
    min-height: 32px;
    padding: 4px 12px;
    border: 1px solid #003366;
    border-radius: 0;
    background-color: #003366;
    font-family: arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.4;
    color: #ffffff;
    cursor: pointer
    }
.HotelMapButton {
    padding: 4px 8px;
    background-color: #ffffff;
    color: #003366
    }
.HotelMapButton:hover,
.HotelDetails:hover {
    background-color: #3c89c8;
    border-color: #3c89c8;
    color: #ffffff
    }
.HotelArrow {
    font-size: 16px
    }
.HelpfulBox {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    margin: 8px 0;
    padding: 12px 0;
    border-top: 1px dotted #91897A;
    border-bottom: 1px dotted #91897A
    }
.HelpfulAsk {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    color: #003366
    }
.HelpfulControls {
    display: flex;
    gap: 8px;
    margin: 0
    }
.HelpfulVote,
.HelpfulShare {
    min-width: 32px;
    min-height: 32px;
    padding: 4px 8px;
    border: 1px solid #A9C7CE;
    border-radius: 0;
    background-color: #ffffff;
    font-family: arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.4;
    color: #003366;
    cursor: pointer
    }
.HelpfulVote[aria-pressed="true"] {
    background-color: #003366;
    color: #ffffff
    }
.HelpfulIcon {
    vertical-align: -3px
    }
.MoreList {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
    margin: 8px 0
    }
.MoreItem {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 8px;
    border: 1px solid #A9C7CE;
    color: #003366;
    text-decoration: none
    }
.MoreItemLead {
    grid-column: span 2;
    gap: 16px;
    padding: 12px
    }
.MoreThumb {
    display: block;
    flex: 0 0 80px;
    width: 80px;
    max-width: 100%;
    height: auto
    }
.MoreThumbLead {
    flex: 0 0 220px;
    width: 220px
    }
.MoreText {
    min-width: 0
    }
.MoreTitle {
    display: block;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: underline
    }
.MoreItem:hover .MoreTitle {
    color: #3c89c8;
    text-decoration: none
    }
.MoreItemLead .MoreTitle {
    font-size: 20px
    }
.MoreIntro {
    display: block;
    margin: 6px 0 0;
    font-size: 15px;
    line-height: 1.5;
    color: #000000
    }
.FaqBox {
    margin: 16px 0 8px
    }
.FaqTitle,
.CompareTitle,
.MapTitle {
    margin: 0 0 8px;
    padding: 0 0 4px;
    border-bottom: 1px solid #000;
    font-family: "Times New Roman", Times, serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.3;
    color: #003366
    }
.FaqList {
    margin: 0
    }
.FaqQuestion {
    margin: 12px 0 4px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
    color: #003366
    }
.FaqAnswer {
    margin: 0;
    font-size: 16px;
    line-height: 1.5
    }
.CompareBox {
    margin: 16px 0 8px
    }
.CompareRows {
    font-size: 15px;
    line-height: 1.4
    }
.CompareRow {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    gap: 4px;
    margin: 0 0 4px
    }
.CompareHead {
    padding: 0 4px 4px;
    font-weight: 700;
    color: #003366
    }
.CompareCell {
    padding: 4px 8px;
    background-color: #BBDCED;
    color: #003366
    }
.CompareRowAlt .CompareCell {
    background-color: #FFF
    }
.CompareName {
    font-weight: 700
    }
.CompareKey {
    display: none
    }
.MapBox {
    margin: 16px 0 8px
    }
.MapCanvas {
    display: none
    }
.MapCanvasLive {
    display: block;
    height: 240px;
    margin: 0 0 8px;
    border: 1px solid #A9C7CE
    }
.MapLegend {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 16px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-family: arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 1.4;
    color: #1b325f
    }
.MapLegendItem {
    margin: 0
    }
.MapLegendNo {
    display: inline-block;
    min-width: 18px;
    padding: 0 4px;
    background-color: #003366;
    color: #ffffff;
    text-align: center;
    font-weight: 700
    }
.MapLegendName {
    color: #003366
    }
.MapLegendPrice {
    color: #1b325f
    }
.MapPin {
    width: 14px;
    height: 14px;
    border: 2px solid #ffffff;
    border-radius: 50%;
    background-color: #003366;
    box-shadow: 0 0 0 1px #003366
    }
@media (max-width: 785px) {
    .PageLayout {
        box-sizing: border-box;
        width: auto;
        max-width: 100%;
        padding: 8px 7px
        }
    .PageHeader {
        min-height: 0
        }
    .HeaderGrid {
        width: 100%;
        height: auto
        }
    #imgHeaderImage {
        width: 100%;
        max-width: 346px;
        height: auto;
        aspect-ratio: 346 / 108;
        background-size: contain
        }
    .HeaderTitle {
        margin: 8px 0 0;
        font-size: 28px
        }
    .ContentArea {
        margin: 8px 0
        }
    .ArticleHero {
        height: 260px
        }
    .ArticleTitle {
        font-size: clamp(24px, 7vw, 36px)
        }
    .ArticleSubtitle {
        font-size: 16px
        }
    .ArticleGrid,
    .ArticleGrid > tbody,
    .ArticleGrid > tbody > tr,
    .ArticleMain,
    .ArticleAside,
    .ArticleWide {
        display: block;
        width: auto
        }
    .ArticleAside {
        padding: 0
        }
    .AsideBox {
        position: static;
        margin: 0 0 8px
        }
    .PartText,
    .HotelText {
        max-width: none
        }
    .PartGallery {
        grid-template-columns: minmax(0, 1fr)
        }
    .PartFigure:only-child {
        grid-column: auto
        }
    .HotelItem {
        position: relative;
        padding: 12px 12px 12px calc(38% + 12px)
        }
    .HotelPhotos {
        position: absolute;
        top: 12px;
        left: 12px;
        float: none;
        width: 34%;
        margin: 0
        }
    .HotelPrice {
        margin: 0
        }
    .MoreItem {
        flex-direction: column
        }
    .MoreItemLead {
        flex-direction: row
        }
    .MoreThumb {
        flex: 0 0 auto;
        width: 100%;
        max-width: 150px
        }
    .MoreThumbLead {
        flex: 0 0 40%;
        width: 40%
        }
    .CompareRow {
        grid-auto-flow: row;
        grid-auto-columns: auto;
        margin: 0 0 8px
        }
    .CompareHeadRow {
        display: none
        }
    .CompareKey {
        display: block;
        font-family: arial, Helvetica, sans-serif;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.4;
        color: #1b325f
        }
    }
:where(.PartText, .HotelText) img {
    max-width: 100%;
    height: auto
    }
