/* Static stand-ins for pieces the WordPress theme drew with JavaScript plugins
   (Revolution Slider hero, masonry photo wall, parallax title) plus small-screen fixes. */

html { scroll-behavior: auto; }
body.overflow_hidden, html.overflow_hidden { overflow: hidden; }
.hidden { display: none; }
#reponse_msg ul { list-style: none; margin: 0 0 20px; padding: 0; color: #fff; }
#reponse_msg li { margin: 0 0 6px; }
#mobile_nav_icon { cursor: pointer; }

/* Hero (rev_slider replacement; original grid 1425 x 650) */
.rev_slider.be_hero {
  position: relative;
  display: block !important;
  width: 100%;
  height: 650px;
  background-color: #262626;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  overflow: hidden;
}
.be_hero .tp-caption {
  position: absolute;
  left: 49px;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  color: #fff;
}
.be_hero .be_hero_welcome { top: calc(50% - 133px); transform: translateY(-50%); font-size: 80px; line-height: 80px; font-weight: 400; }
.be_hero .be_hero_title { top: calc(50% - 30px); transform: translateY(-50%); font-size: 100px; line-height: 100px; font-weight: 400; letter-spacing: 1px; }
.be_hero .be_hero_sub { top: calc(50% + 67px); transform: translateY(-50%); font-size: 80px; line-height: 80px; letter-spacing: 1px; }
.be_hero .be_hero_lead { top: calc(50% + 147px); transform: translateY(-50%); font-size: 30px; line-height: 30px; letter-spacing: 1px; }
.be_hero .be_hero_btn {
  top: 526px;
  left: 60px;
  padding: 12px 35px;
  font-family: Roboto, Lato, sans-serif;
  font-size: 17px;
  line-height: 17px;
  font-weight: 500;
  color: #000;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid #000;
  border-radius: 30px;
  text-transform: none;
  letter-spacing: 0;
}
.be_hero .be_hero_btn:hover { background: #fff; }
.be_hero .be_hero_btn a { color: #000; }

/* Gallery */
#gallery.parallax {
  height: 420px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.photo_wall_wrapper.shortcode {
  height: auto !important;
  visibility: visible;
  opacity: 1;
  overflow: hidden;
}
.photo_wall_wrapper .wall_entry { width: 25% !important; box-sizing: border-box; float: left !important; position: relative !important; left: auto !important; top: auto !important; }
.photo_wall_wrapper .wall_thumbnail,
.photo_wall_wrapper .wall_thumbnail a { display: block; }
.photo_wall_wrapper .wall_thumbnail img { display: block; width: 100%; height: auto; }

#map17940256081149124210 iframe { display: block; width: 100%; height: 100%; }

/* Lightbox */
.be_lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.88);
  cursor: zoom-out;
}
.be_lightbox.open { display: flex; }
.be_lightbox img { max-width: 94vw; max-height: 92vh; }

/* Small screens: keep desktop (>=961px) untouched */
@media only screen and (max-width: 960px) {
  img { max-width: 100%; }
  .rev_slider.be_hero { height: 520px; }
  .be_hero .tp-caption { left: 30px; }
  .be_hero .be_hero_welcome { top: calc(50% - 115px); font-size: 56px; line-height: 56px; }
  .be_hero .be_hero_title { top: calc(50% - 40px); font-size: 68px; line-height: 68px; }
  .be_hero .be_hero_sub { top: calc(50% + 30px); font-size: 52px; line-height: 52px; }
  .be_hero .be_hero_lead { top: calc(50% + 100px); font-size: 20px; line-height: 26px; white-space: normal; max-width: calc(100% - 60px); }
  .be_hero .be_hero_btn { top: auto; bottom: 30px; left: 30px; max-width: calc(100% - 60px); white-space: normal; line-height: 22px; }

  .ppb_text .inner > div { width: 94% !important; }
  .ppb_card_two_cols_with_image .parallax_scroll_image,
  .ppb_card_two_cols_with_image .parallax_scroll,
  #findus .parallax_scroll_image,
  #findus .parallax_scroll,
  .one > .parallax_scroll {
    position: static !important;
    float: none !important;
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    transform: none !important;
  }
  .ppb_card_two_cols_with_image .parallax_scroll,
  #findus .parallax_scroll,
  .one > .parallax_scroll { padding: 24px !important; }
  .one > .one .fullwidth_image { height: 320px !important; }
  #findus { padding-left: 0; padding-right: 0; }
  #findus .parallax_scroll_image { height: 320px !important; }
  .photo_wall_wrapper .wall_entry { width: 33.33% !important; }
  .menu_content_classic .post_detail.menu_excerpt { width: calc(100% - 60px); }
  .one_half.gallery2 { width: 100%; }
}

@media only screen and (max-width: 600px) {
  .rev_slider.be_hero { height: 460px; }
  .be_hero .be_hero_welcome { top: calc(50% - 100px); font-size: 40px; line-height: 40px; }
  .be_hero .be_hero_title { top: calc(50% - 50px); font-size: 46px; line-height: 46px; }
  .be_hero .be_hero_sub { top: calc(50% + 4px); font-size: 36px; line-height: 36px; }
  .be_hero .be_hero_lead { top: calc(50% + 70px); font-size: 16px; line-height: 22px; }
  .ppb_menu_multiple .element,
  .ppb_menu_multiple .one_half { width: 100% !important; float: none; }
  .one_half { width: 100% !important; float: none; margin-right: 0; }
  .photo_wall_wrapper .wall_entry { width: 50% !important; }
  #gallery.parallax { height: 260px; }
  .ppb_menu_title { font-size: 24px; }
}
