@font-face {
    font-family: BatickRodist;
    src: url('/fonts/Batick-Rodist-Serif.ttf');
}

@font-face {
    font-family: BebasNeue;
    src: url('/fonts/Russian.ttf');
}

@font-face {
    font-family: Minion Variable Concept;
    src: url('/fonts/Minion-Variable-Concept.otf');
}

body {
    background: #F3F2E9!important;
    overflow-x: hidden!important;
}

.clock-ipad {
    display: none;
}

.home-mobile {
    display: none;
}

.home {
    display: flex;
    height: 100vh;
    background:
        linear-gradient(180deg, rgba(243, 242, 233, 0.70) 0%, rgba(237, 236, 227, 0.70) 77%, rgba(141, 140, 135, 0.14) 100%),
        url('/img/bricks.svg'), repeat-y;
    position: relative;
    border-bottom: 15px solid #000;
}

.logo-container {
    height: 100vh;
    padding-bottom: 15px;
}

.logo {
    fill: #222D66;
    max-width: 360px;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
    margin-top: 40px;
}

.menu {
    margin-top: 40px;
    margin-right: 100px;
}

.pillar {
    position: relative;
    /*perspective: 1000px;*/
    /*max-width: 438px;*/
    /*width: 100%;*/
}

.pillar-image {
    width: 100%;
    height: 100vh;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

.sign {
    position: absolute;
    width: 250px;
    transform-origin: top center;
    transform-style: preserve-3d;
    cursor: pointer;
    z-index: 10;
}

.sign1 {
    top: 525px;
    left: 216px;
    animation: swing 2s infinite ease-in-out alternate;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

.sign2 {
    top: 625px;
    left: 216px;
    animation: swing 2.5s infinite ease-in-out alternate;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

.sign3 {
    top: 725px;
    left: 216px;
    animation: swing 3s infinite ease-in-out alternate;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

.sign4 {
    top: 760px;
    left: 216px;
    animation: swing 3.5s infinite ease-in-out alternate;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

@keyframes swing {
    0% { transform: rotateY(-10deg); }
    50% { transform: rotateY(0deg); }
    100% { transform: rotateY(10deg); }
}

.tunnel-container {
    position: relative;
}

.tunnel-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.train-front {
    position: absolute;
    top: 19%;
    left: 50%;
    transform: translate(-50%, -10%) scale(0);
    animation: emerge 10s ease-in-out forwards;
    max-height: 630px;
}

@keyframes emerge {
    0% {
        transform: translate(-50%, -10%) scale(0);
    }
    100% {
        transform: translate(-50%, -50%) scale(1);
    }
}

.train-animation {
    width: 100%;
    overflow: hidden;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.home-train {
    width: 100%;
    height: auto;
    animation: moveHomeTrain 10s ease-out infinite;
}

@keyframes moveHomeTrain {
    0% {
        transform: translateX(100%);
    }
    100% {
        transform: translateX(0);
    }
}

.light {
    position: absolute;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 0, 0.9), transparent);
    box-shadow: 0 0 20px rgba(255, 255, 0, 0.5);
    animation: lightGlow 10s ease-in-out forwards;
}

.light.left {
    top: 58%;
    left: 37%;
    transform: translate(-50%, -50%) scale(0);
}

.light.right {
    top: 58%;
    left: 63%;
    transform: translate(-50%, -50%) scale(0);
}


@keyframes lightGlow {
    0% {
        transform: translate(-50%, -50%) scale(0);
    }
    50% {
        transform: translate(-50%, -50%) scale(1.2);
    }
    100% {
        transform: translate(-50%, -50%) scale(1);
    }
}

.departure-board {
    padding:  0.36em;
    display: inline-block;
    line-height: 1.3em;
    background: rgb(37 46 99);
    -webkit-border-radius: 0.21em;
    -moz-border-radius: 0.21em;
    border-radius: 0.21em;
    color: #e6e6e5;
    width: fit-content;
    margin: 0 auto;
}

.departure-board span.letter {
    display: inline-block;
    width: 60px;
    margin: 0 0.1em;
    height: 100px;
    text-align: center;
    position: relative;
    font-family: BatickRodist!important;
}


.departure-board span.letter {
    -webkit-box-shadow:
        inset 0 -0.07em 0 rgb(3 9 45),
        inset 0 -0.14em 0 rgb(8 16 51),
        inset 0.14em 0 0.28em rgb(2 9 48),
        inset -0.14em 0 0.28em rgb(14 24 71),
        0 0.07em 0 rgb(255 255 255 / 20%);

    -moz-box-shadow:
        inset 0 -0.07em 0 rgb(3 9 45),
        inset 0 -0.14em 0 rgb(8 16 51),
        inset 0.14em 0 0.28em rgb(2 9 48),
        inset -0.14em 0 0.28em rgb(14 24 71),
        0 0.07em 0 rgb(255 255 255 / 20%);

    -o-box-shadow:
        inset 0 -0.07em 0 rgb(3 9 45),
        inset 0 -0.14em 0 rgb(8 16 51),
        inset 0.14em 0 0.28em rgb(2 9 48),
        inset -0.14em 0 0.28em rgb(14 24 71),
        0 0.07em 0 rgb(255 255 255 / 20%);

    box-shadow:
        inset 0 -0.07em 0 rgb(3 9 45),
        inset 0 -0.14em 0 rgb(8 16 51),
        inset 0.14em 0 0.28em rgb(2 9 48),
        inset -0.14em 0 0.28em rgb(14 24 71),
        0 0.07em 0 rgb(255 255 255 / 20%);
}


.departure-board span.letter:before {
    border-top: 0.07em solid rgba(0, 0, 0, .4);
    border-bottom: 0.07em solid rgba(255, 255, 255, .08);
    height: 0;
    position: relative;
    width: 100%;
    left: 0;
    top: 3em;
    content: " ";
    display: block;
    z-index: 2;
    -moz-transform: translate(0, -.05em);
    -o-transform: translate(0, -.1em);
}


.departure-board span.fold {
    display: block;
    position: absolute;
    height: 0;
    top: .65em;
}


.departure-board span.flap {
    display: block;
    position: absolute;
    top: -1000px;
    width: inherit;
    height: inherit;
    margin: 0;
    overflow: hidden;
}


.departure-board span.text {
    width: 100%;
    font-size: 70px;
}


.departure-board span.bottom {
    top: .65em;
}


.departure-board span.bottom span.text {
    top: 0.35em;
    position: relative;
}



.departure-board span.flap.falling {
    display: none;
    bottom: 0;
    top: auto;
}


.departure-board span.flap.falling span.text {
    -webkit-backface-visibility: hidden;
    border-top: .03em solid rgb(15 23 70);
    border-bottom: .03em solid rgb(15 23 70);
    background: rgb(15 23 70);
    display: block;
    position: relative;

    -webkit-transform: scaleY(1);
    -moz-transform: scaleY(1);
    -o-transform: scaleY(1);
    transform: scaleY(1);

    -webkit-transition: -webkit-transform linear;
    -moz-transition: -moz-transform linear;
    -o-transition: -o-transform linear;
    transition: transform linear;
}

.start-journey {
    width: fit-content;
    align-items: center;
    display: flex;
    flex-direction: column;
    /*margin-top: calc(100% - 350px);*/
    align-self: end;
    float: right;
    margin-right: 100px;
}

#startJourney {
    margin-top: -1px;
}

#startJourney span.letter {
    width: 45px;
    height: 85px;
}

#startJourney span.text {
    font-size: 55px;
}

#startJourney span.letter:before {
    top: 2.6em;
}

#drawer-right-example, #drawer-right-example-mobile {
    background: #f3f2e9!important;
}

#drawer-right-example li span, #drawer-right-example-mobile li span {
    color: #222D66;
    font-family: "Minion Variable Concept";
    font-size: 24px;
}

#drawer-right-example li span:hover, #drawer-right-example-mobile li span:hover {
    font-weight: 600;
}

.lang-dropdown {
    color: #222D66;
    font-family: "Minion Variable Concept";
    font-size: 24px;
}

.about-project {
    background: #E8E7DD;
}

.about-project .headline-container {
    background-color: #252E64;
}

.about-project .headline {
    background: url('/img/about-pattern.svg'), repeat;
    background-size: 57px;
    height: 300px;
}

.about-project .title {
    color: #EAE8E0;
    font-family: BatickRodist;
    font-weight: 400;
    font-size: 160px;
}

.about-project .circle {
    background: #EAE8E0;
}

.about-project .line {
    background: #EAE8E0;
    width: 830px;
}

.circle {
    width: 20px;
    height: 20px;
    border-radius: 100%;
}

.line {
    height: 1px;
}

.about .col-12 {
    padding: 100px;
}

.road {
    padding: 40px 0;
}

.about p {
    color: #000;
    font-family: "Minion Variable Concept";
    font-size: 28px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.about-banner {
    border-radius: 100px 100px 0px 0px;
    background: url('/img/about_banner.png') lightgray 50% / cover no-repeat;
    max-width: 610px;
    height: 100%;
}

.reserve-section {
    background: #F3F2E9;
}

.reserve-section .headline-container {
    background-color: #E8E7DD;
}

.reserve-section .headline {
    background: linear-gradient(0deg, #f3f2e9 1%, rgba(115, 115, 115, 0.00) 100%), url('/img/reserve-pattern.svg'), repeat;
    background-size: 57px;
    height: 500px;
}

.reserve-section .title {
    color: #252E65;
    font-family: BatickRodist;
    font-weight: 400;
    font-size: 160px;
}

.reserve-section .circle {
    background: #252E65;
}

.reserve-section .line {
    background: #252E65;
    width: 688px;
}

.reserve-link {
    margin-top: 70px;
}

.bookNow {
    width: 500px;
}

.train-big-container {
    bottom: constant(safe-area-inset-bottom);
    bottom: env(safe-area-inset-bottom);
    position: fixed;
    z-index: 100;
}

.train-container {
    overflow: hidden;
    width: 160%;
    z-index: 100;
    position: relative;
}

.reserve-line {
    position: relative;
    border-bottom: 0.5vw solid #AB814D;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.reserve-train{
    width: inherit;
    height: 160px;
    animation: moveReserveTrain 10s ease-out infinite;
}

.reserve-clock {
    width: 10%;
    float: right;
    margin-right: 20px;
}

#bookNow .flap.top {
    color: transparent;
    position: static;
}

.reserve-texts {
    margin: 0 100px;
}

.reserve-texts h1 {
    color: #252E65;
    font-family: "Minion Variable Concept";
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    font-size: 96px;
}

.reserve-texts h3 {
    color: #000;
    font-family: "Minion Variable Concept";
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    font-size: 40px;
}

#bookNow .flap.top {
    top: -100000000000000px;
}

@keyframes moveReserveTrain {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(15%);
    }
}

.gallery-section {
    background: #F3F2E9;
}

.gallery-section .col-12 {
    padding: 100px;
}

.gallery-section .col-md-2 img {
    width: 190px;
    height: 190px;
}

.gallery-section .text-section h1 {
    color: #252E65;
    font-family: BatickRodist;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    font-size: 128px;
}

.gallery-section .circle {
    background: #252E65;
}

.gallery-section .line {
    background: #252E65;
    width: 330px;
}

.gallery-line .line {
    width: 445px;
}

.testimonials-section {
    background: #252E65;
    padding: 50px 100px;
}

.testimonials-section .title {
    color: #EAE8E0;
    font-family: BatickRodist;
    font-weight: 400;
    font-size: 160px;
}

.testimonials-section .circle {
    background: #EAE8E0;
}

.testimonials-section .line {
    background: #EAE8E0;
    width: 750px;
}

.testimonial {
    background: url("/img/testimonials.svg") no-repeat;
    background-position-x: 50%;
    text-align: center;
    display: flex!important;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    height: inherit;
}

.carousel-item {
    height: 390px;
}

.testimonial p {
    width: 600px;
    color: #252525;
    text-align: center;
    font-family: "Minion Variable Concept";
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.carousel {
    margin-top: 60px;
}

.stars {
    margin-top: 20px;
}

.stars svg {
    margin: 5px;
}

#carouselExampleAutoplaying {
    margin-top: 60px;
}

footer {
    background: #E8E7DD;
}

.footer-logo {
    width: 275px;
}

footer .hr {
    height: 1px;
    background: #252E65;
}

footer li a {
    color: #252525;
    text-align: center;
    font-family: "Minion Variable Concept";
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

@media only screen and (min-width: 2000px) and (min-height: 1100px) {
    .train-front {
        max-height: 740px;
    }

    /*.pillar {*/
    /*    max-width: 498px;*/
    /*}*/

    .sign {
        left: 52%;
        width: 450px;
    }

    .sign1 {
        top: 57%;
    }

    .sign2 {
        top: 66%;
    }

    .sign3 {
        top: 75%;
    }

    .sign4 {
        top: 84%;
    }

    .logo {
        max-width: 650px;
    }

    #startJourney span.letter {
        width: 70px;
        height: 115px;
    }

    #startJourney span.letter:before {
        top: 3.7em;
    }

    #startJourney span.text {
        font-size: 80px;
    }

    .about-banner {
        margin-left: auto;
    }
}

@media only screen and (min-width: 2560px) and (min-height: 1440px) {
    .train-front {
        max-height: 940px;
    }

    /*.pillar {*/
    /*    max-width: 648px;*/
    /*}*/

    .sign {
        left: 52%;
    }

    .sign1 {
        top: 57%;
    }

    .sign2 {
        top: 65%;
    }

    .sign3 {
        top: 73%;
    }

    .sign4 {
        top: 81%;
    }
}

@media only screen and (max-width: 1920px) and (max-height: 1080px) {
    .train-front {
        max-height: 630px;
    }

    /*.pillar {*/
    /*    max-width: 488px;*/
    /*}*/

    .sign {
        left: 52%;
    }

    .sign1 {
        top: 57%;
    }

    .sign2 {
        top: 65%;
    }

    .sign3 {
        top: 73%;
    }

    .sign4 {
        top: 81%;
    }
}

@media only screen and (max-width: 1600px) and (max-height: 900px) {
    .sign {
        left: 52%;
    }

    .sign1 {
        top: 57%;
    }

    .sign2 {
        top: 65%;
    }

    .sign3 {
        top: 73%;
    }

    .sign4 {
        top: 81%;
    }

    .train-front {
        max-height: 600px;
    }
}

@media only screen and (max-width: 1540px) and (max-height: 870px) {
    .train-front {
        max-height: 580px;
    }

    .sign {
        left: 52%;
    }

    .sign1 {
        top: 57%;
    }

    .sign2 {
        top: 66%;
    }

    .sign3 {
        top: 75%;
    }

    .sign4 {
        top: 84%;
    }
}

@media only screen and (max-width: 1440px) and (max-height: 900px) {
    .sign1 {
        top: 57%;
    }

    .sign2 {
        top: 65%;
    }

    .sign3 {
        top: 73%;
    }

    .sign4 {
        top: 81%;
    }

}

@media only screen and (max-width: 1440px) {
    .about p {
        font-size: 20px;
    }

    .reserve-section .line {
        width: 515px;
    }

    .reserve-texts h3 {
        font-size: 35px;
    }

    .gallery-line .line {
        width: 410px;
    }

    .menu-line .line {
        width: 310px;
    }

    .gallery-section .col-md-2 img {
        width: 170px;
        height: 170px;
    }

    .sign  {
        left: 52%;
    }

    .train-front {
        max-height: 540px;
    }

    .about-project .title {
        font-size: 140px;
    }

    .reserve-section .title {
        font-size: 140px;
    }

    .reserve-texts h1 {
        font-size: 80px;
    }

    .gallery-section .text-section h1 {
        font-size: 115px;
    }

    .testimonials-section .title {
        font-size: 140px;
    }

    .about-project .line {
        width: 740px;
    }

    .testimonials-section .line {
        width: 670px;
    }

    @keyframes moveReserveTrain {
        0% {
            transform: translateX(-100%);
        }
        100% {
            transform: translateX(10%);
        }
    }
}

@media only screen and (max-width: 1350px) {
    .about-project .line {
        width: 650px;
    }

    .about-project .title {
        font-size: 120px;
    }

    .reserve-section .title {
        font-size: 120px;
    }

    .reserve-section .line {
        width: 540px;
    }

    .reserve-texts h1 {
        font-size: 60px;
    }

    .reserve-texts h3 {
        font-size: 30px;
    }

    .road {
        padding: 5px 0;
    }

    .gallery-section .text-section h1 {
        font-size: 90px;
    }

    .gallery-line .line {
        width: 410px;
    }

    .menu-line .line {
        width: 260px;
    }

    .gallery-section .col-md-2 img {
        width: 130px;
        height: 130px;
    }

    .testimonials-section .title {
        font-size: 120px;
    }

    .testimonials-section .line {
        width: 590px;
    }

    .testimonial {
        background-size: 70%;
    }

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

    .train-front {
        max-height: 510px;
    }

    .sign img {
        width: 80%;
    }

    .sign {
        left: 225px;
    }

    .sign1 {
        top: calc(100vh - 395px);
    }

    .sign2 {
        top: calc(100vh - 325px);
    }

    .sign3 {
        top: calc(100vh - 255px);
    }

    .sign4 {
        top: calc(100vh - 185px);
    }

    #startJourney span.letter:before {
        top: 2.4em;
    }

    #startJourney span.letter {
        width: 35px;
        height: 75px;
    }

    #startJourney span.text {
        font-size: 45px;
    }

    .footer-logo {
        width: 220px;
    }

    @keyframes moveReserveTrain {
        0% {
            transform: translateX(-100%);
        }
        100% {
            transform: translateX(3%);
        }
    }
}

@media only screen and (max-width: 1200px) {
    .reserve-train {
        height: 130px;
    }
}

@media only screen and (max-width: 1366px) and (max-height: 1024px) {
    .train-front {
        max-height: 510px;
    }

    .pillar {
        display: flex;
    }

    .sign img {
        width: 80%;
    }

    .sign {
        left: 52%;
    }

    .sign1 {
        top: 57%;
    }

    .sign2 {
        top: 65%;
    }

    .sign3 {
        top: 73%
    }

    .sign4 {
        top: 81%
    }
}

@media only screen and (max-width: 1280px) and (max-height: 850px) {
    .sign {
        left: 52%;
    }

    .sign1 {
        top: 57%;
    }

    .sign2 {
        top: 65%;
    }

    .sign3 {
        top: 73%;
    }

    .sign4 {
        top: 81%;
    }

    .carousel-item {
        height: 300px;
    }
}

@media only screen and (max-width: 1024px) and (max-height: 1366px) {
    .pillar {
        display: flex;
    }

    .pillar-container {
        display: flex;
    }

    .carousel-item {
        height: 300px;
    }

    .train-front {
        max-height: 480px;
        top: 0;
    }

    .pillar-image {
        height: unset;
        margin-top: auto;
    }

    .sign img {
        width: 70%;
    }

    .sign1 {
        top: 80%;
    }

    .sign2 {
        top: 84%;
    }

    .sign3 {
        top: 88%;
    }

    .sign4 {
        top: 92%;
    }

    .sign {
        left: 52%;
    }

    .about .col-12 {
        padding: 60px;
    }

    .gallery-section .col-12 {
        padding: 60px;
    }

    .testimonial {
        background-size: 65%;
    }

    .testimonial p {
        padding: 0 20px;
    }

    .testimonials-section {
        padding: 50px 0;
    }

    .reserve-texts {
        margin: 0 60px;
    }
}

@media only screen and (max-width: 1024px) and (max-height: 1000px) {
    .sign img {
        width: 70%;
    }

    .sign1 {
        top: 72%;
    }

    .sign2 {
        top: 78%;
    }

    .sign3 {
        top: 84%;
    }

    .sign4 {
        top: 90%;
    }

    #startJourney span.text {
        font-size: 35px;
    }

    .start-journey {
        margin-right: 60px;
    }

    .carousel-item {
        height: 270px;
    }

    #startJourney span.letter:before {
        top: 1.8em;
    }

    #startJourney span.letter {
        width: 30px;
        height: 60px;
    }

    .testimonial {
        background-size: 70%;
    }

    .testimonials-section {
        padding: 50px 60px;
    }

    .gallery-section .col-12 {
        padding: 60px;
    }

    .about-project .line {
        width: 560px;
    }

    .about-project .title {
        font-size: 100px;
    }

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

    .reserve-section .title {
        font-size: 100px;
    }

    .reserve-section .line {
        width: 470px;
    }

    .about-project .headline {
        height: 200px;
    }

    .about .col-12 {
        padding: 60px;
    }

    .reserve-section .headline {
        height: 400px;
    }

    .departure-board span.letter {
        width: 40px;
        height: 80px;
    }

    .departure-board span.letter:before {
        top: 2.5em;
    }

    .departure-board span.text {
        font-size: 50px;
    }

    .reserve-texts {
        margin: 0 60px;
    }

    .reserve-texts h1 {
        font-size: 50px;
    }

    .reserve-texts h3 {
        font-size: 25px;
    }

    .reserve-train {
        height: 110px;
    }

    .gallery-section .text-section h1 {
        font-size: 80px;
    }

    .gallery-line .line {
        width: 315px;
    }

    .menu-line .line {
        width: 245px;
    }

    .gallery-section .col-md-2 img {
        width: 100px;
        height: 100px;
    }

    .logo {
        max-width: 300px;
    }

    .menu {
        margin-right: 60px;
    }

    .testimonials-section .title {
        font-size: 100px;
    }

    .testimonials-section .line {
        width: 510px;
    }

    .testimonial {
        background-size: 65%;
    }

    .testimonial p {
        font-size: 18px;
        padding: 0 40px;
    }

    .footer-logo {
        width: 200px;
    }

    footer li a {
        font-size: 18px;
    }

    .carousel-control-next img, .carousel-control-prev img {
        width: 20%;
    }

    .stars svg {
        width: 20px;
    }
}

@media only screen and (max-width: 850px) and (max-height: 1280px) {
    .train-front {
        max-height: 400px;
    }

    .about .col-12 {
        padding: 18px;
    }

    .reserve-texts {
        margin: 0 30px;
    }

    .reserve-train {
        height: 80px;
    }

    .about-project .line {
        width: 560px;
    }

    .about-project .title {
        font-size: 100px;
    }

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

    .reserve-section .title {
        font-size: 100px;
    }

    .reserve-section .line {
        width: 470px;
    }

    .about-project .headline {
        height: 200px;
    }

    .reserve-section .headline {
        height: 400px;
    }

    .gallery-section .col-12 {
        padding: 18px;
    }

    .departure-board span.letter {
        width: 50px;
        height: 80px;
    }

    .departure-board span.letter:before {
        top: 2.5em;
    }

    .departure-board span.text {
        font-size: 55px;
    }

    .reserve-texts h1 {
        font-size: 50px;
    }

    .reserve-texts h3 {
        font-size: 20px;
    }

    .gallery-section .text-section h1 {
        font-size: 70px;
    }

    .menu-line .line {
        width: 225px;
    }

    .gallery-line .line {
        width: 290px;
    }

    .gallery-section .col-md-2 img {
        width: 100px;
        height: 100px;
    }

    .testimonials-section .title {
        font-size: 100px;
    }

    .testimonials-section .line {
        width: 510px;
    }

    .testimonial {
        background-size: 75%;
    }

    .testimonial p {
        padding: 0 40px;
    }

    .testimonials-section {
        padding: 50px 0;
    }

    .carousel-control-next img, .carousel-control-prev img {
        width: 20%;
    }

    .footer-logo {
        width: 200px;
    }

    footer li a {
        font-size: 20px;
    }

    .star-li {
        display: none;
    }

    .sign {
        left: 52%;
    }

    .clock-ipad {
        display: block;
    }

    .sign1 {
        top: 70%;
    }

    .sign2 {
        top: 75%;
    }

    .sign3 {
        top: 80%;
    }

    .sign4 {
        top: 85%;
    }

    .clock {
        display: none;
    }
}

@media only screen and (max-width: 770px) and (max-height: 1024px) {
    .sign {
        left: 52%;
    }

    .sign1 {
        top: 65%;
    }

    .sign2 {
        top: 70%;
    }

    .sign3 {
        top: 75%;
    }

    .sign4 {
        top: 80%;
    }
}

@media only screen and (max-width: 450px) {
    .home {
        display: none!important;
    }

    @keyframes moveHomeTrain {
        0% {
            transform: translateX(100%);
        }
        100% {
            transform: translateX(20%);
        }
    }

    .bookNow {
        width: 250px;
    }

    .gallery-section, .about-container {
        --bs-gutter-x: 1.5rem;
        --bs-gutter-y: 0;
        width: 100%;
        padding-right: calc(var(--bs-gutter-x)* .5);
        padding-left: calc(var(--bs-gutter-x)* .5);
        margin-right: auto;
        margin-left: auto;
    }

    .home-mobile {
        display: flex;
        height: 90vh;
        background:
            linear-gradient(180deg, rgba(243, 242, 233, 0.70) 0%, rgba(237, 236, 227, 0.70) 77%, rgba(141, 140, 135, 0.14) 100%),
            url('/img/bricks.svg'), repeat-y;
        position: relative;
        border-bottom: 15px solid #000;
    }

    .carousel {
        margin-top: 30px;
    }

    .logo {
        max-width: 200px;
        margin-top: unset;
        margin-left: 30px;
    }

    .menu {
        margin-top: unset;
        margin-right: 30px;
    }

    .menu-sec {
        padding-top: 30px;
    }

    .departure-board span.letter {
        width: 25px;
        height: 45px;
    }

    .departure-board span.text {
        font-size: 35px;
    }

    .departure-board span.letter:before {
        top: 1.4em;
    }

    .departure-board span.bottom {
        top: 0;
    }

    .train-front {
        top: 26%;
        left: 50%;
        width: 24%;
    }

    .tunnel-image {
        width: 55%;
        height: auto;
    }

    .light {
        width: 25px;
        height: 25px;
    }

    .light.right {
        top: 61%;
        left: 56%;
    }

    .light.left {
        top: 61%;
        left: 44%;
    }

    .clock-ipad {
        display: none;
    }

    .clock-mobile {
        display: block;
        width: 40%;
    }

    .clock-container {
        bottom: 0;
    }

    .pillar {
        display: block;
    }

    .sign img {
        width: 50%;
    }

    .sign {
        left: 21%;
    }

    .sign1 {
        top: 40%;
    }

    .sign2 {
        top: 48%;
    }

    .sign3 {
        top: 56%;
    }

    .sign4 {
        top: 64%;
    }

    .about-project .headline {
        height: 150px;
        background-size: 35px;
    }

    .about-project .title {
        font-size: 60px;
    }

    .circle {
        width: 15px;
        height: 15px;
    }

    .about-project .line {
        width: 330px;
    }

    .about .col-12 {
        padding: 18px;
    }

    .about-banner {
        height: 415px;
    }

    .reserve-section .title {
        font-size: 60px;
    }

    .reserve-section .line {
        width: 270px;
    }

    .reserve-section .headline {
        height: 300px;
    }

    .reserve-section .headline {
        background-size: 35px;
    }

    .reserve-texts h1 {
        line-height: 1.1;
    }

    .reserve-texts h1 {
        font-size: 40px;
    }

    .reserve-texts h3 {
        margin-top: 15px;
    }

    .reserve-train {
        height: 50px;
    }

    .testimonials-section .title {
        font-size: 60px;
    }

    .testimonials-section .line {
        width: 295px;
    }

    .testimonial p {
        font-size: 15px;
        padding: 0 180px;
    }

    .carousel-item {
        height: 270px;
    }

    .testimonial {
        background: url(/img/testimonials-mobile.svg) no-repeat;
        background-position-x: 50%;
        background-size: 75%;
    }

    .gallery-section .col-12 {
        padding: 18px;
    }

    .gallery-section .text-section h1 {
        font-size: 60px;
    }

    .menu-line .line {
        width: 160px;
    }

    .gallery-line .line {
        width: 210px;
    }

    .null-div {
        height: 310px
    }
}

@media only screen and (max-width: 390px) {
    .null-div {
        height: 220px
    }

    .clock-mobile {
        width: 40%;
    }

    .sign {
        left: 21%;
    }

    .sign1 {
        top: 40%;
    }

    .sign2 {
        top: 48%;
    }

    .sign3 {
        top: 56%;
    }

    .sign4 {
        top: 64%;
    }

    .testimonial {
        padding: 30px;
        background-size: 78%;
    }

    .testimonial p {
        padding: 0 180px;
    }

    .stars {
        margin-top: 5px;
    }
}

@media only screen and (max-width: 375px) {
    .logo {
        max-width: 200px!important;
    }

    .departure-board span.text {
        font-size: 28px;
    }

    .departure-board span.letter:before {
        top: 1.2em;
    }

    .departure-board span.letter {
        width: 20px;
        height: 40px;
    }

    .null-div {
        height: 190px;
    }

    .train-front {
        top: 35%;
        width: 23%;
    }

    .sign {
        left: 21%;
    }

    .clock-mobile {
        width: 40%;
    }

    .sign1 {
        top: 40%;
    }

    .sign2 {
        top: 48%;
    }

    .sign3 {
        top: 56%;
    }

    .sign4 {
        top: 64%;
    }

    .about-project .line {
        width: 280px;
    }

    .about-project .title {
        font-size: 50px;
    }

    .about-project .headline {
        height: 120px;
        background-size: 30px;
    }

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

    .about-banner {
        height: 345px;
    }

    .reserve-section .title {
        font-size: 50px;
    }

    .reserve-section .line {
        width: 234px;
    }

    .reserve-section .headline {
        background-size: 30px;
        height: 250px;
    }

    .reserve-train {
        height: 40px;
    }

    .gallery-section .text-section h1 {
        font-size: 50px;
    }

    .menu-line .line {
        width: 140px;
    }

    .gallery-line .line {
        width: 190px;
    }

    .testimonials-section .title {
        font-size: 50px;
    }

    .testimonials-section .line {
        width: 255px;
    }

    .testimonials-section {
        padding: 30px 0;
    }

    .stars {
        margin-top: -5px;
    }
}

