/* Font faces - local assets */
@font-face {
    font-family: "Inter";
    src: url("../fonts/Inter-VariableFont.ttf") format("truetype");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Futura Cyrillic Demi";
    src: url("../fonts/FuturaCyrillicDemi.ttf") format("truetype");
    font-style: normal;
    font-display: swap;
}

:root {
    /*colors - primary & secondary */
    --c-primary: #ed7fad;
    --c-secondary: #eefaff;
    --c-primary-hover: #dd6f9d;
    --c-primary-light: rgba(237, 127, 173, 0.2);
    --c-primary-light-hover: rgba(237, 127, 173, 0.15);
    /*accent & utility*/
    --c-pink: #ed7fad;
    --c-pink2: #ed7fad;
    --c-white: #ffffff;
    --c-black: #000000;
    --c-text: #1a1a1a;
    --c-gray-light: #e5e6ea;
    --c-gray-muted: #9ca3af;
    --c-hero-bg: #2d1f4e;
    --c-border-accent: #3a3485;
    --c-overlay-transparent: rgba(255,255,255,0);
    --c-overlay-dark: rgba(0,0,0,0.8);
    --c-overlay-dark-alt: rgba(0,0,0,0.71);
    --c-shadow: rgba(0,0,0,0.15);
    --c-primary-dark: #2d4263;
    --c-primary-shadow: rgba(237, 127, 173, 0.35);
    --c-primary-border: rgba(237, 127, 173, 0.3);
    --c-primary-border-alt: rgba(237, 127, 173, 0.6);
    /*fonts family - CSS variables for theme customization*/
    --f-default: "Inter", sans-serif;
    --f-heading: "Futura Cyrillic Demi", sans-serif;
    /*font size*/
    --fs-12: 12px;
    --fs-13: 13px;
    --fs-14: 14px;
    --fs-15: 15px;
    --fs-16: 16px;
    --fs-18: 18px;
    --fs-20: 20px;
    --fs-21: 21px;
    --fs-22: 22px;
    --fs-24: 24px;
    --fs-27: 27px;
    --fs-30: 30px;
    --fs-32: 32px;
    --fs-34: 34px;
    --fs-40: 40px;
    --fs-48: 48px;
    --fs-53: 53px;
    --fs-60: 60px;
    --fs-70: 70px;
    --fs-80: 80px;
}

html {scroll-behavior: smooth;}
body {font: 400 var(--fs-18)/1.4 var(--f-default); position: relative;}


a {text-decoration: none;transition: all 0.3s ease;}
* {box-sizing: border-box;scroll-margin-top: 90px;}
button, a {cursor: pointer}
.text__primary {color: var(--c-text);}
.text__secondary {color: var(--c-secondary);}
.text__secondary2 {color: var(--c-secondary);}
.tboa_cp{cursor:pointer!important;}
.zoomToggle{opacity:0; transition:opacity 1s ease;}
.lightBoxEffect:hover .zoomToggle {opacity: 1; transition: opacity 0.4s ease;}
.zoomToggle svg{background: var(--c-black); padding:4px; fill: var(--c-white); border-radius:4px;}
.lg-thumb-item:first-child{display:none}
.theBest .card-body{min-height:120px;}
.w-fit{width:fit-content!important}
.overlay__custom{background:linear-gradient(to bottom, var(--c-overlay-transparent) 35%, var(--c-overlay-dark));z-index:1}
.overlay2__custom{background:linear-gradient(to bottom, var(--c-overlay-dark-alt) 35%, var(--c-overlay-dark-alt));z-index:1}

.btn__primary {background-color: var(--c-primary);color: var(--c-white);transition: 0.7s ease-in-out;}
.btn__primary:hover, .btn__primary:focus, .btn__primary:active {color: var(--c-white);box-shadow: 0 0 0 50px var(--c-secondary) inset;}
.btn__secondary{background-color: var(--c-white);color: var(--c-primary);transition: 0.7s ease-in-out;}
.btn__secondary:hover, .btn__secondary:focus, .btn__secondary:active {color: var(--c-primary);box-shadow: 0 0 0 50px var(--c-secondary) inset;border-color: var(--c-primary)}
.btn__pink{background: var(--c-pink2)}
.btn__pink:hover, .btn__pink.active,.btn__pink:hover, .btn__pink:focus, .btn__pink:active{background: var(--c-pink)!important}
.custom__border {position: relative;}
.bg__primary{background:var(--c-primary)}
.bg__secondary{background:var(--c-secondary)}
.bg__secondary2{background:var(--c-secondary)}
.bg__pink{background:var(--c-pink)}
.bg__pink2{background:var(--c-pink2)}
.primary__heading {font: 800 var(--fs-32)/1.3 var(--f-heading);}
.primary__subHeading {font: 700 var(--fs-32)/1.3 var(--f-default);}
.secondary__textShadow {text-shadow: 0px 0px 0px var(--c-secondary)!important;}
.white__textShadow {text-shadow: 0px 0px 0px var(--c-secondary)!important;}
.primary__para {font: var(--fs-17) var(--f-default);}
.custom__border::after {position: absolute;content: "";background: var(--c-border-accent);bottom: 0;left: 0;width: 80%;height: 3px;}
.custom__arrowList li {list-style: none;position: relative;margin-bottom:10px}
.custom__arrowList li::before {position: absolute;content: "";background: url("../images/icon3.png") no-repeat center center;padding: 12px 25px;
        top: 0;left: -50px;}
.custom__flightList li {list-style: none;position: relative}
.custom__flightList li::before {position: absolute;content: "";background: url("../images/icon9.png") no-repeat center center;filter: opacity(0.5);
        background-size: 18px;padding: 30px;top: 50%;transform: translateY(-50%);left: -50px;}

.custom__bulletList li {list-style: none;position: relative;white-space: break-spaces;}
.custom__bulletList li::before {position: absolute;content: "";background: url("../images/icon7.webp") no-repeat center center;background-size: 18px;padding: 15px 20px 15px 30px;/*top: 50%;transform: translateY(-50%);*/left: -50px;}
.custom__bulletList--2x2grid {display: grid;grid-template-columns: repeat(2, 1fr);gap: 7px;}
/*.custom__borderdashed{border:3px solid transparent;border-image: url('../images/border__element1.webp') 30 repeat;}
*/


 /* Minimal custom CSS for animations and effects */
        .hover-scale {transition: transform 0.3s ease, box-shadow 0.3s ease;}
        .hover-scale:hover {transform: scale(1.02);box-shadow: 0 10px 25px var(--c-shadow);}
        .writing-vertical-rl {writing-mode: vertical-rl;text-orientation: mixed;}
/* Theme-aware utilities */
.thingstodo-keypoints::marker { color: var(--c-primary); }
.thingstodo-tab.active { background-color: var(--c-primary); }
.thingstodo-cta { background-color: var(--c-primary); }
.thingstodo-cta:hover { background-color: var(--c-primary-hover); }

@media only screen and (min-width: 1199.98px) {
.animateScrollFadeGrow {opacity: 0;visibility: hidden;transform: scale(0.75);animation: scrollFadeGrow 3s alternate;animation-fill-mode: forwards;
    animation-timeline: view(block 95% 10%);}
.fCardLeftAnimation {transform: translateX(50%);}
.fCardRightAnimation {transform: translateX(-50%);}
.fCardLeftAnimation, .fCardRightAnimation {opacity: 0;visibility: hidden;animation: fCardAnimation 3s alternate;animation-fill-mode: forwards;animation-timeline: view(block 95% 10%);}

}

@media only screen and (max-width: 1199.98px) {
    :root {
        --fs-15: 13px;
        --fs-16: 16px;
        --fs-17: 15px;
        --fs-18: 16px;
        --fs-20: 18px;
        --fs-21: 19px;
        --fs-22: 20px;
        --fs-24: 22px;
        --fs-27: 25px;
        --fs-32: 31px;
        --fs-34: 32px;
        --fs-53: 51px;
    }
    .hCtrol {height: 360px;overflow-x: hidden;overflow-y: auto;}
    .custom__bulletList--2x2grid {display: grid;grid-template-columns: repeat(1, 1fr);text-align: left;}
.animateScrollFade {opacity: 0;visibility: hidden;animation: scrollFade 3s alternate;animation-fill-mode: forwards;animation-timeline: view(block 95% 10%)}
}

@media only screen and (max-width: 1023.98px) {
    :root {
        --fs-15: 13px;
        --fs-17: 15px;
        --fs-20: 17px;
        --fs-21: 18px;
        --fs-22: 20px;
        --fs-24: 22px;
        --fs-27: 25px;
        --fs-32: 28px;
        --fs-53: 51px;

    }
   
}

@media only screen and (max-width: 991.98px) {
    :root {
        --fs-53: 45px;
        --fs-70: 60px;
        --fs-27: 22px;
        --fs-34: 28px;
    }
}

@media only screen and (max-width: 767.98px) {
    :root {
        --fs-53: 45px;
        --fs-70: 60px;
        --fs-27: 22px;
        --fs-32: 24px;
    }
}

@media only screen and (max-width:575.98px) {
    :root {
        --fs-15: 11px;
        --fs-34: 30px;
        --fs-53: 37px;
        --fs-70: 50px;
        --fs-27: 20px;
        --fs-32: 26px;
        --fs-18: 14px;
    }
    }

/*SHINE EFFECT*/

.shine {position: relative;overflow: hidden;font-size: 1.1rem;padding: 1rem 3rem;border-radius: 4px;text-decoration: none;border: 1px solid rgba(255, 255, 255, 0.2);
    /*  color: #f4f4f4;*//*background: var(--btn-bg);*/
    /*  .shine:not(:last-child) {margin-bottom: 3rem;}*/
}
.shine::before {content: "";position: absolute;top: 0;width: 100%;height: 100%;background: linear-gradient( 120deg, transparent,rgba(255, 255, 255, 0.4), transparent );}
.shine-hover::before {left: -100%;transition: all 0.4s ease-in-out;}
.shine-hover:hover::before {left: 100%;}

/* Hero image slide-in animation (left to right) */
.hero-image-slide {
    animation: heroSlideIn 1s ease-out forwards;
}

@keyframes heroSlideIn {
    from {
        transform: translateX(-100%);
        opacity: 0.7;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/*Keyframes starts*/


@keyframes fade-in {
    to {
        opacity: 1;
        visibility: visible
    }
}

@keyframes fade-grow-in {
    to {
        opacity: 1;
        visibility: visible;
        transform:initial
    }
}

@keyframes zoom-out {
    to {
        scale: 1;
        opacity: 1;
        visibility: visible
    }
}

@keyframes moveupdown {

    to {
        transform: translateY(-10px)
    }
}

@keyframes slideLeft {
    to {
        transform: translateX(0px);
        visibility: visible
    }
}

@keyframes fCardAnimation {
    to {
        transform: translateX(0);
        opacity: 1;
        visibility: visible;
    }
}

/*Keyframes ends*/

@keyframes scrollFade {
    to {opacity: 1;visibility: visible;transform: scale(1)}
}

@keyframes scrollFadeGrow {
    to {opacity: 1;visibility: visible;transform: scale(1)}
}
 @keyframes flashElement {
        0%{opacity:1;visibility:visible}
        10%{opacity:1;visibility:visible}
        20%{opacity:1;visibility:visible}
        30%{opacity:1;visibility:visible}
        40%{opacity:1;visibility:visible}
        50%{opacity:0;visibility:hidden}
        53%{opacity:1;visibility:visible}
         60%{opacity:1;visibility:visible}
        70%{opacity:1;visibility:visible}
        80%{opacity:1;visibility:visible}
        90%{opacity:1;visibility:visible}
        100%{opacity:1;visibility:visible}
    }
@keyframes slideReset {
    to{
    opacity:1; visibility: visible; transform: translateX(0px);
    }
}