/* LIBS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

/**
  * Bulletproof Images Pro
  *
  * builds on the usefulness of bulletproof images to include responsive
  * positioning of captions, that can expand without breaking the overflow
  */

.bpp {
  position: relative;
  display: flex;
}
.bpp.bpp-center-h {
  justify-content: center;
}
.bpp.bpp-center-v {
  align-items: center;
}

.bpp.bpp-bottom {
  align-items: flex-end;
}

.bpp.bpp-left {
  justify-content: flex-start;
}

.bpp::before {
  content: "";
  width: 1px;
  margin-left: -1px;
  float: left;
  height: 0;
  padding-top: 100%;
}
.bpp::after {
  /* to clear float */
  content: "";
  display: table;
  clear: both;
}

.bpp video:not(.no-bpp),
.bpp img:not(.no-bpp) {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  object-fit: cover;
}

.bpp.bpp-contain video,
.bpp.bpp-contain img {
  object-fit: contain;
}

.bpp .bpp-content {
  position: relative;
  width: 100%;
}

.bpp.img-22::before {
  padding-top: 22%;
}

.bpp.img-50:before {
  padding-top: 50%;
}

.bpp.img-57:before {
  padding-top: 57%;
}

.bpp.img-68:before {
  padding-top: 68%;
}

.bpp.img-75:before {
  padding-top: 75%;
}

.bpp.img-125::before {
  padding-top: 125%;
}

.bpp.img-128::before {
  padding-top: 128%;
}

.bpp.img-133::before {
  padding-top: 133.33333%;
}

.bpp.img-150::before {
  padding-top: 150%;
}


@media (min-width: 768px) {
  .bpp.bpp-md-center-h {
    justify-content: center;
  }
  .bpp.bpp-md-center-v {
    align-items: center;
  }

  .bpp.bpp-md-bottom {
    align-items: flex-end;
  }

  .bpp.bpp-md-left {
    justify-content: flex-start;
  }

  .bpp.img-md-22::before {
    padding-top: 22%;
  }

  .bpp.img-md-50::before {
    padding-top: 50%;
  }

  .bpp.img-md-57:before {
    padding-top: 57%;
  }
}

/* WP ADMIN BAR
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

html.js {
  margin-top: 0 !important;
}
#wpadminbar {
  background: #000 !important;
  transform: translate(0, -20px);
  transition: all 0.2s ease;
  opacity: 0.5;
  position: absolute !important;
}
#wpadminbar > * {
  opacity: 0;
}
#wpadminbar:hover {
  transform: translate(0, 0);
  opacity: 1;
}
#wpadminbar:hover > * {
  opacity: 1;
}
@media (max-width: 991px) {



  #wpadminbar {
    display: none !important;
  }
}
#wp-admin-bar-new_draft,
#wp-admin-bar-customize {
  display: none !important;
}

.frm_primary_label span {display: block; margin-top: 15px; margin-bottom: 15px;}
.frm_primary_label span a {text-decoration: underline;}
.frm_primary_label .frm_required {display: none !important;}
.frm_checkbox label {line-height: 11px;}

.frm_fields_container .frm_submit{text-align: center;
    margin-top: 3em;}

.frm_forms .frm_error_style, .frm_error {color: red}
.frm_message p {color: rgb(131, 185, 47);
font-weight: bold;
font-size: 22px;
text-align: center;}

/* HEADER */

.dropdown-menu a {
  padding: 0 !important;
	margin: 0 !important;
}




/* HERO */

.section-hero {
  padding-top: 0;
  padding-bottom: 0;
}

.section-hero .bpp {
  /*height: calc(100vh - 72px - 3vw);*/
  height: calc(70vh - 3vw);
}

/* @media (min-width: 768px) {
  .section-hero .bpp {
    height: calc(100vh - 72px - 3vw);
  }
} */

@media (min-width: 992px) {
  .section-hero .bpp {
    height: calc(100vh - 80px - 3vw);
  }
  .rightfloat {float: right;}
}

@media (min-width: 1200px) {
  .section-hero .bpp {
    height: calc(100vh - 80px - 5vw);
  }
}

@media (min-width: 1601px) {
  .section-hero .bpp {
    height: calc(100vh - 80px - 4vw);
  }
}

.hero-logo {
  padding-bottom: 11%;
}


/* PARALLAX */

.charallax {
  position: relative;
}

.charallax .bg-wrap {
  clip: rect(0, auto, auto, 0);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.charallax .bg-wrap img,
.charallax .bg-wrap video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.charallax .bg-wrap .bg-wrap-inner {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


.section-parallax .charallax {
  /*height: 300px;*/
  height: 610px;
  max-height: calc(100vh - 72px);
}
@media (min-width: 576px) {
  .section-parallax .charallax {
    /*height: 500px;*/
  }
}
@media (min-width: 768px) {
  .section-parallax .charallax {
    height: 650px;
  }
}
@media (min-width: 992px) {
  .section-parallax .charallax {
    height: 800px;
    max-height: calc(100vh - 80px);
  }
}

@media (min-width: 1600px) {
  .section-parallax .charallax {
    height: 900px;
  }
}


/* AVAILABILITY CALENDAR */
.section-availability div.owac-calendar-container {
  padding: 15px 25px 15px 25px !important
}


/*@media (min-width: 1600px) {
  .section-availability div.owac-calendar-container {
    padding: 18rem 25px 12rem 25px !important
  }
}*/

@media (max-width: 767px) {
  .section-availability .charallax .bg-wrap .bg-wrap-inner {
    transform: none !important;
    /*top: 0 !important;*/
    position: relative;
  }
}


[class^="soft-crop-"] {
  position: relative;
}

[class^="soft-crop-"] > img {
  object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.soft-crop-140 {
  padding-bottom: 140%;
}

.soft-crop-75 {
  padding-bottom: 75%;
}




/* BLANK TEMPLATE - LEGAl STUFF */

#blank h1 {
  font-size: 3rem;
  border-bottom: 1px solid grey;
}

#blank h2 {
  font-size: 2.5rem;
  font-weight: 500;
}

#blank h3 {
  font-size: 2rem;
}

#blank h5 {
  font-size: 1.3rem;
  font-weight: 500;
}


/* ELEMENT 02 */

@media (max-width: 991px) {
  .element-02 .overlappy-1 {
    right: auto;
    z-index: 1;
  }
  .element-02 .overlappy-2 {
    margin-left: auto;
  }
}





/* WOW JS - better init */
.js .wow {
  visibility: hidden;
}




/* SCROLL DOWN */
#scroll-down-animation {
  position: absolute;
  bottom: 0.5rem;
  left: 0;
  width: 100%;
  text-align: center;
  z-index: 10;
}

.mouse {
  margin: 0 auto;
  display: block;
  border-radius: 50px;
  border: 2px solid #fff;
  height: 3.5rem;
  width: 2rem;
  position: relative;
}

.move {
  position: absolute;
  background-color: #fff;
  height: 5px;
  width: 5px;
  border-radius: 50%;
  left: 50%;
  transform: translateX(-50%);
  animation: move 2s linear infinite;
}

@keyframes move {
  0% {
    transform: translate(-50%, 0rem);
    opacity: 0;
  }
  50% {
    transform: translate(-50%, 1rem);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, 2.5rem);
    opacity: 0;
  }
}




/* AVAILABILTY CALENDAR */
.owaccatdec.check-in:not(.check-out),
.owaccatdec.check-out:not(.check-in) {
  background-color: transparent !important;
  text-shadow: 1px 1px 1px #0000006b;
  z-index: 1;
}

.owaccatdec.check-in:before,
.owaccatdec.check-out:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 25px;
  height: 25px;
  background-color: #bf3b3b;
  border-radius: 50%;
  z-index: -1;
}

.owaccatdec.check-in:before {
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
}

.owaccatdec.check-out:before {
  clip-path: polygon(0 0, 0% 100%, 100% 0);
}








/* INSTAGRAM NAV */

.nav-header-container .social-nav {
  margin-right: auto;
  right: 0.9375rem;
  position: relative;
}

@media (min-width: 992px) {
  .nav-header-container {
    position: relative;
  }

  .nav-header-container .social-nav {
    position: absolute;
    z-index: 1;
  }
}
