/* filter styles */
.filter {
  font-weight: 700;
  margin: 0 auto;
  text-align: center;
  text-transform: uppercase;
  position: relative;
}

.filter ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.filter ul li {
  display: block;
  border-top: 1px solid #f38a00;
  padding: 1em;
  text-align: left;
}

.filter ul li a {
  color: #fff;
  display: block;
}

.filter-label {
  color: #f38a00;
  cursor: pointer;
}

.filter-label .indicator {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.5em;
  width: 0;
  height: 0;
  border-left: 0.5em solid transparent;
  border-right: 0.5em  solid transparent;
  border-top: 0.5em solid #f38a00;
}

.filter-list {
  display: none;
  position: absolute;
  top: 39px;
  right: -20px;
  left: -20px;
  background-color: #000;
}

.filter.open .filter-list {
  display: block;
}

@media (min-width: 1024px) {
  .filter .filter-label,
  .filter.open .filter-label {
    padding-bottom: 0;
    margin-right: 1.5em;
    cursor: auto;
  }
  .filter .filter-label .indicator,
  .filter.open .filter-label .indicator {
    display: none;
  }
  .filter .filter-label,
  .filter .filter-list,
  .filter.open .filter-label,
  .filter.open .filter-list {
    display: inline-block;
    vertical-align: middle;
  }
  .filter .filter-list,
  .filter.open .filter-list {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
  }
  .filter ul li,
  .filter.open ul li {
    display: inline-block;
    border-top: 0 none;
    padding: 0;
    vertical-align: middle;
    text-align: center;
  }
  .filter ul li:after,
  .filter.open ul li:after {
    content: "|";
    padding: 0 1em 0 1.5em;
    display: inline;
    color: #f38a00;
  }
  .filter ul li:last-child:after,
  .filter.open ul li:last-child:after {
    content: "";
    padding: 0;
  }
  .filter ul li a,
  .filter.open ul li a {
    display: inline-block;
  }
}

.back-to-galleries, .case-study-link {
  font-weight: 700;
  text-transform: uppercase;
  margin: 0;
  text-align: center;
  display: block;
}

.fancybox-skin .fancybox-title-float-wrap {
  left: 0;
  right: 0;
  text-align: left;
}

.fancybox-skin .fancybox-title-float-wrap .child {
  margin-right: 0;
  white-space: normal;
  color: #f38a00;
  background-color: transparent;
  text-transform: none;
  font-weight: normal;
  text-shadow: none;
}

.fancybox-skin .fancybox-prev span {
  left: 7px;
}

.galleries-copy {
  margin-bottom: 40px;
  text-align: center;
}

.galleries-copy p {
  margin: 0;
}

@media (min-width: 480px) {
  .back-to-galleries, .case-study-link {
    display: inline-block;
    width: 50%;
    text-align: left;
  }
  .case-study-link {
    text-align: right;
  }
}

.freemarker:has(.gallery) {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 1px;
}

.gallery {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  position: relative;
  cursor: pointer;
  line-height: 0;
  margin-bottom: 5px;
  max-height: 450px;
  overflow: hidden;
}

.gallery .image {
  width: 100%;
  height: auto;
}

.gallery .title {
  text-align: center;
  background-color: #fff;
  color: #f38a00;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  text-transform: uppercase;
  font-weight: 700;
  padding: 8px 10px;
  display: block;
  z-index: 1;
  line-height: 1.5em;
}

@media (min-width: 480px) {
  .gallery {
    float: left;
    height: 30vw;
    width: calc(49.5% - 1px);
    margin-right: 1%;
  }
  .gallery:nth-child(2n) {
    margin-right: 0;
  }
}

@media (min-width: 1024px) {
  .gallery {
    width: calc(25% - 1px);
    justify-content: center;
    height: 18.5vw;
    margin-right: 0;
    margin-bottom: 0;
  }
  .gallery .title {
    display: block;
  }
  .gallery:after {
    background-color: transparent;
  }
  .gallery .image {
    width: 110%;
  }
  /*
  // Disabled Gallery Pre-hover styles
  .gallery .title {
    display: none;
  }
  .gallery.overlay:after {
    content: "";
  }
  .gallery:after {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
  }
  */
  .gallery.landscape-gallery .image {
    height: 100%;
    width: auto;
  }
  .gallery.portrait-gallery .image {
    width: 100%;
    height: auto;
  }
}

@media (min-width: 1280px) {
  .gallery {
    height: 290px;
  }
  .gallery .image {
    height: auto;
    width: auto;
  }
}
/* HORIZONTAL / HORIZ. PERSISTENT CSS --------------- */
ul.menubeanh,
ul.menubeanh-persistent {
  list-style: none;
  position: relative;
  overflow: visible;
}
ul.menubeanh,
ul.menubeanh ul,
ul.menubeanh-persistent,
ul.menubeanh-persistent ul {
  padding: 0;
  margin: 0;
  list-style: none;
  /* background-color: #fff;  IE Requires a background color. */
}
ul.menubeanh li,
ul.menubeanh-persistent li {
  float: left;
  position: relative;
  list-style: none;
  /*
  	width: 8em;
	overflow: visible;
	*/
}
ul.menubeanh li ul,
ul.menubeanh-persistent li ul {
  display: none;
  position: absolute;
  top: 1.2em; /* IE */
  left: 0; /* IE */ /* background-color: #fff;  IE Requires a background color. */
}
ul.menubeanh > li > ul,
ul.menubeanh-persistent > li > ul {
  top: auto; /* Non-IE */
  left: auto; /* Non-IE */
}
/* (sub-)submenus */
ul.menubeanh ul,
ul.menubeanh ul ul,
ul.menubeanh ul ul ul,
ul.menubeanh-persistent ul,
ul.menubeanh-persistent ul ul,
ul.menubeanh-persistent ul ul ul {
  position: absolute;
  top: 0;
  left: 95%;
}
/* Interactive lines: show/hide menus */
ul.menubeanh li.over ul ul,
ul.menubeanh li.over ul ul ul,
ul.menubeanh-persistent li.over ul ul,
ul.menubeanh-persistent li.over ul ul ul {
  display: none;
}
ul.menubeanh li.over ul,
ul.menubeanh ul li.over ul,
ul.menubeanh ul ul li.over ul,
ul.menubeanh-persistent li.over ul,
ul.menubeanh-persistent ul li.over ul,
ul.menubeanh-persistent ul ul li.over ul {
  display: block;
}

/* VERTICAL CSS --------------- */
ul.menubeanv,
ul.menubeanv-persistent,
ul.menubeanv ul,
ul.menubeanv-persistent, ul {
  /* background-color: #fff;  IE requires a background color. */
}
ul.menubeanv li,
ul.menubeanv-persistent li {
  position: relative;
  /* background-color: #fff;  IE requires a background color. */
}
ul.menubeanv li ul {
  display: none;
  position: absolute;
  top: 2px; /* IE */
  left: 6em; /* IE */ 
  /* background-color: #fff;  IE requires a background color. */
}
ul.menubeanv li:hover ul,
ul.menubeanv li.over ul {
  display: block;
}

ul.menubeanv-persistent li.mi-parent {
  cursor: pointer;
}
ul.menubeanv-persistent li ul {
  display: none;
}
ul.menubeanv-persistent li.over ul {
  display: block;
}
