.flyfree-page-section .container {
    max-width: 1500px;
}
.footer-image {
    border-radius: 20px;
}
.footer-logo {
    max-width: 916px;
    margin-left: auto;
    margin-right: auto;
}
.footer-logo-container {
    border-top: 1px solid #F4F4F4;
    border-bottom: 1px solid #F4F4F4;
    padding: 80px 0;
}
.product-links-container {
    border-bottom: 1px solid #F4F4F4;
    padding-bottom: 80px;
}
@media (min-width: 960px) {
    .footer-logo-container {
        padding: 110px 0;
    }
    .product-links-container {
        padding-bottom: 110px;
    }
}
.product-links-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
}
.product-link-title {
    margin-top: 16px;
}

.product-links-grid .product-link-title {
    margin-top: -20%;
    position: relative;
    z-index: 1;
}

@media (min-width: 960px) {
    .product-link-title {
        margin-top: 24px;
    }
    .product-links-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 16px;
    }

    .product-links-grid .product-link img {
        transition: transform 0.3s ease-in-out;
    }

    .product-links-grid .product-link:hover img {
        transform: scale(1.05);
    }

}

:root {
    --animation-fade-in: fadeIn 0.6s ease-out forwards;
	--animation-slide-in: slideIn 0.6s ease-out forwards;
}

/* Page Scroll Trigger Animations */

.scroll-trigger.animate--fade-in,
  .scroll-trigger.animate--slide-in {
    opacity: 0.01;
  }

  .scroll-trigger.animate--slide-in {
    transform: translateY(2rem);
  }

  .scroll-trigger:not(.scroll-trigger--offscreen).animate--fade-in {
    opacity: 1;
    animation: var(--animation-fade-in);
    /* animation-delay: calc(var(--animation-order) * 75ms); */
  }

  .scroll-trigger:not(.scroll-trigger--offscreen).animate--slide-in {
    animation: var(--animation-slide-in);
    animation-delay: calc(var(--animation-order) * 75ms);
  }

  .scroll-trigger.scroll-trigger--design-mode.animate--fade-in,
  .scroll-trigger.scroll-trigger--design-mode.animate--slide-in,
  .scroll-trigger.scroll-trigger--design-mode .slider,
  .scroll-trigger:not(.scroll-trigger--offscreen).scroll-trigger--cancel {
    opacity: 1;
    animation: none;
    transition: none;
    transform: none;
  }

  .scroll-trigger.scroll-trigger--design-mode.animate--slide-in {
    transform: translateY(0);
  }

  @keyframes slideIn {
    from {
      transform: translateY(2rem);
      opacity: 0.01;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  @keyframes fadeIn {
    from {
      opacity: 0.01;
    }
    to {
      opacity: 1;
    }
  }

.italic {
    font-style: italic;
}

.flyfree-landing-section .container {
    max-width: 1500px;
}

.flyfree-landing-section .section-content p {
    max-width: 600px;
}

.flyfree-landing-section .lifestyle-images {
    display: flex;
    flex-direction: column;
    gap: 35px;
}

.lifestyleImage,
.extra-image {
    border-radius: 20px;
    overflow: hidden;
}

.flyfree-landing-section {
    margin: 40px 0;
}

.carousel-cell {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 12px;
    overflow: hidden;
    margin-right: 10px;
}

.carousel-images .flickity-viewport {
    border-radius: 12px;
}

.feature-content {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.feature-content.active {
    display: block;
    opacity: 1;
}


/* Flickity dots customization */
.flickity-page-dots {
    bottom: -40px;
}

.flickity-page-dots .dot {
    width: 9px;
    height: 9px;
    background: #4e4e4e;
    opacity: 1;
    border-radius: 5px;
    margin: 0 6px;
    transition: background 0.3s ease, width 0.3s ease;
}

.flickity-page-dots .dot.is-selected {
    background: #000;
    width: 20px;
}

.flyfree-landing-section .section-title {
    line-height: 0.8;
}

@media (min-width: 960px) {

    .flyfree-landing-section {
        margin: 180px 0;
    }

    .flyfree-landing-section .section-title {
        font-size: 105px;
    }
    .carousel-cell {
        border-radius: 30px;
    }

    .carousel-images .flickity-viewport {
        border-radius: 30px;
    }

    .flyfree-landing-section .flex-container {
        column-gap: 35px;
    }

    .flyfree-landing-section .flex-container.align-right {
        flex-direction: row-reverse;
    }

    .flyfree-landing-section .flex-container .flex-child {  
        height: auto;
    }

    .flyfree-landing-section .flex-container .flex-child.section-content {
        flex-basis: 60%;
    }

    .flyfree-landing-section .flex-container .flex-child.lifestyle-images {
        flex-basis: 40%;
    }

    .flyfree-extra-images .extra-text {
        max-width: 568px;
        margin-left: auto;
        margin-right: auto;
    }

    .flyfree-extra-images .flyfree-extra-image:first-child {
        flex-basis: 40%;
    }

    .flyfree-extra-images .flyfree-extra-image:last-child {
        flex-basis: 60%;
    }

    .flyfree-landing-section .section-content p,  .flyfree-extra-images .extra-text p {
        font-size: 18px;
    }

    .flyfree-extra-images {
        align-items: flex-end;
    }
}

@media (max-width: 959px) {
    .flex-clear-959 {
        display: block;
    }

    .flyfree-extra-images.flex-container {
        flex-direction: column-reverse;
        row-gap: 30px;
    }
}

/* Flyfree Features Carousel Styles */
.flyfree-features-carousel {
position: relative;
}

.carousel-images {
width: 100%;
}



.carousel-cell {
width: 100%;
}

.carousel-content {
margin-top: 2rem;
}

.feature-content {
display: none;
}

.feature-content.active {
display: block;
}

/* Thumbnail Navigation */
.thumbnail-nav {
display: none;
align-items: center;
gap: 2rem;
margin-top: 1.5rem;
}

.thumbnail-nav__label {
font-weight: 700;
font-size: 1rem;
text-transform: uppercase;
color: #000;
white-space: nowrap;
}

.thumbnail-nav__thumbs {
display: flex;
gap: 1rem;
align-items: center;
}

.thumbnail-nav__thumb {
width: 100px;
height: 100px;
border: 2px solid transparent;
border-radius: 5px;
cursor: pointer;
transition: border-color 0.3s ease;
overflow: hidden;
}

.thumbnail-nav__thumb.active {
border-color: #000;
}

.thumbnail-nav__thumb:hover {
border-color: #666;
}

.thumbnail-nav__thumb-img {
width: 100%;
height: 100%;
object-fit: cover;
}

/* Hide dot navigation on desktop */
@media (min-width: 960px) {
.flyfree-features-carousel .flickity-page-dots {
    display: none !important;
}

.thumbnail-nav {
    display: flex;
}
}

/* Mobile styles */
@media (max-width: 959px) {
.thumbnail-nav {
    display: none;
}

.flyfree-features-carousel .flickity-page-dots {
    display: block;
}
}

.flyfree-landing-section button.btn[disabled] {
background-color: #000;
color: #6F6F6F;
}

.watch-btn {
position: absolute;
top: 35px;
right: 35px;
z-index: 2;
display: flex;
align-items: center;
gap: 8px;
font-size: 20px;
font-weight: 500;
padding: 10px 25px 10px 20px;
border-radius: 40px;
background-color: #fff;
cursor: pointer;
text-decoration: none;
display: inline-flex;
}

.watch-btn:before {
content: '';
position: absolute;
top: 0;
left: 0;
display: block;
width: 100%;
height: 100%;
background-color: #fff;
border-radius: 40px;
z-index: 0;
transition: transform 0.3s ease;
}

.watch-btn span {
position: relative;
z-index: 1;
transition: transform 0.3s ease;
}

.watch-btn svg {
position: relative;
z-index: 1;
transition: transform 0.3s ease;
}

.watch-btn:hover svg {
transform: translateX(3px);
}

.watch-btn:hover:before {
transform: scale(1.05);
}


.flyfree-banner-section .container {
    max-width: 1780px;
}

.flyfree-banner .video-embed {
    width: 100%;
    height: 100%;
    padding-bottom: 0;
    border-radius: 20px;
}

@media (max-width: 959px) {

    .flyfree-banner {
        aspect-ratio: 1/0.8;
    }

    .flyfree-banner .video-embed {
        width: 190%;
        height: 100%;
        transform: translate(-50%, -50%);
        left: 50%;
        top: 50%;
        position: absolute;
    }

    .flyfree-banner-section .container {
        padding-left: 0;
        padding-right: 0;
    }

}

@media (min-width: 960px) {
    .flyfree-banner {
        aspect-ratio: 1/0.4265;
    }

    .flyfree-banner-section {
        margin: 180px 0;
    }
}

.side-margin-auto {
    margin-left: auto;
    margin-right: auto;
}



.flyfree-hero {
    aspect-ratio: 1/1;
    border-radius: 10px;
    overflow: hidden;
    margin-top: 20px;
}

.logoImage {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70%;
    z-index: 2;
}

.flyfree-hero-section .container {
    max-width: 1500px;
}

@media (max-width: 959px) {
    .flyfree-hero-section .richText {
        text-align: center;
    }

    .flyfree-hero .video-embed {
        width: 180%;
        height: 100%;
        transform: translate(-50%, -50%);
        left: 50%;
        top: 50%;
        position: absolute;
    }

}

@media (min-width: 960px) {
    .flyfree-hero {
        aspect-ratio: 1/0.546;
        border-radius: 30px;
        margin-top: 70px;
    }

    .logoImage {
        width: 65%;
    }

    .flyfree-hero-section .richText {
        text-align: center;
        max-width: 645px;
    }

    .flyfree-hero-section .richText p {
        font-size: 28px;
        
    }

    .flyfree-hero-section {
        margin-bottom: -60px;
    }

    
}