/* Fonts */

@font-face {
    font-family: Myriad;
    src: url('./fonts/FontsFree-Net-MYRIADPRO-REGULAR.ttf');
}

@font-face {
    font-family: Gotham;
    src: url('./fonts/FontsFree-Net-Gotham-Light.ttf');
}

@font-face {
    font-family: Vanitas;
    src: url('./fonts/FontsFree-Net-vanitas.ttf');
}

/* No Select */

.noselect, img {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Old versions of Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently
                        supported by Chrome, Edge, Opera and Firefox */
    pointer-events: none;
}

/* Loading Page */

.loadingPage {
    position: fixed;
    background-color: #f6f2ed;
    width: 100vw;
    height: 100vh;
    z-index: 90000000000000000000000000000000000000;
    pointer-events: none;
}

/* Defaults */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    background-color: #f6f2ed;
    font-size: 10px;
    color: #ffffff;
    scroll-behavior: smooth;
    /* cursor: none; */
}

body {
    background-color: #f6f2ed;
    box-sizing: border-box;
    z-index: 100;
    font-size: 10px;
    box-sizing: border-box;
    width: 100vw;
    height: 100vh;
    overflow-x: hidden;
}

.webgl {
    position: fixed;
    outline: none;
    box-sizing: border-box;
    width: 100vw;
    height: 100vh;
    z-index: 10;
    pointer-events: none;
}

main {
    position: absolute;
    overflow-x: hidden;
}

/* Responsive */

/* Max-Width 1080px */

@media screen and (max-width: 1080px) {

    @media (orientation: Portrait) {
        /* Portrait */

        html {
            font-size: 5px !important;
        }

        #heroImageResponsive {
            height: 100vh !important;
        }

        .cloudText {
            opacity: 0.2;
            padding-top: 5rem;
            padding-bottom: 5rem;
            font-size: 6rem !important;
        }

        .orangeContainerResponsive {
            justify-content: center !important;
        }

        .showcase2TextTopResponsive {
            font-size: 3.5rem !important;
        }

        .underlinedTextResponsive {
            font-size: 6rem !important;
        }

        .bookingBarDivResponsive {
            width: 90vw !important;
        }

        .bookingBarButtonsResponsive {
            width: calc(90vw/4) !important;
        }

        .bookingBarLogos {
            transform-origin: center;
            transform: scale(0.5);
        }

        .nextButton {
            display: none !important;
        }

        .whiteTextImageResponsive {
            width: 90vw !important;
        }

        .cloudImageResponsive {
            position: absolute !important;
            bottom: 10rem !important;
            width: 100vw !important;
        }

        .dragScrollResponsive {
            width: 100vw !important;
        }

        .dragScrollContentResponsive {
            width: 100vw !important;
            overflow-x: scroll !important;
            scroll-snap-type: x mandatory;
        }

        .aircraftImage {
            transform: scale(1) !important;
            opacity: 1 !important;
            width: 80vw !important;
            scroll-snap-align: center;
        }

        .responsiveScrollDiv {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100vw !important;
        }

        .aircraftSliderActualResponsive {
            width: 300vw !important;
            margin-left: 200vw !important;
            z-index: -1 !important;
        }

        .aircraftSliderTextTopResponsive {
            font-size: 3.5rem !important;
        }

        .aircraftSliderTextBottomResponsive {
            font-size: 6rem !important;
        }

        .sliderSVGContainerResponsive {
            transform: scale(0.25) !important;
        }

        .aircraftTypeTextDivResponsive {
            font-size: 2.5rem !important;
            padding: 0rem !important;
        }

        #hero2TextImage {
            width: 90vw !important;
        }

        .cityBorderResponsive {
            width: 90vw !important;
            border-radius: 50%;
        }

        #hero2WindowImage {
            width: 100vw !important;
        }

        .infiniteMarqueeResponsive {
            justify-content: space-evenly !important;
        }

        .topMarqueeTextDivResponsive {
            font-size: 3.5rem !important;
        }

        .marqueeCardResponsive {
            font-size: 7.5rem !important;
        }

        #showcase3Image {
            width: 90vw !important;
        }

        .showcase3TextDiv {
            width: 90vw !important;
            flex-direction: column !important;
            align-items: center !important;
        }

        .showcase3TextHeaderResponsive {
            width: 90vw !important;
            font-size: 6rem !important;
            text-align: center !important;
            margin-bottom: 3rem !important;
        }

        .showcase3TextBodyResponsive {
            width: 90vw !important;
            padding: 0 !important;
            font-size: 3rem !important;
            font-weight: normal !important;
            text-align: center !important;
        }

        .mobileShowcaseDivResponsive {
            flex-direction: column !important;
        }

        .leftSideMobileShowcaseDivResponsive {
            width: 80vw !important;
            padding-right: 0 !important;
            height: 50vh !important;
        }

        .leftSideMobileShowcaseResponsive {
            width: 80vw !important;
        }

        .bodyMobileTextDivResponsive {
            font-size: 2.5rem !important;
        }

        .rightSideMobileShowcaseDivResponsive {
            width: 80vw !important;
            height: 50vh !important;
        }

        .mobileViewsDivResponsive {
            transform: translateY(-5vh);
        }

        .mobileImagesResponsive {
            width: 50% !important;
        }

        .highlightImagesResponsive {
            height: 70vh !important;
            width: auto !important;
        }

        #imageHighlighterLeft {
            justify-content: flex-end !important;
        }

        #imageHighlighterRight {
            justify-content: flex-start !important;
        }

        #finalHeroImage {
            height: 100vh !important;
        }

        #finalHeroNameLogoImage {
            width: 90vw !important;
        }

        #mobileLogo {
            display: none !important;
        }
    }
      
    @media (orientation: landscape) {
        /* Landscape */

        html {
            font-size: 5px !important;
        }

        #heroImageResponsive {
            width: 100vw !important;
        }

        #centerImage {
            display: none !important;
        }

        .heroDescriptionTextResponsive {
            color: #eee9e2 !important;
        }

        .cloudText {
            opacity: 0.2;
            padding-top: 5rem;
            padding-bottom: 5rem;
            font-size: 6rem !important;
        }

        .orangeContainerResponsive {
            justify-content: center !important;
        }

        .showcase2TextTopResponsive {
            font-size: 3.5rem !important;
        }

        .underlinedTextResponsive {
            font-size: 6rem !important;
        }

        .bookingBarDivResponsive {
            width: 90vw !important;
        }

        .bookingBarButtonsResponsive {
            width: calc(90vw/4) !important;
        }

        .bookingBarLogos {
            transform-origin: center;
            transform: scale(0.5);
        }

        .nextButton {
            display: none !important;
        }

        .whiteTextImageResponsive {
            width: 90vw !important;
        }

        .cloudImageResponsive {
            position: absolute !important;
            bottom: 10rem !important;
            width: 100vw !important;
        }

        .dragScrollResponsive {
            width: 100vw !important;
        }

        .dragScrollContentResponsive {
            width: 100vw !important;
            overflow-x: scroll !important;
            scroll-snap-type: x mandatory;
        }

        .aircraftImage {
            transform: scale(1) !important;
            opacity: 1 !important;
            width: 80vw !important;
            scroll-snap-align: center;
        }

        .responsiveScrollDiv {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100vw !important;
        }

        .aircraftSliderActualResponsive {
            width: 300vw !important;
            margin-left: 200vw !important;
            z-index: -1 !important;
        }

        .aircraftSliderTextTopResponsive {
            font-size: 3.5rem !important;
        }

        .aircraftSliderTextBottomResponsive {
            font-size: 6rem !important;
        }

        .sliderSVGContainerResponsive {
            transform: scale(0.25) !important;
        }

        .aircraftTypeTextDivResponsive {
            font-size: 2.5rem !important;
            padding: 0rem !important;
        }

        #hero2TextImage {
            width: 90vw !important;
        }

        .cityBorderResponsive {
            width: 100vh !important;
            border-radius: 50%;
        }

        .infiniteMarqueeResponsive {
            justify-content: space-evenly !important;
        }

        .topMarqueeTextDivResponsive {
            font-size: 3.5rem !important;
        }

        .marqueeCardResponsive {
            font-size: 9rem !important;
        }

        .showcase3ContainerResponsive {
            flex-direction: row !important;
            justify-content: space-between !important;
            width: 90vw !important;
        }

        #showcase3Image {
            width: 40vw !important;
        }

        .showcase3TextDiv {
            width: 45vw !important;
            flex-direction: column !important;
            align-items: center !important;
        }

        .showcase3TextHeaderResponsive {
            width: 45vw !important;
            font-size: 6rem !important;
            margin-bottom: 3rem !important;
        }

        .showcase3TextBodyResponsive {
            width: 45vw !important;
            padding: 0 !important;
            font-size: 3rem !important;
            font-weight: normal !important;
        }

        .mobileShowcaseDivResponsive {
            padding: 10vw !important;
        }

        .leftSideMobileShowcaseDivResponsive {
            width: 40vw !important;
            padding-right: 0 !important;
            height: 50vh !important;
        }

        .leftSideMobileShowcaseResponsive {
            width: 40vw !important;
        }

        .bodyMobileTextDivResponsive {
            font-size: 2.5rem !important;
        }

        .rightSideMobileShowcaseDivResponsive {
            width: 40vw !important;
            height: 50vh !important;
        }

        .mobileViewsDivResponsive {
            transform: translateY(-5vh);
        }

        .mobileImagesResponsive {
            width: 30% !important;
        }

        .highlightImagesResponsive {
            height: 70vh !important;
            width: auto !important;
        }

        #imageHighlighterLeft {
            justify-content: flex-end !important;
        }

        #imageHighlighterRight {
            justify-content: flex-start !important;
        }

        #finalHeroImage {
            width: 100vw !important;
        }

        #finalHeroNameLogoImage {
            width: 90vw !important;
        }
    }

    /* Responsive Common */
    .sliderButtonsDiv {
        display: none !important;
    }
}

/* Hero */

.heroSection {
    width: 100vw;
    height: 80vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

#heroImage {
    width: 100vw;
    position: absolute;
}

#heroNameLogoImage {
    position: relative;
    z-index: 1;
}

.heroSectionTextDiv {
    width: 100vw;
    height: 80vh;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    flex-direction: column;
    font-size: 8.6rem;
    font-family: Vanitas;
    letter-spacing: 0.2rem;
    position: absolute;
}

.cloudText {
    opacity: 0.2;
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.heroSectionText {
    position: relative;
    z-index: 1;
}

.circleText {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
}

.circleTextSVG {
    fill: #ffffff;
    transform-origin: center;
}

.svgText {
    font-family: Myriad;
    letter-spacing: 4.1px;
    font-size: 10px;
}

.scrollDownImageDiv {
    position: absolute;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    transform-origin: center;
    transform: scale(0.65);
    padding: 2rem;
    border-radius: 50%;
}

#scrollDownArrowImage {
    fill: #ffffff;
}

.scrollDownDiv {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    width: 10rem;
    height: 10rem;
}

/* Hero Description */

.heroDescriptionSection {
    width: 100vw;
    height: 65vh;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: Vanitas;
    font-weight: bold;
    letter-spacing: 0.1rem;
}

.heroDescriptionText {
    position: absolute;
    z-index: 0;
    color: #000000;
    font-size: 3.3rem;
    text-align: center;
    width: 69rem;
    opacity: 0;
}

.centerImage {
    position: absolute;
    z-index: -10;
}

/* Showcase 1 Div */

.showcase1Div {
    width: 100vw;
    height: 100vh;
    background-color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 20000000;
    position: relative;
}

.orangeContainer {
    width: 134.6rem;
    height: 73rem;
    background-color: #1b3718;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-direction: column;
    box-shadow: 0 0 2rem 1rem #dbac7a1a ;
}

#showcase1 {
    width: min(105.5rem, 90vw);
    box-shadow: 0 0 50px #000000;
}

.searchBarDiv {
    width: min(105.5rem, 90vw);
    height: 3.5rem;
    background-color: #f6f2ed;
    margin-bottom: 2rem;
    border-radius: 0.5rem 0.5rem 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    position: relative;
    z-index: 1;
}

.browserCircles {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-right: 1.5rem;
}

.redCircle {
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 50%;
    background-color: #dbac7a;
}

.whiteCircle {
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 50%;
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    background-color: #1b3718;
}

.greenCircle {
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 50%;
    background-color: #ffffff;
}

.searchBar {
    width: 100%;
    height: 2.2rem;
    background-color: #ffffff;
    border-radius: 1.1rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-left: 2rem;
    color: #000000;
    font-family: Myriad;
}

/* Site Showcase 2 Div */

.showcase2Div {
    width: 100vw;
    height: 65vh;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    position: relative;
    z-index: 100;
    font-family: Vanitas;
}

.cloudImageDiv {
    position: absolute;
    height: 65vh;
    width: 100vw;
    overflow: hidden;
    z-index: 10;
}

.showcase2TextDiv {
    color: #000000;
    text-align: center;
}

.showcase2TextTop {
    font-size: 2.4rem;
}

.showcase2TextBottom {
    font-size: 7rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
}

.underlineBorder {
    border-bottom: 1px solid #dbac7a;
}

.bookingBarDiv {
    width: 151.2rem;
    height: 7.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #ffffff;
    position: relative;
    z-index: 10000000000;
    box-shadow: 0 0 10rem 2rem #0000001a;
    font-family: Gotham;
    cursor: default;
}

.bookingBarButtons {
    width: calc(130rem/4);
    height: 100%;
    border-right: 1px solid #e1e1e1;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 2rem;
    color: #000000;
    font-size: 1.5rem;
    font-weight: bold;
}

.bookingBarLogos {
    margin-right: 2rem;
}

#passengerBookingBar {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.passengerButton {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    border: 1px solid #acacac;
    font-size: 2rem;
    color: #acacac;
}

.minusLine {
    width: 1rem;
    border-bottom: 1px solid #acacac;
}

.nextButton {
    width: calc(100% - 130rem);
    height: 100%;
    background-color: #1b3718;
    color: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.2rem;
    letter-spacing: 0.35rem;
}

#whiteTextImage {
    position: relative;
    z-index: 1000;
    transform: translateY(10rem);
}

/* Aircraft Slider */

.aircraftSlider {
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #000000;
    background-color: #ffffff;
    position: relative;
    z-index: 30000;
    font-family: Vanitas;
}

.dragScroll {
    width: 60vw;
    height: 75vh;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    position: relative;
    box-shadow: inset 0 0 1rem 1rem #0000001a;
    overflow: hidden;
    padding: 2rem;
    background-color: #dbac7a07;
}

.dragScrollContent {
    width: 100vw;
    height: 75vh;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    position: absolute;
    transform-origin: center;
}

.aircraftSliderTextTop {
    font-size: 2.4rem;
    text-align: center;
}

.aircraftSliderTextBottom {
    font-size: 5rem;
    text-align: center;
}

.blackUnderline {
    border-bottom: 1px solid #000000;
    margin-top: 1rem;
    position: relative;
    transform-origin: center;
}

.aircraftImage {
    width: 50vw;
    transform-origin: center;
}

.aircraftSliderActual {
    width: 100vw;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sliderButtonsDiv {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
}

.aircraftTypeTextDiv {
    font-size: 2.4rem;
    padding-left: 5rem;
    padding-right: 5rem;    
}

/* Second Hero Section */

.secondHero {
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    background-color: #030303;
    position: relative;
    z-index: 0;
}

.hero2Images {
    position: absolute;
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.cityBorder {
    width: 40rem;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Site Showcase 2 Div */

.showcase2Div {
    width: 100vw;
    height: 50vh;
    position: relative;
    z-index: 30000; 
    background-color: #f6f2ed;
}

/* Infinite Marquee */

.infiniteMarquee {
    width: 100vw;
    height: 50vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: #000000;
    overflow: hidden;
}

.topMarqueeTextDiv {
    font-size: 5rem;
    color: #dbac7a;
    transform: translateY(3vh);
    background-color: #f6f2ed;
    padding-right: 0.5rem;
}

.marqueeDiv {
    width: 100vw;
    overflow: hidden;
    border-top: 0.2rem solid#dbac7a;
    border-bottom: 0.2rem solid#dbac7a;
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.marqueeSliderDiv {
    width: 300vw;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.marqueeCard {
    font-size: 12rem;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 4rem;
    text-align: center;
}

.marqueeLogo {
    margin-left: 4rem;
}

/* Site Showcase 3 Div */

.showcase3Div {
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.showcase3Container {
    width: 107.5rem;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.showcase3TextDiv {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row;
    color: #000000;
    margin-top: 10rem;
}

.showcase3TextHeader {
    font-size: 5rem;
    font-family: Vanitas;
    width: 30rem;
}

.showcase3TextBody {
    width: 60rem;
    font-size: 1.7rem;
    font-family: Gotham;
    line-height: 3rem;
    font-weight: bold;
}

/* Image Highlighter */

.imageHighlighter {
    width: 100vw;
    height: 70vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.imageHighlighterDiv {
    width: 9vw;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    transform-origin: center;
    overflow: hidden;
    margin-left: 1rem;
    margin-right: 1rem;
    box-shadow: 0 0 5rem 0.01rem #0000001a;
}

.highlightImages {
    height: 100%;
}

/* Mobile Showcase */

.mobileShowcaseDiv {
    width: 100vw;
    height: 80vh;
    background-color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 400000;
}

.leftSideMobileShowcaseDiv {
    width: 50%;
    display: flex;
    justify-content: flex-end;
    padding-right: 13rem;
    align-items: center;
    padding-bottom: 12rem;
}

.leftSideMobileShowcase {
    width: 60rem;
}

.headerMobileTextDiv {
    width: 100%;
    text-align: left;
    font-size: 5rem;
    color: #000000;
    margin-top: 5rem;
    margin-bottom: 5rem;
    font-family: Vanitas;
}

.bodyMobileTextDiv {
    width: 100%;
    text-align: left;
    font-family: Gotham;
    font-size: 1.6rem;
    color: #000000;
    line-height: 3rem;
}

.rightSideMobileShowcaseDiv {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.rightsideMobileShowcase {
    width: 60rem;
}

.clearLogoDiv {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.mobileViewsDiv {
    display: flex;
    justify-content: center;
    align-items: center;
}

.mobileImages {
    border: 1px solid #dbac7a;
    border-radius: 1.9rem;
    box-shadow: 0 0 0 1rem #dbac7a;
}

#mobile1 {
    margin-right: 10rem;
}

/* Image Sliders Section */

.imageSlidersSection {
    width: 100vw;
    height: 100vh;
    background-color: #1b3718;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 300000000000;
}

.imageSlidersDiv {
    display: flex;
    justify-content: center;
    align-items: center;
}

.imageSlider {
    border: 1px solid #dbac7a;
    border-radius: 2rem;
    box-shadow: 0 0 0 1rem #dbac7a;
    width: 50rem;
    height: 60rem;
    overflow: hidden;
    margin-bottom: 12rem;
    margin-left: 12rem;
    margin-right: 12rem;
}

/* Final Hero Section */

.finalHeroSection {
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

#finalHeroImage {
    position: absolute;
    height: 100vh;
}

#finalHeroNameLogoImage {
    position: absolute;
}