/* accommodation - Grid Module */
.cms-accommodations-grid-wrap { margin: 3.125rem 0; }
.cms-accommodations-grid-wrap [class^=col] { display: flex; margin-bottom: 1.875rem; }
.cms-accommodations-grid-wrap .card { overflow: hidden; width: 100%; position: relative; border: none; border-radius: var(--borderRadius); box-shadow: var(--dropShadow); }
.cms-accommodations-grid-wrap .card:hover { box-shadow: var(--dropShadow), var(--dropShadow); background-color: hsl(var(--black)); }
.cms-accommodations-grid-wrap .card-link { overflow: hidden; display: block; background: hsl(var(--black)); }
.cms-accommodations-grid-wrap .card-img-top { opacity: 0.85; width: 100%; height: 15.625rem; object-fit: cover; transform: scale(1); transition: all ease-in-out 0.4s; }
.cms-accommodations-grid-wrap .card:hover .card-img-top { opacity: 1; transform: scale(1.2); }
.cms-accommodations-grid-wrap .card-body { display: flex; flex-direction: inherit; justify-content: space-between; padding: 1rem 1.25rem; background-color: hsl(var(--white)); }
.cms-accommodations-grid-wrap .card-text { margin: 0; }
.cms-accommodations-grid-wrap .card-title, .cms-accommodations-grid-wrap .card-sub-title { font-weight: var(--wMedium); }
.cms-accommodations-grid-wrap .card-description { margin: 0; }
.cms-accommodations-grid-wrap .btn { display: block; margin-top: 0.9375rem; background-color: hsl(var(--siteColor1)); border-radius: var(--borderRadiusPill); color: hsl(var(--white)); font-weight: var(--wRegular); transition: all ease-in-out 0.4s; }
.cms-accommodations-grid-wrap .btn:hover { background-color: hsl(var(--siteColor2)); }

/* accommodation - Sort Form */
.cms-accommodations-sort-wrap { padding: 1rem; background: hsl(0, 0%, 97%);  box-shadow: 0px 8px 49px 0px hsla(var(--black), 0.11); margin: 0 -15px; }
.accommodations-sort-form { display: flex; flex-wrap: wrap; justify-content: center; }
.accommodations-sort-form [class^=col] { width: 100%; flex-basis: 100%; }
.accommodations-sort-form .title { margin: 0 0 1rem; text-align: center; }
.accommodations-sort-form .select-wrap { width: 100%; max-width: 18rem; margin: auto; border: 0.0625rem solid hsl(var(--lightGray)); }
@media(min-width:768px){
  .accommodations-sort-form [class^=col] { width: 50%; flex-basis: 50%; }
  .accommodations-sort-form .title { margin: 0.75rem 0 0; text-align: right; }
  .accommodations-sort-form .select-wrap { margin: 0; }
}

/* accommodation - Grid Module - Listing */
.accommodations .i-content > .container { max-width: 100%; }
.accommodations .i-content { background: url(/images/layout/accommodations-background.jpg) repeat-y center top; background-size: cover; }
.accommodations h1 { text-align: center; }
.accommodations .content-builder-wrap { max-width: 1200px; margin: 0 auto 1.875rem; }
.cms-accommodations-list-wrap { margin: 3.125rem 0; }
.cms-accommodations-list-wrap .cms-accommodations-row { margin-bottom: 3rem; }
.cms-accommodations-list-wrap [class^=col] { display: flex; align-items: flex-start; }
.cms-accommodations-list-wrap .cms-accommodations-row .col-left { flex-direction: column; align-items: center; }
.cms-accommodations-list-wrap .col-xs-12 { padding: 0px; }
.cms-accommodations-list-wrap .card-img-wrap { overflow: hidden; width: 100%; height: 100%; position: relative; border-radius: 0px; box-shadow: var(--dropShadow); }
.cms-accommodations-list-wrap .card-img-link { display: block; position: relative; /*padding-bottom: 100%;*/ min-height: 300px; height: 100%;  border-radius: 0px; transition: all 0.4s ease-in-out; }
.cms-accommodations-list-wrap .card-img-left { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; z-index: 1; border-radius: 0px; transform: scale(1); transition: all 0.4s ease-in-out; }
.cms-accommodations-list-wrap .card-img-link:hover .card-img-left { transform: scale(1.2); }
.cms-accommodations-list-wrap .card { width: 100%; justify-content: center; border: none; background-color: hsl(0, 0%, 97%);  }
.cms-accommodations-list-wrap .cms-accommodations-row:nth-child(odd) .card { background-color: hsl(var(--siteColor1)); }
.cms-accommodations-list-wrap .cms-accommodations-row:nth-child(odd) .card .h3,
.cms-accommodations-list-wrap .cms-accommodations-row:nth-child(odd) .card .h5,
.cms-accommodations-list-wrap .cms-accommodations-row:nth-child(odd) .card .card-body,
.cms-accommodations-list-wrap .cms-accommodations-row:nth-child(odd) .card a { color: hsl(var(--white)) !important; }
.cms-accommodations-list-wrap .card-body { width: 100%; flex-grow: 0; }
.cms-accommodations-list-wrap .card-body .h5 { font-family: var(--siteFont); font-size: 0.875rem; font-weight: 700; text-transform: capitalize; }
.cms-accommodations-list-wrap .card-title,
.cms-accommodations-list-wrap .card-sub-title { font-weight: var(--wMedium); }
.cms-accommodations-list-wrap .card-description { margin: 0; }
.cms-accommodations-list-wrap .btn.book-now { display: block; margin-top: 0.9375rem; background-color: hsl(var(--siteColor2)); border-radius: var(--borderRadiusPill); color: hsl(var(--white)); font-weight: var(--wRegular); transition: all ease-in-out 0.4s; }
.cms-accommodations-list-wrap .btn.book-now:hover { background-color: hsl(var(--siteColor5)); }
.cms-accommodations-list-wrap .btn-group { position: absolute; bottom: 1rem; padding: 0 1rem; z-index: 1; }
.cms-accommodations-list-wrap .btn-group .btn { background-color: hsl(var(--white)); color: hsl(var(--siteColor2)); font-size: 0.875rem; line-height: unset; }
.cms-accommodations-list-wrap .btn-group .btn:hover { box-shadow: var(--focusShadowLight); }
.cms-accommodations-list-wrap .btn-group .btn span { display: none; }
@media(max-width:767px) {
  .cms-accommodations-list-wrap .btn-group { flex-wrap: nowrap; }
  .cms-accommodations-list-wrap .btn-group .btn { padding: 15px; }
}
@media(min-width:768px) {
  .cms-accommodations-list-wrap .cms-accommodations-row:nth-child(odd) .col-left { order: 2; }
  .cms-accommodations-list-wrap .cms-accommodations-row:nth-child(odd) .col-right { order: 1; }
  .cms-accommodations-list-wrap .card-body { padding: 3rem; }
  .cms-accommodations-list-wrap .btn-group { bottom: 2rem; }
  .cms-accommodations-list-wrap .btn-group .btn span { display: inline; }
  .cms-accommodations-list-wrap .card-img-link { min-height: 33rem; }
}
@media(min-width:992px) {
  .cms-accommodations-list-wrap .card-body { padding: 5rem; }
  .cms-accommodations-list-wrap .col-lg-7 { flex: 0 0 54%; max-width: 54%; }
  .cms-accommodations-list-wrap .col-lg-5 { flex: 0 0 46%; max-width: 46%; }
  .cms-accommodations-list-wrap .card-img-link { min-height: 37.5rem; }
}

/* accommodation - Detail page */
.cms-accommodations-detail-wrap { margin: 3.125rem 0; }
.cms-accommodations-detail-wrap .card-img-wrap { overflow: hidden; width: 100%; max-width: 18.75rem; min-height: 18.75rem; margin: 0 auto 0.9375rem; padding-bottom: 65%; position: relative; border-radius: var(--borderRadius); box-shadow: var(--dropShadow); }
.cms-accommodations-detail-wrap .card-img-wrap:before { content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1; background-image: linear-gradient(-45deg, hsla(0, 0%, 100%, 90%), hsla(0, 0%, 100%, 15%) 50%, hsla(0, 0%, 100%, 0) 60%); box-shadow: inset 0 0 0 0.0625rem hsla(0, 0%, 100%, 20%); border-radius: var(--borderRadius); }
.cms-accommodations-detail-wrap .card-img-left { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; }
.cms-accommodations-detail-wrap .card { width: 100%; justify-content: center; border: none; }
.cms-accommodations-detail-wrap .card-body { width: 100%; flex-grow: 0; }
.cms-accommodations-detail-wrap .card-title, .cms-accommodations-detail-wrap .card-sub-title { font-weight: var(--wMedium); }
.cms-accommodations-detail-wrap .card-list { list-style: circle; padding-left: 1.25rem; }
@media(min-width:578px){
  .cms-accommodations-detail-wrap .card-img-wrap { max-width: 100%; min-height: 0; padding-bottom: 100%; }
}