/* ================================================================
   RESET (retained for non-BS5 SharePoint zones)
   ================================================================ */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}


/* ================================================================
   GENERAL
   ================================================================ */

body {
    font-family: Helvetica, Arial, sans-serif;
    font-size: 14px;
    color: #444;
    background-color: transparent;
    overflow: auto;
    min-width: 300px;
}

body a,
body a:visited {
    color: #592a22;
    text-decoration: underline;
    transition: all 0.3s ease;
}

body a:hover,
body a:focus,
body a:active {
    color: #a21b18;
}

body p {
    margin-bottom: 21px;
}

#contentBox {
    min-width: 300px;
    margin-left: 0;
    margin-right: 0;
}

@media (min-width: 1200px) {
    .container {
        max-width: 1170px;
    }
}

h1 {
    font-size: 1.6em;
}

h2 {
    font-size: 1.4em;
}

h3 {
    font-size: 1.3em;
}

h4 {
    font-size: 1.2em;
}

h5 {
    font-size: 1.1em;
}

h6 {
    font-size: 1em;
}

h1,
.h1,
h2,
.h2,
h3,
.h3 {
    margin-top: 20px;
    margin-bottom: 10px;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.ms-rtestate-field h1,
h1.ms-rteElement-H1,
.ms-rtestate-field h2,
h2.ms-rteElement-H2 {
    line-height: 1.4em;
    color: #a21b18;
    font-weight: bold;
}

.contentRow.row h1 {
    flex: 0 0 100%;
    padding-right: 0;
    margin-top: 20px;
    margin-bottom: 10px;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 24px;
    line-height: 1.4em;
    color: #a21b18;
    font-weight: 700 !important;
}

.contentRow.row h1>span,
#DeltaPlaceHolderPageTitleInTitleArea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    font-weight: 700 !important;
}

strong {
    font-weight: bold;
}

a:hover,
a:focus {
    color: #a21b18;
    text-decoration: underline;
}

a.button {
    display: inline-block;
    color: #fff;
    font-size: 20px;
    line-height: 1em;
    padding: 10px 20px;
    border: 1px #c2c2c2 solid;
    background: #009899 none;
}

a.button:hover {
    color: #c2c2c2;
    border: 1px #333 solid;
}


/* ================================================================
   SHAREPOINT CHROME
   ================================================================ */

#s4-workspace {
    overflow: auto;
    position: relative;
    flex: 1;
    height: 771px;
    background-color: #f6f2eb;
}

#pageStatusBar[class],
.ms-status-msg {
    margin-bottom: 0;
}

#suiteBarDelta,
#suiteBar {
    display: none;
}

.ms-webpartzone-cell {
    margin: auto;
}

.s4-wpcell>.ms-webpart-chrome,
.s4-wpActive>.ms-webpart-chrome {
    border: 0 solid transparent;
}

body {
    overflow: hidden !important;
}

body>form {
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* ================================================================
   BACKGROUND / BODY CONTAINER
   ================================================================ */

#gulf-bodyContainer {
    background: url("/_catalogs/masterpage/Queensland Rail/GulfLander/Images/Gulflander_BackImage.jpg") no-repeat scroll center top;
    background-size: cover;
    min-height: 1550px;
    padding: 0 40px;
}

@media screen and (max-width: 1199px) and (min-width: 992px) {
    #gulf-bodyContainer {
        background-size: contain;
    }
}

@media screen and (max-width: 991px) {
    #gulf-bodyContainer {
        padding-left: 15px;
        padding-right: 15px;
    }
}


/* ================================================================
   HEADER
   ================================================================ */

header {
    min-height: 145px;
    padding-top: 25px;
}

.headerInfo a:focus {
    outline-offset: 2px;
}

.headerInfo {
    margin-right: 65px;
}

.headerInfo a {
    text-decoration: underline !important;
    color: #444;
}

header #logo img {
    width: 100%;
    min-width: 150px;
    max-width: 215px;
}

.welcomeBar {
    margin-right: 35px;
    clear: both;
}

.logoRow {
    padding-top: 20px;
}

.loginId {
    float: right;
    margin-right: 31px;
    color: #592a23;
}

.GLogo {
    padding-left: 42px;
    padding-top: 0;
}

.headersociallinks {
    margin-top: 5px;
    clear: right;
    margin-right: 60px;
}


/* -------------------------------------------------------------------------
   Navbar header: logo left, toggler right on mobile
   ------------------------------------------------------------------------- */
.navbar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

/* Hide logo on desktop if it's only meant for mobile,
   or keep visible — adjust as needed */
@media (min-width: 992px) {
    .navbar-header {
        /* On desktop the header row collapses/disappears
           since the toggler is already hidden */
        display: none;
    }
}

@media (max-width: 991.98px) {
    .navbar-header {
        padding: 6px 12px;
    }

    .navbar-header .navbar-toggler {
        padding: 4px 8px;
        font-size: 0.85rem;
        line-height: 1;
        min-width: 0 !important;
    }
}

/* Search */

header .searchbox {
    display: flex;
    align-items: center;
    float: right;
    margin-top: 5px;
    clear: right;
    margin-right: 60px;
}

header .searchbox:before {
    content: "Search";
    display: inline-block;
    margin-right: 3px;
    color: inherit;
    font-size: 14px;
    font-weight: bold;
    line-height: 30px;
}

header .searchbox .ms-mpSearchBox {
    width: auto;
}

.ms-srch-sbLarge {
    margin-top: 10px;
}

.ms-srch-sb>input {
    border-radius: 9px;
}

.ms-mpSearchBox {
    width: 270px;
    padding-top: 5px;
    height: 30px;
}

.ms-srch-sb>.ms-srch-sb-searchLink,
.ms-srch-sb>.ms-srch-sb-navLink {
    height: 25px;
    width: 30px;
}

.ms-srch-hover-outerContainer {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.ms-srch-sb>.ms-srch-sb-searchLink,
.ms-srch-sb>input {
    margin-left: 3px;
    padding-top: 2px;
}

.ms-srch-sb-searchLink {
    text-decoration: none;
}

.ms-qSuggest-container {
    z-index: 2000;
}

/* SharePoint welcome / site actions */
.ms-welcome-root {
    padding-left: 0;
}

.ms-core-menu-arrow {
    height: auto !important;
    width: 20px !important;
    padding-left: 10px;
}

.ms-siteactions-root>span>a.ms-core-menu-root,
.ms-welcome-root>a.ms-core-menu-root,
.ms-signInLink {
    color: #592a23;
    text-decoration: none;
}

@media screen and (max-width: 767px) {

    .ms-siteactions-root>span>a.ms-core-menu-root,
    .ms-welcome-root>a.ms-core-menu-root,
    .ms-signInLink {
        color: #fff;
    }

    .welcomeBar {
        position: absolute;
        right: 50px;
        z-index: 1500;
        top: 102px;
        margin-right: 0;
    }

    .welcometext {
        display: none;
    }

    .ms-welcome-root>a.ms-core-menu-root {
        display: none;
    }

    header .searchbox {
        margin-right: 0;
    }

    header {
        min-height: 110px;
    }

    .loginId {
        top: 120px;
        right: 72px;
        z-index: 1;
    }

    header #logo {
        padding: 0;
    }

    .ms-siteactions-root>span>a.ms-core-menu-root {
        color: #fff;
        font-size: 1.2em;
        width: 24px;
        height: 24px;
        text-decoration: none !important;
    }

    .ms-siteactions-normal {
        height: 34px;
        padding-left: 4px;
    }

    .ms-core-menu-arrow {
        color: #fff;
    }

    .headerInfo {
        margin-right: 12px;
    }
}

@media screen and (max-width: 480px) {
    .welcomeBar {
        top: 65px;
    }

    header .searchbox {
        justify-content: center;
        text-align: center;
        width: 100%;
        margin-top: 15px;
    }

    .ms-mpSearchBox {
        padding-top: 0;
        float: none;
        margin: 0 auto;
    }

    header #logo {
        text-align: center;
    }

    header #logo img {
        max-width: 150px;
    }
}

@media (max-width: 680px) {

    .headerInfo,
    .headersociallinks {
        display: none;
    }

    .line-left,
    .line-right {
        display: none;
    }
}


/* ================================================================
   NAVIGATION BAR
   Updated: Bootstrap 3 .navbar-inverse â†’ Bootstrap 5 custom
   The .main-menu React component uses menu.css; these styles apply
   to the Bootstrap 5 .navbar wrapper only.
   ================================================================ */

.navbar {
    min-height: 44px;
    margin-bottom: 0;
    background-color: #9b1a37;
    border-color: #9b1a37;
    border-radius: 0;
    position: relative;
}

/* Toggler button (mobile hamburger) */
.navbar .navbar-toggler {
    min-width: 0;
    border-color: rgba(255, 255, 255, 0.5);
}

.navbar .navbar-toggler:hover,
.navbar .navbar-toggler:focus {
    background: none;
    border: 1px solid #fff;
}

.navbar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Collapsed nav on mobile */
@media (max-width: 767px) {
    .navbar-collapse {
        padding: 0;
        overflow: auto;
    }
}


/* ================================================================
   MAIN (#main)
   ================================================================ */

#main {
    min-height: 600px;
}

.searchrowgap {
    padding-top: 8px;
}

.ms-core-listMenu-horizontalBox {
    display: block;
    margin: 15px 0 0 0;
}

.ms-core-listMenu-horizontalBox li.static>.ms-core-listMenu-item {
    border: none;
}


/* ================================================================
   BUTTONS â€” Bootstrap 5 compatible
   ================================================================ */

/* Override Bootstrap 5 primary colour to QR red */
.btn-primary,
a.btn-primary,
a.btn-primary:visited {
    color: #fff;
    background-color: #a21b18;
    border-color: #a21b18;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-check:checked+.btn-primary,
.btn-check:active+.btn-primary {
    color: #fff;
    background-color: #7f1616;
    border-color: #7f1616;
}

.btn-primary:focus,
.btn-primary.focus {
    box-shadow: 0 0 0 0.25rem rgba(162, 27, 24, 0.5);
}

input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
button:hover {
    border-color: #9b1a37;
    background-color: #610019;
}

input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active,
button:active {
    border-color: #610019;
    background-color: #9b1a37;
}

a.buttonHomePage,
a.buttonHomePage:link {
    display: inline-block;
    background-color: #610019;
    color: #fff;
    text-align: center;
    width: 230px;
    margin-top: 20px;
    padding: 10px 16px;
    border: 3px solid #e3d6c9;
    border-radius: 11px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.3333333;
    vertical-align: middle;
    text-decoration: underline;
    white-space: nowrap;
    cursor: pointer;
}

a.buttonHomePage:hover,
a.buttonHomePage:focus,
a.buttonHomePage:active {
    color: #fff !important;
    outline-offset: 1px;
    background-color: #610019 !important;
    border-color: #e3d6c9 !important;
    text-decoration: none;
}

a.buttonHomePage:visited {
    color: #fff !important;
    text-decoration: underline;
}


/* ================================================================
   BOOTSTRAP 5 COMPONENT OVERRIDES
   ================================================================ */

/* Cards (replaced panels) */
.card-header.bg-primary,
.card-header-primary {
    background-color: #a21b18 !important;
    color: #fff;
}

/* Pagination â€” BS5 uses .page-item / .page-link */
.page-item.active .page-link {
    background-color: #a21b18;
    border-color: #a21b18;
    color: #fff;
}

.page-link {
    color: #a21b18;
}

.page-link:hover {
    color: #7f1616;
}

/* Tabs */
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    background-color: #a21b18;
    color: #fff;
    border-color: #a21b18 #a21b18 #fff;
}

.tab-content a {
    color: #a21b18;
}

/* Dropdowns */
.dropdown-menu .dropdown-item {
    color: #faf8da;
}

.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
    color: #fff;
    background-color: #7f1616;
}

.nav-item .dropdown-menu {
    background-color: #a21b18;
    border: 1px solid #fff;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
    text-decoration: none;
    background-color: #eee;
    color: #592a22
}

.nav-tabs .nav-link.active {
    margin-right: 2px;
    line-height: 1.42857143;
    border: 1px solid transparent;
    border-radius: 4px 4px 0 0;
    background-color: #a21b18;
    color: #fff;
}

.nav-link {
    color: #592a22
}

/* ================================================================
   BANNER CAROUSEL
   Clean Bootstrap 5 version
   ================================================================ */

.banner-carousel {
    position: relative;
    overflow: hidden;
    border-width: 0;
}

.banner-carousel.carousel-fade .carousel-item {
    transition: opacity 1s ease;
}

.banner-carousel.carousel.slide .carousel-item {
    transition: transform .6s ease-in-out !important;
}

.banner-carousel .carousel-item img {
    width: 100%;
    display: block;
    border-radius: 0;
}

.banner-carousel.not-fullscrn-carousel {
    margin-bottom: 20px;
    padding: 0;
    margin-right: -15px;
    margin-left: -15px;
}

/* ================================================================
   CONTROLS
   ================================================================ */

.banner-carousel .carousel-control-prev,
.banner-carousel .carousel-control-next {
    width: 10%;
    z-index: 2;
    opacity: 1;
    top: 40%;
    height: 20%;
    min-width: 35px;
    min-height: 55px;
    background: rgba(0, 0, 0, 0.05);
}

.banner-carousel .carousel-control-prev .fa-angle-left,
.banner-carousel .carousel-control-next .fa-angle-right {
    font-size: 5em;
    position: absolute;
    top: 40%;
    display: inline-block;
    background: #000;
    height: 1em;
    width: 0.5em;
    border-radius: 1px;
}

.banner-carousel .carousel-control-prev .fa-angle-left {
    left: 10%;
}

.banner-carousel .carousel-control-next .fa-angle-right {
    right: 10%;
}

.banner-carousel .carousel-control-prev .fa-angle-left:hover,
.banner-carousel .carousel-control-prev .fa-angle-left:focus,
.banner-carousel .carousel-control-next .fa-angle-right:hover,
.banner-carousel .carousel-control-next .fa-angle-right:focus {
    background: #9B1A37;
    opacity: 1;
    outline: 3px solid #090909;
    border-radius: 1px;
    outline-offset: 0;
}

/* ================================================================
   PLAY/PAUSE + INDICATORS WRAPPER
   ================================================================ */

.banner-carousel-indicator-container {
    position: absolute;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
    z-index: 5;

    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 6px 12px;
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.05);
}

/* keep play/pause from shrinking into the dots */
.banner-carousel-indicator-container .banner-carousel-play-pause {
    flex: 0 0 auto;
    margin: 0;
}

.banner-carousel-play-pause-button {
    width: 40px;
    min-width: auto;
    height: 26px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
    border: none;
    border-radius: 4px;
    color: #fff;
}

.banner-carousel-play-pause-button:hover,
.banner-carousel-play-pause-button:focus {
    background: #9B1A37 !important;
    outline: 2px solid #090909;
    outline-offset: 0;
}

.banner-carousel-play-pause-icon {
    font-size: 10px;
    line-height: 1;
}

/* ================================================================
   INDICATORS
   ================================================================ */

.banner-carousel-indicator-container .carousel-indicators {
    position: static;
    inset: auto;
    margin: 0;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: auto;
    border: 1px solid black;
    background-color: black;
    border-radius: 4px;
}

.banner-carousel-indicator-container .carousel-indicators [data-bs-target] {
    position: static !important;
    width: 16px;
    height: 12px;
    margin: 0;
    border: 0;
    border-radius: 6px;
    background: #000;
    border: 1px solid #fff;
    opacity: 1;
    min-width: auto !important;
}

.banner-carousel-indicator-container .carousel-indicators [data-bs-target]:hover {
    background-color: #9B1A37;
}

.banner-carousel-indicator-container .carousel-indicators [data-bs-target].active,
.banner-carousel-indicator-container .carousel-indicators [data-bs-target][aria-current="true"] {
    background: #fff;
}



.banner-carousel .carousel-indicators:hover,
.banner-carousel .banner-carousel-play-pause:hover,
.banner-carousel .banner-carousel-play-pause:focus,
.banner-carousel .carousel-indicators:focus {
    background: #9B1A37;
    outline: 2px solid #090909;
    border-radius: 5px;
    outline-offset: 0px;
}

/* ================================================================
   CAPTION / OVERLAY
   ================================================================ */

.banner-carousel .captionbk {
    position: absolute;
    top: -60px;
    left: 20px;
    width: 250px;
    padding: 0.75em;
    text-align: center;
    overflow: hidden;
    border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.75);
    transition: top 1.5s;
}

.banner-carousel .carousel-item.active .captionbk {
    top: 25px;
}

.banner-carousel .caption {
    font-size: 1.2em;
    color: #5a2b22;
    font-family: Cambria, Arial, Palatino, Helvetica;
    opacity: 0;
    transition: opacity 1s;
    transition-delay: 1.4s;
}

.banner-carousel .carousel-item.active .caption {
    opacity: 1;
}

.banner-carousel .caption .content h3 {
    margin: 0;
    padding: 0;
    color: #1dccef;
}

.banner-carousel .overlay {
    color: #fff;
    width: 40%;
}

.banner-carousel .TopLeft {
    left: 10%;
    top: 10%;
    position: absolute;
}

.banner-carousel .TopRight {
    right: 10%;
    top: 10%;
    position: absolute;
}

.banner-carousel .BottomLeft {
    left: 10%;
    bottom: 10%;
    position: absolute;
}

.banner-carousel .BottomRight {
    right: 10%;
    bottom: 10%;
    position: absolute;
}

.banner-carousel .Center {
    left: 25%;
    top: 40%;
    position: absolute;
    width: 50%;
}

/* ================================================================
   RESPONSIVE
   ================================================================ */

@media screen and (max-width: 767px) {

    .banner-carousel .carousel-control-prev .fa-angle-left,
    .banner-carousel .carousel-control-next .fa-angle-right {
        font-size: 23px;
        top: 25%;
    }

    .banner-carousel .captionbk {
        width: 210px;
        top: -30px;
        left: 20px;
        font-size: 1.1em;
    }

    .banner-carousel .carousel-item.active .captionbk {
        top: 20px;
    }
}

@media screen and (max-width: 480px) {

    .banner-carousel .carousel-control-prev,
    .banner-carousel .carousel-control-next {
        top: 30%;
    }

    .banner-carousel .overlay {
        width: 80%;
        max-height: calc(100% - 58px);
        overflow: hidden;
        box-sizing: border-box;
    }

    .banner-carousel .TopLeft,
    .banner-carousel .TopRight,
    .banner-carousel .BottomLeft,
    .banner-carousel .BottomRight {
        left: 10%;
        top: 10%;
        right: auto;
        bottom: auto;
        position: absolute;
    }

    .banner-carousel .overlay .qrt-overlay {
        max-height: inherit;
        overflow: hidden;
        padding: 0.55em;
        box-sizing: border-box;
    }

    .banner-carousel .overlay .qrt-overlay-large,
    .banner-carousel .overlay .qrt-overlay-medium,
    .banner-carousel .overlay .qrt-overlay-small,
    .banner-carousel .overlay .qrt-overlay-xlarge,
    .banner-carousel .overlay .qrt-overlay-xxlarge {
        font-size: 0.72em;
        line-height: 1.25;
    }

    .banner-carousel .overlay p {
        margin-bottom: 0.45em;
        line-height: 1.25 !important;
    }

    .banner-carousel .captionbk {
        width: 200px;
        top: -20px;
        left: 10px;
        font-size: 1em;
    }

    .banner-carousel .carousel-item.active .captionbk {
        top: 10px;
    }

    .banner-carousel-indicator-container {
        left: 50%;
        right: auto;
        bottom: 4px;
        transform: translateX(-50%);
        padding: 0;
        gap: 4px;
        max-width: calc(100% - 32px);
        background: transparent;
        border-radius: 0;
        justify-content: center;
    }

    .banner-carousel-indicator-container .banner-carousel-play-pause {
        position: relative;
        display: inline-block;
        left: auto;
        bottom: auto;
        width: auto;
        margin: 0 4px 3px 0;
        background: #000;
        border-radius: 5px;
        vertical-align: bottom;
    }

    .banner-carousel-play-pause-button {
        width: 28px;
        height: 20px;
    }

    .banner-carousel-play-pause-icon {
        font-size: 8px;
    }

    .banner-carousel-indicator-container .carousel-indicators {
        position: relative;
        display: inline-flex;
        left: auto;
        bottom: auto;
        gap: 5px;
        padding: 3px 4px;
        margin-bottom: 3px;
        vertical-align: bottom;
    }

    .banner-carousel-indicator-container .carousel-indicators [data-bs-target] {
        width: 10px;
        height: 8px;
        border-radius: 5px;
    }
}

@media screen and (min-width: 768px) {

    .banner-carousel .carousel-control-prev .fa-angle-left,
    .banner-carousel .carousel-control-next .fa-angle-right {
        font-size: 4.5vw;
        margin-top: -45%;
    }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {

    .banner-carousel .carousel-control-prev .fa-angle-left,
    .banner-carousel .carousel-control-next .fa-angle-right {
        font-size: 5em;
    }
}

/* ================================================================
   FULL-SCREEN / WEBPART ITEMS
   ================================================================ */

body div.col-lg-12 .qrt-fullscrn-item {
    padding: 0;
    margin-right: -15px;
    margin-left: -15px;
}


/* ================================================================
   PACKAGE VIEW LIST
   Updated: .media â†’ Bootstrap 5 .d-flex pattern (kept selectors for BC)
   ================================================================ */

#Package .list-group-item {
    border-bottom: 1px solid #c3b381;
}

#Package .list-group-item a:hover,
#Package .list-group-item a:focus {
    color: #a21b18;
}

#Package .list-group-item a.btn:hover,
#Package .list-group-item a.btn:focus {
    color: #fff;
}

.imagewrapper {
    height: 120px;
    float: left;
    position: relative;
    overflow: hidden;
    margin-right: 10px;
    vertical-align: top;
    top: 22px;
    margin-bottom: 10px;
}


/* ================================================================
   LAYOUT HELPERS
   ================================================================ */

.centerfluidContent {
    background-color: #e3d6c9;
}

.contentFluid p {
    font-size: 1.7em;
    line-height: 1.6em;
}

.logoContentHomePage {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 50px;
}

.line-right {
    width: 11px;
    background-color: #f3cd1f;
    height: 300px;
    margin-left: -22px;
    margin-right: 7px;
    border: 0;
    color: #f3cd1f;
    opacity: 1;
}

.line-left {
    width: 11px;
    background-color: #f3cd1f;
    height: 300px;
    margin-right: -20px;
    border: 0;
    color: #f3cd1f;
    opacity: 1;
}

@media screen and (max-width: 1199px) and (min-width: 736px) {

    .line-left,
    .line-right {
        display: none;
    }
}

@media (min-width: 1200px) {
    .line-right {
        margin-left: -22px;
        margin-right: 7px;
    }

    .line-left {
        margin-right: -20px;
    }
}

div.Staytuned {
    display: flex;
    align-items: center;
}

.Staytuned a {
    display: block;
}

.flex {
    display: flex;
}

.paddingTop {
    margin-top: 10px;
}

.paddingBottom {
    margin-bottom: 10px;
}


/* ================================================================
   TABLES
   ================================================================ */

thead tr.header {
    color: #eaffed;
    background-color: #a21b18;
}

td.first {
    padding-left: 1%;
    border-bottom: 1px solid #a21b18;
    border-left: 1px solid #a21b18;
    border-right: 1px solid #a21b18;
}

td.second {
    border-right: 1px solid #a21b18;
    border-bottom: 1px solid #a21b18;
    border-left: 1px solid #a21b18;
}


/* ================================================================
   FOOTER
   ================================================================ */

footer .footeralinks {
    font-size: 0.9em;
    padding-bottom: 4px;
}

footer .abntext {
    font-size: 0.8em;
    text-align: left;
    vertical-align: middle;
    line-height: 15px;
}

@media screen and (max-width: 767px) {
    footer .abntext {
        line-height: 1.8em;
    }
}

footer .footeralinks li {
    display: inline;
    border-left: 1px solid #005a20;
}

footer .footeralinks li:first-child {
    border-left: 0 none;
}

footer .footeralinks a {
    color: #005a20;
    padding: 0 0.7em;
    white-space: nowrap;
}

footer ul.footerlinks>li>a:hover,
footer ul.footerlinks>li>a:focus {
    color: #a11a17;
}

.Gulf-BtmQldRailLogo {
    display: block;
    height: 70px;
    float: right;
}

footer .abntext p {
    padding-top: 10px;
    padding-bottom: 50px;
}

@media screen and (max-width: 767px) {
    footer .abntext p {
        padding-top: 10px;
        padding-bottom: 20px;
    }
}

.footer-container {
    font-size: 0.9em;
    max-width: 1200px;
    margin: auto;
    background-color: #9b1a37;
    color: #fff;
    padding: 10px;
}

#footer-main .footer-container a:hover {
    outline-offset: 2px;
    outline: none;
    border: solid 1px #444 !important;
}


/* ================================================================
   OVERLAY STYLES (image overlays)
   ================================================================ */

.qrt-overlay {
    padding: 1em;
    background-color: rgba(0, 0, 0, 0.5);
    display: inline-block;
}

.qrt-overlay-large {
    font-size: 1.75em;
}

.qrt-overlay-xxlarge {
    font-size: 2.6em;
}

.qrt-overlay-xlarge {
    font-size: 2em;
}

.qrt-overlay-medium {
    font-size: 1.5em;
}

.qrt-overlay-small {
    font-size: 1.25em;
}

.qrt-icon-container {
    height: 40px;
}

@media screen and (max-width: 991px) {
    .qrt-overlay-large {
        font-size: 1.25em;
    }

    .qrt-overlay-medium {
        font-size: 1.1em;
    }

    .qrt-overlay-small {
        font-size: 1em;
    }

    .qrt-overlay-xxlarge {
        font-size: 2em;
    }

    .qrt-overlay-xlarge {
        font-size: 1.8em;
    }
}

@media screen and (max-width: 767px) {
    .qrt-overlay-large {
        font-size: 1.25em;
    }

    .qrt-overlay-medium {
        font-size: 1.1em;
    }

    .qrt-overlay-small {
        font-size: 1em;
    }

    .qrt-overlay-xxlarge {
        font-size: 1.8em;
    }

    .qrt-overlay-xlarge {
        font-size: 1.6em;
    }
}

@media screen and (max-width: 480px) {
    .qrt-overlay-large {
        font-size: 0.6em;
    }

    .qrt-overlay-medium {
        font-size: 1.1em;
    }

    .qrt-overlay-small {
        font-size: 0.8em;
    }

    .qrt-overlay-xxlarge {
        font-size: 1.6em;
    }

    .qrt-overlay-xlarge {
        font-size: 1.4em;
    }
}

@media screen and (max-width: 320px) {
    .qrt-overlay-large {
        font-size: 1em;
    }

    .qrt-overlay-medium {
        font-size: 0.85em;
    }

    .qrt-overlay-small {
        font-size: 0.6em;
    }

    .qrt-overlay-xxlarge {
        font-size: 1.4em;
    }

    .qrt-overlay-xlarge {
        font-size: 1.2em;
    }
}


/* ================================================================
   FLIP CONTAINER (Alertbar)
   ================================================================ */

.qrt-flip-container {
    font-size: 0.8em;
    padding: 1em;
}

.qrt-flip-container>ul {
    margin-block-start: 0.5em;
    margin-block-end: 0.5em;
    padding-inline-start: 10px;
}

.qrt-flip-container>ul>li {
    line-height: 1.4em;
}

@media screen and (max-width: 1199px) {
    .qrt-flip-container {
        font-size: 0.7em;
    }
}

@media screen and (max-width: 991px) {
    .qrt-flip-container {
        font-size: 0.8em;
    }
}


/* ================================================================
   LINKED TILE HELPERS
   ================================================================ */

.has-link a {
    color: #444;
}

.has-link a:focus {
    border: 1px #444 solid;
}

.has-link a:visited {
    color: #93619c;
}

.has-link a:hover {
    text-decoration: underline;
}


/* ================================================================
   TRAVEL SAFE
   ================================================================ */

.gl-travelsafe a,
.gl-travelsafe a:hover,
.gl-travelsafe a:visited,
.gl-travelsafe a:focus {
    text-decoration: underline;
}

.gl-travelsafe .noticed-text {
    color: #a21b18;
}

.gl-travelsafe .custom-heading {
    text-align: center;
    padding: 13px 25px;
    border-radius: 21px;
}

.gl-travelsafe .mb-3 {
    margin-bottom: 30px;
}

.gl-travelsafe .custom-button {
    padding: 12px 25px;
    border-radius: 12px;
    margin: 10px 0;
    display: inline-block;
    color: white;
    background-color: #a21b18;
}

@media (min-width: 768px) {
    .gl-travelsafe .right-col {
        padding-left: 50px;
    }
}


/* ================================================================
   EXPANDER PANEL
   ================================================================ */

.expanel {
    display: block;
    margin-bottom: 20px;
}

.expanel .ex-header {
    margin: 0;
    width: 100%;
    position: relative;
    font-size: 16px;
    color: #fff;
}

.expanel .ex-header [aria-expanded] {
    width: 100%;
    text-align: left;
}

.expanel .ex-header+.hidden {
    display: none;
    width: 100%;
}

.expanel button {
    background-color: #a21b18;
    color: #fff;
    display: block;
    padding: 11.5px 15px;
    border: none;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    cursor: pointer;
    outline: 0;
    font-weight: 700;
}

.expanel button:focus {
    border: solid 2px #444;
    outline: none;
    background-color: #ad2b48;
}

.expanel .ex-content {
    padding: 15px 15px 0 15px;
}

.expanel .ex-header .arrow-down {
    background-image: url(/Media%20Assets/Icons/arrow-down-white.png);
    background-size: 15px auto;
    background-repeat: no-repeat;
    background-position: calc(100% - 30px) center;
}

.expanel .ex-header .arrow-up {
    background-image: url(/Media%20Assets/Icons/arrow-up-white.png);
    background-size: 15px auto;
    background-repeat: no-repeat;
    background-position: calc(100% - 30px) center;
}


/* ================================================================
   FOCUS / ACCESSIBILITY
   ================================================================ */

body .Staytuned a:focus,
header #logo img:focus,
.ms-srch-sb>input:focus,
#s4-bodyContainer a:focus,
#s4-bodyContainer .nav-link:focus {
    border: solid 2px #444;
    outline: none;
}

#s4-bodyContainer a[type="button"]:focus {
    background-color: #ad2b48 !important;
}


/* ================================================================
   ADMIN / BOOKING FORM
   ================================================================ */

.admin-grid th {
    background-color: #a21b18;
    color: #fff;
}

.admin-grid tbody tr:hover {
    background-color: #f8f0e9;
}

.booking-form-wrapper .form-label {
    font-weight: 600;
}

/* ================================================================
   MISC
   ================================================================ */

.hidden {
    display: none;
}

.fa-ticket {
    font-size: 1.3em;
    margin-right: 0.3em;
}

@media (max-width: 767px) {
    .booknow {
        margin-left: 0 !important;
    }
}

/* SharePoint search results */
.ms-srch-sbLarge {
    border: 1px solid #592a23;
}

.ms-srch-sbLarge input[type="text"] {
    background-color: transparent;
    color: #592a23;
    font-size: 1.1em;
}

.ms-srch-item:hover,
.ms-srch-resultHover:hover {
    background-color: #e9e0c7 !important;
}

.ms-disabled {
    color: rgb(68, 68, 68);
}

a.ms-calloutLink {
    display: none;
}

.ms-srch-resultFooter #ResultFooter {
    display: none;
}

.ms-ref-refinername {
    padding-top: 25px !important;
}
