/*
 Theme Name:   Fairview Holiday Cottage
 Theme URI:    https://skyline-internet.com/skylinestarter
 Description:  A Starter Theme for Skyline WordPress Sites, Child theme of Customify
 Author:       Skyline Internet
 Author URI:   https://www.skyline-internet.com
 Template:     customify
 Version:      1.0.0
 Text Domain:  attherow
*/

:root {
  --fonth: "STIX Two Text", serif;
  --fonth_weight: 400;
  --fontp: "Nunito Sans", sans-serif;
  --fontp_weight: 300;
  --white: #fff;
  --black: #2a2a2a;
  --grey: #525a5c;
  --green: #d1d7ca;
  --blue: #116278;
  --light-grey: #f8f8f8;

  --border-radius: 0px;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--fontp) !important;
  font-weight: var(--fontp_weight) !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--fonth) !important;
  text-transform: none !important;
  font-weight: var(--fonth_weight) !important;
  letter-spacing: 0.5px;
}

/* Header */

.header--row:not(.header--transparent)
  .builder-item--primary-menu
  .nav-menu-desktop
  .primary-menu-ul
  > li.current-menu-item
  > a {
  font-weight: 600;
}

/* Facilities */

#facilities ul {
  list-style: none;
  columns: 4;
  margin: 3em 0 0 0 !important;
  padding: 0 0 !important;
}

#facilities.columns-2 ul {
  columns: 2;
}

#facilities li {
  margin-bottom: 1em;
}

#facilities li::before {
  content: "";
  display: inline-block;
  height: 16px;
  width: 16px;
  background-size: contain;
  background-image: url("https://development.skyline-internet.com/fairviewcottage/wp-content/uploads/2023/09/facilities-icon.png");
  margin-right: 0.5em;
}

.so-widget-sow-hero
  .sow-slider-base
  ul.sow-slider-images
  .sow-slider-image-wrapper
  h1 {
  font-size: 38px !important;
}

/* Homepage */

.home .so-widget-sow-image {
  position: relative;
}

.home .sow-slider-image-wrapper,
.banner-row .sow-slider-image-wrapper {
  display: flex;
  justify-content: flex-end !important;
  background: linear-gradient(
    20deg,
    rgba(34, 34, 34, 1) 0%,
    rgba(9, 9, 121, 0) 39%
  );
}

.home .sow-slider-image-container .caption,
.banner-row .sow-slider-image-container .caption {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  color: #fff;
  padding-left: 3rem;
  padding-right: 3rem;
  opacity: 0;
  transform: translateY(2rem);
  animation: fadeInUp 0.5s;
  animation-fill-mode: forwards;
  z-index: 10;
  position: relative;
}

.home .sow-slider-image.cycle-slide-active .caption {
  animation: fadeInUp 0.5s;
  animation-fill-mode: forwards;
}

@keyframes fadeInUp {
  from {
    transform: translateY(2rem);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fadeDownOut {
  from {
    transform: translateY(0);
    opacity: 1;
  }

  to {
    transform: translateY(2rem);
    opacity: 0;
  }
}

.home .sow-slider-image-container .caption .sow-hero-buttons,
.sow-slider-image-container .caption .sow-hero-buttons {
  margin-top: 10px !important;
}

.home .so-widget-sow-image h3.widget-title {
  position: absolute;
  bottom: 5%;
  width: fit-content;
  background-color: var(--light-grey);
  padding: 0.25em 0.75em;
  color: var(--blue);
  transition: all 0.3s;
}

.home .so-widget-sow-image h3.widget-title > a {
  color: var(--blue);
}

.home .so-widget-sow-image .sow-image-container {
  overflow: hidden;
}

.home .so-widget-sow-image img {
  transition: all 0.3s;
}

.home .so-widget-sow-image:hover img {
  transform: scale(1.075);
}

.home .so-widget-sow-image:hover h3.widget-title {
  padding-right: 1.25em !important;
}

/* Testimonials */

.wpmtst-testimonial-inner {
  text-align: center !important;
  padding: 1.5em !important;
  font-style: italic;
}

.testimonial-content p:before {
  content: '"';
  font-weight: 700;
  margin-right: 0.5em;
  color: var(--blue);
  display: none !important;
}

.testimonial-content p:after {
  content: '"';
  font-weight: 700;
  display: none !important;
  margin-left: 0.5em;
  color: var(--blue);
}

.home .strong-view.wpmtst-simple .wpmtst-testimonial-inner {
  border: none !important;
}

.testimonial-field {
  font-weight: 600;
  font-style: normal;
  line-height: normal;
  margin-bottom: 0 !important;
}

/* Footer */

.footer-main .widget-area .widget_nav_menu li a {
  border: none;
  padding-bottom: 0 !important;
}

.footer-main .widget-area .widget_nav_menu li a:before {
  content: "- ";
}

/* Footer Bottom */

.footer-copyright {
  font-size: 1em !important;
}

/* Contact Page */
.contact-info-features .textwidget h3 {
  margin: 0 !important;
}

.contact-info-features .sow-features-feature {
  gap: 5px;
}

.owners-features .sow-features-feature {
  width: unset !important;
}

.owners-features .sow-features-feature .sow-icon-container {
  display: none !important;
}

/* Availability Contact Form */
.availability-form .col-3,
.availability-form .col-2 {
  display: flex;
  gap: 10px;
}

.availability-form .col-3 p {
  width: 33%;
}

.availability-form .col-2 p {
  width: 50%;
}

.availability-form input[type="submit"] {
  background-color: var(--blue) !important;
  font-family: var(--fonth) !important;
  color: #fff !important;
  text-transform: unset !important;
  font-size: 18px;
}

.availability-form input {
  box-shadow: none !important;
}

.calendar-keys-container .calendar-key-item {
  display: flex;
}

.calendar-keys-container .calendar-key-item span {
  margin-right: 0.5em;
}

.calendar-keys-container .calendar-key {
  width: 20px;
  height: 20px;
  display: block;
}

.calendar-keys-container .calendar-key.available {
  background-color: #d1d7ca;
}

.calendar-keys-container .calendar-key.blocked {
  background-image: repeating-linear-gradient(
    135deg,
    transparent,
    #ff9191 2px,
    transparent 2px,
    transparent 4px
  ) !important;
}

#availabilityCalendar {
  display: none;
}

/* Gallery Styling */

.property-gallery .sow-masonry-grid-item {
  transition: opacity 0.3s;
}

.property-gallery .sow-masonry-grid-item:hover {
  opacity: 0.85;
  cursor: pointer;
  transition: opacity 0.3s;
}

dialog figure img {
  max-width: 100%;
  max-height: 85dvh;
}

dialog#propertyGallery {
  position: fixed !important;
}

body:has(dialog[open]) {
  overflow: hidden;
}

.gallery_list_control {
  display: none !important;
}

dialog#propertyGallery {
  background-color: transparent;
  border: none;
  max-width: 95vw;
  position: relative;
}
dialog#propertyGallery .close {
  text-shadow: 2px 2px 4px black;
  background-color: transparent;
  position: absolute;
  right: 1rem;
  top: 2rem;
  font-size: 2rem;
}

dialog#propertyGallery:focus-visible {
  outline: none;
}

dialog#propertyGallery figcaption {
  color: #fff;
  text-align: center;
  display: none;
  font-style: italic;
}

dialog#propertyGallery .nav {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  left: 50%;
  display: flex;
  justify-content: space-between;
  font-size: 1.2rem;
}

dialog#propertyGallery .nav button {
  transition: all 0.3s;
  box-shadow: var(--shadow);
}

::backdrop {
  opacity: 0.85;
  background-color: #222;
}

body.page-id-398 .sow-masonry-grid-item,
.property-gallery .gallery-item {
  transition: all 0.3s;
}

body.page-id-398 .sow-masonry-grid-item:hover,
.property-gallery .gallery-item:hover {
  cursor: pointer;
  opacity: 0.75;
}

.sow-accordion .sow-accordion-panel .sow-accordion-panel-header:focus,
.sow-accordion
  .sow-accordion-panel
  .sow-accordion-panel-content
  .sow-accordion-panel-border {
  outline: none !important;
}

form .wpcf7-form-control.wpcf7-submit {
  background: #116278 !important;
  color: #fff !important;
  border: 1px solid #116278 !important;
  font-size: 1em !important;
  padding: 1em 2em !important;
  text-transform: capitalize !important;
  line-height: 1em !important;
  font-family: "Nunito Sans", sans-serif !important;
}

form .wpcf7-form-control.wpcf7-submit:hover {
  background: #5c6567 !important;
  border-color: #5c6567 !important;
}

form input,
form textarea {
  font-family: "Nunito Sans", sans-serif;
}

body.home .col-v2-right .item--inner.builder-item--button {
  display: none !important;
}

.what-three-words .sow-headline-container p {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

@media only screen and (max-width: 1256px) and (min-width: 1025px) {
  .builder-item--primary-menu .nav-menu-desktop .primary-menu-ul > li > a {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .header-main .col-v2.col-v2-right .item--inner.builder-item--button a {
    font-size: 14px;
  }
}

@media only screen and (max-width: 1024px) {
  .item--inner.builder-item--search_icon {
    display: none !important;
  }
}

@media (max-width: 884px) {
  #facilities ul {
    margin-top: 1rem;
    columns: 2;
  }

  #facilities ul li {
    margin-left: 1rem;
  }

  .builder-footer-html-item.item-footer--html {
    text-align: center;
  }

  .item--button.customify-btn.customify-builder-btn {
    display: flex;
    align-items: center;
    gap: 0.2rem;
  }

  .calendar-keys-container {
    margin-top: 1rem;
  }

  .availability-form .col-3 {
    flex-direction: column;
  }

  .availability-form .col-3 p {
    width: 100%;
  }

  .home .sow-slider-image-container .caption,
  .banner-row .sow-slider-image-container .caption {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
  .ipad-portrait-collapse {
    flex-direction: column !important;
  }

  .ipad-portrait-collapse > .panel-grid-cell {
    width: 100% !important;
  }
}

footer .textwidget p {
  word-break: break-all;
}

.cky-accordion-btn:hover {
  box-shadow: none;
  background-color: transparent;
}

button.cky-btn-revisit img {
  display: none;
}

button.cky-btn-revisit:after {
  content: "Manage Cookies";
  color: #fff;
  text-transform: none;
  font-size: 0.95rem;
  font-family: var(--fontp);
}

.cky-btn-revisit-wrapper.cky-revisit-bottom-left {
  bottom: 0;
  left: 1rem;
  width: auto;
  height: auto;
  border-radius: 5px 5px 0 0;
  padding: 0.5rem;
}

button.cky-btn-revisit {
  padding: 0.25rem 0.65rem !important;
  text-transform: none !important;
  min-height: unset !important;
  line-height: normal !important;
}
