/* Bus World homepage Transport Promise section. */
.bw-transport-promise{
    position:relative;
    isolation:isolate;
    width:100%;
    min-height:var(--bw-tp-desktop-min-height,500px);
    max-height:var(--bw-tp-desktop-max-height,620px);
    overflow:hidden;
    background-color:#111;
    background-image:var(--bw-tp-background);
    background-position:var(--bw-tp-position-desktop,center center);
    background-size:var(--bw-tp-background-size,cover);
    background-repeat:var(--bw-tp-background-repeat,no-repeat);
    color:#fff;
    font-family:var(--font-interface);
}

.bw-transport-promise__overlay{
    position:absolute;
    inset:0;
    z-index:0;
    background:var(--bw-tp-overlay-colour,#000000);
    opacity:var(--bw-tp-overlay-opacity,.5);
    pointer-events:none;
}

.bw-transport-promise__container{
    position:relative;
    z-index:1;
    min-height:inherit;
    display:flex;
    align-items:center;
    padding-top:var(--bw-tp-desktop-top,140px);
    padding-bottom:var(--bw-tp-desktop-bottom,140px);
}

.bw-transport-promise__content{
    width:min(100%,var(--bw-tp-content-width,1120px));
    margin-inline:auto;
}

.bw-transport-promise--align-center .bw-transport-promise__content{text-align:center}
.bw-transport-promise--align-left .bw-transport-promise__content{text-align:left;margin-left:0}
.bw-transport-promise--align-right .bw-transport-promise__content{text-align:right;margin-right:0}

.bw-transport-promise__eyebrow{
    margin:0;
    color:#F30101;
    font-family:var(--font-interface);
    font-size:clamp(12px,.78vw,15px);
    font-weight:700;
    line-height:1.35;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.bw-transport-promise__line{
    display:block;
    width:clamp(48px,4vw,68px);
    height:2px;
    margin:17px auto 0;
    background:#F30101;
}

.bw-transport-promise--align-left .bw-transport-promise__line{margin-left:0}
.bw-transport-promise--align-right .bw-transport-promise__line{margin-right:0}

.bw-transport-promise__title{
    margin:clamp(22px,2.1vw,32px) 0 0;
    color:var(--bw-tp-heading-colour,#fff);
    font-family:var(--font-display);
    font-size:clamp(46px,4.3vw,76px);
    font-style:normal;
    font-weight:600;
    line-height:1.04;
    letter-spacing:-.035em;
    text-wrap:balance;
}

.bw-transport-promise__paragraph{
    width:min(100%,var(--bw-tp-paragraph-width,940px));
    margin:clamp(22px,2.2vw,32px) auto 0;
    color:var(--bw-tp-paragraph-colour,#fff);
    opacity:var(--bw-tp-paragraph-opacity,.92);
    font-family:var(--font-interface);
    font-size:clamp(17px,1.25vw,21px);
    font-weight:400;
    line-height:1.62;
    text-wrap:pretty;
}

.bw-transport-promise--align-left .bw-transport-promise__paragraph{margin-left:0}
.bw-transport-promise--align-right .bw-transport-promise__paragraph{margin-right:0}

.bw-transport-promise--text-shadow .bw-transport-promise__title,
.bw-transport-promise--text-shadow .bw-transport-promise__paragraph{
    text-shadow:0 2px 16px rgba(0,0,0,.35);
}

@media (min-width:1024px) and (hover:hover) and (pointer:fine){
    .bw-transport-promise--desktop-fixed{background-attachment:fixed}
}

@media (max-width:1199px){
    .bw-transport-promise{
        min-height:0;
        max-height:none;
        background-position:var(--bw-tp-position-tablet,center center);
        background-attachment:scroll;
    }

    .bw-transport-promise__container{
        padding-top:var(--bw-tp-tablet-top,110px);
        padding-bottom:var(--bw-tp-tablet-bottom,110px);
    }

    .bw-transport-promise__title{font-size:clamp(43px,6vw,66px)}
    .bw-transport-promise__paragraph{font-size:clamp(16px,1.8vw,20px)}
}

@media (max-width:767px){
    .bw-transport-promise{
        background-position:var(--bw-tp-position-mobile,58% center);
        background-attachment:scroll;
    }

    .bw-transport-promise__container{
        padding-top:var(--bw-tp-mobile-top,88px);
        padding-bottom:var(--bw-tp-mobile-bottom,88px);
    }

    .bw-transport-promise__content{width:100%}

    .bw-transport-promise__eyebrow{
        font-size:10px;
        letter-spacing:.14em;
    }

    .bw-transport-promise__line{
        width:46px;
        margin-top:14px;
    }

    .bw-transport-promise__title{
        margin-top:21px;
        font-size:clamp(38px,10.5vw,52px);
        line-height:1.05;
    }

    .bw-transport-promise__paragraph{
        margin-top:20px;
        font-size:clamp(16px,4.25vw,18px);
        line-height:1.58;
    }
}

@media (max-width:390px){
    .bw-transport-promise__title{font-size:clamp(36px,10.4vw,43px)}
}

@media (prefers-reduced-motion:reduce){
    .bw-transport-promise,
    .bw-transport-promise *{
        animation:none!important;
        transition:none!important;
        scroll-behavior:auto!important;
    }
}
