.mfp-bg {
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     z-index: 1042;
     overflow: hidden;
     position: fixed;
     background: #0b0b0b;
     opacity: .8 
}
 .mfp-wrap {
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     z-index: 1043;
     position: fixed;
     outline: none !important;
     -webkit-backface-visibility: hidden 
}
 .mfp-container {
     text-align: center;
     position: absolute;
     width: 100%;
     height: 100%;
     left: 0;
     top: 0;
     padding: 0 8px;
     box-sizing: border-box 
}
 .mfp-container:before {
     content: '';
     display: inline-block;
     height: 100%;
     vertical-align: middle 
}
 .mfp-align-top .mfp-container:before {
     display: none 
}
 .mfp-content {
     position: relative;
     display: inline-block;
     vertical-align: middle;
     margin: 0 auto;
     text-align: left;
     z-index: 1045 
}
 .mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {
     width: 100%;
     cursor: auto 
}
 .mfp-ajax-cur {
     cursor: progress 
}
 .mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
     cursor: -moz-zoom-out;
     cursor: -webkit-zoom-out;
     cursor: zoom-out 
}
 .mfp-zoom {
     cursor: pointer;
     cursor: -webkit-zoom-in;
     cursor: -moz-zoom-in;
     cursor: zoom-in 
}
 .mfp-auto-cursor .mfp-content {
     cursor: auto 
}
 .mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter {
     -webkit-user-select: none;
     -moz-user-select: none;
     user-select: none 
}
 .mfp-loading.mfp-figure {
     display: none 
}
 .mfp-hide {
     display: none !important 
}
 .mfp-preloader {
     color: #CCC;
     position: absolute;
     top: 50%;
     width: auto;
     text-align: center;
     margin-top: -0.8em;
     left: 8px;
     right: 8px;
     z-index: 1044 
}
 .mfp-preloader a {
     color: #CCC 
}
 .mfp-preloader a:hover {
     color: #FFF 
}
 .mfp-s-ready .mfp-preloader {
     display: none 
}
 .mfp-s-error .mfp-content {
     display: none 
}
 button.mfp-close, button.mfp-arrow {
     overflow: visible;
     cursor: pointer;
     background: transparent;
     border: 0;
     -webkit-appearance: none;
     display: block;
     outline: 0;
     padding: 0;
     z-index: 1046;
     box-shadow: none;
     touch-action: manipulation 
}
 button::-moz-focus-inner {
     padding: 0;
     border: 0 
}
 .mfp-close {
     width: 44px;
     height: 44px;
     line-height: 44px;
     position: absolute;
     right: 0;
     top: 0;
     text-decoration: none;
     text-align: center;
     opacity: .65;
     padding: 0 0 18px 10px;
     color: #FFF;
     font-style: normal;
     font-size: 28px;
     font-family: Arial, Baskerville, monospace 
}
 .mfp-close:hover, .mfp-close:focus {
     opacity: 1 
}
 .mfp-close:active {
     top: 1px 
}
 .mfp-close-btn-in .mfp-close {
     color: #333 
}
 .mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {
     color: #FFF;
     right: -6px;
     text-align: right;
     padding-right: 6px;
     width: 100% 
}
 .mfp-counter {
     position: absolute;
     top: 0;
     right: 0;
     color: #CCC;
     font-size: 12px;
     line-height: 18px;
     white-space: nowrap 
}
 .mfp-arrow {
     position: absolute;
     opacity: .65;
     margin: 0;
     top: 50%;
     margin-top: -55px;
     padding: 0;
     width: 90px;
     height: 110px;
     -webkit-tap-highlight-color: transparent 
}
 .mfp-arrow:active {
     margin-top: -54px 
}
 .mfp-arrow:hover, .mfp-arrow:focus {
     opacity: 1 
}
 .mfp-arrow:before, .mfp-arrow:after {
     content: '';
     display: block;
     width: 0;
     height: 0;
     position: absolute;
     left: 0;
     top: 0;
     margin-top: 35px;
     margin-left: 35px;
     border: medium inset transparent 
}
 .mfp-arrow:after {
     border-top-width: 13px;
     border-bottom-width: 13px;
     top: 8px 
}
 .mfp-arrow:before {
     border-top-width: 21px;
     border-bottom-width: 21px;
     opacity: .7 
}
 .mfp-arrow-left {
     left: 0 
}
 .mfp-arrow-left:after {
     border-right: 17px solid #FFF;
     margin-left: 31px 
}
 .mfp-arrow-left:before {
     margin-left: 25px;
     border-right: 27px solid #3f3f3f 
}
 .mfp-arrow-right {
     right: 0 
}
 .mfp-arrow-right:after {
     border-left: 17px solid #FFF;
     margin-left: 39px 
}
 .mfp-arrow-right:before {
     border-left: 27px solid #3f3f3f 
}
 .mfp-iframe-holder {
     padding-top: 40px;
     padding-bottom: 40px 
}
 .mfp-iframe-holder .mfp-content {
     line-height: 0;
     width: 100%;
     max-width: 900px 
}
 .mfp-iframe-holder .mfp-close {
     top: -40px 
}
 .mfp-iframe-scaler {
     width: 100%;
     height: 0;
     overflow: hidden;
     padding-top: 56.25% 
}
 .mfp-iframe-scaler iframe {
     position: absolute;
     display: block;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
     background: #000 
}
 img.mfp-img {
     width: auto;
     max-width: 100%;
     height: auto;
     display: block;
     line-height: 0;
     box-sizing: border-box;
     padding: 40px 0 40px;
     margin: 0 auto 
}
 .mfp-figure {
     line-height: 0 
}
 .mfp-figure:after {
     content: '';
     position: absolute;
     left: 0;
     top: 40px;
     bottom: 40px;
     display: block;
     right: 0;
     width: auto;
     height: auto;
     z-index: -1;
     box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
     background: #444 
}
 .mfp-figure small {
     color: #bdbdbd;
     display: block;
     font-size: 12px;
     line-height: 14px 
}
 .mfp-figure figure {
     margin: 0 
}
 .mfp-title {
     font-size: 14px;
     font-weight: 600;
     text-align: left;
     line-height: 16px;
     color: #f3f3f3;
     word-wrap: break-word;
     padding-right: 36px;
     padding-top: 0.5em;
}
 .mfp-image-holder .mfp-content {
    /*max-width: 100%*/
     max-width: 75% 
}
 .mfp-gallery .mfp-image-holder .mfp-figure {
     cursor: pointer 
}
 @media screen and (max-width:800px) and (orientation:landscape), screen and (max-height:300px) {
     .mfp-img-mobile .mfp-image-holder {
         padding-left: 0;
         padding-right: 0 
    }
     .mfp-img-mobile img.mfp-img {
         padding: 0 
    }
     .mfp-img-mobile .mfp-figure:after {
         top: 0;
         bottom: 0 
    }
     .mfp-img-mobile .mfp-figure small {
         display: inline;
         margin-left: 5px 
    }
     .mfp-img-mobile .mfp-counter {
         right: 5px;
         top: 3px 
    }
     .mfp-img-mobile .mfp-close {
         top: 0;
         right: 0;
         width: 35px;
         height: 35px;
         line-height: 35px;
         background: rgba(0, 0, 0, 0.6);
         position: fixed;
         text-align: center;
         padding: 0 
    }
}
 @media all and (max-width:900px) {
     .mfp-arrow {
         -webkit-transform: scale(0.75);
         transform: scale(0.75) 
    }
     .mfp-arrow-left {
         -webkit-transform-origin: 0 0;
         transform-origin: 0 0 
    }
     .mfp-arrow-right {
         -webkit-transform-origin: 100%;
         transform-origin: 100% 
    }
     .mfp-container {
         padding-left: 6px;
         padding-right: 6px 
    }
}
.mfp-iframe-caption{
    padding-top: 3.25em!important;
}

/* Image gallery lightbox */
 .gallery {
     display: grid;
     grid-template-columns: repeat(1, 1fr);
     grid-gap: 6px;
     margin-top: 2rem;
}
 .gallery a {
     display: block;
     position: relative;
     text-decoration: none;
    /* Remove the default underline for links */
}
 .gallery img {
     display: block;
     border: 5px solid #f0f0f0;
     width: 100%;
     height: auto;
     object-fit: cover;
     object-position: center;
}
 @media (min-width: 600px) and (max-width: 959px) {
     .gallery {
         display: grid;
         grid-template-columns: repeat(2, 1fr);
         grid-gap: 6px;
    }
}
 @media (min-width: 960px) {
     .gallery {
         display: grid;
         grid-template-columns: repeat(3, 1fr);
         grid-gap: 6px;
    }
}
 .img-desc{
     display: block;
     font-weight: normal;
     padding-bottom: 1em;
     padding-top: 0.35em;
     font-size: 13px;
}
 .img-desc a{
     color:#ffffff;
}
 .white-popup {
     position: relative;
     background: #FFF;
     padding: 40px 15px;
     width: auto;
     max-width: 500px;
     margin: 20px auto;
}
 .white-popup audio {
    width: 100%; /* Make the audio player take 100% width */
  }
 .mfp-inline-content{
     font-size: 14px;
     font-weight: 600;
     text-align: left;
     line-height: 16px;
     color: #000000;
     word-wrap: break-word;
     padding-right: 36px;
     padding-top: 0.5em;
     padding-left: 1.25em;
}

/* GIM SHOWCASE CONTENT & IMAGE BLOCKS*/

/* General settings for both rows */
    .container-row {
        display: grid;
        grid-gap: 16px; /* Space between blocks */
        margin-bottom: 16px!important; /* Space between rows */
    }
    
    /* General style for all block-gap divs */
    .block-gap {
        margin-top: 1rem!important;
    }
    
    /* Specific style for the first block-gap div using an additional class */
    .first-gap {
        margin-top: 2rem!important;
    }
    
    /* Configuration for the single column */
    .col-one {
        grid-template-columns: 1fr; /* one single column */
    }

    /* Configuration for the double column */
    .col-two {
        grid-template-columns: 1fr 1fr; /* Two equal columns */
    }
    
    /* Configuration for the double column */
    .col-two-ratio {
        grid-template-columns: calc((1140px - 30px) / 3* 1) calc((1140px - 8px) / 3* 2); /* Adjusts for one gap */
    }
    
    /* Configuration for the double column reversed */
    .col-two-ratio-reverse {
        grid-template-columns: calc((1140px - 8px) / 3* 2) calc((1140px - 30px) / 3* 1); /* Adjusts for one gap */
    }
    
     /* Configuration for the triple column */
    .col-three {
        grid-template-columns: repeat(3, 1fr); /* Three equal columns */
    }

    .text-block, .image-block {
        grid-column: span 1;
        height: 300px; /* Set a fixed height for all blocks */
        overflow: hidden; /* Prevents content from overflowing */
    }
    
    .single-row {
        height: 500px; /* Set a fixed height for single image blocks */
    }

    .text-block {
        display: flex;
        flex-direction: column; /* Stacks child elements vertically */
        justify-content: space-between; /* Ensures content is spaced out maximally */
        padding: 0 10px; /* Adds padding inside the text block for better readability */
        height: 300px; /* Set a fixed height for all blocks */
        overflow: hidden; /* Prevents content from overflowing */
    }
    
    .text-content {
        flex-grow: 1; /* Allows the text content to fill the space */
        display: flex;
        flex-direction: column;
        justify-content: flex-start; /* Aligns text content to the top */
    }
    
    .text-content h2,.text-content h3{
        margin-top:1.5rem;
        margin-bottom:0;
    }
    
    .text-footer {
        font-size: 0.8em; /* Smaller font size */
        color: grey; /* Grey color for the text */
        padding-top: 10px; /* Space above the footer text */
    }

    .image-block img {
        width: 100%; /* Full width of the block */
        height: 100%; /* Force the image to fill the container */
        object-fit: cover; /* Ensures the image covers the area without distortion */
        display: block; /* Remove any extra space below the image */
    }

    @media (max-width: 600px) {
        .container-row {
            grid-template-columns: 1fr; /* One column on smaller screens */
        }
        
        .block-gap {
            margin-top: 0!important;
        }

        .text-block, .image-block {
            height: auto; /* Allow the height to adjust based on content */
        }
    }
    .gallery{
        margin-top: 0;
    }
    .gallery img {
        border:none;
    }
    
/*Card grid layout responsive width- FIX*/
.card-image {
    max-width: 555px;
}    

/*QUOTES CONTAINER*/
 .gm-quote-content {
     position: relative;
     margin-top: 0;
     margin-bottom: 1rem;
     font-style: italic;
     background: #f6f6f6;
     padding: 2rem;
     border-left: 6px solid #006dae;
}
 .gm-quote-content:before {
     position: relative;
     display: block;
     margin-bottom: 1rem;
     width: 40px;
     height: 40px;
     content: '';
     background: #006dae url(https://www.monash.edu/__data/assets/image/0007/1754854/quote-circle-tr.png) no-repeat center;
     background-size: 40px;
     border-radius: 50% 
}
 .gm-quote-content .gm-quote-source {
     margin-top: 2rem;
     margin-bottom: 0;
     color: #7c7c7c;
     font-size: .9rem 
}
    
/* Adding play button overlay for video thumbnails CSS */

.image-block {
    position: relative;
    display: inline-block;
}

.play-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6); /* Semi-transparent overlay */
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.5; /* Adjusts the transparency level */
}

.play-icon {
    font-size: 3.5em;
    color: white; /* Play icon color */
    border: 6px solid white; /* Circular border */
    border-radius: 50%; /* Makes the border circular */
    width: 120px; /* Ensures a perfect circle */
    height: 120px; /* Ensures a perfect circle */
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    transform: translate(-50%, -50%); /* Centre precisely */
    position: absolute;
    top: 50%;
    left: 50%;
}

.play-icon::before {
    content: "\25B6"; /* Unicode for play icon */
    position: absolute;
    left: 34px;
}

/* SLIDESHOW CONTAINER CSS */
.slideshow-container {
    position: relative;
    max-width: 100%;
}

#main-image {
    position: relative;
    width: 100%;
    height: 550px; /* Adjust as needed */
}

#main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensures the image covers the area properly */
}

#caption {
    position: absolute;
    bottom: 0;
    left: 0;
    color: white;
    background-color: rgba(0, 0, 0, 0.7); /* Semi-transparent background */
    width: 100%;
    padding: 10px;
    text-align: left;
    box-sizing: border-box; /* Ensures padding is included in width */
}

.thumbnail-container {
    display: flex;
    justify-content: flex-start;
    padding: 8px;
    overflow: hidden; /* Ensures no overflow */
}

.thumbnail {
    height: 120px; /* Maintains a consistent height */
    width: auto; /* Width adjusts to maintain aspect ratio */
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.3s, border 0.3s; /* Smooth transitions for opacity and border */
    margin: 0 4px; /* Provides spacing between thumbnails */
    flex: 1 1 auto; /* Allows thumbnails to grow and shrink */
}

.thumbnail.active {
    opacity: 1; /* Full opacity for the active thumbnail */
    border: 1px solid #f00; /* Red border for the active thumbnail */
    transform: scale(1.025);
    box-shadow: 0 0 8px rgba(255, 0, 0, 0.6); /* Adds a subtle glow or shadow */
}

.thumbnail:first-child {
    margin-left: 0; /* No left margin for the first thumbnail */
}

.thumbnail:last-child {
    margin-right: 0; /* No right margin for the last thumbnail */
}

.thumbnail:hover {
    opacity: 1; /* Full opacity on hover */
}

.navigation {
        position: absolute;
        top: 37%; /* Position at the half height of the parent */
        transform: translateY(-50%); /* Shift upward by half its own height */
        width: 40px; /* Suitable width for clickable area */
        height: 40px; /* Equal height and width for a square shape */
        background-color: rgba(0, 0, 0, 0.6); /* Semi-transparent black for visibility */
        color: white;
        text-align: center;
        line-height: 40px; /* Align text (icon) in the center vertically */
        cursor: pointer;
        z-index: 10; /* Ensure they are above all other content */
    }

.prev {
    left: 10px;
}

.next {
    right: 10px;
}

.navigation:hover {
    background-color: rgba(0,0,0,0.8); /* Darker on hover for better visibility */
}

/* Responsive adjustments */
@media (max-width: 768px) {
    #main-image {
        height: 300px; /* Smaller height on smaller screens */
    }

    .thumbnail-container {
        padding-bottom: 30px; /* Adjusted padding for smaller screens */
    }

    .thumbnail {
        max-height: 60px; /* Smaller thumbnails on smaller screens */
    }

    #caption {
        padding: 5px; /* Smaller padding */
        font-size: 12px; /* Smaller font size for captions */
    }
}

.mfp-iframe-caption {
    display: none !important; /* Hide the element */
}
