/* rails MAIN */
.rails-main {
    background-color: #fff;
    border-radius: 4px;
    padding: 20px 25px 30px;
    border: 1px solid #f1f1ee;
}
.rail-image img {
    object-fit: contain;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.rail-image {
    height: 0;
    padding-top: 100%;
    overflow: hidden;
    position: relative;
    border: 1px solid #f0f0f0;
    border-radius: 5px;
}
.rail-description {
    font-weight: 600;
    color: #a09c9c;
    font-size:13px;
}
.rail-details strong {
    margin-bottom: 5px;
}
.railbox-left h4 {
    font-weight:600;
    font-size:32px;
    color:var(--primary);
}
.rail-details {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
    font-size: 13px;
    color: var(--black-text);
    margin-top: -5px;
}
.fb-inner-mid {
    color:var(--black-text);
}
.railduration {
    font-size:14px;
}
.railtime {
    font-size:19px;
    font-weight:600;
}
.fb-inner-mid {
    column-gap: 20px;
}
.rails-main {
    display:flex;
    flex-direction: column;
    gap:15px;
}
.fdmbox-wrap-rail {
    display: flex;
    flex-direction: column;
    position: relative;
    padding-left: 40px;
    gap: 20px;
}
.fdmbox, .fdm-right {
    display: flex;
    flex-direction: column;
}
.raildetailsmore {
    font-size:14px;
}
.fdm-box-rail-main {
    display:flex;
}
.loclines-wrap {
    width: 2px;
    background-color: var(--primary);
    height: 60%;
    position: absolute;
    left: 13px;
    top: 20px;
}
.loclines-wrap::before, 
.loclines-wrap::after {
    content: '';
    width: 12px;
    height: 12px;
    background-color: var(--primary);
    display: block;
    position: absolute;
    border-radius: 50%;
    left: -5px;
}
.loclines-wrap::before {
    top: -7px;
}
.loclines-wrap::after {
    bottom: -7px;
}
.rails-readmore-info {
    border-top: 1px solid #919191;
    padding: 20px 0 15px;
    margin-top: 10px;

}
.fdm-content-rail {
    border-top: 1px solid #919191;
    padding-top:30px;
    padding-bottom:30px;
    margin-top: 10px;
}
.fdm-content {
    gap:20px;
}
.fdm-content-wrap {
    max-height:0;
    overflow:hidden;
    transition: max-height 0.15s ease-out;
}
.fdm-content-wrap.show {
    max-height:50000px;
    transition: max-height 0.25s ease-in;
}
.rails-rmore-btn i {
    transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
}
.rails-rmore-btn.change i {
    transform: rotate(180deg);
}
i.fa-chevron-* {
    font-size:13px;
}
.rails-rmore-btn {
    cursor: pointer;
    font-size: 15px;
}
.fdm-box-rail {
    width: 100%;
    font-size: 13px;
}
.fdm-box-rail-separator {
    background-color: #f7f6f3;
    padding: 12px 15px 12px 35px;
    border-radius: 7px;
    display: flex;
    column-gap: 30px;
    margin: 23px 0;
}
.railpurchase-box-left {
    display: flex;
    flex-direction: column;
}
.railpurchase-box-right {
    font-weight: 600;
    color:#a09c9c;
}
.railpurchase-box-left strong {
    margin-bottom: 3px;
    font-weight: 600;
}
.railpurchase-box:first-child {
    border-top:0;
    margin-top: 0;
    padding-top:0;
}
.railpurchase-box {
    border-top: 1px solid #e6e6e6;
    margin-top: 10px;
    padding-top: 10px;
}
.railpurchase-box strong {
    font-weight: 600;
}



/* PASSENGER BOX */
.passengerbox {
    margin-bottom:20px;
}
.passengerbox-main select {
    font-size:14px;
    font-weight:500;
}
.passengerbox-main {
    background-color: #fff;
    border-radius: 5px;
    border: 1px solid #e2e2e2;
    padding: 25px;
}
.passengerbox-main label {
    font-weight:600;
    color:var(--black-text);
    margin-bottom:5px;
    display:block;
}


/* YELLOW BOXES */
.rules-links {
    font-size: 15px;
    display: flex;
    flex-direction: column;
    gap:5px;
}
body .modal .btn-close.tp-modal-close {
    position: absolute;
    right: 20px;
    opacity: 1;
    top: 20px;
    color: #012d62 !important;
}
.rules-links a:hover {
    color: var(--primary);
}   
.rules-links a {
    font-weight:500;
    color:var(--black-text);
}
.fpb-top, .fpb-bottom {
    justify-content: space-between;
}
.rails-wrap .box-group:first-child {
    margin-top:0;
}
.rails-wrap .box-group {
    margin-top: 15px;
}
.rails-wrap {
    display:flex;
    flex-direction: column;
    gap:20px;
}
.railprice-box {
    background-color: #fffbd3;
    padding: 20px;
    border-radius: 7px;
    color:var(--black-text)
}
.fpb-bottom a {
    color:var(--black-text);
    text-decoration: underline !important;
}
.raillinks {
    display: flex;
    column-gap:15px;
}
.fpb-bottom {
    border-top: 1px solid #b8b4aa;
    margin-top: 7px;
    padding-top: 7px;
    font-size: 14px;
}
.railprice span {
    font-size: 13px;
    display: block;
}
.railprice-main {
    font-size: 30px;
    font-weight: 700;
    display: block;
    margin-top: -8px;
}
.fpb-top {
    align-items: center;
}
.railsprice-wrap {
    margin-top: -10px;
}


/* RAILS NEW + rail /////*/
.rail-image {
    background-color:#fff;
}
.railduratio {
    font-size: 14px;
}
.railprice-option .btn {
    padding: 7px 15px;
    font-size: 15px;
}
.fdm-box-rail-main {
    display: flex;
    position: relative;
}

/* RAIL POP UP */
.breakdown-rule-top {
    border-bottom: 1px solid #E6E6E6;
    margin-bottom: 20px;
    padding-bottom: 5px;
}
.rules-top {
    padding-bottom: 35px;
    border-bottom: 1px solid #E6E6E6;
    padding-top: 5px;
    margin-bottom: 20px;
}
.rules-bottom h3 {
    margin-bottom: 18px;
}
.rail-breakdown-popup h3, .rail-rules-popup h3 {
    font-size: 19px;
}
.rules-bottom h4, .rail-rules-popup h4 { 
    font-size:16px;
}
.rules-bottom, .rail-rules-popup {
    font-size: 14px;
}


@media (min-width: 1200px) and (max-width: 1399px) {
    .railprice-box {
        padding: 14px;
    }
    .flights-main {
        padding: 20px 10px 25px 20px;
    }
    .railprice-option .btn {
        padding: 6px 10px;
    }
    .railprice-main {
        font-size: 25px;
    }
    .raillinks {
        display: flex;
        column-gap: 10px;
    }
    .fpb-bottom {
        font-size: 13px;
    }
    .railbox-left h4 {
        font-size: 28px;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .railprice-box {
        padding: 15px;
    }
    .railprice-main {
        font-size: 25px;
    }
    .railprice-option .btn {
        padding: 5px 38px;
        font-size: 15px;
        margin-bottom: 5px;
        margin-top: -5px;
    }
    .fpb-top, .fpb-bottom {
        flex-direction: column;
        text-align:center;
    }
    .raillinks {
        justify-content: center;
    }
    .railprice {
        text-align: center;
    }
}

@media (max-width: 1199px) {
    .railbox-left h4 {
        font-size: 23px;
    }
}

@media (max-width: 991px) {
    .railprice-main {
        font-size: 23px;
    }
    .railprice-option .btn {
        padding: 5px 11px;
    }
    .railprice-box {
        padding: 15px;
    }
    .fpb-bottom {
        font-size: 13px;
    }
    .fdm-box-rail-separator {
        padding: 9px 15px 9px 40px;
    }
}


@media (max-width: 767px) {
    .fdm-box-rail-separator {
        padding: 10px;
        font-size: 13px;
        justify-content: center;
    }
    .rails-main {
        padding: 18px;
    }
}

@media (min-width: ) {
    .fdm-box-rail-separator {
        padding: 10px 24px;
        font-size: 13px;
        justify-content: start;
    }
}