@charset "UTF-8";
/*
Theme Name: Grizzly Canada
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Boleyn Media
Author URI: https://boleynmedia.com
Description: Base Theme for Boleyn's Elementor-powered sites
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 1.1.2
Updated: 2025-09-02

*/
body {
  margin: 0;
  padding: 0;
  padding-top: 100px;
  overscroll-behavior: none;
}
@media (max-width: 1023px) {
  body {
    padding-top: 100px;
  }
}

html {
  scroll-behavior: smooth;
}

html,
body {
  touch-action: pan-y;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0px 1000px #ffffff inset !important;
}

::-moz-selection {
  background-color: #292929;
  color: white;
}

::selection {
  background-color: #292929;
  color: white;
}

:focus {
  outline: none !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  .elementor-button {
    width: 100%;
  }
}
@media screen and (min-width: 1200px) {
  .container-right-side {
    width: calc(50vw + 600px);
    max-width: 100%;
    transform: translateX(25vw) translateX(-300px);
  }
}
@media (min-width: 768px) {
  .bg-left > .e-con-inner {
    z-index: 1;
  }
  .bg-left > .e-con-inner::after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background-color: #28d344;
    z-index: -1;
  }
  .bg-left-white > .e-con-inner::after {
    background-color: #fff;
  }
}
.gform_wrapper form .gform_fields {
  row-gap: 8px;
  -moz-column-gap: 8px;
       column-gap: 8px;
}
.gform_wrapper form .gfield input,
.gform_wrapper form .gfield textarea {
  background-color: #FEFCF4 !important;
  font-size: 15px !important;
  color: black !important;
  font-family: "Lato" !important;
  font-weight: 300 !important;
  border: none !important;
  padding: 12px !important;
  border-radius: 0px !important;
}
.gform_wrapper form .gfield input::-moz-placeholder, .gform_wrapper form .gfield textarea::-moz-placeholder {
  color: gray !important;
  font-size: 15px !important;
}
.gform_wrapper form .gfield input::placeholder,
.gform_wrapper form .gfield textarea::placeholder {
  color: gray !important;
  font-size: 15px !important;
}
.gform_wrapper form .gfield textarea {
  min-block-size: 1rem !important;
  max-block-size: 200px !important;
}
.gform_wrapper form input[type=submit] {
  background-color: transparent !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
  border: solid 2px #EFC322 !important;
  border-radius: 100px !important;
  font-weight: 500 !important;
  font-family: "Lato" !important;
  font-size: 16px !important;
  line-height: 1.4em !important;
}
.gform_wrapper form input[type=submit]:hover {
  background-color: #EFC322 !important;
  color: #1D1F11 !important;
}
.gform_wrapper #gform_confirmation_message_1 {
  color: #FAEEC0 !important;
  text-align: center !important;
  padding-top: 8% !important;
}
.gform_wrapper .gform_submission_error {
  color: #FAEEC0 !important;
  border: none !important;
}
.gform_wrapper .gform_validation_errors:focus {
  border: solid 1px #FAEEC0 !important;
}
.gform_wrapper .validation_message {
  color: #FAEEC0 !important;
}
#map,
#mapMobile {
  min-height: 800px;
  width: 100%;
}
@media (max-width: 767px) {
  #map,
  #mapMobile {
    min-height: 375px;
  }
}

#hide-header {
  width: 100% !important;
  transition: all 0.4s ease !important;
}
@media (max-width: 1023px) {
  #hide-header .e-n-menu-wrapper {
    min-height: calc(100dvh - 100px);
    margin-top: 28px;
  }
}
@media (max-width: 1023px) {
  #hide-header .e-n-menu-wrapper ul {
    flex-grow: 1;
    align-content: flex-start;
  }
}
#hide-header .e-n-menu-wrapper ul li {
  padding: 0;
}
#hide-header .e-n-menu-wrapper ul li:last-child {
  padding-left: 32px;
  padding-right: 32px;
  margin-left: 16px;
}
@media (max-width: 1023px) {
  #hide-header .e-n-menu-wrapper ul li:last-child {
    display: none;
  }
}
#hide-header .e-n-menu-toggle:focus, #hide-header .e-n-menu-toggle:hover {
  background-color: transparent;
}
@media (max-width: 1365px) {
  #menu-1-baaf9e7 a {
    padding-left: 15px;
    padding-right: 15px;
  }
}
#menu-1-baaf9e7 li:last-child a {
  font-family: "Lato";
  border: 2px solid #EFC322;
  border-radius: 100px;
  padding: 10px 30px 12px 30px;
  margin-left: 20px;
  font-weight: 600;
}
#menu-1-baaf9e7 li:last-child a:hover {
  color: #292929;
  background-color: #EFC322;
}

.elementor-nav-menu--dropdown #menu-2-baaf9e7 {
  min-height: calc(100dvh - 100px);
  display: flex;
  flex-direction: column;
  z-index: 3;
}
.elementor-nav-menu--dropdown #menu-2-baaf9e7 li {
  position: relative;
  margin-left: 20px;
  margin-right: 20px;
}
.elementor-nav-menu--dropdown #menu-2-baaf9e7 li a {
  font-size: 20px !important;
}
.elementor-nav-menu--dropdown #menu-2-baaf9e7 .menu-item-255 {
  width: 90%;
  background-color: #EFC322;
  border-radius: 100px;
  margin-top: auto;
  align-self: center;
  margin-bottom: 20px;
}
.elementor-nav-menu--dropdown #menu-2-baaf9e7 .menu-item-255 a {
  font-family: "Lato";
  justify-content: center !important;
  font-weight: 700;
}

p {
  margin-top: 0;
  margin-bottom: 0 !important;
}

.social-link:hover h2 {
  color: #CFAC26 !important;
  transition: color 0.2s ease, fill 0.2s ease;
}
.social-link:hover .elementor-icon,
.social-link:hover .elementor-icon svg,
.social-link:hover .elementor-icon path {
  color: #CFAC26 !important;
  fill: #CFAC26 !important;
  transition: color 0.2s ease, fill 0.2s ease;
}

.elementor-widget-testimonial-carousel .swiper-slide {
  padding: 0 !important;
}
.elementor-widget-testimonial-carousel .elementor-main-swiper {
  margin: 0 !important;
}
.elementor-widget-testimonial-carousel .swiper-pagination {
  text-align: left !important;
}

.review-image {
  aspect-ratio: 5/4 !important;
  width: 100%;
  overflow: hidden;
}
@media (max-width: 1023px) {
  .review-image {
    aspect-ratio: 5/6 !important;
    max-height: 600px;
  }
}

.review-image .elementor-widget,
.review-image .elementor-widget-container {
  height: 100% !important;
}

.review-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.wysiwyg .elementor-widget-container p {
  color: #2E321E !important;
  font-size: 16px !important;
  line-height: 1.4em;
  font-weight: 400;
}
.wysiwyg .elementor-widget-container h2 {
  color: #636B40 !important;
  font-family: "roca" !important;
  font-weight: 300 !important;
  margin-bottom: 0px;
  padding-bottom: 8px;
  font-size: 40px !important;
}
.wysiwyg .elementor-widget-container h3 {
  color: #636B40 !important;
  font-family: "roca";
  font-weight: 300;
  margin-bottom: 0px;
  padding-bottom: 8px;
}
.wysiwyg .elementor-widget-container h4 {
  color: #636B40 !important;
  font-family: "roca";
  font-weight: 300;
  margin-bottom: 0px;
  padding-bottom: 8px;
  font-size: 30px;
}
.wysiwyg .elementor-widget-container ul {
  margin-top: 0px;
  color: #2E321E !important;
  font-size: 16px !important;
}
.wysiwyg .elementor-widget-container li {
  font-weight: 400;
}
.wysiwyg .elementor-widget-container strong {
  color: black !important;
}

.wysiwyg-dark .elementor-widget-container p {
  color: #D3D6C7 !important;
  font-size: 16px !important;
  line-height: 1.4em;
  font-weight: 400;
}
.wysiwyg-dark .elementor-widget-container h3 {
  color: #EFC322 !important;
  font-family: "roca";
  font-weight: 400;
  margin-bottom: 0px;
  padding-bottom: 8px;
}
.wysiwyg-dark .elementor-widget-container h4 {
  color: #EFC322 !important;
  font-family: "roca";
  font-weight: 400;
  margin-bottom: 0px;
  padding-bottom: 8px;
  font-size: 30px;
}
.wysiwyg-dark .elementor-widget-container ul {
  margin-top: 0px;
  font-size: 16px !important;
  line-height: 1.4em;
  color: #D3D6C7 !important;
}
.wysiwyg-dark .elementor-widget-container li {
  padding-top: 8px;
  font-weight: 400;
}
.wysiwyg-dark .elementor-widget-container strong {
  color: white !important;
}

/* 1) Make the row stretch so both sides match the TEXT height */
.image-media .e-con-inner {
  align-items: stretch !important;
}

/* 2) Make the image widget behave like a full-height column */
.image-media .elementor-widget-image {
  height: auto !important;
  /* do NOT let it set the row height */
  align-self: stretch !important;
}

/* 3) Turn the widget container into a clipping box that matches the row height */
.image-media .elementor-widget-image .elementor-widget-container {
  height: 100% !important;
  /* match the stretched row height */
  overflow: hidden !important;
  /* prevents image from increasing row height */
  position: relative !important;
}

/* 4) Make the image fill that box (crop instead of pushing height) */
.image-media .elementor-widget-image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover !important;
     object-fit: cover !important;
  display: block !important;
}

.top-shape {
  clip-path: polygon(0% 8px, 2% 11px, 2.5% 16px, 5% 11px, 7.5% 11px, 10% 8px, 12% 12px, 13% 7px, 18% 1px, 20.5% 0px, 23% 5px, 25% 10px, 29.5% 3px, 30.5% 5px, 31% 7px, 33.5% 8px, 36.5% 12px, 39% 20px, 41% 15px, 43.5% 7px, 44.5% 11px, 45.5% 12px, 49.5% 9px, 50% 3px, 52% 11px, 52.5% 16px, 55% 11px, 57.5% 11px, 60% 8px, 62% 12px, 63% 7px, 68% 1px, 70.5% 0px, 73% 5px, 75% 10px, 79.5% 3px, 80.5% 5px, 81% 7px, 83.5% 8px, 86.5% 12px, 89% 20px, 91% 15px, 93.5% 7px, 94.5% 11px, 95.5% 12px, 99.5% 9px, 100% 3px, 100% 100%, 0% 100%);
  margin-top: -60px;
  xpadding-top: 150px;
}

.tg-faq .tg-faq-item {
  border-bottom: 1px solid #494F2F;
}
.tg-faq .tg-faq-item:last-child {
  border-bottom: none;
}
.tg-faq .tg-faq-item summary.tg-faq-q {
  list-style: none;
  cursor: pointer;
  padding: 16px 40px 16px 0;
  color: #FEFCF4;
  position: relative;
  font-size: 22px;
  font-family: "Lato";
  font-weight: 300;
}
.tg-faq .tg-faq-item summary.tg-faq-q::-webkit-details-marker {
  display: none;
}
.tg-faq .tg-faq-item summary.tg-faq-q::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 19px;
  height: 19px;
  transform: translateY(-50%);
  background: url("data:image/svg+xml,%3Csvg width='19' height='19' viewBox='0 0 19 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.9705 9.48529H9.48528M9.48528 9.48529H1M9.48528 9.48529V1.00001M9.48528 9.48529V17.9706' stroke='%23EFC322' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
}
.tg-faq .tg-faq-item[open] summary.tg-faq-q::after {
  background: url("data:image/svg+xml,%3Csvg width='19' height='2' viewBox='0 0 19 2' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.9705 1H9.48528H1' stroke='%23EFC322' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
}
.tg-faq .tg-faq-item .tg-faq-a {
  padding: 0 26px 16px 0;
  color: #D3D6C7;
  font-size: 16px;
  max-width: 800px;
}

.tg-journey-items {
  -moz-column-count: 2;
       column-count: 2;
  -moz-column-gap: 80px;
       column-gap: 80px;
}
@media (max-width: 1365px) {
  .tg-journey-items {
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
@media (max-width: 767px) {
  .tg-journey-items {
    -moz-column-count: 1;
         column-count: 1;
  }
}
.tg-journey-items .tg-journey-item {
  display: flex;
  gap: 24px;
  margin-bottom: 48px;
}
@media (max-width: 767px) {
  .tg-journey-items .tg-journey-item {
    flex-direction: column;
    align-items: center;
  }
}
.tg-journey-items .tg-journey-item__icon {
  flex-shrink: 0;
  max-width: 80px;
  height: auto;
}
.tg-journey-items .tg-journey-item__heading {
  margin: 0 0 0px;
  color: #636B40;
  font-family: "roca";
  font-size: 20px;
  font-weight: 300;
}
@media (max-width: 767px) {
  .tg-journey-items .tg-journey-item__heading {
    text-align: center;
    padding-bottom: 6px;
  }
}
.tg-journey-items .tg-journey-item__content {
  color: #2E321E;
  font-size: 16px;
  font-family: "lato";
  font-weight: 400;
}
@media (max-width: 767px) {
  .tg-journey-items .tg-journey-item__content {
    text-align: center;
  }
}

.bear-gallery .e-gallery-item {
  padding: 8px !important;
}

.elementor-lightbox .elementor-lightbox-image {
  min-width: 40% !important;
  height: auto;
}

/* The wrapper stays at 595px, and clips overflow */
.h595 {
  height: 595px !important;
  /* guarantees a stable box */
  max-height: 595px !important;
  overflow: hidden !important;
  position: relative;
  /* helps absolute children behave */
}

/* Make the map fill the wrapper */
.h595 #map {
  height: 100% !important;
  width: 100% !important;
  min-height: 0 !important;
}

/* Google Maps internal elements sometimes need this too */
.h595 #map > div,
.h595 #map .gm-style,
.h595 #map iframe {
  height: 100% !important;
  width: 100% !important;
}

@media (max-width: 767px) {
  .accommodation h1.elementor-heading-title {
    font-size: 48px !important;
  }
}
.team-member-position {
  display: block;
  line-height: 1.1;
  color: #FEFCF4;
  text-transform: uppercase;
  font-size: 16px;
  font-family: "Lato";
  letter-spacing: 0.1em;
  font-weight: 500;
}

.team-accordion details.e-n-accordion-item {
  position: relative;
  overflow: hidden;
}

/* Scroll inside the opened accordion panel */
.team-accordion details.e-n-accordion-item[open] > div[role=region] {
  max-height: 220px;
  /* set your desired visible height */
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

.team-accordion details.e-n-accordion-item::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 400px;
  /* set to your closed-card height */
  background-image: url("https://grizzlycanada.boleyn.dev/wp-content/uploads/2025/12/Tide-Rip-Topography-copy.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  opacity: 0.1;
  pointer-events: none;
  z-index: 0;
  transition: none !important;
}

/* Elementor Nested Accordion: remove borders via variables */
.team-accordion {
  --_n-accordion-border-width: 0px !important;
  --_n-accordion-border-style: none !important;
  --_n-accordion-border-color: transparent !important;
}

/* Safety: force border off on the title element too */
.team-accordion .e-n-accordion-item-title {
  border: 0 !important;
}

/* Nested Accordion: kill border on the region container itself */
.team-accordion details.e-n-accordion-item[open] > div[role=region].e-con.e-child {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Make the SUMMARY be the single painted header background */
.team-accordion .e-n-accordion-item > summary.e-n-accordion-item-title {
  transition: background-color 0.2s ease;
}

/* Stop the inner header wrapper from painting its own bg (the “instant square”) */
.team-accordion .e-n-accordion-item > summary .e-n-accordion-item-title-header,
.team-accordion .e-n-accordion-item > summary .e-n-accordion-item-title-text {
  background: transparent !important;
}

/* Hover anywhere on the item = header + content background */
.team-accordion .e-n-accordion-item:hover > summary.e-n-accordion-item-title {
  background-color: #2E321E !important;
}

.team-accordion .e-n-accordion-item > .e-child {
  transition: background-color 0.2s ease;
}

.team-accordion .e-n-accordion-item:hover > .e-child {
  background-color: #2E321E !important;
}

.loop-activities .elementor-loop-container > .e-loop-item:nth-child(odd) .loop-activity-item {
  --flex-direction: row-reverse;
}/*# sourceMappingURL=style.css.map */