/**
 * Maintains aspect ratio
 * Grabbed from: https://css-tricks.com/snippets/sass/maintain-aspect-ratio-mixin
 * @param  {[type]} $width  [description]
 * @param  {[type]} $height [description]
 * @return {[type]}         [description]
 */
.profile-grid #filters-wrapper {
  z-index: 100;
  position: relative;
  margin: 0 40px 32px; }

.profile-grid #sort-count-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center; }

.profile-grid #results-count-wrapper,
.profile-grid #sort-wrapper {
  display: block;
  margin: 10px 0;
  font-size: 14px;
  font-family: gastromond, sans-serif; }
  @media screen and (max-width: 960px) {
    .profile-grid #results-count-wrapper,
    .profile-grid #sort-wrapper {
      margin-top: 1em; } }

.profile-grid #sort-wrapper {
  text-align: right; }
  .profile-grid #sort-wrapper label,
  .profile-grid #sort-wrapper select {
    display: inline;
    width: auto;
    font-size: 14px;
    margin-bottom: 0; }
  .profile-grid #sort-wrapper label {
    color: #1B5266;
    margin-right: 1em; }

.profile-grid .view-content.sidebar {
  display: grid;
  grid-template-columns: minmax(33%, 350px) 1fr; }
  @media (max-width: 1000px) {
    .profile-grid .view-content.sidebar {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      justify-content: flex-start; } }
  .profile-grid .view-content.sidebar .grid-cards {
    width: 100%;
    width: 100%;
    grid-template-columns: repeat(3, minmax(min-content, 1fr)); }
    @media (max-width: 1330px) {
      .profile-grid .view-content.sidebar .grid-cards {
        grid-template-columns: repeat(2, minmax(min-content, 1fr)); } }
    @media (max-width: 1000px) {
      .profile-grid .view-content.sidebar .grid-cards {
        grid-template-columns: repeat(2, minmax(min-content, 1fr)); } }
    @media (max-width: 660px) {
      .profile-grid .view-content.sidebar .grid-cards {
        grid-template-columns: 1fr; } }
  .profile-grid .view-content.sidebar .accordion .accordion-header {
    background: #1B5266;
    padding: 10px;
    color: white;
    font-family: gastromond, sans-serif;
    justify-content: space-between; }
  .profile-grid .view-content.sidebar .accordion .icon-chevron-down-outline:before {
    content: '+'; }
  .profile-grid .view-content.sidebar .accordion.opened .icon-chevron-down-outline {
    transform: none; }
  .profile-grid .view-content.sidebar .accordion.opened .icon-chevron-down-outline:before {
    content: '-'; }
  .profile-grid .view-content.sidebar .accordion .accordion-content {
    padding: 10px; }
  .profile-grid .view-content.sidebar #filters-wrapper.filters {
    font-size: 16px;
    margin: 0 0 32px; }
    @media (min-width: 1001px) {
      .profile-grid .view-content.sidebar #filters-wrapper.filters {
        margin: 0 40px 32px 0;
        padding: 120px 0 0; } }
    .profile-grid .view-content.sidebar #filters-wrapper.filters input[type='checkbox'],
    .profile-grid .view-content.sidebar #filters-wrapper.filters input[type='radio'],
    .profile-grid .view-content.sidebar #filters-wrapper.filters input[type='checkbox']#edit-delete,
    .profile-grid .view-content.sidebar #filters-wrapper.filters .checkbox {
      flex-shrink: 0;
      border-radius: 50%; }
    .profile-grid .view-content.sidebar #filters-wrapper.filters .icon-plus,
    .profile-grid .view-content.sidebar #filters-wrapper.filters .icon-minus {
      color: #F9AE2E; }
  .profile-grid .view-content.sidebar .search-wrapper label {
    font-family: gastromond, sans-serif;
    color: #1B5266;
    width: 100%;
    margin-bottom: 5px; }
  .profile-grid .view-content.sidebar .search-wrapper input {
    flex: 1;
    border-top: none;
    border-right: none;
    border-left: none;
    padding-left: 0; }
  .profile-grid .view-content.sidebar .search-wrapper .icon-search-outline {
    display: inline-block;
    flex-shrink: 0;
    height: 26px;
    font-size: 20px;
    margin-bottom: 20px; }
  .profile-grid .view-content.sidebar .compare-helptext {
    display: flex;
    align-items: center; }
    .profile-grid .view-content.sidebar .compare-helptext .lightbox-button {
      flex-shrink: 0; }

.profile-grid .lightbox-button {
  padding: 6px 14px 10px;
  background-image: none;
  transition: background-color 300ms ease-out; }
  .profile-grid .lightbox-button:disabled {
    background-color: #767676; }
    .profile-grid .lightbox-button:disabled:hover, .profile-grid .lightbox-button:disabled:focus, .profile-grid .lightbox-button:disabled:active {
      background-color: #767676; }
  .profile-grid .lightbox-button:hover, .profile-grid .lightbox-button:focus, .profile-grid .lightbox-button:active {
    background-color: #237fa0; }

.profile-grid .floating-compare-button {
  position: fixed;
  top: calc(50% - 75px);
  right: 0;
  z-index: 1200;
  transition: padding 800ms ease, opacity 800ms ease;
  opacity: 0; }
  .profile-grid .floating-compare-button.visible {
    opacity: 1; }
  .profile-grid .floating-compare-button button {
    line-height: 1.1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-left: 5px;
    padding-right: 5px; }
    .profile-grid .floating-compare-button button [class^='icon-']::before,
    .profile-grid .floating-compare-button button [class*=' icon-']::before {
      font-size: 26px;
      line-height: 1;
      margin: 10px 0 0; }

.inline-form-label {
  display: inline;
  text-transform: lowercase;
  font-weight: bold;
  color: #237fa0;
  overflow: visible; }
  .inline-form-label::after {
    content: '\e81b';
    display: inline-block;
    position: relative;
    top: 0;
    font-family: 'vspc';
    line-height: 1.25;
    margin-left: 0.25em;
    width: 1em;
    height: 1em;
    color: #C25100;
    transform: rotate(90deg);
    transition: transform 300ms ease-out, top 100ms ease-out; }
  .inline-form-label::before {
    content: '';
    display: block;
    width: 100%;
    height: 3px;
    bottom: -2px;
    left: 0;
    position: absolute;
    background-image: linear-gradient(to right, #E6711E 65%, transparent 65%), linear-gradient(to right, #E6711E 65%, transparent 65%);
    background-position: 0 87.5%, 0 87.5%;
    background-repeat: repeat-x;
    background-size: 18px calc(0.027em + 1px);
    transition: all 250ms ease-in, background-position 250ms ease-in; }
    .inline-form-label::before:hover, .inline-form-label::before:focus, .inline-form-label::before:active {
      text-decoration: none !important;
      background-position: 9px 87.5%, 18px 87.5%; }
    .inline-form-label::before.unstyle {
      background-image: none !important; }
  .inline-form-label:hover::after, .inline-form-label:active::after, .inline-form-label:focus::after {
    top: 3px; }
  .inline-form-label:hover::before, .inline-form-label:active::before, .inline-form-label:focus::before {
    text-decoration: none !important;
    background-position: 9px 87.5%, 18px 87.5%; }

.inline-form-checkboxes {
  display: none;
  width: 300px;
  height: 0;
  overflow: hidden;
  transition: 300ms opacity ease-in-out;
  transition-delay: 10ms;
  top: 100%;
  box-shadow: 4px 4px 6px 0 rgba(0, 0, 0, 0.15);
  background: white; }
  .inline-form-checkboxes > ul {
    margin: 10px;
    max-height: 190px;
    overflow: auto; }
    .inline-form-checkboxes > ul li {
      margin: 0; }
      .inline-form-checkboxes > ul li.hidden {
        display: none; }
  .inline-form-checkboxes input {
    flex-shrink: 0;
    flex-grow: 0; }
  @media screen and (max-width: 960px) {
    .inline-form-checkboxes {
      width: 200px; } }

.inline-form {
  display: inline-block;
  position: relative;
  text-align: left;
  z-index: 2; }
  .inline-form.open {
    z-index: 3; }
    .inline-form.open .inline-form-label:after {
      transform: rotate(270deg); }
    .inline-form.open .inline-form-checkboxes {
      display: block;
      height: auto;
      opacity: 1; }
  .inline-form.dates li {
    text-align: left; }

.lightbox-body .comparison-table caption {
  padding-top: 20px; }

.lightbox-body .comparison-table .abs-center {
  max-width: 86%;
  display: block;
  height: auto;
  max-height: calc(100vh - 150px);
  overflow: auto; }

.lightbox-body .comparison-table .cell.photo {
  display: none; }
  @media (min-width: 760px) {
    .lightbox-body .comparison-table .cell.photo {
      display: block; } }
  .lightbox-body .comparison-table .cell.photo img {
    max-width: 150px;
    max-height: 113px;
    -o-object-fit: cover;
       object-fit: cover; }

.lightbox-body .comparison-table .cell.info {
  flex: 1;
  padding: 10px; }

.lightbox-body .comparison-table .tripadvisor {
  margin-top: 5px; }
  .lightbox-body .comparison-table .tripadvisor img {
    transform: translateX(-8px); }

.lightbox-body .comparison-table table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0; }
  .lightbox-body .comparison-table table thead th,
  .lightbox-body .comparison-table table thead td {
    text-align: center;
    vertical-align: bottom;
    font-weight: 700; }
  .lightbox-body .comparison-table table tbody th,
  .lightbox-body .comparison-table table tbody td {
    vertical-align: middle; }
    .lightbox-body .comparison-table table tbody th:not(:first-child),
    .lightbox-body .comparison-table table tbody td:not(:first-child) {
      text-align: center;
      vertical-align: top; }
  .lightbox-body .comparison-table table thead,
  .lightbox-body .comparison-table table tbody tr {
    width: 100%; }
