/*
Theme Name: vikingheli
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/



:root {
    --primary-color: #383b3b;
    --secondary-color: #00aacc;
    --secondary-color-light: #00aacc9a;
    --secondary-color-light-10: #00aacc10;
    --secondary-color-dark: #008899;

    /* --masked-bg-y: 0%; */
    
    /* New color palette */
    --white: #FEFEFD;
    --champagne-pink: #E5CEBC;
    --buff: #D6A189;
    --paynes-gray: #4F5870;
    --timberwolf: #E4DED9;
}


/* Global Styles */
body {
    font-family: "Instrument Sans", sans-serif;
    color: white;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Unbounded", sans-serif;
    /* color: white; */
    text-transform: uppercase;
    word-break: break-word;
}

p {
    font-family: "Instrument Sans", sans-serif;
    color: white;
}
.package-info-grid--row p {
    font-weight: 500;
}

h1, .h1 {
    font-size: 54px;
    color: var(--primary-color);
}


.insturment-sans {
    font-family: "Instrument Sans", sans-serif !important;
}

.invert {
    filter: invert(1);
}

.absolute-footer {
    padding: 0;
}

/* Masked heading utilities */
.masked-heading {
    position: relative;
    color: transparent !important;
    -webkit-background-clip: text;
    background-clip: text;
    /* Provide a fallback gradient if no data-bg is set */
    background-image: var(--masked-bg, linear-gradient(135deg, #e5e5e5 0%, #ffffff 40%, #c9c9c9 60%, #f3f3f3 100%));
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center var(--masked-bg-y, 50%);
}

/* Parallax driver: translate background position via CSS variable set by JS */
.masked-parallax {
    will-change: background-position;
}

/* Optional: soft edge fade mask using radial gradient overlay */
.masked-fade {
    -webkit-mask-image: radial-gradient(80% 120% at 50% 50%, #000 60%, transparent 100%);
    mask-image: radial-gradient(80% 120% at 50% 50%, #000 60%, transparent 100%);
}

h2, .h2 {
    font-size: 40px;
    color: var(--primary-color);
}

h3, .h3 {
    font-size: 32px;
    color: var(--primary-color);
}

@media (max-width: 849px) {
    h1 {
        line-height: 52px !important;
        font-size: 56px;
    }

    h2 {
        font-size: 32px !important;
        line-height: 42px !important;
    }

    h3 {
        line-height: 28px !important;
        font-size: 32px;
    }
}

@media (max-width: 768px) {
    h1 {
        line-height: 32px !important;
        font-size: 32px !important;
    }

    h2 {
        font-size: 30px !important;
        line-height: 36px !important;
    }

    h3 {
        line-height: 26px !important;
        font-size: 28px;
    }
}

/* .optima,
.optima p {
    font-family: 'Optima', sans-serif;
} */

.transform-none {
    text-transform: none !important;
}

.font-16,
.font-16 p {
    font-size: 16px;
}

.font-18,
.font-18 p {
    font-size: 18px;
}

.font-19,
.font-19 p {
    font-size: 19px;
}

.font-20,
.font-20 p {
    font-size: 20px;
}

.font-26,
.font-26 p {
    font-size: 26px;
}

.font-48,
.font-48 p {
    font-size: 48px;
}
@media (max-width: 768px) {
    .font-48,
    .font-48 p {
        font-size: 36px;
    }
}

.font-700,
.font-700 p,
.font-bold,
.font-bold p,
.bold,
.bold p {
    font-weight: 700 !important;
}

.font-400,
.font-400 p,
.font-normal,
.font-normal p {
    font-weight: 400 !important;
}

.font-100,
.font-100 p,
.font-light,
.font-light p {
    font-weight: 100 !important;
}

.line-20,
.line-20 p {
    line-height: 20px;
}

.line-24,
.line-24 p {
    line-height: 24px;
}

.line-28,
.line-28 p {
    line-height: 28px !important;
}

.italic {
    font-style: italic;
}

.img-wrapper-16-9 {
    aspect-ratio: 16 / 9 !important;
}

.img-wrapper-16-9 img {
    object-fit: cover;
    object-position: center;
    height: 100%;
    width: 100%;
}

.mx-auto {
    margin-left: auto !important;
    margin-right: auto !important;
}

.mt-10 {
    margin-top: 10px !important;
}

.mt-25 {
    margin-top: 25px !important;
}


.mb-0 {
    margin-bottom: 0px !important;
}

.mb-8 {
    margin-bottom: 8px !important;
}

.mb-10 {
    margin-bottom: 10px !important;
}

.mb-16 {
    margin-bottom: 16px !important;
}

.mb-24 {
    margin-bottom: 24px !important;
}

.pt-10 {
    padding-top: 10px !important;
}

.cc-align-top {
    align-items: flex-start;
}

.cc-align-space-between {
    align-items: space-between;
}

.cc-align-space-around {
    align-items: space-around;
}

.video-lazy-container {
    aspect-ratio: 16 / 9;
}

.top-0 {
    top: 0;
}

.max-w-700 {
    max-width: 700px !important;
    margin: auto;
}

.max-w-900 {
    max-width: 900px !important;
    margin: auto;
}

.max-w-1100 {
    max-width: 1100px !important;
    margin: auto;
}

.max-w-1200 {
    max-width: 1200px !important;
    margin: auto;
}

.max-w-1300 {
    max-width: 1300px !important;
    margin: auto;
}

.max-w-2400 {
    max-width: 2400px !important;
    margin: auto;
}

a.button.primary.dark-bg-outline-blue {
    border: 1px solid var(--secondary-color) !important;
    background-color: transparent !important;
}

a.button.primary.dark-bg-outline-blue > span {
    color: var(--secondary-color) !important;
}

.button-gap > .col-inner {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 20px !important;
    margin: 0 auto;
}
@media (max-width: 768px) {
    .button-gap > .col-inner {
        flex-direction: column !important;
        gap: 10px !important;
        align-items: center;
    }
    .booking-request {
        padding: 20px 10px !important;
    }
}

.radius-8 {
    border-radius: 8px;
}

.radius-4 {
    border-radius: 4px;
}

.overlay-65 > .section-bg,
.overlay-65 > .section-bg > img {
    opacity: 65% !important;
}

.row--less-padding > .col {
    padding: 10px !important;
}

.lift-20 {
    margin-top: -20px;
    margin-bottom: 20px;
}

/*
** Header
*/

.header-inner ul {
    gap: 40px;
}

.header-bg-color {
    /* filter: brightness(0) invert(1) blur(10px); */
    /* filter: brightness(0) invert(1) blur(10px); */
    /* filter: blur(20px); */
    backdrop-filter: blur(5px);
}
.header-wrapper.stuck {
    box-shadow: none;
}
.header-wrapper.stuck .header-bg-color{
    background-color: rgba(255,255,255,0.66) !important;
}

@media (max-width: 1320px) {
    .header-inner ul {
        gap: 10px !important;
    }
}

.header-inner ul > li > a {
    color: #333 !important;
    /* color: #fff !important; */
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 2px;
    font-family: "Unbounded", sans-serif;
}


.custom-chrome-text
{
    color: transparent !important; /* Use gradient fill instead of color */
    background-image: linear-gradient(90deg,
        #1c1c1c 0%,
        #6b6b6b 14%,
        #d4d4d4 38%,
        #ffffff 42%,
        #9e9e9e 46%,
        #f5f5f5 70%,
        #3a3a3a 84%,
        #1c1c1c 100%
    );
    background-size: 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    animation: chromeSweep 21.2s ease-in-out infinite;
}

/* Chrome-style text (hover to animate) */
.header-inner ul > li > a {
    position: relative;
    transition: color 200ms ease;
}

/* Subtle metallic gradient applied via background-clip */
.header-inner ul > li > a:hover,
.header-inner ul > li.current_page_item > a
{
    /* color: transparent !important;
    background-image: linear-gradient(0deg,
        #1c1c1c 0%,
        #6b6b6b 14%,
        #d4d4d4 38%,
        #ffffff 42%,
        #9e9e9e 46%,
        #f5f5f5 70%,
        #3a3a3a 84%,
        #1c1c1c 100%
    );
    background-size: 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    animation: chromeSweep 4.2s ease-in-out infinite; */

    /* border-bottom: 4px solid var(--secondary-color) !important;
    margin-bottom: -4px !important; */
}

.header-inner ul > li > ul.sub-menu > li > a:hover
{
    /* background-image: linear-gradient(90deg,
        #f5f5f5 0%,
        #ddd 14%,
        #d4d4d4 38%,
        #ffffff 42%,
        #9e9e9e 46%,
        #f5f5f5 70%,
        #fff 84%,
        #f5f5f5 100%
    ) !important;
    background-size: 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    animation: chromeSweep 4.2s ease-in-out infinite; */

    color: #cccccc !important;
}

.header-nav .current-menu-parent > a {
    /* border-bottom: 4px solid var(--secondary-color) !important;
    margin-bottom: -4px !important; */
}

.header-inner ul > li > ul.sub-menu > li.current-menu-item > a {
    color: #cccccc !important;
}



.header-inner ul:not(.mobile-nav) > li:not(.nav-icon) > a:hover,
.header-inner ul:not(.mobile-nav) > li:not(.nav-icon).current_page_item > a,
.header-nav:not(.mobile-nav) .current-menu-parent:not(.nav-icon) > a {
    border-bottom: none !important;
    margin-bottom: 0 !important;
}

.header-inner ul:not(.mobile-nav) > li:not(.nav-icon) > a:hover::after,
.header-inner ul:not(.mobile-nav) > li:not(.nav-icon).current_page_item > a::after,
.header-nav:not(.mobile-nav) .current-menu-parent:not(.nav-icon) > a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 10px;
    background-color: var(--secondary-color);
}

    
@keyframes chromeSweep {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Optional utility: always-on chrome text */
.chrome-text {
    color: transparent !important;
    background-image: linear-gradient(90deg,
        #1c1c1c 0%, #6b6b6b 12%, #d4d4d4 24%, #ffffff 36%,
        #9e9e9e 48%, #f5f5f5 60%, #3a3a3a 72%, #1c1c1c 84%
    );
    -webkit-background-clip: text;
    background-clip: text;
}

/* Optional utility: windy animated color sweep (black -> white) */
/* .windy-text {
    color: transparent !important;
    background-image: linear-gradient(90deg, #000 0%, #555 25%, #fff 50%, #555 75%, #000 100%);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    animation: windySweep 3s linear infinite;
} */

/* @keyframes windySweep {
    0% { background-position: 0% 50%; }
    100% { background-position: 200% 50%; }
} */

/* Respect reduced motion */
/* @media (prefers-reduced-motion: reduce) {
    .header-inner ul > li > a:hover,
    .header-inner ul > li.current-menu-item > a,
    .header-inner ul > li.current-menu-ancestor > a,
    .windy-text {
        animation: none !important;
        background-position: 50% 50%;
    }
} */

.header-inner ul > li.button  {
    border: none;
    /* border-bottom: 4px solid var(--secondary-color); */
    /* padding: 0px 20px !important; */
    background-color: transparent !important;
    /* transform: skewX(-15deg); */
}
.header-inner ul > li.button:hover  {
    box-shadow: none !important;
}

.header-inner ul > li.button > a {
    max-height: 40px !important;
    /* transform: skewX(15deg); */
}
/* .header-inner ul > li.button > a:after {
    content: url('assets/icons/noun-sign-8140987.svg');
    position: absolute;
    top: -4px;
    right: -40px;
    width: 40px;
    height: 40px;
    margin-left: -45px;
} */

.stuck .header-main .nav > li > a {
    line-height: 10px !important;
}

.sidebar-menu {
    margin-top: 50px;
}

.sidebar-menu .sub-menu > li > a {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

ul.sub-menu > li > a {
    color: #fff !important;
    font-weight: 600 !important;
}

ul.sub-menu {
    clip-path: polygon(
        0 0, 
        100% 0, 
        100% calc(100% - 55.98px), 
        calc(100% - 15px) 100%, 
        0 100%
    );
}

@media(max-width: 1111px) and (min-width: 849px) {
    .header-wrapper.stuck .header-main {
        height: 110px !important;
    }
}

@media(max-width: 849px) {
    .header-wrapper .header-main {
        height: 70px !important;
    }

    #logo {
        width: 80px !important;
    }
}

.header-wrapper.stuck .header-nav > .menu-item > a {
    height: 70px !important;
}

@media(min-width: 1149px) {
    .header-wrapper:not(.stuck) .header-nav > .menu-item > a {
        /* height: 135px !important; */
        height: 100px !important;
    }
}

.nav-dropdown.nav-dropdown-default>li>a {
    border-bottom: none !important;
}




/*
** Footer
*/

.instagram-feed img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

footer h3 {
    font-size: 16px !important;
    line-height: 28px !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
    text-transform: uppercase !important;
    color: var(--secondary-color) !important;
}

footer ul {
    gap: 10px !important;
}

footer p {
    font-size: 20px;
    line-height: 38px !important;
    font-weight: 100 !important;
}

footer a {
    color: #fff !important;
    font-size: 20px;
}
#footer a:hover {
	text-decoration: underline;
}

footer .follow-icons > a {
    padding: 0 8px;
}


/*
** Barn
*/ 
.barn-s2 {
    margin-top: -140px;
}

/* .barn-s4 {
    margin-top: 20px;
} */

.barn-s4 .col-2 {
    padding-bottom: 0;
}

.barn-s5 {

}

.cc-barn-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    height: 100%;

    margin: auto !important;
    width: fit-content !important;
}

.cc-barn-row > .col > .col-inner {
    height: 100%;
}

.cc-barn-row > .col {
    padding-bottom: 0;
}

.ski-card {
    display: flex;
    align-items: flex-start;
    background: #F6F6F6;
    /* border-radius: 24px; */
    box-shadow: 0 4px 24px rgba(0,0,0,0.12);
    padding: 30px 0 30px 30px;
    max-width: 900px;
    /* margin: 40px auto; */
    gap: 10px;
    height: 100%;
  }
  
  .ski-card.mirrored {
    flex-direction: row;
    padding: 30px 30px 30px 0;
  }

  .ski-image {
    height: 350px;
    width: auto;
    display: block;
  }

  .ski-image img {
    height: 100%;
    width: 100%;
    object-fit: contain;
    display: block;
    margin-top: -100px;
  }
  
  .ski-info {
    flex: 1;
    padding: 0 20px;
  }
  
  .ski-card h2 {
    line-height: 32px;
  }

  .ski-title {
    color: var(--secondary-color) !important;
    font-style: italic !important;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 1px;
  }
  
  .ski-bold {
    font-weight: bold;
    margin: 18px 0 18px 0;
  }
  
  .ski-info p {
    color: #222;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 12px;
  }
  
  @media (max-width: 1024px) {
    .cc-barn-row {
        grid-template-columns: 1fr;
    }

    .cc-barn-col {
        padding-bottom: 0px !important;
    }

    .ski-image img {
        margin-top: 0px;
      }
  }

  @media (max-width: 768px) {

    .ski-card {
        flex-direction: column;
        padding: 15px 15px;
        gap: 10px;
    }
    .ski-card.mirrored {
        flex-direction: column-reverse;
        padding: 15px 15px;
        gap: 10px;
      }

    .ski-info {
        padding: 15px;
    }
    
    .ski-info p {
        margin-bottom: 0;
    }
      
    .ski-image {
        width: 100%;
        height: 200px;
        aspect-ratio: auto;
    }

    .ski-image img {
        margin-left: -40%;
        height: 100%;
        width: 100%;
        object-fit: contain;
        display: block;
        transform: rotate(90deg) scale(3);
      }

  }



/* 
** Packages
*/
.package-s3 .package-list {
    display: flex;
    flex-direction: row;
    gap: 20px;
}

.package-s3 .package-list .row .col-inner p {
    border: 1px solid #000;
    padding: 10px;
    margin: 0;
    text-align: center;
}

.package-button {
    margin-bottom: 20px; 
}

.gray-text-block {
    background-color: #f5f5f5;
    padding: 20px;
    /* border-radius: 8px; */
    border-radius: 0px;
    margin-bottom: 20px;
}

.gray-icon-block {
    /* background-color: #f5f5f5; */
    background-color: rgba(227, 234, 241, 0.5);
    padding: 20px;
    /* border-radius: 8px; */
    margin-bottom: -5px;
}
.gray-icon-block p {
    font-weight: 100;
    margin-bottom: 0;
}
.gray-icon-block .icon-box-img {
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 20px;
    width: 100px !important;
}
.gray-icon-block .icon-box-text {   
    padding-left: 40px !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 5px;
}
.gray-icon-block h3 {
    color: var(--secondary-color) !important; 
    /* font-family: 'ABC Walter Neue', serif; */
    font-size: 20px;
    font-weight: 700 !important;
    margin-bottom: 0px;
}

/* @media (max-width: 1024px) {
    .gray-icon-block {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column !important;
    }
} */
@media (max-width: 768px) {
    .gray-icon-block {
        padding: 20px 15px 20px 5px !important;
        text-align: center;
        align-items: center;
        flex-direction: column !important;
    }
    .icon-box .icon-box-img {
        width: 80px !important;
        padding: 10px;
    }
    .icon-box .icon-box-text {
        padding-left: 10px !important;
    }
}

.logo--travel-agency {
    /* border-right: 1px solid #fff; */
    /* margin-left: -15px; */
    margin-right: 20px;
    padding-right: 10px;
}

.logo--travel-agency img {
    background: #444;
    border-top: 4px solid #444;
    border-bottom: 4px solid #444;
}


/*
** more-info-tab-section
*/

.more-info-row {
    display: flex;
    flex-wrap: wrap;
}

.more-info-row .col {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
}

.more-info-row .col-inner {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.gray-icon-block {
    flex: 1 1 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 100%;
}

@media (max-width: 768px) {
    .gray-icon-block {
        flex: 1;
    }
}

@media (max-width: 1100px) {
    .more-info-row {
        flex-direction: column;
      }
      .more-info-row .col {
        width: 100% !important;
        min-width: 0 !important;
        flex-basis: 100% !important;
        max-width: 100% !important;
      }
}

.booking-request {
    background-color: var(--secondary-color);
    padding: 20px 10px !important;
    min-width: 400px;
    margin: 0;
    text-align: center;
    transform: skewX(-15deg);
}
.booking-request span {
    transform: skewX(15deg);
    font-size: 22px !important;
}
@media (max-width: 768px) {
    .booking-request {
        min-width: calc(100% - 30px);
    }
}

.booking-request-smaller {
    padding: 0px 25px;
}


.button.primary.arrow-right > span:after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 15px;
    margin-bottom: 4px;
    background-image: url("/wp-content/uploads/2025/06/arrow-right-white.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
}

.button.primary.radius-8 {
    border-radius: 8px;
}

.button.primary.blue {
    background-color: var(--secondary-color);
}

.button.primary.padding-lg {
    padding: 10px 40px 10px 50px;
}

.package-s8 {
    z-index: 3;
    background-color: transparent !important;
    margin-bottom: -300px;
}
/* .heli-s1 {
    z-index: 3;
    background-color: transparent !important;
    margin-bottom: -300px;
} */

.tours-sec7 .text-1,
.package-s8 .text-1 {
    margin-bottom: 10px;
    line-height: 20px;
}

.tours-sec7 .text-2,
.package-s8 .text-2 {
    margin-bottom: 10px;
    line-height: 20px;
}

.tours-sec7 .col-2 .buttons-wrap,
.package-s8 .col-2 .buttons-wrap {
    margin-top: 30px;
}

.tours-sec7 .col-2 .buttons-wrap .col-inner > a,
.package-s8 .col-2 .buttons-wrap .col-inner > a {
    margin-bottom: 10px !important;
}

.package-s9 {
    height: 200px;
    z-index: 2;
    align-items: normal;
}
.package-s9:after {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: linear-gradient(to bottom, rgba(255,255,255, 1) 5%, rgba(255,255,255, 0) 40%, rgba(255,255,255,0) 100%);
    z-index: 1;
    pointer-events: none;
}
/* @media (max-width: 768px) {
    .package-s9.heli {
        margin-top: -50px;
    }
} */


.package-s10 {
    margin-top: -100px;
    z-index: 1;
}
.package-s10 img {
    max-height: 1200px;
    object-fit: cover;
}

.package-s10:after {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: linear-gradient(to bottom, rgba(255,255,255, 1) 10%, rgba(255,255,255, 0) 30%, rgba(255,255,255,0) 100%);
    z-index: 1;
    pointer-events: none;
}

@media (max-width: 768px) {
    .package-s8 {
        margin-bottom: -100px;
    }

    .package-s10 {
        margin-top: -150px;
    }
}


/* 
** Tours 
*/
.tours-sec4 .row {
    max-width: none;
}
.tours-sec4 .tabbed-content a span {
    color: #000 !important;
}

.tours-sec4 .tab-panels {
    max-width: 1200px;
    margin: auto;
}

.tours-sec4 .tab-panels p {
    color: #000;
}

.tours-sec4 .tab-panels h2 {
    color: #000;
    margin-bottom: 50px;
}

.button.primary {
    background-color: var(--secondary-color) !important;
    transform: skewX(-15deg);
    width: fit-content;
    padding-left: 50px;
    padding-right: 50px;
    margin-bottom: 0px !important;
    /* animation: skewPulse 3s ease-in-out infinite; */
    text-transform: uppercase !important;
    padding-top: 10px;
    padding-bottom: 10px;
    position: relative;
    overflow: hidden;
}

.button.primary {
    border: 0 !important;
}

.button.primary > span {
    text-transform: uppercase !important;
    font-size: 16px;
}

/* @keyframes skewPulse {
    0%   { transform: skewX(-135deg); }
    5%   { transform: skewX(-5deg); }
    10%  { transform: skewX(-15deg); }
    100% { transform: skewX(-15deg); }
}
@media (prefers-reduced-motion: reduce) {
    .button.primary {
        animation: none !important;
        transform: skewX(-15deg);
    }
} */

.tours-sec4 .button.primary span,
.button.primary span {
    transform: skewX(15deg);
    color: #fff !important;
    text-transform: none;
    position: relative;
    z-index: 1;
}

.button.primary::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    /* Solid fill to keep the moving edge crisp (no gradient/blur line) */
    background: #000;
    clip-path: inset(100% 0 0 0);
    transition: clip-path 280ms ease;
    will-change: clip-path;
    z-index: 0;
}

.button.primary:hover::before,
.button.primary:focus-visible::before {
    clip-path: inset(0 0 0 0);
}

@media (prefers-reduced-motion: reduce) {
    .button.primary::before {
        transition: none !important;
    }
}

.starkup-tabs.tabbed-content .nav-line-bottom,
.tours-sec4 .tabbed-content .nav-line-bottom {
    border-bottom: 2px solid #000;
}

.starkup-tabs.tabbed-content ul,
.tours-sec4 .tabbed-content ul {
    gap: 40px;
    margin-bottom: 60px;
}
@media (max-width: 768px) {
    .starkup-tabs.tabbed-content ul,
    .tours-sec4 .tabbed-content ul {
        gap: 10px !important;
    }
}

.starkup-tabs.tabbed-content ul a,
.tours-sec4 .tabbed-content ul a {
    font-size: 29px;
    text-transform: none;
    font-weight: 400;
    padding: 25px;
}

.starkup-tabs .nav-line-bottom>li>a:before,
.tours-sec4 .nav-line-bottom>li>a:before {
    background-color: var(--secondary-color);
    height: 11px;
    transform: skewX(-15deg) translateX(-50%);
}

.starkup-tabs .tab.active > a::before {
    background-color: var(--secondary-color) !important;
    opacity: 1 !important;
}


@media (max-width: 900px) {
    .starkup-tabs.tabbed-content ul,
    .tours-sec4 .tabbed-content ul {
        gap: 0px;
    }

    .starkup-tabs.tabbed-content ul a,
    .tours-sec4 .tabbed-content ul a {
        font-size: 23px;
    }
}

@media (max-width: 768px) {
    .starkup-tabs.tabbed-content ul,
    .tours-sec4 .tabbed-content ul {
        gap: 20px;
        margin-bottom: 30px;
    }

    .starkup-tabs.tabbed-content ul a,
    .tours-sec4 .tabbed-content ul a {
        font-size: 22px;
        padding: 15px;
    }
}

.tours-sec4 .panel > .row > .col > .col-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.tours-sec4 .panel > .row > .col > .col-inner img {
    max-height: 350px;
    object-fit: cover;
}

.tours-sec4 .panel > .row > .col > .col-inner p {
    line-height: 28px;
    font-weight: 400;
}

.tours-sec5 .section-content .action-packed {
    padding-top: 40px;
}

.tours-sec5 .text > h2 {
    font-size: 48px;
    /* font-family: 'Optima', sans-serif !important; */
}

.tours-sec5 .section-content .subtext {
    padding-bottom: 40px;
}

.tours-sec5 .section-content > .row > .col > .col-inner > .row > .col {
    padding: 0 15px 0 60px;
}

.tours-sec5 .section-content > .row > .col > .col-inner > .row > .col > .col-inner > .text{
    padding-right: 45px;
}

.tours-sec5 .section-content > .row > .col > .col-inner {
    border-radius: 8px;
}

.tours-sec5 .banner,
.tours-sec5 .banner .banner-bg {
    border-radius: 0 8px 8px 0;
}

@media (max-width: 1300px) {
    .tours-sec5 .banner {
        padding-top: 400px !important;
    }

    .tours-sec5 .section-content .action-packed {
        padding-top: 35px;
    }
    
    .tours-sec5 .section-content .subtext {
        padding-bottom: 15px;
    }

    .tours-sec5 .col-1 {
        padding-left: 45px !important;
    }

    .tours-sec5 .col-2 {
        padding-left: 15px !important;
    }
}

@media (max-width: 768px) {
    .tours-sec5 .banner {
        padding-top: 450px !important;
    }

    .tours-sec5 h2 {
        font-size: 36px !important;
        line-height: 44px !important;
        margin-bottom: 10px !important;
    }

    .tours-sec6 .button.primary {
        width: calc(100% - 120px) !important;
        margin: -140px 60px 0px 60px !important;
    }
}

@media (max-width: 549px) {
    .tours-sec5 .banner {
        padding-top: 150px !important;
    }
    
    .tours-sec5 .banner,
    .tours-sec5 .banner .banner-bg {
        border-radius: 0 0 8px 8px;
    }

    .tours-sec6 .button.primary {
        width: calc(100% - 60px) !important;
        margin: -140px 30px 0px 30px !important;
        padding-top: 5px;
    }
}

.tours-sec5 .action-packed {
    font-size: 24px;
    color: var(--secondary-color) !important;
    margin-bottom: 10px;
    font-weight: 700;
}

.tours-sec5 h2 {
    font-size: 48px;
    /* font-family: 'ABC Walter Neue', sans-serif; */
    margin-bottom: 0px;
}

.tours-sec5 .subtext {
    font-size: 19px;
    font-weight: 400;
}

.tours-sec6 .button.primary {
    background-color: var(--secondary-color) !important;
    transform: skewX(-15deg);
    width: fit-content;
    padding-left: 50px;
    padding-right: 50px;
    margin-top: -135px;
    margin-left: 70px;
}
.tours-sec6 .button.primary span {
    transform: skewX(15deg);
}

.tours-sec7 h2,
.package-s8 h2 {
    color: var(--primary-color) !important;
    font-size: 40px;
    font-style: italic;
}

.tours-sec7 p,
.package-s8 p,
.tours-sec7 .text-1,
.tours-sec7 .text-2,
.package-s8 .text-1,
.package-s8 .text-2 {
    font-weight: 700;
}

.tours-sec7 .button.primary,
.package-s8 .button.primary {
    background-color: var(--secondary-color) !important;
    transform: skewX(-15deg);
    width: fit-content;
    padding-left: 50px;
    padding-right: 50px;
}
.tours-sec7 .button.primary span,
.package-s8 .button.primary span {
    transform: skewX(15deg);
}

.tours-sec7 img,
.package-s8 img {
    max-width: 300px;
    max-height: 300px;
    object-fit: cover;
    object-position: center;    
}
@media (max-width: 768px) {
    .tours-sec7 .button.primary,
    .package-s8 .button.primary {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/*
** Clubhouse
*/
.clubhouse-s6 img {
    width: fit-content !important;
    height: fit-content !important;
    max-width: 200px;
    max-height: 200px;
    object-fit: cover;
    object-position: center;
    padding: 10px;
}
@media (max-width: 768px) {
    .clubhouse-s6 img {
        max-width: 140px;
        max-height: 140px;
        min-width: 100px;
        min-height: 100px;
    }
}
.transceivers-trackers-container {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    background: #fff;
    padding: 40px 0;
    /* font-family: 'Optima', Arial, sans-serif; */
  }
  
  .transceivers-trackers-card {
    background: #f5f5f5;
    border-radius: 18px;
    padding: 36px 32px 32px 32px;
    max-width: 650px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
    position: relative;
  }
  
  .transceivers-trackers-header {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 18px;
  }
  
  .transceivers-trackers-header h2 {
    color: #00aacc;
    font-size: 2rem;
    font-weight: 700;
    margin: 0;
    flex: 1;
  }
  
  .clubhouse-s6 img {
    transform: scale(1.2);
    margin-top: -120px;
    margin-bottom: -40px;
  }

  .clubhouse-s6 .col-1 img {
    transform: scale(1.3);
  }
  .clubhouse-s6 .col-2 img {
    transform: scale(0.9);
  }

  
  .transceivers-trackers-content p {
    color: #222;
    font-size: 1.08rem;
    line-height: 1.6;
    margin-bottom: 18px;
  }
  
  .transceivers-trackers-content .bold {
    font-weight: 700;
    color: #383b3b;
  }

@media (max-width: 600px) {
    .transceivers-trackers-card {
        padding: 18px 10px 18px 10px;
        max-width: 98vw;
    }
    .transceivers-trackers-header {
        flex-direction: row !important;
        gap: 10px;
    }

    .clubhouse-s6 .col-1 img {
        /* transform: scale(2); */
        width: 200px;
        height: 200px;
        object-fit: contain;
        object-position: center;
    }
    .clubhouse-s6 .col-2 img {
        /* transform: scale(0.9); */
        width: 100px;
        height: 100px;
        object-fit: contain;
        object-position: center;
    }

    .transceivers-trackers-image {
        width: 100px;
        margin-top: 0;
        margin-right: 0;
        align-self: flex-end;
    }
    .transceivers-trackers-header h2 {
        font-size: 1.3rem;
    }
}





/* 
** Home
*/
.home-sec1 .left-col > .col-inner > .text > h1 {
    text-transform: uppercase;
    line-height: 72px;
}
/* .home h1 {
    font-size: 56px !important;
} */

.home-sec1 .left-col > .col-inner .button.primary {
    background-color: var(--secondary-color) !important;
    width: fit-content;
    padding: 6px 12px 4px 12px;
    font-size: 18px;
    font-weight: 400;
}

.home-s1 {
    /* position: relative; */
    /* overflow: hidden; */
    /* margin-top: -135px; */
    margin-top: -100px;

    /* max-height: 800px !important; */
    /* height: 80vh !important; */
    width: 100%;
}

.home-s1 .video-lazy-container {
    height: calc(100vh - 200px);
}
.home-s1 video {
    /* width: 100% !important;
    height: 80vh !important; */
    object-fit: cover;
    object-position: center;
}

.home h1 {
    font-size: 62px !important;
    margin-bottom: 6px !important;
    padding-top: 6px !important;
}
.packages-grid h2 {
    margin-bottom: 8px !important;
}
@media (max-width: 1950px) {
    /* .home-s1 {
        min-height: 55vw !important;
    } */

    .home h1 {
        font-size: 52px !important;
        line-height: 52px !important;
        margin-bottom: 16px !important;
        margin-top: 5px !important;
        /* margin-bottom: 35px !important; */
    }

    .home-s2 {
        min-height: 55vw !important;
    }
}

@media (max-width: 1500px) {
    .packages-grid h2 {
        font-size: 32px !important;
    }

    .home-s1 .video-lazy-container {
        height: calc(100vh - 180px);
    }
}

@media (max-width: 1200px) {
    .home h1 {
        font-size: 48px !important;
        line-height: 42px !important;
        /* margin-bottom: 40px !important; */
        margin-bottom: 10px !important;
    }
}

@media (max-width: 549px) {
    .home-s1 .video-lazy-container {
        height: 50vh
    }

    .home-s1 {
        min-height: 300px !important;
        margin-top: -30px !important;
    }
    .home h1 {
        font-size: 42px !important;
        padding-top: 20px !important;
        margin-bottom: 30px !important;
    }

    .home-s2 {
        min-height: 200px !important;
    }
}

.home-s1 .bg-video-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}

.home-s1 .bg-video-wrapper video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
}

.home-s1 .section-content {
    position: relative;
    /* z-index: 1; */
    z-index: 0;
}

/* Optional overlay to make text more readable */
.home-s1 .video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.2); /* Adjust opacity as needed */
    z-index: 1;
    pointer-events: none;
}

/* Mobile optimization */
@media (max-width: 768px) {
    .home-s1 .bg-video-wrapper {
        display: none; /* Optional: hide video on mobile */
    }
}

@media (min-width: 1900px) {
    .home-s2 {
        min-height: 1500px !important;
    }
}

.home-sec2 .text > p {
    margin-bottom: 0px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.home-s2:after {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; 
    height: 100%;
    background: linear-gradient(to top, rgba(255,255,255, 1) 50%, rgba(255,255,255, 0) 60%, rgba(255,255,255,0) 100%) !important;
    z-index: 1;
    pointer-events: none;
}
@media(max-width: 768px) {
    .home-sec2 .section-content > .row {
        padding-top: 30px !important;
    }

    .home-s2:after {
        content: none !important;
        background: none !important;
    }

}
@media(max-width: 1900px) {
    .home-s2:after {
        background: none !important;
    }
}





.home-sec2 img {
    height: auto !important;
    width: 300px !important;
    object-fit: contain;
    object-position: center;
    margin: auto;
}

@media (max-width: 768px) {
    .home-sec2 .text > p {
        font-size: 20px !important;
        line-height: 32px !important;
    }

    .home-sec2 img {
        width: 180px !important;
    }
}

.home-image-ribbon {
    margin-bottom: -67px;
    z-index: 1;
    position: relative;
}
.home-image-ribbon .center {
    max-width: 920px !important;
    min-width: 920px !important;
}
@media (max-width: 1200px) {
    .home-image-ribbon .center {
        max-width: 660px !important;
        min-width: 660px !important;
    }
}


.home-s3 {
    margin-top: -450px !important;
}
@media (max-width: 1500px) {
    .home-s3 {
        margin-top: -300px !important;
    }
}
@media (max-width: 1100px) {
    .home-s3 {
        margin-top: -200px !important;
    }
}

/* 
** Home - Table
*/
.table-1 .col-inner .col  {
    border-bottom: 1px solid #ccc;
    padding-bottom: 0px;    
}

.table-1 {
    margin: 0px !important;
}

.table-1:not(.table-long) {
    display: flex !important;
    flex-direction: row !important;
    gap: 20px !important;
}
.table-1:not(.table-long) > .col {
    flex: 1 !important;
}
@media (max-width: 849px) {
    .table-1:not(.table-long) > .col:nth-child(2) {
        margin-top: -30px !important;  /*849 -> 768 */
    }
}
@media (max-width: 768px) {
    .table-1:not(.table-long) {
        flex-direction: column !important;
        /* margin-top: 60px !important; */
    }

    .table-1:not(.table-long) > .col {
        width: 100% !important;
        max-width: 100% !important;
    }

    .table-1:not(.table-long) > .col:nth-child(2) {
        margin-top: 0px !important;
    }
    .table-long .col-inner > .row > .col {
        height: 50px !important;
    }
}


.table-1  > .col {
    padding-bottom: 0px !important;
}

.table-1 > .col > .col-inner > .row > .col {
    padding: 7px 0px 2px 0px !important;
}

.table-1 > .col > .col-inner > .row > .col > .col-inner {
    font-size: 20px !important;
    font-weight: 600 !important;
}
/* .table-long > .col > .col-inner > .row:nth-child(1) > .col:nth-child(4) p,
.table-long > .col > .col-inner > .row:nth-child(1) > .col:nth-child(5) p {
    font-size: 16px !important;
} */



@media (max-width: 1024px) {
    .table-1> .col > .col-inner > .row > .col > .col-inner {
        font-size: 16px !important;
    }
}

@media (max-width: 849px) {

    .table-1 {
        margin-top: 60px !important;
    }

    .table-1  > .col {
        padding: 0px !important;
    }

    .table-1 > .col > .col-inner {
        display: flex;
    }

    .table-1 > .col > .col-inner > .row:nth-child(1) {
        display: block;
        flex: 3;
    }

    .table-1 > .col > .col-inner > .row:nth-child(2) {
        flex: 2;
    }

    .table-1 > .col > .col-inner > .row > .col > .col-inner {
        min-height: 28px !important;
        justify-content: center;
        display: flex;
        flex-direction: column;
    }

    .table-long > .col > .col-inner > .row:nth-child(1) > .col:nth-child(4) p,
    .table-long > .col > .col-inner > .row:nth-child(1) > .col:nth-child(5) p {
        font-size: 13px !important;
        line-height: 13px !important;
    }
    .full-column .table-long > .col > .col-inner > .row:nth-child(1) > .col:nth-child(4) p,
    .full-column .table-long > .col > .col-inner > .row:nth-child(1) > .col:nth-child(5) p {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }

    .table-1 > .col > .col-inner > .row:nth-child(1) > .col:first-child  {
        display: none;
    }

    /* paketi pealkiri */
    .table-1 > .col > .col-inner > .row:nth-child(2) > .col:first-child {
        position: absolute;
        left: 0px;
        top: -31px;
        padding-bottom: 0px !important;
    }
    .full-column .table-1 > .col > .col-inner > .row:nth-child(2) > .col:first-child {
        top: -50px;
    }

    .table-1 > .col > .col-inner > .row {
        margin-left: 0px !important;
        margin-right: 0px !important;
    }
}
/*
** Home - Table - End 
*/



.home-sec5 h2 {
    color: var(--secondary-color) !important;
    font-size: 45px;
    line-height: 44px;
    max-width: 1000px;
    padding-top: 50px;
    margin-left: auto;
    margin-right: auto;
}
@media (max-width: 768px) {
    .home-sec5 h2 {
        font-size: 32px !important;
        line-height: 36px !important;
    }
}

/* .home-sec5 {
    margin-bottom: -100px;
} */

.home-table-sec .table-1 .col-inner .col .text p {
    margin-bottom: 0px;
}

.home-sec7 .ribbon-wrapper .center {
    display: flex;
    flex-direction: row;
    gap: 40px;
    max-width: 810px;
    min-width: 810px;
    margin-top: -18px;
}
@media (max-width: 1024px) {
    .home-sec7 .ribbon-wrapper .center {
        min-width: auto;
    }
}

.home-sec7 .col-1 {
    display: flex;
    margin-bottom: 15px;
}

.home-sec7 .col-1 img {
    max-width: 200px;
}

.home-sec7 .col-2 {
    display: flex;
    flex-direction: row;
    gap: 40px;
    border-left: 1px solid var(--secondary-color);
    padding-left: 30px;
    height: 105px;
}

.home-sec7 .col-2 p {
    align-content: center;
    margin-bottom: 0;
}

.home-sec7 .col-2 .button {
    border: 1px solid var(--secondary-color);
    height: fit-content;
    margin: auto;
}

.home-sec7 .col-2 .button span {
    color: var(--secondary-color);
    width: max-content;
}

.home-sec9 {
    margin-top: -200px;
}

.home-sec10 h2 {
    font-size: 56px !important;
    text-transform: uppercase;
}

@media (max-width: 768px) {
    .home-sec10 h2 {
        font-size: 42px !important;
        line-height: 42px !important;
    }

    .home-sec10 .text > p {
        font-size: 18px !important;
        line-height: 28px !important;
    }
}

.home-sec11 h2 {
    font-size: 48px;
    margin-bottom: 0 !important;
}

.home-sec11:after {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: linear-gradient(to top, rgba(255,255,255, 1) 10%, rgba(255,255,255, 0) 30%, rgba(255,255,255,0) 100%);
    z-index: 1;
    pointer-events: none;
}
.home-sec11 .section-content {
    z-index: 2;
}

.home-sec12 .text > p {
    font-size: 20px !important;
    margin-bottom: -4px !important;
    font-weight: 500;
}

.home-sec12:after {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: linear-gradient(to bottom, rgba(255,255,255, 1) 10%, rgba(255,255,255, 0) 30%, rgba(255,255,255,0) 100%);
    z-index: 1;
    pointer-events: none;
}
.home-sec12 .section-content {
    z-index: 2;
}

.home-sec12 .button.primary {
    margin-top: 30px;
    background-color: var(--secondary-color) !important;
}

.home-sec12 .button.primary > span {
    text-transform: uppercase !important;
    padding: 8px;
}

.home-sec12 .button.primary > span:after {
    content: url("/wp-content/uploads/2025/06/arrow-right-white.svg") !important;
    margin-left: 10px;
}




/* 
** Hofdi Lodge
*/

.hofdi-s1 {
    margin-top: -135px;
}

.hofdi-s1 h1 {
    font-size: 56px !important;
    line-height: 72px !important;
    font-weight: 400 !important;
}

.hofdi-s1 h1.strong {
    font-weight: 700 !important;
}

.hofdi-s1 .text > p {
    font-size: 18px !important;
    line-height: 28px !important;
}

.hofdi-s1 .border-left-blue-2 {
    border-left: 2px solid var(--secondary-color);
    padding-bottom: 0;
}

.hofdi-s1 .col-2 {
    margin-left: -80px;
}

@media (max-width: 900px) {
    .hofdi-s1 .col-2 {
        margin-left: -50px;
    }
}

@media (max-width: 768px) {
    .hofdi-s1 h1 {
        font-size: 36px !important;
        line-height: 42px !important;
    }

    .hofdi-s1 .col-2 {
        margin-left: -30px;
    }

    .hofdi-s1 .col-2 .col-inner .row .col {
        padding: 0px !important;
    }

    .hofdi-s1 .col-2 .col-inner .row .col:first-child > .col-inner {
        text-align: center;
    }

    .hofdi-s1 .col-2 .col-inner .row .col .col-inner {
        padding: 15px !important;
    }


}

@media (max-width: 550px) {
    .hofdi-s1 .border-left-blue-2 {
        border-left: none;
    }

    .hofdi-s1 .col-2 {
        margin-left: 0px;
    }
}

.hofdi-s3 .section-content {
    margin-bottom: -150px;
}

@media (max-width: 768px) {
    .hofdi-s3 .section-content {
        margin-bottom: 0px;
    }
}


/*
** Guides
*/
.skewed-h2-s .title-row,
.guides-s5 .title-row {
    margin-top: -55px;
}

.skewed-h2-s .title-row .col-1 .text,
.guides-s5 .title-row .col-1 .text {
    background-color: var(--secondary-color) !important;
    padding: 10px 20px 10px 50px;
    margin-bottom: 0;
    transform: skewX(-15deg);
}
.skewed-h2-s.dark .title-row .col-1 .text {
    background-color: var(--primary-color) !important;
}

.skewed-h2-s .title-row .col-1 h2,
.guides-s5 .title-row .col-1 h2 {
    transform: skewX(15deg);
    margin-bottom: 0px;
    color: #fff;
    font-size: 36px;
    line-height: 60px;
    font-weight: 700;
}

.guides-s5 .col-1 .name {
    font-size: 22px;
    line-height: 28px;
    font-weight: 700;
    margin-bottom: 0px;
}

.guides-s5 .col-1 .position {
    font-size: 16px;
    line-height: 28px;
    font-weight: 500;
}

/*
** Arrow left long
*/
.arrow-left-long {
    position: relative;
    padding-left: 40px; /* Space for the line and arrow */
}
@media (max-width: 1400px) {
    .arrow-left-long {
        padding-left: 40px;
    }
}

.arrow-left-long:before {
    content: "";
    position: absolute;
    left: 0px;
    top: 0;
    width: 4px;
    height: 100%;
    background: var(--secondary-color);
    z-index: 1;
}
@media (max-width: 1400px) {
    .arrow-left-long:before {
        left: 23px;
    }
}

.arrow-left-long:after {
    content: "";
    position: absolute;
    left: -13px; /* Center the triangle under the line (adjust as needed) */
    bottom: -8px; /* Place arrow below the line (adjust as needed) */
    width: 0;
    height: 0;
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    border-top: 20px solid var(--secondary-color); /* This creates a filled downward triangle */
    z-index: 2;
}
@media (max-width: 1400px) {
    .arrow-left-long:after {
        left: 10px;
    }
}


/* 
** Pages 
*/
.nf-s1 h1 {
    margin-bottom: 0px !important;
}

.terms-s1 p {
    font-weight: 100 !important;
}


/*
** Hero with snow effect
*/
.hero-w-snow {
    position: relative;
    height: 400px;

    margin-top: -135px;
}
.home-s1.hero-w-snow {
    height: 300px;
}
@media (max-width: 768px) {
    .hero-w-snow {
        min-height: 400px !important;
    }
}

.hero-w-snow:after {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; 
    height: 100%;
    background: linear-gradient(to top, rgba(255,255,255, 1) 20%, rgba(255,255,255, 0) 40%, rgba(255,255,255,0) 100%);
    z-index: 1;
    pointer-events: none;
}
.snow-effect-1 {
    transform: scaleY(0.6);
    transform-origin: bottom;
}

.snow-effect-1 .section-bg img {
    object-fit: fill;

    object-position: bottom;
    width: 100%;
    height: 100%;
    display: block;

    margin-top: 0px;

}

.hero-w-snow-ribbon {
    margin-top: -200px !important;
}

.ribbon-wrapper {
    display: flex;
    flex-direction: row;
    gap: 60px;
}

.ribbon-wrapper .left {
    flex: 1;
}
.ribbon-wrapper .right {
    flex: 1;
}

.ribbon-wrapper .center {
    min-width: 1240px;
    margin: auto;
}

@media (max-width: 1400px) {
    .ribbon-wrapper .center {
        min-width: 1000px;
    }
}
@media (max-width: 1100px) {
    .ribbon-wrapper .center {
        min-width: 800px;
    }
}
@media (max-width: 900px) {
    .ribbon-wrapper .center {
        min-width: 700px;
    }
}

.ribbon-wrapper h1 {
    font-style: italic;
    width: 90%;
    line-height: 1.1;
    padding-bottom: 20px;
}
.ribbon-wrapper.h1-over-ribbon h1 {
    margin-top: -100px !important;
}

.ribbon-wrapper p.blue {
    color: var(--secondary-color);
    margin-top: -30px;
    font-size: 24px;
    line-height: 30px;
    font-weight: 700;
    font-style: italic;
    margin-bottom: 20px;
}
@media (max-width: 549px) {
    .ribbon-wrapper p.blue {
        margin-bottom: 70px;
    }
}

.hero-w-snow-ribbon.package-ribbon .ribbon-wrapper p.blue {
    margin-bottom: 50px !important;
}

.package-ribbon h1 {
    font-size: 50px !important;
    line-height: 60px !important;
}


.ribbon-wrapper .left .ribbon-left {
    width: 100%;
    height: 100%;
    background-color: #00AACC;
    height: 67px;
}

.ribbon-wrapper .center .text {
    width: 100%;
    height: 100%;
    margin-top: -10px;
}

.ribbon-wrapper .right .ribbon-right {
    width: 100%;
    height: 100%;
    background-color: #00AACC;
    height: 67px;
}

.ribbon-wrapper .center .col-2 .button {
    background-color: transparent !important;
    border: 1px solid var(--secondary-color) !important;
    color: var(--secondary-color) !important;
    transform: skewX(-15deg);
    /* width: max-content !important; */
    /* padding-left: 50px;
    padding-right: 50px; */

    min-width: max-content !important;
    /* width: max-content !important; */
}

.ribbon-wrapper .center .col-2 .button span {
    color: var(--secondary-color) !important;

    transform: skewX(15deg);
    font-style: normal !important;
    
}

.ribbon-wrapper .left .ribbon-left {
    width: 100%;
    height: 100%;
    background-color: #00AACC;
    height: 67px;
    transform: translateX(-100%);
    opacity: 0;
    transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.ribbon-wrapper .left .ribbon-left.animate-in {
    transform: translateX(0);
    opacity: 1;
}

.left-skew::after {
    content: "";
    position: absolute;
    right: -10px;
    top: 0;
    width: 20px;
    height: 100%;
    background: #00AACC;
    transform: skewX(-15deg);
}

.ribbon-wrapper .right .ribbon-right {
    width: 100%;
    height: 100%;
    background-color: #00AACC;
    height: 67px;
    transform: translateX(100%);
    opacity: 0;
    transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.ribbon-wrapper .right .ribbon-right.animate-in {
    transform: translateX(0);
    opacity: 1;
}

.right-skew::before {
    content: "";
    position: absolute;
    left: -110px; /* Overlap with center */
    top: 0;
    width: 200px;
    height: 100%;
    background: #00AACC;
    transform: skewX(-15deg);
}
.home-sec7 .right-skew::before {
    left: -10px;
    width: 20px;
}

/* Center content animation */
.ribbon-wrapper .center {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.4s, transform 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.4s;
}
.ribbon-wrapper .center.animate-in {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1900px) {
    .snow-effect-1 .section-bg img {
        object-fit: contain;
        margin-top: 100px;
    }

    .snow-effect-1.big .section-bg img {
        transform: scaleY(1.5) scaleX(1.2);
        transform-origin: bottom;
    }
    
    .snow-effect-1 .section-bg {
        top: 0;
    }
    .snow-effect-1 {
        transform: scaleY(1);
    }
}

@media (max-width: 1200px) {
    .snow-effect-1 .section-bg {
        top: 0;
    }
    .snow-effect-1 .section-bg img {
        margin-top: 0px;
    }

}

@media (max-width: 849px) {
    .hero-w-snow-ribbon {
        margin-top: -100px !important;
    }

    .hero-w-snow-ribbon.package-ribbon {
        margin-top: -50px !important;
    }


    .ribbon-wrapper h1 {
        width: 100%;
        font-size: 38px !important;
        line-height: 42px !important;
        padding: 10px 15px 0px 15px;

        border-left: 10px solid var(--secondary-color);
        margin-right: 30px !important;
        margin-bottom: 30px;
    }

    .ribbon-wrapper p.blue {
        padding: 10px 25px;
        font-size: 16px;
        border-left: 10px solid var(--secondary-color-light);
    }

    .ribbon-wrapper {
        margin: 0px !important;
        gap: 0px !important;
    }

    .ribbon-wrapper .center {
        min-width: 100% !important;
        flex-direction: column !important;
        gap: 0px !important;
    }

    .ribbon-wrapper .center .col-1 {
        justify-content: center;
        padding-top: 20px;
    }

    .ribbon-wrapper .center .col-2 {
        flex-direction: column !important;
        gap: 0px !important;
        border-left: none !important;
        padding: 10px 15px !important;
        text-align: center;
        gap: 15px !important;
    }

    .left-skew:after,
    .right-skew::before {
        width: 0px;
        height: 0px;
    }
}

@media (max-width: 549px) { 
    .hero-w-snow-ribbon {
        margin-top: -50px !important;
    }

    .snow-effect-1 .section-bg {
        top: 33.3%;
    }

    .hero-w-snow-ribbon .ribbon-wrapper {
        padding-top: 0px;
        margin-bottom: -80px !important;
    }

    .home-s2.snow-effect-1 {
        height: 200px;
        margin-top: -200px;
        position: relative !important;
        transform: scaleY(0.8);
    }    
    .home-s2.snow-effect-1:after {  
        content: "";
        position: absolute;
        top: 0; left: 0;
        width: 100%; 
        height: 100%;
        background: linear-gradient(to top, rgba(255,255,255, 1) 50%, rgba(255,255,255, 0) 60%, rgba(255,255,255,0) 100%) !important;
        z-index: 1;
        pointer-events: none;
    }
    
    
    .snow-effect-1 .section-bg {
        top: unset !important;
    }

    .hero-w-snow {
        height: 200px;
    }
}





/*
** Swiper
*/

.swiper-wrapper {
    padding-top: 100px;
}
.swiper-button-prev,
.swiper-button-next {
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
}

.swiper-button-prev {
    margin-left: -30px;
}

.swiper-button-next {
    margin-left: 30px;
}

.home-sec10 .swiper-wrapper {
    padding-top: 0px;
}

.home-sec10 .swiper-button-prev,
.home-sec10 .swiper-button-next {
    display: none;
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-size: 24px;
    color: var(--secondary-color);
}

.tab-panels .swiper {
    margin-bottom: 50px;
}


/* 
** Booking Form
*/

.booking-s2 h1 {
    font-size: 48px;
    margin-bottom: 10px;
}

.booking-s2 .h1-sub-text {
    font-style: italic;
    font-weight: 400;
    font-size: 18px;
}

.wpcf7 .inner-layout {
    display: flex;
    gap: 115px;
}

.wpcf7 .inner-layout .left-col,
.wpcf7 .inner-layout .right-col {
    flex: 1;
}

@media (max-width: 1200px) {
    .wpcf7 .inner-layout {
        display: flex;
        flex-direction: column;
        gap: 40px;
    }
}

.wpcf7 label {
    color: #fff;
}

.wpcf7-form label br {
    margin-bottom: 10px !important;
}


.wpcf7-form .wpcf7-submit {
    border: 1px solid #fff;
    margin-top: 100px !important;
}


.wpcf7 .form-title p {
    font-size: 36px !important;
    line-height: 40px !important;
    /* font-family: 'Optima', sans-serif !important; */
    font-weight: 700;
    margin-bottom: 20px !important;
}

.wpcf7 .form-sub-text p {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 20px;
}

.wpcf7 .dates-title p {
    font-size: 20px;
    font-weight: 700;
    margin-top: 50px;
    margin-bottom: 20px;
}

/* .right-col {
    margin-top: 77px !important;
} */

@media (max-width: 768px) {
    .right-col {
        margin-top: 0px !important;
    }

    .wpcf7 .dates-title p {
        font-size: 14.4px !important;
    }
}

.wpcf7 .gap {
    height: 5px;
}

.wpcf7 .cc-textarea {
    display: none;
}

.wpcf7 .cc-dropdown {
    margin-bottom: 10px;
}

/* Style the radio group as a vertical list */
.wpcf7-form-control.wpcf7-radio {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  
  /* Style each radio item */
  .wpcf7-list-item {
    border: 2px solid #bfc3c3;
    height: 70px;
    /* background: #393d3d; */
    display: flex;
    align-items: center;
    transition: border-color 0.2s;
    margin-right: 0px !important;
  }
  
  @media (max-width: 768px) {
    .wpcf7-list-item .radio-content {
        display: flex;
        flex-direction: column;
    }
    
    .wpcf7-list-item .radio-content .radio-desc {
        margin-left: 0px;
    }
  }
  
  /* Make the label fill the row and align items */
  .wpcf7-list-item label {
    display: flex;
    align-items: center;
    width: 100%;
    cursor: pointer;
    padding-left: 20px;
    height: 100%;
    gap: 10px;
  }
  @media (max-width: 768px) {
    .wpcf7-list-item label {
        padding-left: 15px;
    }
  }
  
  /* Custom radio input style */
  .wpcf7-list-item input[type="radio"] {
    appearance: none;
    width: 24px;
    min-width: 24px !important;
    height: 24px;
    border: 2px solid #bfc3c3;
    margin: 0;
    margin-right: 24px;
    position: relative;
    transition: border-color 0.2s;
  }
  @media (max-width: 768px) {
    .wpcf7-list-item input[type="radio"] {
        margin-right: 12px;
    }
  }
  
  .wpcf7-list-item input[type="radio"]:checked {
    border: 2px solid #00aacc;
  }
  
  .wpcf7-list-item input[type="radio"]:checked::after {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    background: #00aacc;
    border-radius: 2px;
    position: absolute;
    top: 3px;
    left: 3px;
  }
  
  /* Style the label text */
  .wpcf7-list-item-label {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
  }
  @media (max-width: 768px) {
    .wpcf7-list-item-label {
        font-size: 16px !important;
    }
  }
  
  /* Optional: Add hover effect */
  .wpcf7-list-item:hover,
  .wpcf7-list-item input[type="radio"]:focus {
    border-color: #00aacc;
  }

.cc-dropdown,
.availability-text {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 30px;
    padding-bottom: 10px;
}
/* Change border and text color for checked radio item */
.wpcf7-list-item:has(input[type="radio"]:checked) {
    border-color: #00aacc;
}

.wpcf7-list-item:has(input[type="radio"]:checked) .wpcf7-list-item-label {
    color: #00aacc;
}

.wpcf7-list-item:has(input[type="radio"]:checked) .radio-desc {
    color: #00aacc;
}

.wpcf7-form-control.wpcf7-date.wpcf7-validates-as-date.custom-dates {
    max-width: 218px !important;
    padding: 30px 15px !important;
}

.wpcf7-response-output {
    color: #fff;
    border-radius: 0px !important;
    border-color: #00AACC;
    padding: 10px 15px !important;
}
.wpcf7-form.sent .wpcf7-response-output {
    border-color: #00AACC !important;
}
/* .wpcf7-form.invalid .wpcf7-response-output {
} */

.wpcf7-radio .radio-desc {
    display: inline-block;
    margin-left: 10px;
    margin-top: 5px;
    font-size: 1.1em;
    color: var(--secondary-color);
    font-weight: 500;
    font-style: italic;
    opacity: 0;
    transition: opacity 0.5s;
  }
  @media (max-width: 768px) {
    .wpcf7-radio .radio-desc {
        font-size: 14px !important;
    }
}


/* booking form - checkboxes */
/* Grid layout for months and season checkboxes */
.wpcf7-form-control.wpcf7-checkbox {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 20px;
}

/* Style each checkbox item like the radio */
.wpcf7-checkbox .wpcf7-list-item {
    border: 2px solid #bfc3c3;
    height: 70px;
    display: flex;
    align-items: center;
    transition: border-color 0.2s;
    margin-right: 0px !important;
    background: transparent;
    border-radius: 0;
    box-sizing: border-box;
}

/* Make the label fill the row and align items */
.wpcf7-checkbox .wpcf7-list-item label {
    display: flex;
    align-items: center;
    width: 100%;
    cursor: pointer;
    padding-left: 20px;
    height: 100%;
    gap: 10px;
}

/* Custom checkbox input style */
.wpcf7-checkbox .wpcf7-list-item input[type="checkbox"] {
    appearance: none;
    width: 24px;
    min-width: 24px !important;
    height: 24px;
    border: 2px solid #bfc3c3;
    margin: 0;
    margin-right: 24px;
    position: relative;
    transition: border-color 0.2s;
    background: transparent;
}

.wpcf7-checkbox .wpcf7-list-item input[type="checkbox"]:checked {
    border: 2px solid #00aacc;
    background: transparent;
}

.wpcf7-checkbox .wpcf7-list-item input[type="checkbox"]:checked::after {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    background: #00aacc;
    border-radius: 2px;
    position: absolute;
    top: 3px;
    left: 3px;
}

/* Style the label text */
.wpcf7-checkbox .wpcf7-list-item-label {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
}

@media (max-width: 768px) {
    .wpcf7-form-control.wpcf7-checkbox {
        grid-template-columns: repeat(2, 1fr);
    }
    .wpcf7-checkbox .wpcf7-list-item-label {
        font-size: 16px !important;
    }
    .wpcf7-checkbox .wpcf7-list-item label {
        padding-left: 15px;
    }
    .wpcf7-checkbox .wpcf7-list-item input[type="checkbox"] {
        margin-right: 12px;
    }
}

/* Optional: Add hover effect */
.wpcf7-checkbox .wpcf7-list-item:hover,
.wpcf7-checkbox .wpcf7-list-item input[type="checkbox"]:focus {
    border-color: #00aacc;
}

/* Change border and text color for checked checkbox item */
.wpcf7-checkbox .wpcf7-list-item:has(input[type="checkbox"]:checked) {
    border-color: #00aacc;
}
.wpcf7-checkbox .wpcf7-list-item:has(input[type="checkbox"]:checked) .wpcf7-list-item-label {
    color: #00aacc;
}


  
/* 
** Read More Styles 
*/
.read-more-textarea {
    position: relative;
    max-height: 300px;
    overflow: hidden;
    transition: max-height 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: max-height;
}

.read-more-textarea.expanded {
    max-height: 2000px; /* Set a large enough value to accommodate content */
}

.read-more-textarea::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100px;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    pointer-events: none;
    transition: opacity 0.5s ease-out;
    will-change: opacity;
}

.read-more-textarea.expanded::after {
    opacity: 0;
}

.read-more-button {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 0;
    color: var(--secondary-color);
    border: none;
    cursor: pointer;
    /* font-family: 'ABC Walter Neue', serif; */
    font-size: 16px;
    transition: all 0.3s ease;
    transform-origin: center;
    will-change: transform, opacity;
}

.read-more-button .more {
    display: inline-flex;
    align-items: center;
    transition: opacity 0.3s ease;
}

.read-more-button .more::after {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 10px;
    background-image: url("/wp-content/uploads/2025/06/Arrow-down-blue.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.3s ease;
}

.read-more-button:hover {
    opacity: 0.8;
}

/*
** Accordion
*/

.accordion-s .accordion-item > a {
    color: var(--secondary-color);
    font-weight: 500;
    font-size: 24px;
}

.accordion-s .accordion-item:first-child > a {
    border-top: 0px;
}

/* .accordion-title.active {
    background-color: var(--secondary-color-light-10);
} */

.accordion-s .accordion-item {
    background: rgba(227, 234, 241, 0.5);
    margin-bottom: 16px;
}

.accordion-s .accordion-item:hover {
    background: rgba(227, 234, 241, 0.45);
}

.accordion-s .accordion-item .accordion-title {
    border-top: 0px;
    padding: 1.6em 4.3em;
}

.accordion-s .accordion-item .accordion-inner {
    padding: 3em 5.3em;
}

.accordion-s .accordion .toggle {
    top: 1.3em;
    width: 4.3em;
}

@media (max-width: 768px) {
    .accordion-s .accordion-item .accordion-title {
        padding: 1.6em 2.8em;
    }
    .accordion-s .accordion-item .accordion-inner {
        padding: 3em 2.3em;
    }
    .accordion-s .accordion .toggle {
        width: 3em;
    }
}


/*
***
* PACKAGE GRID
***
*/

.package-card {
    transition: all 0.3s ease-in-out;
}

.package-card:hover img {
    /* transform: translateY(-10px) scale(1.05); */
    transform: scale(1.05);
}
/* 
.package-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 10px;
    margin-top: 40px;
    padding: 40px 0px !important;
} */
.package-info-grid--row {
    padding-bottom: 20px;
}

.package-info-grid--row > .col{
    background-color: #ffffff80;
    padding: 10px;
    /* margin: 0 5px;
    width: calc(100% - 10px) !important; */
    border: 3px solid rgb(227, 234, 241);
    /* border-radius: 8px !important; */
}

.package-info-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    text-align: left;
    /* background-color: #ffffff80; */
    /* border: 2px solid #000; */
    /* padding: 10px; */
    /* margin: -10px; */
}

.package-info-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    font-size: 20px;
}

.package-info-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
}

.package-info-text {
    flex: 1;
    color: #00000095;
    font-size: 17px;
    line-height: 1.5;
    margin: 0;
}

.package-info-text strong {
    font-weight: 600;
}

@media screen and (max-width: 550px) {
    .package-info-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
}


/* 
** Misc
*/
@media (min-width: 769px) {
    .icon-box--no-icon .icon-box-text {
        padding-left: 140px !important;
    }
}



/* s--registration-form */
.s--registration-form .gfield {
    color: #000 !important;
}
