@charset "utf-8";

:root {
    --accent-col: #c9302c;

    --lightbit-light: #ffffff;
    --lightbit-dark: #ececec;

    --darkbit-light: #444444;
    --darkbit-dark: #222222;
}

@media screen {
    html,
    body,
    div,
    span,
    applet,
    object,
    iframe,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    blockquote,
    pre,
    hr,
    a,
    abbr,
    address,
    cite,
    code,
    del,
    dfn,
    em,
    img,
    ins,
    kbd,
    q,
    s,
    samp,
    small,
    strong,
    sub,
    sup,
    tt,
    var,
    b,
    u,
    i,
    dl,
    dt,
    dd,
    ol,
    ul,
    li,
    fieldset,
    form,
    label,
    legend,
    table,
    caption,
    tbody,
    tfoot,
    thead,
    tr,
    th,
    td,
    article,
    aside,
    canvas,
    details,
    figcaption,
    figure,
    footer,
    header,
    hgroup,
    menu,
    section,
    summary,
    time,
    mark,
    audio,
    video {
        margin: 0;
        padding: 0
    }
    @font-face {
		font-family: FuturaBookBT;
		src: url(../../gb-en/css/fonts/futuraBookBT.ttf);
	}
    /* Montserrat Variable Font - Regular */
    @font-face {
        font-family: 'Montserrat';
        src: url('/gb-en/admin2/css/fonts/montserrat/Montserrat-VariableFont_wght.ttf') format('truetype');
        font-weight: 100 900; /* Range of weights for normal styles */
        font-style: normal;
    }

    /* Montserrat Variable Font - Italic */
    @font-face {
        font-family: 'Montserrat';
        src: url('/gb-en/admin2/css/fonts/montserrat/Montserrat-Italic-VariableFont_wght.ttf') format('truetype');
        font-weight: 100 900; /* Range of weights for italic styles */
        font-style: italic;
    }
    html {
        width: 100% !important;
        scroll-behavior: smooth
    }
    body {
        font-family: 'Montserrat', sans-serif; /* Default font for body text */
        color: #333;
        width: 100% !important;
        height: 100%;
        background: #fff;
        overflow-x: hidden
    }
    main {
        width: 100% !important
    }
    
    footer {
        display: block;
        position: relative;
        bottom: 0;
        left: 0;
        height: auto;
        width: 100%;
        background: #333;
        color: #fff;
        padding: 0;
        z-index: 0;
        overflow: hidden
    }
    footer a {
        text-decoration: none;
        color: #333;
    }
    section {
        display: block;
        position: relative;
        width: 100%;
        margin-bottom: 10px
    }
    section img {
        max-width: 100%;
        height: auto;
        vertical-align: middle
    }
    h1 {
        line-height: normal;
        font-weight: 400
    }
    h2 {
        line-height: normal;
        font-weight: 400
    }
    h3 {
        line-height: normal;
        font-weight: 400
    }
    p {
        line-height: normal
    }
    main p a {
        position: relative;
        display: inline-block;
        color: #e06b45;
        background: none;
        padding: 0 4px;
        margin: -2px;
        border-radius: 5px;
        transition: all 0.2s ease-in-out
    }
    main p a:hover {
        transform: translateY(-2px)
    }
    hr {
        border: 0;
        height: 0;
        border-bottom: 1px solid rgb(100 100 100 / .3);
        margin-bottom: 20px
    }
    br {
        line-height: normal
    }

    address {
        font-style: normal
    }

    
 
    .whitebit {
        background: #fff;
        color: #222
    }

    
    .lightbit {
        background: radial-gradient(circle, #f0faf6, #bad7e0); /* soft green edge, cool blue center */
        color: #1a3b4c; /* dark blue text for good contrast */
    }
    .darkbit {
        background: radial-gradient(circle, #104a47, #011754); /* darker blue center, with a hint of green in the lighter edges */
        color: #ffffff;
        text-shadow: 0 1px 2px #000; /* subtle shadow for contrast */
    }
    .darkbit a {
        color: #fff
    }

    .whitebit ul,
    .lightbit ul,
    .darkbit ul,
    .whitebit ol,
    .lightbit ol,
    .darkbit ol {
        padding-left: 1.5em;
        margin-bottom: 3em
    }
    .whitebit ul li {
        position: relative;
        padding-left: 2em;
        margin-bottom: 1em;
        list-style-type: none;
        line-height: 1.5
    }
    .whitebit ul li::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: .8em;
        height: .8em;
        background: url(/gb-en/css/img/bullet-dark.png) no-repeat center center;
        background-size: contain;
        vertical-align: middle;
        transform: translateY(.4em)
    }
    .lightbit ul li {
        position: relative;
        padding-left: 2em;
        margin-bottom: 1em;
        list-style-type: none;
        line-height: 1.5
    }
    .lightbit ul li::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: .8em;
        height: .8em;
        background: url(/gb-en/css/img/bullet-dark.png) no-repeat center center;
        background-size: contain;
        vertical-align: middle;
        transform: translateY(.4em)
    }
    .darkbit ul li {
        position: relative;
        padding-left: 2em;
        margin-bottom: 1em;
        list-style-type: none;
        line-height: 1.5
    }
    .darkbit ul li::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: .8em;
        height: .8em;
        background: url(/gb-en/css/img/bullet-white.png) no-repeat center center;
        background-size: contain;
        vertical-align: middle;
        transform: translateY(.4em)
    }
    

    
    .fold-container,
    .fold-container-short {
        width: 100vw;
        position: relative;
        border-bottom: 1px solid #ccc;
        box-sizing: border-box
    }
    .fold-text-for-image {
        z-index: 2;
        text-shadow: 0 2px 4px #fff0;
        box-sizing: border-box;
        background: rgb(250 250 250 / .8);
        color: #222
    }
    .wall {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px
    }
    .brick {
        box-sizing: border-box;
        overflow: hidden;
        position: relative;
        height: 100%;
        box-shadow: 0 0 0 10px #fff;
        vertical-align: middle
    }
    .gallery {
        column-width: 300px;
        column-gap: 10px
    }
    .gallery-item {
        position: relative;
        break-inside: avoid;
        margin-bottom: 10px;
        transition: transform 0.2s ease-in-out
    }
    .gallery-item a {
        text-decoration: none;
        display: block
    }
    .gallery img {
        width: 100%;
        display: block;
        border-radius: 5px
    }
    .gallery-item:hover {
        transform: translateY(-3px)
    }
    .gallery .caption {
        position: absolute;
        bottom: 10px;
        left: 0;
        right: 0;
        padding: 5px;
        text-align: center;
        font-size: 0.8em;
        color: #fff;
        background: rgb(0 0 0 / .6);
        border-radius: 0 0 5px 5px;
        transition: opacity 0.2s ease-in-out;
        opacity: 0
    }
    .gallery-item:hover .caption {
        opacity: 1
    }
    
        /* Gallery Modal overlay */
    .gallery-modal {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: none;
        align-items: center;
        justify-content: center;
        background: rgba(0, 0, 0, 0.85);
        z-index: 10000;
    }

    /* Gallery Modal content */
    .gallery-modal-content {
        position: relative;
        background: #fff;
        padding: 15px;
        border-radius: 8px;
        text-align: center;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4);
        max-width: 95vw;
        max-height: 95vh;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    /* Gallery Modal Title - Now Below Image & Smaller */
    .gallery-modal-title {
        margin-top: 10px; /* Adds spacing between image and title */
        font-size: 1.0em; /* Smaller size */
        font-weight: normal; /* Less bold for a subtle look */
        max-width: 90%;
        white-space: normal;
        color: #333;
    }


    /* Gallery Modal Image */
    .gallery-modal img {
        max-width: 90vw;
        max-height: 80vh; /* Ensures it never overflows */
        width: auto;
        height: auto;
        object-fit: contain;
        display: block;
    }

    /* Gallery Close Button */
    .gallery-close {
        position: absolute;
        top: 10px;
        right: 15px;
        width: 40px;
        height: 40px;
        font-size: 22px;
        font-weight: bold;
        cursor: pointer;
        color: #fff;
        background: rgba(0, 0, 0, 0.6);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        border: none;
        line-height: 1;
        transition: background 0.3s ease-in-out, transform 0.2s;
    }

    .gallery-close:hover {
        background: rgba(255, 0, 0, 0.8);
        transform: scale(1.1);
    }


    /* Gallery Hidden Full-Size Image */
    .gallery-full-size-hidden {
        display: none;
    }
    
    .boxwrapper {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
        margin: -1%
    }
    .boxwrapper a {
        text-decoration: none
    }
    .box {
        flex: 1 1 22%;
        max-width: 22%;
        padding: 2%;
        margin: 1%;
        text-align: center;
        vertical-align: top;
        box-sizing: border-box;
        transition: 0.5s ease-in-out;
        transition-property: background, border-color, color;
        border-radius: 10px;
        border: 1px solid #ccc;
        display: flex;
        flex-direction: column;
        justify-content: space-between
    }
    .box img {
        max-width: 80%;
        margin: 0 auto
    }
    .box p {
        margin-bottom: 0
    }
    .results {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 30px
    }
    .result {
        box-sizing: border-box;
        width: 100%;
        max-width: 450px;
        background: #fff;
        border-radius: 10px;
        border: 1px solid #ccc;
        overflow: hidden;
        padding: 10px;
        transition: all 0.2s ease-in-out
    }
    .result a {
        text-decoration: none !important;
        color: #333;
        display: flex;
        flex-direction: column;
        height: 100%;
        cursor: pointer
    }
    .result:hover {
        transform: translateY(-3px);
        box-shadow: 0 3px 7px rgb(0 0 0 / .1)
    }
    .result-image {
        overflow: hidden;
        border-radius: 5px;
        position: relative;
        padding-bottom: 100%
    }
    .result-image img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        background: none
    }
    .result-title {
        font-size: 0.8em;
        font-weight: 700;
        padding: 10px 15px;
        border-bottom: 1px solid #ccc
    }
    .result-person-position {
        font-size: 0.8em;
        font-style: italic;
        padding: 10px 15px;
        border-bottom: 1px solid #ccc
    }
    .result-body {
        font-size: 0.8em;
        padding: 15px;
        flex: 1;
        text-align: justify;
        hyphens: auto;
        text-justify: inter-word
    }
    .result-footer {
        font-size: 0.8em;
        padding: 10px;
        font-style: italic;
        border-top: 1px solid #ccc;
        text-align: right
    }


    
    .table-wrap {
        box-sizing: border-box;
        width: 100%;
        border-collapse: collapse;
        table-layout: auto;
        empty-cells: show;
        margin-bottom: 2em;
    }
    .table-wrap thead,
    .table-wrap tbody {
        font-size: inherit; /* Ensure thead and tbody use the inherited font-size */
    }
    
    .table-wrap thead {
        position: sticky;
        top: 0;
    }
    .table-wrap thead tr{
        
        background:#bbb;
    }
    .table-wrap thead th {
        text-align: left;
        font-weight: 400;
        border: 1px solid #fff;
        background: #bbb;
        color: #fff
    }
    .table-wrap tr>* {
        flex-grow: 1;
        flex-shrink: 0;
        flex-basis: 200px
    }
    .table-wrap tr {
        display: flex;
        flex-wrap: wrap;
        background:#efefef;
        margin: 5px 0 0 0;
    }
    .table-wrap tbody tr:hover {
        box-shadow: 0 0 6px rgba(0, 123, 255, 0.5); /* Light shadow effect */
        transition: all 0.1s ease-in-out; /* Smooth animation */
        z-index: 1; /* Ensures the row is above others */
    }
    .table-wrap td,
    .table-wrap th {
        font-size: inherit; /* Ensure individual table cells inherit the correct size */
        box-sizing: border-box;
        word-break: break-word;
        border: 1px solid #efefef;
        padding: 8px 10px;
        margin: 0;
    }
    .table-wrap td:empty:before {
        content: "-"
    }
    .table-wrap tbody tr:nth-child(even) {
            background-color: #f9f9f9; /* Light gray background for even rows */
    }

    .table-wrap tbody tr:nth-child(odd) {
        background-color: #fff; /* White background for odd rows */
    }
    
    .video-container {
        position: relative;
        width: 100%;
        padding-bottom: 56.25%;
        height: 0;
        overflow: hidden
    }
    .video-container iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: 0
    }
    iframe.map {
        width: 100%;
        height: 500px;
        border: 1px solid #ccc
    }
    figure {
        margin: 0;
        height: 100%
    }
    figcaption {
        position: absolute;
        bottom: 1em;
        left: 0;
        width: auto;
        font-size: .8em;
        text-align: left;
        font-style: italic;
        padding: .7em 1.2em;
        border-top-right-radius: 5px;
        border-bottom-right-radius: 5px;
        text-shadow: 0 2px 4px #fff0;
        box-sizing: border-box;
        background: #fff;
        color: #666
    }
        /* Form Container */
    form.prompts {
        width: 100%;
        max-width: 800px;
        margin: 25px auto;
        padding: 20px;
        box-sizing: border-box;
    }

    /* Grid Layout for Form Fields */
    form.prompts fieldset {
        display: grid;
        grid-template-columns: 1fr 1fr; /* Two-column layout */
        gap: 20px;
        border: 1px solid #ccc;
        border-radius: 10px;
        padding: 20px;
        background: #f9f9f9;
    }

    form.prompts legend {
        grid-column: 1 / -1; /* Span both columns */
        font-size: 1em;
        font-style: italic;
        color: #888;
        padding: 15px 25px;
        margin-bottom: 15px;
        background: #f9f9f9;
        border: 1px solid #ccc;
        border-radius: 10px;
    }

    /* Styling for Form Elements */
    form.prompts label {
        font-size: 0.9em;
        color: #888;
        margin-bottom: 5px;
    }

    form.prompts input.prompt,
    form.prompts select.prompt,
    form.prompts textarea.prompt {
        font-family: 'Montserrat', sans-serif;
        font-size: 0.9em;
        color: #666;
        padding: 10px;
        border: 1px solid #ccc;
        border-radius: 5px;
        box-sizing: border-box;
        width: 100%;
    }

    form.prompts textarea.prompt {
        height: 100px;
        resize: vertical;
    }

    /* Submit Button */
    form.prompts .submit {
        grid-column: 1 / -1; /* Span both columns for full width */
        font-family: 'Montserrat', sans-serif;
        font-weight: normal;
        font-size: 1em;
        padding: 10px 20px;
        margin-top: 10px;
        border-radius: 5px;
        border: 1px solid #c2c2c2;
        color:#fff;
        background: radial-gradient(circle, #104a47, #011754); /* darker blue center, with a hint of green in the lighter edges */
        cursor: pointer;
    }





    .word-cloud-container {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px 7px;
        margin-top: 0
    }
    
    .word-cloud-link, .cta { 
        display: inline-block;
        box-sizing: border-box;
        padding: 12px 20px;
        text-decoration: none;
        text-shadow: none !important;
        color: #ffffff !important;
        background-color: #ff6b5c; /* Softened coral */
        border: none;
        border-radius: 5px;
        cursor: pointer;
        box-shadow: 0 2px 5px rgb(0 0 0 / .3);
        transition: all 0.2s ease-in-out;
    }

    .word-cloud-link:hover, .cta:hover {
        background-color: #ff8a76; /* Slightly lighter coral for hover */
        color: #222;
        box-shadow: 0 2px 5px rgb(0 0 0 / .3);
        transform: translateY(-2px);
    }

    .word-cloud-link:active, .cta:active {
        background-color: #e0574b; /* Darker coral for active */
        transform: translateY(4px);
    }


    
    .pannellum-container {
        width: 100%;
        height: 60vh;
        background-image: url(/gb-en/images/vr/equirectangular-empty-showroom.jpg);
        background-color: #fff;
        background-size: cover;
        background-position: center;
        border: 1px solid #ccc;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative
    }
    .pannellum-container .pannellum-panorama {
        display: none;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        background-color: #ccc
    }
    .pannellum-container .pannellum-side-buttons-container {
        position: absolute;
        left: 10px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10;
        display: none;
        flex-direction: column;
        gap: 10px;
        max-height: 100%;
        overflow-y: auto;
        width: auto;
        max-width: 20%;
        box-sizing: border-box
    }
    .pannellum-load-button {
        display: inline-block;
        box-sizing: border-box;
        padding: 16px 30px;
        font-size: 1em;
        text-decoration: none;
        color: #fff;
        background-color: #af231c;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        transition: all 0.2s ease-in-out;
        font-family: 'Montserrat', sans-serif; /* Default font for body text */
    }
    .pannellum-load-button:hover {
        background-color: #c9302c;
        box-shadow: 0 2px 5px rgb(0 0 0 / .3);
        transform: translateY(-2px)
    }
    .pannellum-side-buttons-container button {
        display: inline-block;
        box-sizing: border-box;
        padding: 12px 20px;
        font-size: 1em;
        text-decoration: none;
        color: #fff;
        background-color: rgb(0 0 0 / .6);
        border: none;
        border-radius: 5px;
        cursor: pointer;
        transition: all 0.2s ease-in-out;
        font-family: 'Montserrat', sans-serif; /* Default font for body text */
    }
    .pannellum-side-buttons-container button:hover {
        background-color: rgb(0 0 0 / .8);
        box-shadow: 0 2px 5px rgb(0 0 0 / .3);
        transform: translateY(-2px)
    }
}

@media screen and (min-width:1000px) {
    body {
        font-size: 1em;
    }

    #printfooter {
        display: none
    }
    h1 {
        font-size: 3em;
        margin: 0 0 .5em 0
    }
    h2 {
        font-size: 2em;
        margin: 0 0 1em 0
    }
    h3 {
        font-size: 1.5em;
        margin: 0 0 1em 0
    }
    p {
        line-height: 1.5em;
        margin-bottom: 1.5em;
    }
    .sectioninner {
        width: 80%;
        margin: 0 auto;
        padding: 5% 0;
        overflow-wrap: break-word
    }
    .txtoverimg {
        display: block;
        position: absolute;
        padding: 0 20%;
        width: auto;
        top: 50%;
        transform: translate(0, -50%);
        z-index: 50
    }
    .txtoverimgcenter {        
        display:block;
        box-sizing:border-box;
        position:absolute;
        width:100%;
        top:50%;
        transform:translate(0,-50%);
        padding:20%;
        text-align:center;
        z-index:50
    }
    .txtoverimgleft {
        display: block;
        position: absolute;
        width: 25%;
        left: 10%;
        top: 50%;
        transform: translate(0, -50%);
        z-index: 50
    }
    .txtoverimgright {
        display: block;
        position: absolute;
        width: 25%;
        right: 10%;
        top: 50%;
        transform: translate(0, -50%);
        z-index: 50
    }
    .padded {
        padding: 15% 20%
    }
    .fullheight {
        height: 100vh;
        overflow: hidden
    }


    .fold-container {
        height: calc(100vh - 150px);
        overflow: hidden
    }
    .fold-container-short {
        height: 25vh;
    }
    .fold-image {
        width: 100%;
        height: 100%;
        object-fit: contain;
        position: absolute;
        top: 0;
        left: 0
    }
    .fold-text-for-image {
        position: absolute;
        padding: 1.2em 3em .5em 10vw;
        width: 100%;
        left: 0;
        top: 3%;
        text-align: left;
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px
    }
    /*--------------------------------effects--------------------------------*/
    .leftj {
        text-align: left
    }
    .centerj {
        text-align: center
    }
    .rightj {
        text-align: right
    }
    .imgfill {
        width: 100%;
        height: 100%;
        object-fit: cover
    }
    .imgmousezoom {
        display: block;
        overflow: hidden;
        height: auto
    }
    .imgmousezoom img {
        -webkit-transition: all 3s ease-in-out;
        -moz-transition: all 3s ease-in-out;
        -o-transition: all 3s ease-in-out;
        -ms-transition: all 3s ease-in-out;
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -o-transform: scale(1);
        -ms-transform: scale(1)
    }
    .imgmousezoom img:hover {
        -webkit-transform: scale(1.1);
        -moz-transform: scale(1.1);
        -o-transform: scale(1.1);
        -ms-transform: scale(1.1)
    }
    .imgmouseappear {
        display: block;
        overflow: hidden;
        width: 100%
    }
    .imgmouseappear img {
        -webkit-transition: all 0.5s ease-in-out;
        -moz-transition: all 0.5s ease-in-out;
        -o-transition: all 0.5s ease-in-out;
        -ms-transition: all 0.5s ease-in-out;
        opacity: 0;
        filter: alpha(opacity=0)
    }
    .imgmouseappear img:hover {
        opacity: 1;
        filter: alpha(opacity=100)
    }
    .imgrotateout {
        display: block;
        overflow: hidden
    }
    .imgrotateout img {
        -webkit-transition: all 3s ease-in-out;
        -moz-transition: all 3s ease-in-out;
        -o-transition: all 3s ease-in-out;
        -ms-transition: all 3s ease-in-out;
        -webkit-transform: rotate(3deg) scale(1.2);
        transform: rotate(3deg) scale(1.2)
    }
    .imgrotateout img:hover {
        -webkit-transform: rotate(0) scale(1);
        transform: rotate(0) scale(1)
    }
    .blur {
        overflow: hidden
    }
    .blur img {
        filter: blur(10px)
    }
    
}

@media screen and (max-width:999px) {
     body {
        font-size: 100%
    }

    h1 {
        font-size: 2em;
        margin: .5em 0
    }
    h2 {
        font-size: 1.7em;
        margin: 1em 0
    }
    h3 {
        font-size: 1.3em;
        margin: 1em 0
    }
    p {
        font-size: 100%;
        line-height: 150%;
        margin: 1.5em 0
    }
    #printfooter {
        display: none
    }
    .sectioninner {
        width: 90%;
        margin: 0 auto;
        padding: 4% 0;
        overflow-wrap: break-word
    }

    .txtoverimg,
    .txtoverimgcenter,
    .txtoverimgright,
    .txtoverimgleft {
        display: block;
        position: relative;
        width: 90%;
        margin: 0 auto;
        padding: 4% 0
    }
    .txtoverimgcenter {
        text-align: center
    }
    .txtoverimgright {
        text-align: left
    }
    .txtoverimgleft {
        text-align: left
    }
    .padded {
        padding: 4% 7%
    }

    .fold-container {
        height: auto
    }
    .fold-container-short {
        height: 30vh
    }
    .fold-image {
        width: 100%;
        height: auto
    }
    .fold-text-for-image {
        position: relative;
        display: inline-block;
        padding: 1em 1.5em;
        width: 100%;
        text-align: center
    }
    .wall {
        grid-template-columns: 1fr;
        gap: 0
    }
    .brick {
        box-shadow: 0 0 0 5px #fff
    }
    .box {
        flex: 1 1 45%;
        max-width: 45%
    }
    .blur img {
        filter: blur(0)
    }
    figcaption {
        position: absolute;
        bottom: 2em;
        left: 0;
        width: auto;
        font-size: 1em;
        text-align: left;
        font-style: italic;
        padding: .7em 1.2em;
        border-top-right-radius: 5px;
        border-bottom-right-radius: 5px;
        text-shadow: 0;
        box-sizing: border-box;
        background: #fff;
        color: #666
    }
    .results {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 20px
    }
    .result-title {
        padding: 10px 0;
        font-weight: 400;
        font-size: .8em;
        text-align: center
    }
    .result-body,
    .result-footer {
        display: none
    }
    .result-title {
        border-bottom: none
    }
    .gallery {
        column-width: 150px
    }
    form.prompts fieldset {
        grid-template-columns: 1fr; /* Single-column layout on small screens */
    }
    form.prompts input.prompt,
    form.prompts select.prompt,
    form.prompts textarea.prompt,
    form.prompts .submit {
        width: 100%;
        padding: 10px;
        margin-bottom: 15px;
    }
    .pannellum-container .pannellum-side-buttons-container {
        left: 40px
    }
}

@media print {
    body {
        font-family: 'Montserrat', sans-serif; /* Default font for body text */
        font-size: 12pt;
        color: #000;
        width: 80%;
        height: 100%;
        margin: 0 auto
    }
    p {
        font-size: 12pt
    }
    h1 {
        font-size: 24pt
    }
    h2 {
        font-size: 20pt
    }
    h3 {
        font-size: 16pt
    }
    nav {
        display: none
    }
    img {
        max-width: 100%;
        height: auto
    }
    .threeportal {
        display: none
    }
    header .logo {
        width: 30%
    }
    #header-info {
        display: none
    }
    #header-search {
        display: none
    }

    #player {
        display: none
    }
    .iframeVideoWrapper {
        display: none
    }
    main {
        border-top: 1px solid #000;
        border-bottom: 1px solid #000
    }
    #lhc_status_container {
        display: none
    }
    footer {
        display: none
    }

    #printfooter {
        display: block;
        position: relative
    }
    .screenonly {
        display: none
    }

    .gallery {
        column-width: 150px;
        column-gap: 10px;
        display: block;
        width: 100%;
        max-width: 1000px;
        margin: auto
    }
    .gallery-item {
        break-inside: avoid;
        margin-bottom: 10px;
        padding: 5px;
        border: 1px solid #ccc;
        background-color: #fff;
        page-break-inside: avoid
    }
    .gallery-item a {
        text-decoration: none
    }
    .gallery img {
        width: 100%;
        border-radius: 0;
        margin-bottom: 5px
    }
    .gallery .caption {
        display: block;
        text-align: left;
        font-size: 12px;
        color: #000
    }
}

/*====================================================== OTHER STYLES =====================================================================

.pnlm-container {
    margin: 0;
    padding: 0;
    overflow: hidden;
    position: relative;
    cursor: default;
    width: 100%;
    height: 100%;
    font-family: 'Montserrat', sans-serif; /* Default font for body text */
    background: #f4f4f4 url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2267%22%20height%3D%22100%22%20viewBox%3D%220%200%2067%20100%22%3E%0A%3Cpath%20stroke%3D%22%23ccc%22%20fill%3D%22none%22%20d%3D%22M33.5%2C50%2C0%2C63%2C33.5%2C75%2C67%2C63%2C33.5%2C50m-33.5-50%2C67%2C25m-0.5%2C0%2C0%2C75m-66.5-75%2C67-25m-33.5%2C75%2C0%2C25m0-100%2C0%2C50%22%2F%3E%0A%3C%2Fsvg%3E%0A) repeat;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -o-user-select: none;
    -ms-user-select: none;
    user-select: none;
    outline: 0;
    line-height: 1.4;
    contain: content
}

.pnlm-container * {
    box-sizing: content-box
}

.pnlm-ui {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1
}

.pnlm-grab {
    cursor: grab;
    cursor: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2226%22%20width%3D%2226%22%3E%0A%3Cpath%20stroke%3D%22%23000%22%20stroke-width%3D%221px%22%20fill%3D%22%23fff%22%20d%3D%22m15.3%2020.5s6.38-6.73%204.64-8.24-3.47%201.01-3.47%201.01%203.61-5.72%201.41-6.49c-2.2-0.769-3.33%204.36-3.33%204.36s0.873-5.76-1.06-5.76-1.58%205.39-1.58%205.39-0.574-4.59-2.18-4.12c-1.61%200.468-0.572%205.51-0.572%205.51s-1.58-4.89-2.93-3.79c-1.35%201.11%200.258%205.25%200.572%206.62%200.836%202.43%202.03%202.94%202.17%205.55%22%2F%3E%0A%3C%2Fsvg%3E%0A) 12 8, default
}

.pnlm-grabbing {
    cursor: grabbing;
    cursor: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2226%22%20width%3D%2226%22%3E%0A%3Cpath%20stroke%3D%22%23000%22%20stroke-width%3D%221px%22%20fill%3D%22%23fff%22%20d%3D%22m15.3%2020.5s5.07-5.29%203.77-6.74c-1.31-1.45-2.53%200.14-2.53%200.14s2.74-3.29%200.535-4.06c-2.2-0.769-2.52%201.3-2.52%201.3s0.81-2.13-1.12-2.13-1.52%201.77-1.52%201.77-0.261-1.59-1.87-1.12c-1.61%200.468-0.874%202.17-0.874%202.17s-0.651-1.55-2-0.445c-1.35%201.11-0.68%202.25-0.365%203.62%200.836%202.43%202.03%202.94%202.17%205.55%22%2F%3E%0A%3C%2Fsvg%3E%0A) 12 8, default
}

.pnlm-sprite {
    background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226%22%20height%3D%22208%22%3E%0A%3Ccircle%20fill-opacity%3D%22.78%22%20cy%3D%22117%22%20cx%3D%2213%22%20r%3D%2211%22%20fill%3D%22%23fff%22%2F%3E%0A%3Ccircle%20fill-opacity%3D%22.78%22%20cy%3D%22143%22%20cx%3D%2213%22%20r%3D%2211%22%20fill%3D%22%23fff%22%2F%3E%0A%3Ccircle%20cy%3D%22169%22%20cx%3D%2213%22%20r%3D%227%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%2F%3E%0A%3Ccircle%20cy%3D%22195%22%20cx%3D%2213%22%20r%3D%227%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%2F%3E%0A%3Ccircle%20cx%3D%2213%22%20cy%3D%22195%22%20r%3D%222.5%22%2F%3E%0A%3Cpath%20d%3D%22m5%2083v6h2v-4h4v-2zm10%200v2h4v4h2v-6zm-5%205v6h6v-6zm-5%205v6h6v-2h-4v-4zm14%200v4h-4v2h6v-6z%22%2F%3E%0A%3Cpath%20d%3D%22m13%20110a7%207%200%200%200%20-7%207%207%207%200%200%200%207%207%207%207%200%200%200%207%20-7%207%207%200%200%200%20-7%20-7zm-1%203h2v2h-2zm0%203h2v5h-2z%22%2F%3E%0A%3Cpath%20d%3D%22m5%2057v6h2v-4h4v-2zm10%200v2h4v4h2v-6zm-10%2010v6h6v-2h-4v-4zm14%200v4h-4v2h6v-6z%22%2F%3E%0A%3Cpath%20d%3D%22m17%2038v2h-8v-2z%22%2F%3E%0A%3Cpath%20d%3D%22m12%209v3h-3v2h3v3h2v-3h3v-2h-3v-3z%22%2F%3E%0A%3Cpath%20d%3D%22m13%20136-6.125%206.125h4.375v7.875h3.5v-7.875h4.375z%22%2F%3E%0A%3Cpath%20d%3D%22m10.428%20173.33v-5.77l5-2.89v5.77zm1-1.73%203-1.73-3.001-1.74z%22%2F%3E%0A%3C%2Fsvg%3E%0A)
}

.pnlm-container:-moz-full-screen {
    height: 100% !important;
    width: 100% !important;
    position: static !important
}

.pnlm-container:-webkit-full-screen {
    height: 100% !important;
    width: 100% !important;
    position: static !important
}

.pnlm-container:-ms-fullscreen {
    height: 100% !important;
    width: 100% !important;
    position: static !important
}

.pnlm-container:fullscreen {
    height: 100% !important;
    width: 100% !important;
    position: static !important
}

.pnlm-render-container {
    cursor: inherit;
    position: absolute;
    height: 100%;
    width: 100%
}

.pnlm-controls {
    margin-top: 4px;
    background-color: #fff;
    border: 1px solid #999;
    border-color: rgb(0 0 0 / .4);
    border-radius: 3px;
    cursor: pointer;
    z-index: 2;
    -webkit-transform: translateZ(9999px);
    transform: translateZ(9999px)
}

.pnlm-control:hover {
    background-color: #f8f8f8
}

.pnlm-controls-container {
    position: absolute;
    top: 0;
    left: 4px;
    z-index: 1
}

.pnlm-zoom-controls {
    width: 26px;
    height: 52px
}

.pnlm-zoom-in {
    width: 100%;
    height: 50%;
    position: absolute;
    top: 0;
    border-radius: 3px 3px 0 0
}

.pnlm-zoom-out {
    width: 100%;
    height: 50%;
    position: absolute;
    bottom: 0;
    background-position: 0 -26px;
    border-top: 1px solid #ddd;
    border-top-color: rgb(0 0 0 / .1);
    border-radius: 0 0 3px 3px
}

.pnlm-fullscreen-toggle-button,
.pnlm-orientation-button,
.pnlm-hot-spot-debug-indicator {
    width: 26px;
    height: 26px
}

.pnlm-hot-spot-debug-indicator {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 26px;
    height: 26px;
    margin: -13px 0 0 -13px;
    background-color: rgb(255 255 255 / .5);
    border-radius: 13px;
    display: none
}

.pnlm-orientation-button-inactive {
    background-position: 0 -156px
}

.pnlm-orientation-button-active {
    background-position: 0 -182px
}

.pnlm-fullscreen-toggle-button-inactive {
    background-position: 0 -52px
}

.pnlm-fullscreen-toggle-button-active {
    background-position: 0 -78px
}

.pnlm-panorama-info {
    position: absolute;
    bottom: 4px;
    background-color: rgb(0 0 0 / .7);
    border-radius: 0 3px 3px 0;
    padding-right: 10px;
    color: #fff;
    text-align: left;
    display: none;
    z-index: 2;
    -webkit-transform: translateZ(9999px);
    transform: translateZ(9999px)
}

.pnlm-title-box {
    position: relative;
    font-size: 20px;
    display: table;
    padding-left: 5px;
    margin-bottom: 3px
}

.pnlm-author-box {
    position: relative;
    font-size: 12px;
    display: table;
    padding-left: 5px
}

.pnlm-load-box {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200px;
    height: 150px;
    margin: -75px 0 0 -100px;
    background-color: rgb(0 0 0 / .7);
    border-radius: 3px;
    text-align: center;
    font-size: 20px;
    display: none;
    color: #fff
}

.pnlm-load-box p {
    margin: 20px 0
}

.pnlm-lbox {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    display: none
}

.pnlm-loading {
    animation-duration: 1.5s;
    -webkit-animation-duration: 1.5s;
    animation-name: pnlm-mv;
    -webkit-animation-name: pnlm-mv;
    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
    animation-timing-function: linear;
    -webkit-animation-timing-function: linear;
    height: 10px;
    width: 10px;
    background-color: #fff;
    position: relative
}

@keyframes pnlm-mv {
    from {
        left: 0;
        top: 0
    }
    25% {
        left: 10px;
        top: 0
    }
    50% {
        left: 10px;
        top: 10px
    }
    75% {
        left: 0;
        top: 10px
    }
    to {
        left: 0;
        top: 0
    }
}

@-webkit-keyframes pnlm-mv {
    from {
        left: 0;
        top: 0
    }
    25% {
        left: 10px;
        top: 0
    }
    50% {
        left: 10px;
        top: 10px
    }
    75% {
        left: 0;
        top: 10px
    }
    to {
        left: 0;
        top: 0
    }
}

.pnlm-load-button {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200px;
    height: 100px;
    margin: -50px 0 0 -100px;
    background-color: rgb(0 0 0 / .7);
    border-radius: 3px;
    text-align: center;
    font-size: 20px;
    display: table;
    color: #fff;
    cursor: pointer
}

.pnlm-load-button:hover {
    background-color: rgb(0 0 0 / .8)
}

.pnlm-load-button p {
    display: table-cell;
    vertical-align: middle
}

.pnlm-info-box {
    font-size: 15px;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200px;
    height: 150px;
    margin: -75px 0 0 -100px;
    background-color: #000;
    border-radius: 3px;
    display: table;
    text-align: center;
    color: #fff;
    table-layout: fixed
}

.pnlm-info-box a,
.pnlm-author-box a {
    color: #fff;
    word-wrap: break-word;
    overflow-wrap: break-word
}

.pnlm-info-box p {
    display: table-cell;
    vertical-align: middle;
    padding: 0 5px 0 5px
}

.pnlm-error-msg {
    display: none
}

.pnlm-about-msg {
    font-size: 11px;
    line-height: 11px;
    color: #fff;
    padding: 5px 8px 5px 8px;
    background: rgb(0 0 0 / .7);
    border-radius: 3px;
    position: absolute;
    top: 50px;
    left: 50px;
    display: none;
    opacity: 0;
    -moz-transition: opacity 0.3s ease-in-out;
    -webkit-transition: opacity 0.3s ease-in-out;
    -o-transition: opacity 0.3s ease-in-out;
    -ms-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
    z-index: 1
}

.pnlm-about-msg a:link,
.pnlm-about-msg a:visited {
    color: #fff
}

.pnlm-about-msg a:hover,
.pnlm-about-msg a:active {
    color: #eee
}

.pnlm-hotspot-base {
    position: absolute;
    visibility: hidden;
    cursor: default;
    vertical-align: middle;
    top: 0;
    z-index: 1
}

.pnlm-hotspot {
    height: 26px;
    width: 26px;
    border-radius: 13px
}

.pnlm-hotspot:hover {
    background-color: rgb(255 255 255 / .2)
}

.pnlm-hotspot.pnlm-info {
    background-position: 0 -104px
}

.pnlm-hotspot.pnlm-scene {
    background-position: 0 -130px
}

div.pnlm-tooltip span {
    visibility: hidden;
    position: absolute;
    border-radius: 3px;
    background-color: rgb(0 0 0 / .7);
    color: #fff;
    text-align: center;
    max-width: 200px;
    padding: 5px 10px;
    margin-left: -220px;
    cursor: default
}

div.pnlm-tooltip:hover span {
    visibility: visible
}

div.pnlm-tooltip:hover span:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-width: 10px;
    border-style: solid;
    border-color: rgb(0 0 0 / .7) #fff0 #fff0 #fff0;
    bottom: -20px;
    left: -10px;
    margin: 0 50%
}

.pnlm-compass {
    position: absolute;
    width: 50px;
    height: 50px;
    right: 4px;
    bottom: 4px;
    border-radius: 25px;
    background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2250%22%20width%3D%2250%22%3E%0A%3Cpath%20d%3D%22m24.5078%206-3.2578%2018h7.5l-3.25781-18h-0.984376zm-3.2578%2020%203.2578%2018h0.9844l3.2578-18h-7.5zm1.19531%200.9941h5.10938l-2.5547%2014.1075-2.5547-14.1075z%22%2F%3E%0A%3C%2Fsvg%3E%0A);
    cursor: default;
    display: none
}

.pnlm-world {
    position: absolute;
    left: 50%;
    top: 50%
}

.pnlm-face {
    position: absolute;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0
}

.pnlm-dragfix,
.pnlm-preview-img {
    position: absolute;
    height: 100%;
    width: 100%
}

.pnlm-preview-img {
    background-size: cover;
    background-position: center
}

.pnlm-lbar {
    width: 150px;
    margin: 0 auto;
    border: #fff 1px solid;
    height: 6px
}

.pnlm-lbar-fill {
    background: #fff;
    height: 100%;
    width: 0
}

.pnlm-lmsg {
    font-size: 12px
}

.pnlm-fade-img {
    position: absolute;
    top: 0;
    left: 0
}

.pnlm-pointer {
    cursor: pointer
}





/* =================================================================== HEADER AND MENU =================================================================== */

/* Base Styling */
header {
    position: sticky;
    background: #ffffff;
    top: 0;
    font-size: 16px;
    border-bottom: 1px solid #fff;
    display: flex;
    flex-direction: column; /* Stack elements vertically */
    align-items: center;
    width: 100%;
    z-index: 1000;
}

.logo {
    flex-shrink: 0;
}

.hamburger {
    display: none;
    cursor: pointer;
    border: none;
    background: none;
    font-size: 24px;
    z-index: 1100;
    order: 3;
}

#header-search {
    flex-grow: 1;
    display: flex;
    justify-content: flex-end; /* Aligns search to the right */
    max-width: 300px; /* Limits the maximum width of the search container */
    margin-left: auto; /* Moves search to the far right if space permits */
}

#header-search input {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    margin: 0;
    padding: .9em;
    border-radius: 5px;
    border: 1px solid #ccc;
    font-size: inherit;
    width: 100%;
}

#header-info {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 15px;
    order: 4;
    flex-wrap: wrap;
    text-align: right;
    gap: 5px;
    flex-shrink: 0;
}

#header-info a {
    border: none;
    text-decoration: none;
    color: #666666;
    margin: 0 5px;
}

#header-info a:hover {
    text-decoration: underline;
}

#header-info img {
    height: 30px;
    vertical-align: middle;
}

@media (min-width: 1000px) {
    #header{
        
    }
    
    #header-top,
    #header-bottom {
        width: 100%;
        display: block;
    }

    #header-top {
        display: flex;
        align-items: center;
        justify-content: space-between; /* Spreads items evenly across */
        width: 100%;
        padding: 10px; /* Adjust padding as needed */
        color:#011754;
    }

    #header-bottom {
        background: radial-gradient(circle, #104a47, #011754);
        padding: 0;
        text-align: center;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    }

    .logo {
        padding: 10px 10px 10px 20px;
        flex-shrink: 0;
    }

    #header-search {
        flex-grow: 1;
        display: flex;
        justify-content: flex-end;
        max-width: 300px;
        margin-left: auto;
    }

    #header-info {
        display: flex;
        align-items: center;
        flex-shrink: 0;
        gap: 5px;
    }

    .navbar {
        display: flex;
        justify-content: center;
        width: 100%;
    }

    .menu,
    .submenu,
    .third-tier-menu {
        list-style-type: none !important;
        padding-left: 0;
    }

    .menu ul,
    .submenu ul,
    .third-tier-menu ul {
        list-style-type: none !important;
        padding-left: 0;
    }

    .menu li,
    .submenu li,
    .third-tier-menu li {
        list-style-type: none !important;
        padding-left: 0;
    }

    .menu {
        list-style-type: none;
        margin: 0;
        padding: 10px 0 0 0;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        z-index: 1000;
        position: relative;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .menu > li {
        position: relative;
    }

    .menu > li > a {
        box-sizing: border-box;
        padding: 0 25px 10px 25px;
        margin: 0 5px 0 0;
        height: 60px;
        display: flex;
        align-items: center;
        color: #fff;
        text-decoration: none;
        border-top-left-radius: 5px;
        border-top-right-radius: 5px;
        white-space: nowrap;
    }

    .menu > li.open > a,
    .menu > li:hover > a,
    .menu > li > .submenu:hover ~ a {
        background-color: #f0faf6;
        color: #104a47;
        text-decoration: underline;
        z-index: 2000;
    }

    .submenu {
        display: flex;
        color: inherit;
        list-style-type: none;
        margin: 0;
        padding: 60px 0;
        position: fixed;
        top: 147px;
        left: 0;
        width: 100vw;
        background-color: #f0faf6;
        z-index: 500;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);
        transition: opacity 0.3s ease, transform 0.3s ease;
    }

    .submenu-container {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        justify-content: center;
        width: 95vw;
        margin: 0 auto;
    }

    .submenu li {
        width: 250px;
        position: relative;
    }

    .menu > li:hover > .submenu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .submenu li a {
        background: #104a47;
        color: #fff;
        text-decoration: none;
        padding: 10px 15px;
        display: block;
        border: 1px solid #104a47;
        border-radius: 10px 10px 0 0;
    }

    .submenu li a:hover {
        text-decoration: underline;
    }

    .third-tier-menu {
        box-sizing: border-box;
        list-style: none;
        margin: 0;
        padding: 0;
        position: absolute;
        top: calc(100% - 1px);
        left: 0;
        width: 250px;
        background-color: #104a47;
        border: 1px solid #104a47;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
        opacity: 0;
        visibility: hidden;
        z-index: 600;
        border-radius: 0 0 10px 10px;
        transform: translateY(-10px);
        transition: opacity 0.3s ease, transform 0.3s ease;
    }

    .submenu li:hover > .third-tier-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        max-height: 500px;
        overflow-x: hidden;
        overflow-y: auto;
    }

    .third-tier-menu li a {
        box-sizing: border-box;
        width: 85%;

        color: #ffffff;
        text-decoration: none;
        padding: 15px;
        display: block;
        border: none;
        margin: 10px;
        border-radius: 5px;
    }

    .third-tier-menu li a:hover {
        color: #104a47;
        background-color: #f0faf6;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    }
}

@media (max-width: 999px) {
    header {
        display: flex;
        flex-direction: row;
        align-items: center;
        width: 100%;
        border-bottom: 1px solid #011754;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    }

    #header-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px ;
        width: 50%;
    }

    #header-bottom {
        width: 50%;
    }

    #header-info,
    #header-search {
        display: none;
    }

    .logo {
        padding: 10px;
        flex-shrink: 0;
    }

    .hamburger {
        display: block;
        font-size: 24px;
        margin-right: 20px;
        cursor: pointer;
        margin-left: auto;
    }

    .navbar {
        display: none;
        background-color: #fff;
        padding: 10px;
        margin-top: 75px;
    }

    .navbar.expanded {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        padding: 0;
        width: 100%;
        height: calc(100% - 80px);
        overflow-y: auto;
        z-index: 1000;
        background-color: #fff;
    }

    ul.menu {
        margin: 0;
        padding: 0;
    }

    .menu {
        display: block;
        padding: 0;
        margin: 10px;
        background-color: #fff;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }

    .menu > li {
        width: 100%;
        border-bottom: 1px solid #ddd;
    }

    .menu > li > a {
        padding: 15px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        background-color: #104a47;
        color: #fff;
        text-decoration: none;
        border-bottom: 1px solid #ddd;
        width: 100%;
    }

    .menu > li > a:hover {
        background-color: #e0e0e0;
        color: #222;
    }

    .submenu,
    .third-tier-menu {
        position: static;
        max-width: 100%;
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
    }

.menu > li.open > .submenu,
.submenu li.open > .third-tier-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    max-height: none;
}


    .submenu li > a {
        background: #f0faf6;
        color: #444;
        padding: 15px 15px 15px 45px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        text-decoration: none;
        border-top: 1px solid #ddd;
    }

    .submenu li > a:hover {
        background: #e0e0e0;
        color: #222;
    }

    .third-tier-menu li > a {
        background: #fafafa;
        color: #555;
        padding: 15px 15px 15px 60px;
        text-decoration: none;
        display: block;
        border-bottom: 1px solid #e0e0e0;
        border-radius: 5px;
        box-sizing: border-box;
    }

    .third-tier-menu li > a:hover {
        background-color: #e0e0e0;
        color: #333;
    }
}

/*====================================================TABLES========================================================

/* Base Table Styles */
table {
    width: 100%;
    border-collapse: collapse; /* Remove default spacing between cells */
    background-color: #ffffff; /* White background for the table */
    margin-bottom: 1em;
    border-left: 1px solid #dddddd; /* Add left border to table */
    border-right: 1px solid #dddddd; /* Add right border to table */
}

/* Header Styles */
table th {
    background-color: #104a47; /* Dark header background */
    color: #ffffff; /* White text for contrast */
    font-weight: bold;
    padding: 12px; /* Add padding for better readability */
    text-align: left; /* Align text to the left */
    border-bottom: 2px solid #dddddd; /* Underline the header row */
    border-right: 1px solid #dddddd; /* Vertical cell line */
    border-left: 1px solid #dddddd; /* Ensure left border alignment */
}

/* Cell Styles */
table td {
    padding: 10px; /* Add padding for table cells */
    color: #666666; /* Medium grey for body text */
    border-bottom: 1px solid #eeeeee; /* Light line between rows */
    border-right: 1px solid #dddddd; /* Vertical cell line */
    border-left: 1px solid #dddddd; /* Ensure left border alignment */
}

/* Remove the last cell's right border for a cleaner look */
table td:last-child, table th:last-child {
    border-right: none;
}

/* Zebra Striping */
table tr:nth-child(even) {
    background-color: #f0faf6; /* Lighter colour for alternate rows */
}

/* Hover Effect */
table tr:hover {
    background-color: #f1f1f1; /* Light highlight on hover */
}

/* Responsive Table Styles */
@media screen and (max-width: 600px) {
    table {
        display: block;
        overflow-x: auto; /* Enable horizontal scrolling */
        white-space: nowrap; /* Prevent wrapping on small screens */
    }
}

/* Optional: Compact Tables */
table.compact td, table.compact th {
    padding: 6px 8px; /* Smaller padding for compact table style */
}


