/*Import Red Rose font Family */

@font-face {
    font-family: 'redrose_bold';
    src: url('../fonts/RedRose/RedRose-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'redrose_semibold';
    src: url('../fonts/RedRose/RedRose-SemiBold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'redrose_light';
    src: url('../fonts/RedRose/RedRose-Light.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'redrose_medium';
    src: url('../fonts/RedRose/RedRose-Medium.ttf') format('truetype');
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'redrose_regular';
    src: url('../fonts/RedRose/RedRose-Regular.ttf') format('truetype');
    font-style: normal;
    font-display: swap;
}


/* Global css */

body {
    margin: 0;
    padding: 0;
    font-family: redrose_regular;
}

a:hover {
    text-decoration: none;
}

.color_blue {
    color: #D30000 !important;
}

.cstm-container {
    max-width: 90%;
    margin: auto;
}

h2.section-fancy-title {
    font-size: 46px;
    font-family: redrose_bold;
    color: #233138;
    position: relative;
}


/* h2.section-fancy-title:before {
    content: url(../images/icon2.png);
    top: 4px;
    bottom: 0;
    margin: auto;
    left: -33px;
    position: relative;
} */


/* h2.section-fancy-title:after {
    content: url(../images/icon1.png);
    top: 4px;
    bottom: 0;
    margin: auto;
    right: -33px;
    position: relative;
} */

.float-fixed-element {
    position: fixed;
    bottom: 40px;
    right: 32px;
}

p.chat-icon {
    background: #fff;
    box-shadow: 0px 25px 25px rgba(0, 0, 0, 0.45);
    padding: 19px 12px 11px 13px;
    border-radius: 100%;
    cursor: pointer;
    /* display: flex; */
    /* align-items: center; */
}

p.dwn-scroll img {
    background: #D30000;
    padding: 12px 12px;
    border-radius: 100%;
    margin-left: 11px;
    margin-top: 10px;
    cursor: pointer;
}


/* Header css  start*/

header {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    border-bottom: 1px solid #ffffff61;
    padding: 12px 0px;
    z-index: 5;
}

.header-container {
    max-width: 90%;
    margin: auto;
}

.menu-toggle-btn a {
    color: #fff;
    font-size: 28px;
}

.fixed-top {
    top: -40px;
    transform: translateY(40px);
    transition: transform .3s;
    background: #fff;
    z-index: 22;
    box-shadow: 0px 3px 28px rgb(0 0 0 / 45%);
}

.site-logo img {
    filter: brightness(0) invert(1);
}

.site-logo {
    padding-left: 18%;
}

.fixed-top .site-logo img {
    filter: unset;
}

.fixed-top .menu-toggle-btn a,
.fixed-top .login-wrap a {
    color: black;
}

a.menu-call-cta {
    background: rgb(42, 155, 197);
    background: linear-gradient(90deg, rgba(42, 155, 197, 1) 0%, rgba(0, 54, 140, 1) 100%);
    color: #fff;
    border-radius: 45px;
    display: block;
    padding: 6px 12px;
    margin-right: 15px;
}

.login-wrap {
    display: flex;
    align-items: center;
}

.login-wrap a {
    color: #fff;
    margin-left: 20px;
}

div.menu-slide {
    background: #fff;
    height: 100vh;
    position: fixed;
    top: 0;
    transition: all 0.3s ease-in-out;
    transform: translateX(-400px);
    width: 300px;
}

div.menu-slide.show {
    transform: translateX(0px);
}

.close-btn {
    text-align: right;
    padding: 25px 17px;
    font-size: 28px;
}

i.fa-solid.fa-xmark {
    cursor: pointer;
}

ul.menu-ul {
    padding: 0px;
    margin-left: 25px;
}

ul.menu-ul li {
    list-style: none;
}

ul.menu-ul li a.menu-nav {
    padding: 10px 18px;
    display: block;
    margin-bottom: 4px;
    font-size: 16px;
    color: #D30000;
    border-radius: 40px 0px 0px 40px;
}

ul.menu-ul li a.menu-nav.active,
ul.menu-ul li a.menu-nav:hover {
    color: #fff;
    text-decoration: none;
    background: #D30000;
}


/* Header css end */


/* Home Banner Start */

.video-banner-wrap {
    /* background-image: url(../images/banner.gif); */
    height: 100%;
    background-size: cover;
    background-position: center;
}

video#myVideo {
    width: 100%;
}


/* Home Banner End */


/* Home Packages Section Start */

section.packages-sec {
    /* background-image: url(../images/package-bg.png); */
    padding: 70px 0px;
    background-size: cover;
    background-position: center;
    background-color: #ffffff;
}

.package-card {
    overflow: hidden;
    position: relative;
    margin: 20px;
    max-height: 550px;
    box-shadow: 0px 35px 25px -15px rgba(0, 0, 0, 0.15);
    border-radius: 15px;
}

.package-card img {
    width: 100% !important;
    transition: transform 700ms ease;
}

.package-card:hover img {
    transform: scale(1.1);
}

.package-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: center;
    background: #00000080;
    padding: 18px;
}

.package-caption hr {
    border: 4px solid #D30000;
    width: 45px;
    text-align: left !important;
    float: left;
    border-radius: 5px;
    margin-left: 7px;
}

.package-caption h3 {
    color: #fff;
    font-size: 24px;
    font-family: Francois;
    margin: 0px;
    line-height: 28px;
}

.package-overlay {
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
    background: #ffffffeb;
    padding: 28px;
    opacity: 0;
    transition: all 0.5s linear;
}

.package-card:hover .package-overlay {
    opacity: 1;
}

.package-details-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

p.price {
    text-align: center;
    font-size: 16px;
    color: #D30000;
    font-family: 'redrose_regular';
}

p.price span {
    font-size: 28px;
    color: #D30000;
    font-family: 'redrose_regular';
}

h3.package-title {
    text-align: center;
    font-size: 24px;
    font-family: 'Francois';
    color: #253138;
    padding: 20px 0px 40px 0px;
    position: relative;
}

h3.package-title:after {
    content: '';
    width: 60px;
    height: 3px;
    background: #14077a;
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    margin: auto;
}

p.desc {
    text-align: center;
    font-size: 15px;
    font-family: 'redrose_regular';
    margin: 35px 0px;
}

a.btn.btn-primary.btn-blue-bold {
    width: 100%;
    border-radius: 45px;
    font-size: 15px;
    color: white;
    background: #D30000;
    border: 1px solid #D30000;
    padding: 10px;
    transition: all 0.3s linear;
}

a.btn.btn-primary.btn-blue-bold:hover {
    background: transparent;
    color: #D30000;
}

.package-slider {
    padding: 60px 0px;
}

.prev-btn.slick-arrow {
    position: absolute;
    top: 50%;
    z-index: 999999;
    opacity: 0.7;
}

.prev-btn.slick-arrow:hover {
    opacity: 1;
}

.prev-btn.slick-arrow i,
.next-btn.slick-arrow i {
    color: #fff;
    font-size: 22px;
    background: #D30000;
    border-radius: 100%;
    padding: 13px 17px;
    cursor: pointer;
}

.next-btn.slick-arrow {
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 999999;
    opacity: 0.7;
}

.next-btn.slick-arrow:hover {
    opacity: 1;
}

.package-slider .slick-dots li.slick-active button:before {
    opacity: 1;
    color: white;
    font-size: 15px;
}

.package-slider .slick-dots li button:before {
    font-size: 10px;
    opacity: .25;
    color: white;
}

.package-slider .slick-dots {
    bottom: 0px;
}

a.package-btn {
    font-size: 16px;
    max-width: 160px;
    margin: auto;
    text-align: center;
    display: flex;
    justify-content: center;
    background: #fff;
    border-radius: 45PX;
    padding: 12px;
    color: #D30000;
    transition: all 0.3s linear;
}

a.package-btn:hover {
    color: #fff;
    background-color: #D30000;
}


/* Home Packages Section End */


/* Home Schedule Section css Start */

section.schedule-sec {
    /* background-image: url(../images/The\ Scheduled\ Helicopter\ Services.png); */
    padding: 70px 0px;
    background-size: 97%;
    background-position: right center;
    background-repeat: no-repeat;
    background-color: #fff;
}

.schedule-frm {
    padding-top: 10px;
    padding-bottom: 40px;
    max-width: 95%;
}

.schedule-frm>h2 {
    font-size: 58px;
    color: #D30000;
    font-family: 'redrose_bold';
    /* max-width: 80%; */
    margin-bottom: 40px;
}

.col-md-6.carousel_container {
    max-width: 735px;
    margin: auto;
}


/* .carousel_container .carousel-item img {
    min-height: 671px;
}    */

.sm_cborder {
    width: 132px;
    border: 1px solid #FFFFFF;
}

.md_cborder {
    width: 100px;
    border: 1px solid #FFFFFF;
    margin-top: 10px;
}

.carousel_container .carousel-caption.d-md-block {
    top: 0;
    left: 15px;
    text-align: left;
}


/* css for toggle button */

.form-group.toggle-col {
    margin-top: 13px;
}

.switches-container {
    width: 13rem;
    position: relative;
    display: flex;
    padding: 0;
    position: relative;
    background: #C0CAD9;
    line-height: 35px;
    border-radius: 3rem;
    margin-left: 80px;
    margin-right: auto;
    margin-top: -35px;
}

.switches-container input {
    visibility: hidden;
    position: absolute;
    top: 0;
}

.switches-container label {
    width: 50%;
    padding: 0;
    margin: 0;
    text-align: center;
    cursor: pointer;
    color: #fff;
}

.switch-wrapper {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 50%;
    padding: 0.15rem;
    z-index: 3;
    transition: transform .5s cubic-bezier(.77, 0, .175, 1);
    /* transition: transform 1s; */
}

.switch {
    border-radius: 3rem;
    background: #fff;
    height: 100%;
}

.switch div {
    width: 100%;
    text-align: center;
    opacity: 0;
    display: block;
    color: white;
    transition: opacity .2s cubic-bezier(.77, 0, .175, 1) .125s;
    will-change: opacity;
    position: absolute;
    top: 0;
    left: 0;
    background: #D30000;
    border-radius: 45px;
}

.switches-container input:nth-of-type(1):checked~.switch-wrapper {
    transform: translateX(0%);
}

.switches-container input:nth-of-type(2):checked~.switch-wrapper {
    transform: translateX(100%);
}

.switches-container input:nth-of-type(1):checked~.switch-wrapper .switch div:nth-of-type(1) {
    opacity: 1;
}

.switches-container input:nth-of-type(2):checked~.switch-wrapper .switch div:nth-of-type(2) {
    opacity: 1;
}

form.schedule-form .form-row {
    justify-content: space-between;
}

form.schedule-form .form-group {
    width: 49%;
}

form.schedule-form .form-group select {
    width: 100%;
    border-radius: 45px;
    background: transparent;
    height: 50px;
    padding: 0px 14px;
    font-size: 15px;
    border: 1px solid #C0CAD9;
}

form.schedule-form .form-group input[type="date"] {
    height: 50px;
    border-radius: 45px;
    width: 100%;
    border: 1px solid #C0CAD9;
    box-shadow: none;
    outline: none;
    padding: 0px 12px;
    display: inline-flex;
    align-items: center;
}

input[type="date"]:not(.has-value):before{
    color: #c0cad9;
    content: attr(placeholder);
    margin-right: 12%;
}


/* create a new arrow, because we are going to mess up the native one
see "List of symbols" below if you want another, you could also try to add a font-awesome icon.. */
input[type="date"]:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f073" !important;
    color: #555;
    padding: 0 5px;
    position: relative;
    right: 10px;
}

/* make the native arrow invisible and stretch it over the whole field so you can click anywhere in the input field to trigger the native datepicker*/
input[type="date"]::-webkit-calendar-picker-indicator {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: auto;
    color: transparent;
    background: transparent;
    cursor: pointer;
}

/* adjust increase/decrease button */
input[type="date"]::-webkit-inner-spin-button {
    z-index: 1;
}

.frm-border {
    height: 1px;
    background: #C0CAD9;
    margin: 20px 0px 30px 0px;
    position: relative;
    ;
}

.frm-border span {
    background: #fff;
    display: inline-block;
    position: absolute;
    top: -12px;
    padding-right: 13px;
    font-size: 14px;
    color: #C0CAD9;
}

.add-cat {
    margin-left: 20px;
}

span.less {
    border: 1px solid #C0CAD9;
    color: #C0CAD9;
    border-radius: 100%;
    padding: 6px 9.5px;
}

span.add {
    border: 1px solid #C0CAD9;
    color: #D30000;
    border-radius: 100%;
    padding: 6px 9.5px;
}

span.value {
    font-size: 15px;
    color: #4B5860;
    padding: 12px;
}

button.search-flight-btn {
    width: 100%;
    border-radius: 45px;
    font-size: 15px;
    color: white;
    background: #D30000;
    border: 1px solid #D30000;
    padding: 10px;
    transition: all 0.3s linear;
    /* margin-top: 30px; */
    min-width: 200px;
}

button.search-flight-btn:hover {
    background: white;
    color: #D30000;
}

button.search-flight-btn i.fa-solid.fa-plane-up {
    margin-right: 5px;
    transform: rotate(45deg);
}

/* input[type="date"]::-webkit-calendar-picker-indicator {
    color: rgba(0, 0, 0, 0);
    opacity: 1;
    display: block;
    background: url(../images/calicon.png) no-repeat;
    width: 20px;
    height: 20px;
    border-width: thin;
} */


/* css*/

.add-cat-2 {
    margin-left: 10px;
}


/*new*/

.qtySelector {
    width: 107px;
    height: 35px;
    margin: 10px auto 0;
}

.qtySelector .fa {
    padding: 10px 5px;
    width: 35px;
    height: 100%;
    float: left;
    cursor: pointer;
}

.qtySelector .fa.clicked {
    font-size: 12px;
    padding: 12px 5px;
}

.qtySelector .fa-minus {
    border: 1px solid #ddd;
    border-radius: 50%;
    color: #D30000;
}

.qtySelector .fa-plus {
    border: 1px solid #ddd;
    border-radius: 50%;
    color: #D30000;
}

.qtySelector .qtyValue {
    border: none;
    padding: 5px;
    width: 35px;
    height: 100%;
    float: left;
    text-align: center
}


/*end inc and dec button
/* Home Schedule Section css End */


/* Home Why Heritage section css :start */

.why_h_i_container {
    max-width: 600px;
}

.sm_boxinfo img {
    margin-bottom: 12px;
}

.text-center.sm_boxinfo {
    margin: 20px 0px;
}

section.why-heritage {
    padding: 90px 0px;
    background: url(../images/Why\ Heritage\ Aviation.png) no-repeat;
    background-size: cover;
    color: #FFFFFF;
}

section.why-heritage h2 {
    font-weight: 700;
    font-size: 46px;
    color: #FFFFFF;
    font-family: 'redrose_bold';
    margin-bottom: 14px;
}

.why-heritage-wrap {
    margin-top: 75px;
    max-width: 580px;
}

.why-heritage-wrap p {
    color: #FFFFFF;
    font-size: 16px;
}

a.know-more-btn {
    color: #FFFFFF;
    font-size: 16px;
}

div.benifits {
    margin: 50px 0px;
}

div.benifits .col-wrap {
    max-width: 145px;
    margin-right: 43px;
    font-size: 16px;
    color: #4B5860;
}

div.benifits .col-wrap img {
    margin-bottom: 14px;
}


/* Home Why Heritage section css End */


/* Home Testimonials section start */

.testimonials-sec {
    /* background-image: url(../images/Map.svg); */
    padding: 70px 0px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #fff;
}

.testimonials-sec h2.section-fancy-title {
    color: #14077a;
}


/* .testimonials-sec h2.section-fancy-title:before {
    content: url(../images/icon4.png);
}
.testimonials-sec h2.section-fancy-title:after {
    content: url(../images/icon3.png);
} */

.testimonial-wrap {
    padding-top: 80px;
    max-width: 94%;
    margin: auto;
}

.testi-card {
    background-image: url(../images/Quot.svg);
    background-size: 100px;
    background-position: 98% 17px;
    background-repeat: no-repeat;
    padding: 22px 32px;
    background-color: #fff;
    box-shadow: 0px 15px 65px -20px rgba(0, 0, 0, 0.2);
    margin-bottom: 30px;
    margin-left: 20px;
    margin-right: 20px;
}

.testi-card:hover {
    background: #D30000;
    color: white;
    border-radius: 8px;
}

p.client-name {
    margin: 0px 12px;
    font-size: 18px;
    font-family: 'dmsans_bold';
}

p.testi-content {
    margin-top: 18px;
    margin-bottom: 0px;
}

.testimonial-slider .prev-btn.slick-arrow i,
.testimonial-slider .next-btn.slick-arrow i {
    color: #000;
    background: transparent;
    padding: 17px;
    box-shadow: 0px 10px 24px rgba(0, 0, 0, 0.1);
}

.testimonial-slider .prev-btn.slick-arrow {
    left: -40px;
}

.testimonial-slider .next-btn.slick-arrow {
    right: -40px;
}


/* Home Testimonials section End */


/* CTA section css started */

section.home-cta {
    padding: 70px 0px;
}

.cta-wrap {
    background-image: url(../images/Begin_your.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right center;
    padding: 77px 0px;
    border-radius: 20px;
    margin: auto;
}

.cta-title h2 {
    font-size: 46px;
    color: #fff;
    font-family: 'redrose_bold';
    text-transform: uppercase;
    text-align: center;
    max-width: 688px;
    margin: auto;
}

.cta-title {
    max-width: 100%;
}

a.cta-btn {
    font-size: 16px;
    width: 235px;
    text-align: center;
    background: unset;
    border-radius: 45PX;
    padding: 12px;
    transition: all 0.3s linear;
    display: block;
    margin: auto;
    margin-top: 20px;
    border: 1px solid #FFFFFF;
    background: linear-gradient(358.52deg, #000000 -18.41%, rgba(0, 0, 0, 0) 105.25%);
    color: white;
}

a.cta-btn:hover {
    background: #D30000;
    color: #fff;
}


/* CTA section css End */


/* Gallery section css start */

.gallery-sec {
    padding: 70px 0px;
    background-image: url(../images/Gallery\ bg.png);
    background-position: top center;
    background-size: contain;
    background-repeat: no-repeat;
    background-color: #fff;
}

.white_color_htag {
    color: white !important;
}

.gallery-card {
    overflow: hidden;
    border-radius: 20px;
    position: relative;
}

.gallery-card>img {
    transition: all 0.3s linear;
    max-width: 100%;
    width: 100%;
    max-height: 360px;
}

.gallery-card:hover img {
    transform: scale(1.1);
}

.card-overlay {
    position: absolute;
    width: 100%;
    background: #ffffffe6;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #D30000;
    font-family: 'Francois';
    opacity: 0;
    transition: all 0.5s linear;
}

.gallery-card:hover .card-overlay {
    opacity: 1;
}

.gallery-wrap .col-md-4 {
    margin-bottom: 30px;
}

.gallery-wrap {
    padding-top: 80px;
    padding-bottom: 15px;
}

a.package-btn.blue-btn {
    background: #D30000;
    color: #fff;
    border: 1px solid #D30000;
    margin-bottom: 30px;
}

a.package-btn.blue-btn:hover {
    background: transparent;
    color: #D30000;
}


/* Gallery section css End */


/* Footer Css Start */

footer {
    background: #D30000;
    /* padding: 60px 0px 0px 0px; */
    padding: 50px 0px 0px 0px;
}


/*footer blog container css*/

.footer-widget-content {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    column-gap: 32px;
}

.media.blog_listview {
    width: 45%;
}

ul.footermenu {
    padding: 0px;
}

ul.footermenu li {
    list-style: none;
}

ul.footermenu li a {
    color: #fff;
    font-size: 16px;
    line-height: 31px;
}

ul.footermenu li a.active,
ul.footermenu li a:hover {
    border-bottom: solid 1px #D30000;
    padding-bottom: 5px;
}

.address-wrap,
.address-wrap a {
    color: #fff;
}

.address-wrap i {
    margin-right: 8px;
}

.address-wrap>div {
    margin-bottom: 10px;
}

.social-footer a {
    color: #fff;
    padding: 9px;
    margin: 10px;
    font-size: 18px;
    height: 50px;
    width: 50px;
    border-radius: 50%;
}

.social-footer a:hover {
    background: #D30000;
    box-shadow: 0 5px 4px rgb(0 0 0 / 50%)
}

.copyright-footer {
    color: #fff;
    font-size: 14px;
    opacity: 0.5;
    border-top: 1px solid #fff;
    padding: 12px;
    /* margin: 0px; */
}

.copyright-footer p {
    margin: 0px;
}

p.desc_about {
    color: white;
    max-width: 375px;
    font-size: 16px;
    margin-top: 20px;
}

.latest_news_container h2 {
    font-family: 'redrose_bold';
    font-size: 18px;
    color: #FFFFFF;
    padding-bottom: 10px;
    border-bottom: solid 1px #ffffff40;
    margin-bottom: 30px;
}

.media.blog_listview img {
    max-width: 102px;
    max-height: 64px;
    width: 102px;
    border-radius: 8%;
}

.media.blog_listview .media-body p a {
    color: #FFFFFF;
}

.media.blog_listview .media-body p {
    color: #FFFFFF;
    margin-bottom: 0px;
}

.media.blog_listview .media-body span {
    color: white !important;
    font-size: 14px;
    font-family: redrose_light;
}

.media.blog_listview .media-body {
    padding-left: 15px;
}

.media.blog_listview {
    margin-bottom: 20px;
}

.media.blog_listview:hover {
    cursor: pointer;
    background: rgb(210 1 0 / 8%) !important;
    border-radius: 8px;
}

ul.footermenu {
    display: flex;
    max-width: 600px;
    justify-content: space-around;
    margin: auto;
    margin: 20px auto;
}

.centerfooter_menu {
    margin-top: 70px;
}

.social-footer a i {
    position: relative;
    right: -8px;
    top: 4px;
}


/* Footer Css End */


/*Login page css*/


/*
*
* ==========================================
* CUSTOM UTIL CLASSES
* ==========================================
*
*/

.bg-image_login {
    background-image: url('../images/login.png');
    background-size: cover;
    background-position: center center;
    min-height: 627px;
}

h4.popup_h {
    font-size: 46px;
    font-weight: 700;
    line-height: 64px;
    letter-spacing: 0em;
    text-align: center;
    color: #D30000;
}

.ha_form_btn {
    background: #D30000;
    box-shadow: 0px 10px 20px rgb(0 0 0 / 8%);
    border-radius: 50px;
    color: white;
    height: 47px;
    margin-top: 30px;
}

.modal_form_container {
    max-width: 400px;
    margin: 50px auto;
}

a.link_form_atag {
    color: #D30000;
    font-size: 14px;
}

form.modal_form_container input {
    border: 1px solid #C0CAD9;
    border-radius: 50px;
    height: 50px;
    font-size: 15px;
}

/* .modal-content button.close {
    font-size: 58px;
    font-weight: 300;
    color: black;
    margin-right: 20px;
} */

.modal-content button.close {
    font-size: 35px;
    font-weight: 900;
    color: red;
    margin-right: 20px;
    display: initial;
    position: absolute;
    z-index: 1;
    right: -15px !important;
    background-color: #18bba0;
    top: 2px;
    border-radius: 50%;
    width: 35px;
}

.modal-content .modal-header button.close {
    color: red;
    margin-right: 20px;
    display: initial;
    position: absolute;
    z-index: 1;
    right: -15px;
    background-color: #18bba0;
    top: 20px;
    border-radius: 50%;
    width: 34px;
    height: 34px;
}

.modal-content .modal-header button.close span{
    top: -15px !important;
    position: relative;
    right: 10px;
}

.modal-content i {
    cursor: pointer;
}

.modal-content .container-fluid {
    padding: 0px !important;
}

h3.popup_puchline {
    font-size: 46px;
    color: white;
    font-weight: bold;
    margin-top: 48%;
}

.btn_large_fm {
    width: 219px;
    height: 47px;
    font-size: 16px;
    margin-top: 10px;
}

.custom_modal-xl {
    width: 1367px;
    max-width: unset;
}

.custom_modal-booking-page {
    width: 1200px;
    max-width: unset;
}

.custom_modal-xl .modal-content {
    border: 0px;
}

.popup_form_container {
    margin-top: 15%;
}

.ha_form_btn:hover {
    background: white;
    color: #D30000;
}


/*End Login page css*/


/*Forgot form design start*/

p.back_link a {
    color: black;
}

p.back_link i {
    padding-right: 10px;
}

.bg-image_forgot {
    background-image: url('../images/forgot_your_password.png');
    background-size: cover;
    background-position: center center;
    min-height: 627px;
}

.bg-image_register {
    background-image: url('../images/register_now.png');
    background-size: cover;
    background-position: center center;
    min-height: 627px;
}


/*Forgot form design end*/


/*Set new password popup css*/

div#setnew_pw_modal .popup_form_container {
    margin-top: 0px;
}

div#setnew_pw_modal .login.d-flex.align-items-center.py-5 {
    padding-top: 35px !important;
}

div#register_now_modal .popup_form_container {
    margin-top: 0px;
}


/*End Set new password css*/


/* RCS page css start */

.top_banner {
    background-image: url(../images/pBanner.png);
    min-height: 240px;
    /* min-height: 505px; */
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
}

.top_banner_heading h2 {
    font-style: normal;
    font-size: 36px;
    color: #ffffff;
    margin-top: 55px;
}

.booking_form_container {
    border: solid;
    max-width: 1097px;
    margin: auto;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid #F0F3F8;
    box-shadow: 0px 25px 45px -10px rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(2px);
    border-radius: 15px;
    position: relative;
    top: -60px;
}

.booking_form_container .schedule-frm {
    margin: auto;
    padding: 37px !important;
    max-width: unset;
}

.booking_form_container form.schedule-form .form-group {
    width: 32%;
}

.booking_form_container .switches-container {
    width: 15.5rem;
}

.booking_form_container .frm-border {
    margin: 20px 0px 15px 0px;
}

.booking_form_container .qtySelector {
    margin: auto;
}


/* css for slider form */


/* End css for slider form */

.container_step {
    max-width: 90%;
    margin: auto;
    background: #F5F5F5;
    border-radius: 5px;
    padding: 50px 35px 10px 35px;
}

.container_step header {
    font-size: 35px;
    font-weight: 600;
    margin: 0 0 30px 0;
}

.container_step .form-outer {
    width: 100%;
    overflow: hidden;
}

.container_step .form-outer form {
    display: flex;
    width: calc(100% * var(--stepNumber));
}

.form-outer form .page {
    width: calc(100% / var(--stepNumber));
    transition: margin-left 0.3s ease-in-out;
}

.form-outer form .page .title {
    text-align: left;
    font-size: 25px;
    font-weight: 500;
}

.form-outer form .page .field {
    width: var(--containerWidth);
    height: 45px;
    margin: 45px 0;
    display: flex;
    position: relative;
    justify-content: space-around;
    max-width: 900px;
}

form .page .field .label {
    position: absolute;
    top: -30px;
    font-weight: 500;
}

form .page .field input {
    box-sizing: border-box;
    height: 100%;
    width: 100%;
    border: 1px solid var(--inputBorderColor);
    border-radius: 5px;
    padding-left: 15px;
    margin: 0 1px;
    font-size: 18px;
    transition: border-color 150ms ease;
}

form .page .field input.invalid-input {
    border-color: var(--errorColor);
}

form .page .field select {
    width: 100%;
    padding-left: 10px;
    font-size: 17px;
    font-weight: 500;
}

button.firstNext.next {
    background: #D30000;
    box-shadow: 0px 20px 20px -10px rgb(0 0 0 / 8%);
    border-radius: 80px;
    text-align: center;
    color: white;
    width: 202px;
    height: 50px;
}


/* form .page .field button {
    width: 100%;
    height: calc(100% + 5px);
    border: none;
    background: var(--secondary);
    margin-top: -20px;
    border-radius: 5px;
    color: #fff;
    cursor: pointer;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    transition: 0.5s ease;
} */

form .page .field button:hover {
    color: #D30000;
    background: rgb(255 255 255);
    border-color: #D30000;
}

form .page .btns button {
    margin-top: -20px !important;
}

form .page .btns button.prev {
    margin-right: 3px;
    font-size: 17px;
    background: #D30000;
    box-shadow: 0px 20px 20px -10px rgb(0 0 0 / 8%);
    border-radius: 80px;
    text-align: center;
    color: white;
    width: 202px;
    height: 50px;
}

form .page .btns button.next {
    margin-left: 3px;
    background: #D30000;
    box-shadow: 0px 20px 20px -10px rgb(0 0 0 / 8%);
    border-radius: 80px;
    text-align: center;
    color: white;
    width: 202px;
    height: 50px;
}

.container_step .progress-bar {
    display: flex;
    margin: 40px auto;
    user-select: none;
    background: unset;
    flex-direction: unset;
    color: black;
    max-width: 1097px;
}

.container_step .progress-bar .step {
    text-align: center;
    width: 100%;
    position: relative;
}

.container_step .progress-bar .step p {
    font-weight: 500;
    font-size: 14px;
    color: #000;
    margin-bottom: 8px;
}

.progress-bar .step .bullet {
    height: 40px;
    width: 40px;
    border: 2px solid #e5e8ee;
    display: inline-block;
    border-radius: 50%;
    position: relative;
    transition: 0.2s;
    font-weight: 500;
    font-size: 16px;
    line-height: 35px;
    background-color: #e5e8ee;
}

.progress-bar .step .bullet.active {
    border-color: #D30000;
    background: #D30000;
}

.progress-bar .step .bullet span {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.progress-bar .step .bullet.active span {
    display: none;
}

.progress-bar .step .bullet:before,
.progress-bar .step .bullet:after {
    position: absolute;
    content: "";
    bottom: 16px;
    right: -182px;
    height: 3px;
    background: #F0F3F8;
    width: 180px;
}

.progress-bar .step .bullet.active:after {
    background: #D30000;
    transform: scaleX(0);
    transform-origin: left;
    animation: animate 0.3s linear forwards;
}

@keyframes animate {
    100% {
        transform: scaleX(1);
    }
}

.progress-bar .step:last-child .bullet:before,
.progress-bar .step:last-child .bullet:after {
    display: none;
}

.progress-bar .step p.active {
    /* color: #D30000; */
    transition: 0.2s linear;
}

.progress-bar .step .check {
    position: absolute;
    left: 50%;
    top: 21px;
    font-size: 16px;
    transform: translate(-50%, -50%);
    display: none;
}

.progress-bar .step .check.active {
    display: block;
    color: #fff;
}

@media screen and (max-width: 660px) {
    p.addon_description {
        height:unset !important;
    }
     :root {
        --containerWidth: 400px;
    }
    .progress-bar .step p {
        display: none;
    }
    .progress-bar .step .bullet::after,
    .progress-bar .step .bullet::before {
        display: none;
    }
    .progress-bar .step .bullet {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .progress-bar .step .check {
        position: absolute;
        left: 50%;
        top: 50%;
        font-size: 15px;
        transform: translate(-50%, -50%);
        display: none;
    }
    .step {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .pas_info_form .form-group{
        width: 100% !important;
        margin-bottom: 15px;
    }
    button.search-flight-btn{
        min-width: fit-content;
    }
}

@media screen and (max-width: 490px) {
     :root {
        --containerWidth: 100%;
    }
    .container_step {
        box-sizing: border-box;
        border-radius: 0;
    }
}

section.rcs-sec,
.step_form_fcontainer {
    background: #F5F5F5;
}


/* COLLAPSIBLE Panal css start  */

#main #faq .card {
    margin-bottom: 30px;
    border: 0;
}

#main #faq .card .card-header {
    border: 0;
    -webkit-box-shadow: 0 0 20px 0 rgba(213, 213, 213, 0.5);
    box-shadow: 0 0 20px 0 rgba(213, 213, 213, 0.5);
    border-radius: 2px;
    padding: 0;
}

#main #faq .card .card-header .btn-header-link {
    color: #fff;
    display: block;
    text-align: left;
    color: #222;
    padding: 8px 18px;
    background: #FFFFFF;
}

#main #faq .card .card-header .btn-header-link:after {
    content: "\f107";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    float: right;
}

#main #faq .card .card-header .btn-header-link.collapsed {
    color: gray;
}

#main #faq .card .card-header .btn-header-link.collapsed:after {
    content: "\f106";
}

#main #faq .card .collapsing {
    /* background: #FFE472; */
    line-height: 30px;
}

#main #faq .card .collapse {
    border: 0;
}

#main #faq .card .collapse.show {
    line-height: 30px;
    color: #222;
}

span.flight_selected_cheked {
    background: #D30000;
    position: absolute;
    text-align: center;
    color: white;
    right: 20px;
    top: 2px;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    font-size: 14px;
}

span.flight_selected_cheked {
    display: none;
}

.card-input-element:checked+.card-input span.flight_selected_cheked {
    display: block;
}

.inbound_container .flight_icon img {
    transform: rotate(180deg);
}


/* End COLLAPSIBLE Panal css  */


/* select box for flight bookign option */

label {
    width: 100%;
}

.src_desti_heading p {
    margin-bottom: 0px;
    line-height: 1.5;
}

p.src_desti_heading_tg {
    color: black;
    line-height: 1;
}

.card-input-element {
    display: none;
}

.card-input {
    margin: 10px;
    padding: 00px;
}

.card-input:hover {
    cursor: pointer;
}

.card-input-element:checked+.card-input {
    box-shadow: 0 0 1px 1px #D30000;
}

.odt_row {
    font-size: 14px;
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.container.fbc {
    padding: 0px;
}

.container.flight_bk_dtls {
    padding: 0px;
}

.txt_t_blue {
    color: #D30000;
}

.odt_gray_txt {
    color: #4B5860;
}

.card-footer.slider_control {
    background: #FFFFFF;
    border-top: 1px solid #F0F3F8;
    padding: 10px 15px;
    font-size: 14px;
    font-family: redrose_light;
}

.col-4.fare_with_price_con {
    display: flex;
    align-items: center;
    justify-content: center;
}

.col-4.fare_with_price_con:before {
    content: '';
    background: url(../images/Vector\ 31.png);
    display: block;
    width: 25px;
    position: absolute;
    left: 1px;
    top: -12px;
    height: 164px;
    background-size: cover;
}

.card-input {
    background: #FFFFFF;
    border: 1px solid #D9D9D9;
    box-shadow: 0px 9px 3px -5px rgb(0 0 0 / 5%);
    border-radius: 5px;
    padding: 10px;
    line-height: 2;
}


/* fare summary section start */

.card.fare_sum_card .card-body,
.card-header,
.card-footer {
    padding: 4px 8px;
    line-height: 2;
    font-size: 16px;
}

.card-header,
.card-footer {
    background: #F0F3F8;
    border: 0px;
}

.txt_light_blue {
    color: #D30000;
}

.txt_t_blue.fr_sm {
    font-size: 12px !important;
    line-height: 2.3;
}

i.fa.fa-inr {
    font-size: 11px !important;
}

hr.fare_s_hr {
    background: #FFFFFF;
    border: 0.7px solid #C0CAD9;
}

.card_header_heading {
    font-family: redrose_bold;
    font-size: 16px;
}

.x_muted {
    color: #C0CAD9;
}

.card.fare_sum_card {
    box-shadow: 0px 15px 15px -10px rgb(0 0 0 / 10%);
    border-radius: 5px;
}

.odt_row.amoutpay_section {
    background: #D30000;
    padding: 14px 10px;
    border-radius: 0px 0px 5px 5px;
}

.odt_row.amoutpay_section div {
    color: white;
    font-size: 16px;
}

.card-footer.slider_control i {
    border: solid;
    padding: 8px;
    height: 30px;
    border-radius: 50%;
    width: 30px;
}


/* fare summary section start */


/* End select box for flight bookign option */


/* CSS for Passenger Information */


/* .collapsepanal start */

details {
    margin: 1rem auto;
    /* padding: 0 1rem; */
    max-width: calc(100% - 2rem);
    position: relative;
    border-radius: 6px;
    background-color: #eceff1;
    color: #263238;
    transition: background-color 0.15s;
    border: 1px solid #F0F3F8;
}

details> :last-child {
    margin-bottom: 1rem;
}

.card-body.collapsible-content {
    border: 1px solid #F0F3F8;
    margin-bottom: 0px;
}

details::before {
    width: 100%;
    height: 100%;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    border-radius: inherit;
    opacity: 0.15;
    box-shadow: 0 0.25em 0.5em #263238;
    pointer-events: none;
    transition: opacity 0.2s;
    z-index: -1;
}

details[open] {
    background-color: #fff;
}

details[open]::before {
    opacity: 0.6;
}

summary {
    padding: 8px 18px;
    display: block;
    position: relative;
    font-size: 16px;
    color: #000000;
    cursor: pointer;
    background: #FFFFFF;
    border: 1px solid #F0F3F8;
}

.count_box_title {
    font-size: 14px;
}

summary::before,
summary::after {
    width: 0.75em;
    height: 2px;
    position: absolute;
    top: 50%;
    right: 15px;
    content: '';
    background-color: currentColor;
    text-align: right;
    transform: translateY(-50%);
    transition: transform 0.2s ease-in-out;
}

summary::after {
    transform: translateY(-50%) rotate(90deg);
}

[open] summary::after {
    transform: translateY(-50%) rotate(180deg);
}


/* End collapsepanal  */

.pas_info_form form-row {
    justify-content: space-between;
}

.pas_info_form .form-group select,
.form-group input {
    width: 100%;
    border-radius: 45px;
    background: transparent;
    height: 50px;
    padding: 0px 14px;
    font-size: 15px;
    border: 1px solid #C0CAD9;
}

.pas_info_form .form-group {
    width: 30%;
    margin: 10px
}

.pas_info_form .form-group input[type="date"] {
    height: 50px;
    border-radius: 45px;
    width: 100%;
    border: 1px solid #C0CAD9;
    box-shadow: none;
    outline: none;
    padding: 0px 12px;
}

.heading_with_right_sap {
    display: grid;
    grid-template-columns: auto 1fr;
}

span.cbt_count {
    margin: 10px;
    padding: 6px 10px;
    font-size: 12px;
    border-radius: 50%;
    background: #D30000;
    color: white;
}

.form-group.inline_txt_area {
    width: calc(100% - 38%) !important;
}


/* End CSS for Passenger Information */


/* Contact Details form  */

.checkbox_foraggree input#invalidCheck {
    margin: unset !important;
    padding: 0px;
    height: 22px;
    position: unset !important;
    text-align: left;
    width: 20px;
    /* line-height:10px; */
}

.prefix_input {
    width: 68%;
    background: transparent;
    height: 50px;
    padding: 0px 14px;
    font-size: 15px;
    border: 1px solid #C0CAD9;
    border-radius: 0px;
    border-top-right-radius: 45px !important;
    border-bottom-right-radius: 45px !important;
}

.prefix_select {
    border-top-right-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
}

.card-body.collapsible-content {
    border-top: 0px;
    border-bottom: 0px;
}

.form-group.inline_txt_area textarea#comment {
    width: 100%;
    border-radius: 45px;
    background: transparent;
    height: 50px;
    padding: 0px 14px;
    font-size: 15px;
    line-height: 3;
}

.checkbox_foraggree label.form-check-label {
    padding-left: 10px;
}

.checkbox_foraggree .form-check {
    padding-left: 0px;
    display: flex;
}

.form-group.checkbox_foraggree {
    max-width: 500px;
    margin: 50px auto;
}


/* Ticket summary section css */

.ticket_sumry .panel.panel-default.card-input {
    margin: 10px 0px;
}

.inbound_scn .flight_icon img {
    transform: rotate(180deg);
}

thead.thead-dark_pd {
    background: #D30000;
    color: white;
    font-family: redrose_bold;
    font-family: unset;
}

thead.thead-dark_pd th {
    font-family: redrose_bold;
}

thead.thead-dark_pd td {
    background: rgba(222, 229, 231, 0.25);
}

.ticket_sum_table .table-responsive {
    padding: 0px;
}

.step:first-child .bullet {
    border: 2px solid #D30000 !important;
}


/* fare rule popup css start */

p.sm_heading {
    font-family: 'redrose_bold';
    font-size: 16px;
    color: #000000;
    margin-bottom: 5px;
}

div#farerules_content .modal-header {
    display: block;
}

div#farerules_content .icon {
    font-size: 14px;
    color: #026E6F;
    float: left;
    position: relative;
    top: 10px;
}

div#farerules_content .content {
    margin-top: 5px;
    margin-left: 29px;
}

div#farerules_content .modal-header {
    padding: 0px 1rem;
}

.modal-body.allowance_container {
    font-size: 14px;
    color: #4B5860;
}

span.allowance_option_h {
    font-weight: bold;
    display: block;
    color: #4B5860;
    font-family: redrose_semibold;
}


/* End RCS page css */


/* media query start */

@media only screen and (max-width: 820px) {
    .site-logo {
        padding-left: unset;
    }
    .carousel_container .carousel-caption.d-md-block {
        left: 64px;
    }
    .carousel-item {
        text-align: center;
    }
}

@media only screen and (max-width: 767px) {
    .media.blog_listview {
        width: unset !important;
    }

    .modal.show .modal-dialog {
        width: 93% !important;
        margin: auto;
    }
}


/*new css for pnr page*/

.view_transaction_container {
    max-width: 90%;
    margin: auto;
}

span.pnr_txt_clr {
    color: #D30000 !important;
}

span.print_icon_vtc {
    position: absolute;
    right: 0px;
    color: #D30000;
    font-size: 15px;
}

span.mandatory-required {
    top: 19px;
    color: red;
    position: absolute;
    left: -12px;
}


/* Booking steps - Starts */

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

.page {
    display: none;
}

.container_step {
    /* max-width: 90%; */
    max-width: 1230px !important;
    margin: auto;
    background: #F5F5F5;
    border-radius: 5px;
    /* padding: 50px 35px 10px 35px; */
    /* padding: 1px 35px 10px 35px; */
    padding: 10px;
}

.container_step header {
    font-size: 35px;
    font-weight: 600;
    margin: 0 0 30px 0;
}

.container_step .form-outer {
    width: 100%;
    overflow: hidden;
}

.container_step .form-outer form {
    display: flex;
    width: calc(100% * var(--stepNumber));
}

.form-outer form .page {
    width: calc(100% / var(--stepNumber));
    transition: margin-left 0.3s ease-in-out;
}

.form-outer form .page .title {
    text-align: left;
    font-size: 25px;
    font-weight: 500;
}

.form-outer form .page .field {
    width: var(--containerWidth);
    height: 45px;
    margin: 45px 0;
    position: relative;
    display: flex;
    position: relative;
    justify-content: space-around;
}

form .page .field .label {
    position: absolute;
    top: -30px;
    font-weight: 500;
}

form .page .field input {
    box-sizing: border-box;
    height: 100%;
    width: 100%;
    border: 1px solid var(--inputBorderColor);
    border-radius: 5px;
    padding-left: 15px;
    margin: 0 1px;
    font-size: 18px;
    transition: border-color 150ms ease;
}

form .page .field input.invalid-input {
    border-color: var(--errorColor);
}

form.book-flight-section .invalid-input {
    border: 2px solid var(--errorColor) !important;
    /* border: 2px solid red; */
}

form .page .field select {
    width: 100%;
    padding-left: 10px;
    font-size: 17px;
    font-weight: 500;
}
button.firstNext.next {
    background: #D30000;
    box-shadow: 0px 20px 20px -10px rgb(0 0 0 / 8%);
    border-radius: 80px;
    text-align: center;
    color: white;
    width: 202px;
    height: 50px;
}
button.first_step_fake_button {
    background: #D30000;
    box-shadow: 0px 20px 20px -10px rgb(0 0 0 / 8%);
    border-radius: 80px;
    text-align: center;
    color: white;
    width: 202px;
    height: 50px;
}

/* form .page .field button {
    width: 100%;
    height: calc(100% + 5px);
    border: none;
    background: var(--secondary);
    margin-top: -20px;
    border-radius: 5px;
    color: #fff;
    cursor: pointer;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    transition: 0.5s ease;
} */

form .page .field button:hover {
    color: #D30000;
    background: rgb(255 255 255);
    border-color: #D30000;
}

form .page .btns button {
    margin-top: -20px !important;
}

form .page .btns button.prev {
    margin-right: 3px;
    font-size: 17px;
    background: #D30000;
    box-shadow: 0px 20px 20px -10px rgb(0 0 0 / 8%);
    border-radius: 80px;
    text-align: center;
    color: white;
    width: 202px;
    height: 50px;
}

form .page .btns button.next, form .page button.submit {
    margin-left: 3px;
    background: #D30000;
    box-shadow: 0px 20px 20px -10px rgb(0 0 0 / 8%);
    border-radius: 80px;
    text-align: center;
    color: white;
    width: 202px;
    height: 50px;
}

.container_step .progress-bar {
    display: flex;
    margin: 40px auto;
    /* margin: 0px auto 40px auto; */
    user-select: none;
    background: unset;
    flex-direction: unset;
    color: black;
    max-width: 1097px;
}

.container_step .progress-bar .step {
    text-align: center;
    width: 100%;
    position: relative;
}

.container_step .progress-bar .step p {
    font-weight: 500;
    font-size: 14px;
    color: #000;
    margin-bottom: 8px;
}

/* .progress-bar .step .bullet {
    height: 40px;
    width: 40px;
    border: 2px solid #e5e8ee;
    display: inline-block;
    border-radius: 50%;
    position: relative;
    transition: 0.2s;
    font-weight: 500;
    font-size: 16px;
    line-height: 35px;
    background-color: #e5e8ee ;
}

.progress-bar .step .bullet.active {
    border-color: #D30000;
    background: #D30000;
}

.progress-bar .step .bullet span {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.progress-bar .step .bullet.active span {
    display: none;
}

.progress-bar .step .bullet:before,
.progress-bar .step .bullet:after {
    position: absolute;
    content: "";
    bottom: 16px;
    right: -182px;
    height: 3px;
    background: #cdd3de;
    width: 180px;
}

.progress-bar .step .bullet.active:after {
    background: #D30000;
    transform: scaleX(0);
    transform-origin: left;
    animation: animate 0.3s linear forwards;
}

@keyframes animate {
    100% {
        transform: scaleX(1);
    }
}

.progress-bar .step:last-child .bullet:before,
.progress-bar .step:last-child .bullet:after {
    display: none;
}

.progress-bar .step p.active {

    transition: 0.2s linear;
}

.progress-bar .step .check {
    position: absolute;
    left: 50%;
    top: 21px;
    font-size: 16px;
    transform: translate(-50%, -50%);
    display: none;
}

.progress-bar .step .check.active {
    display: block;
    color: #fff;
}*/

@media screen and (max-width: 660px) {
    :root {
        --containerWidth: 400px;
    }

    .progress-bar .step p {
        display: none;
    }

    .progress-bar .step .bullet::after,
    .progress-bar .step .bullet::before {
        display: none;
    }

    .progress-bar .step .bullet {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .progress-bar .step .check {
        position: absolute;
        left: 50%;
        top: 50%;
        font-size: 15px;
        transform: translate(-50%, -50%);
        display: none;
    }

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

/*media query for header menu responsive*/
@media screen and (max-width: 460px) {
    a.menu-call-cta {
        padding: 3px !important;
        font-size: 11px;
        margin-right: 0px;
    }
}
@media only screen and (max-width: 400px){
    .header-container {
        max-width: 98%;
    }
    .login-wrap a {
        margin-left: 0;
        font-size: 12px !important;
    }
        a.menu-call-cta {
        font-size: 9px !important;
    }
        .login-wrap {
        width: 242px !important;
        }
    }


    @media only screen and (max-width: 350px){
    .header-container {
        max-width: 99%;
    }
    .login-wrap a {
        margin-left: 0;
        font-size: 11px !important;
    }
        a.menu-call-cta {
        font-size: 9px !important;
    }
        .login-wrap {
        width: 221px !important;
        }
    }


@media screen and (max-width: 490px) {
    :root {
        --containerWidth: 100%;
    }

    .container_step {
        box-sizing: border-box;
        border-radius: 0;
    }
}

section.rcs-sec,
.step_form_fcontainer {
    background: #F5F5F5;
}

#main #faq .card {
    margin-bottom: 30px;
    border: 0;
}

#main #faq .card .card-header {
    border: 0;
    -webkit-box-shadow: 0 0 20px 0 rgba(213, 213, 213, 0.5);
    box-shadow: 0 0 20px 0 rgba(213, 213, 213, 0.5);
    border-radius: 2px;
    padding: 0;
}

#main #faq .card .card-header .btn-header-link {
    color: #fff;
    display: block;
    text-align: left;
    color: #222;
    padding: 8px 18px;
    background: #FFFFFF;
}

#main #faq .card .card-header .btn-header-link:after {
    content: "\f107";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    float: right;
}

#main #faq .card .card-header .btn-header-link.collapsed {
    color: gray;
}

#main #faq .card .card-header .btn-header-link.collapsed:after {
    content: "\f106";
}

#main #faq .card .collapsing {
    /* background: #FFE472; */
    line-height: 30px;
}

#main #faq .card .collapse {
    border: 0;
}

#main #faq .card .collapse.show {
    line-height: 30px;
    color: #222;
}

.card-input-element:checked +.card-input span.flight_selected_cheked{
    background: #D30000;
    display:block;
}

.card-input-element +.card-input span.flight_selected_cheked{
    position: absolute;
    text-align: center;
    color: white;
    right: 20px;
    top: 2px;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    font-size: 14px;
}
/* span.flight_selected_cheked {
    display:none;
} */

.inbound_container .flight_icon img {
    transform: rotate(180deg);
}
/* End COLLAPSIBLE Panal css  */


/* select box for flight bookign option */
label {
    width: 100%;
}
.src_desti_heading p {
    margin-bottom: 0px;
    line-height: 1.5;
}
p.src_desti_heading_tg {
    color: black;
    line-height: 1;
}


.card-input-element {
    display: none;
}

.card-input {
    margin: 10px;
    padding: 00px;
}

.card-input:hover {
    cursor: pointer;
}

.card-input-element:checked+.card-input {
    box-shadow: 0 0 1px 1px #D30000;
}

.odt_row {
    font-size: 14px;
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.container.fbc {
    padding: 0px;
}
.container.flight_bk_dtls {
    padding: 0px;
}
.txt_t_blue{
    color: #D30000;
}
.odt_gray_txt{
    color: #4B5860;
}
.card-footer.slider_control {
    background: #FFFFFF;
    border-top: 1px solid #F0F3F8;
    padding: 10px 15px;
    font-size: 14px;
    font-family: redrose_light;
}
.col-4.fare_with_price_con {
    display: flex;
    align-items: center;
    justify-content: center;

}

/* .col-4.fare_with_price_con:before {
    content: '';
    background: url(../images/Vector-31.png);
    display: block;
    width: 25px;
    position: absolute;
    left: 1px;
    top: -12px;
    height: 164px;
    background-size: cover;
    border-right: dashed 2px #476eac99;
} */
.col-4.fare_with_price_con {
    border-left: dashed 2px #de051773;
}
.card-input {
    background: #FFFFFF;
    border: 1px solid #D9D9D9;
    box-shadow: 0px 9px 3px -5px rgb(0 0 0 / 5%);
    border-radius: 5px;
    padding:10px;
    line-height: 2;
}

/* fare summary section start */
.card.fare_sum_card .card-body , .card-header , .card-footer{
    padding: 4px 8px;
    line-height: 2;
    font-size: 16px;

}
.card-header , .card-footer{
    background: #F0F3F8;
    border: 0px;
}

.txt_light_blue {
    color: #D30000;
}
.txt_t_blue.fr_sm {
    font-size: 12px !important;
    line-height: 2.3;
}
i.fa.fa-inr {
    font-size: 11px !important;
}
hr.fare_s_hr {
    background: #FFFFFF;
    border: 0.7px solid #C0CAD9;
}
.card_header_heading {
    font-family: redrose_bold;
    font-size: 16px;
}
.x_muted{
    color: #C0CAD9;
}
.card.fare_sum_card {
    box-shadow: 0px 15px 15px -10px rgb(0 0 0 / 10%);
    border-radius: 5px;
}
.odt_row.amoutpay_section {
    background: #D30000;
    padding: 14px 10px;
    border-radius: 0px 0px 5px 5px;
}
.odt_row.amoutpay_section div {
    color: white;
    font-size: 16px;
}
.card-footer.slider_control i{
    border: solid 1px;
    padding: 8px;
    height: 30px;
    border-radius: 50%;
    width: 30px;

}
/* fare summary section start */
/* End select box for flight bookign option */

/* CSS for Passenger Information */


/* .collapsepanal start */
details {
    margin: 1rem auto;
    /* padding: 0 1rem; */
    max-width: calc(100% - 2rem);
    position: relative;
    border-radius: 6px;
    background-color: #eceff1;
    color: #263238;
    transition: background-color 0.15s;
    border: 1px solid #F0F3F8;
}
details > :last-child {
    margin-bottom: 1rem;
}
.card-body.collapsible-content {
   border: 1px solid #F0F3F8;
   margin-bottom: 0px;
   padding: 10px;
}
details::before {
    width: 100%;
    height: 100%;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    border-radius: inherit;
    opacity: 0.15;
    box-shadow: 0 0.25em 0.5em #263238;
    pointer-events: none;
    transition: opacity 0.2s;
    z-index: -1;
}
details[open] {
    background-color: #fff;
}
details[open]::before {
    opacity: 0.6;
}
summary {
   padding: 8px 18px;
    display: block;
    position: relative;
    font-size: 16px;
    color: #000000;
    cursor: pointer;
    background: #FFFFFF;
    border: 1px solid #F0F3F8;

}
.count_box_title {
   font-size: 14px;
}
summary::before, summary::after {
    width: 0.75em;
    height: 2px;
    position: absolute;
    top: 50%;
    right: 15px;
    content: '';
    background-color: currentColor;
    text-align: right;
    transform: translateY(-50%);
    transition: transform 0.2s ease-in-out;
}
summary::after {
    transform: translateY(-50%) rotate(90deg);
}
[open] summary::after {
    transform: translateY(-50%) rotate(180deg);
}
/* End collapsepanal  */

.pas_info_form form-row {
   justify-content: space-between;
}
select {
   display: block;
   width: 100%;
   font-size: 1em;
   padding: 0.8rem 0.5rem;
   border: 1px solid #333;

   /** for the dropdown indicator */
   appearance: none;
   background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
   background-position: right 10px center !important;
   background-size: 1.5em !important;
   background-repeat: no-repeat !important;
  }


.pas_info_form .form-group select, .form-group input {
   width: 100%;
   border-radius: 45px;
   background: transparent;
   height: 50px;
   padding: 0px 30px;
   font-size: 15px;
   border: 1px solid #C0CAD9;
}
.pas_info_form .form-group {
   width: 30%;
   margin:10px 15px;
   position: relative;
}

.pas_info_form .form-group input[type="date"] {
   height: 50px;
   border-radius: 45px;
   width: 100%;
   border: 1px solid #C0CAD9;
   box-shadow: none;
   outline: none;
   padding: 0px 12px;
   position: relative;
   display: inline-flex;
   align-items: center;
}
.heading_with_right_sap {
   display: grid;
   grid-template-columns: auto 1fr;
}
span.cbt_count {
   margin: 10px;
   padding: 6px 10px;
   font-size: 12px;
   border-radius: 50%;
   background: #D30000;
   color: white;
}



.form-group.inline_txt_area {width: calc(100% - 7%) !important ;}
/* End CSS for Passenger Information */

/* Contact Details form  */
.checkbox_foraggree input#invalidCheck {
   margin: unset !important;
   padding: 0px;
   height: 22px;
   position: unset !important;
   text-align: left;
   width: 20px;
   /* line-height:10px; */
}
.pas_info_form .form-group.checkbox_foraggree {
   text-align: left;
   margin: 50px;
   margin-left:0px;
}
.prefix_input{
   width: 68%;
   background: transparent;
   height: 50px;
   padding: 0px 14px;
   font-size: 15px;
   border: 1px solid #C0CAD9;
   border-radius: 0px;
   border-top-right-radius: 45px !important;
   border-bottom-right-radius:45px !important;
}
.prefix_select {
   border-top-right-radius: 0px !important;
   border-bottom-right-radius: 0px !important;
}
.card-body.collapsible-content {
   border-top: 0px;
   border-bottom: 0px;
}
.form-group.inline_txt_area textarea#contact_address {
   width: 100%;
   border-radius: 45px;
   background: transparent;
   height: 50px;
   padding: 0px 14px;
   font-size: 15px;
   line-height: 3;
}


.checkbox_foraggree label.form-check-label {
    padding-left:10px;
}

.checkbox_foraggree .form-check {
   padding-left: 0px;
   display: flex;
}
.form-group.checkbox_foraggree {
   max-width: 500px;
   margin: 50px auto;
}

/* Ticket summary section css */

.ticket_sumry .panel.panel-default.card-input {
   margin: 10px 0px;
}
.inbound_scn .flight_icon img {
   transform: rotate(180deg);
}
thead.thead-dark_pd {
   background: #D30000;
   color: white;
   font-family: redrose_bold;
   font-family: unset;
}
thead.thead-dark_pd th{
   font-family: redrose_bold;
}
thead.thead-dark_pd td {
   background: rgba(222, 229, 231, 0.25);
}
.ticket_sum_table .table-responsive{
   padding: 0px;
}
.step:first-child .bullet{
   border: 2px solid #D30000 !important;
}

/* fare rule popup css start */
p.sm_heading {
   font-family: 'redrose_bold';
   font-size: 16px;
   color: #000000;
   margin-bottom: 5px;
}
div#farerules_content .modal-header {
   display: block;
}
div#farerules_content .icon {
   font-size: 14px;
   color: #026E6F;
   float: left;
   position: relative;
   top: 10px;
 }

 div#farerules_content .content {
   margin-top: 5px;
   margin-left: 29px;
 }
 div#farerules_content .modal-header {
   padding: 0px 1rem;
 }
 .modal-body.allowance_container {
   font-size: 14px;
   color: #4B5860;
}

span.allowance_option_h {
   font-weight: bold;
   display: block;
   color: #4B5860;
   font-family: redrose_semibold;
}

/* End RCS page css */

/* Booking steps - Ends */

/* sucess page css */
.checkmark {
    font-size: 33px;
    font-family: redrose_semibold;
}
.checkmark i {
    border: solid;
    padding: 10px;
    color: white;
    background: #27c35b;
    border-radius: 50%;
    margin-bottom: 10px;
}
/* Unsucess page css */
.card.paymentsuccess , .card.paymentunsuccess {
    text-align: center;
    padding: 50px 10px;
    margin: 50px 0px;
}
.card.paymentsuccess,.paymentunsuccess p {
    color: gray;
}
.checkmark.pay_failed i {
    background: red;
    width: 59px;
    height: 59px;
}

/* css for my account page*/
.container.my_account {
    margin: 50px auto;
    padding: 21px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid #F0F3F8;
    box-shadow: 0px 25px 45px -10px rgb(0 0 0 / 5%);
    /* backdrop-filter: blur(2px); */
    border-radius: 15px;
}
.my_account a{
    color: #00368C;
}
.my_account .popup_form_container {
    margin-top: 40px !important;
}
.my_account .schedule-frm {
    padding-bottom:10px;
    max-width: 100%;
}

/* Addon */
    .addon_container{
        max-width: 385px;
        min-height: 200px;
        max-height:200px
    }

    .addon_container {
        background-size: cover;
    }

    .addon_details_container {
        /* background-image: linear-gradient(to right, rgba(255,0,0,0), rgb(255 0 0)); */
        /* color:white; */
        min-height: 200px;
        overflow: hidden;
    }

    h3.addon_heading {
        font-size: 16px;
        font-weight: bold;
    }

    p.addon_description {
        line-height: 1.3;
        display: block;
        display: -webkit-box;
        max-width: 100%;
        height: 94px;
        margin: 0 auto;
        font-size: 14px;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .addon_details_container {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    p.addon_price {font-weight: bold;}

    .left_adc {
        background-size: contain;
        margin: 10px 0px;
        overflow: hidden;
    }

    .right_adc {
        padding: 10px;
    }

@media only screen and (max-width: 1024px) {
    .modal.show .modal-dialog{
        width:100%;
    }
}
