@media screen and (max-width: 800px) {
    .page-title {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
        display: block;
        font-size: 90px !important;
    }
}
/* Center YouTube videos on mobile view (using container) */
@media screen and (max-width: 800px) {
    .video-iframe-group {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        gap: 1.5rem;
    }
    .video-iframe-group iframe {
        display: block;
        margin-left: auto;
        margin-right: auto;
        width: 90vw !important;
        max-width: 350px !important;
        height: 197px !important; /* 16:9 ratio for 350px width */
        box-sizing: border-box;
    }
}
/* Force current menu item text color to white on mobile */
@media screen and (max-width: 800px) {
    .s-header__menu-links .current a {
        color: #fff !important;
        opacity: 0 !important;
        visibility: visible !important;
    }
}
/* Make menu hover background much wider on mobile */
@media screen and (max-width: 800px) {
    .s-header__menu-links a:hover, .s-header__menu-links a:focus {
        min-width: 90vw !important;
        width: 90vw !important;
        box-sizing: border-box;
        left: 50%;
        transform: translateX(-50%);
        display: block;
        text-align: center;
    }
}
/* Make main menu navigation button hover box wider on mobile only */
@media screen and (max-width: 800px) {
    .s-header__menu-links a:hover, .s-header__menu-links a:focus {
        padding-left: 2.5em !important;
        padding-right: 2.5em !important;
        transition: padding 0.2s;
    }
}
/* Make .p-button a hover box wider on mobile only */
@media screen and (max-width: 800px) {
    .p-button a:hover, .p-button a:focus {
        padding-left: 2.5em !important;
        padding-right: 2.5em !important;
        transition: padding 0.2s;
    }
}
/* Make ABOUT page-title smaller and left-aligned with margin on mobile only, with higher specificity */
/* Make ABOUT page-title smaller and left-aligned with margin on mobile only */
/* Actually hide the 'words' span in Bio 150 and Bio 250 on mobile only */
@media screen and (max-width: 800px) {
    .hide-on-mobile-words {
        display: none !important;
    }
}
/* Hide the word 'words' in Bio 150 and Bio 250 on mobile only */
@media screen and (max-width: 800px) {
    #bio150 a::after,
    #bio250 a::after {
        content: '';
    }
    #bio150 a,
    #bio250 a {
        /* Remove 'words' if present */
        font-size: inherit;
    }
}
/* Ensure second paragraph in .pageintro has same font size as the first on mobile */
@media screen and (max-width: 800px) {
    .pageintro .lead p:nth-of-type(2) {
        font-size: inherit !important;
        line-height: inherit !important;
    }
}
/* Hide #caption-right on mobile only */
@media screen and (max-width: 800px) {
    #caption-right {
        display: none !important;
    }
}
/* Make .caption and its text much smaller on mobile only */
@media screen and (max-width: 800px) {
    .caption {
        font-size: 2.8vw;
    }
    .caption p,
    .caption #caption-right {
        font-size: 2.8vw !important;
        line-height: 1.2;
    }
}
/* Justify paragraph text on mobile only */
@media screen and (max-width: 800px) {
    p {
        text-align: justify;
    }
}


 
 
 
 
 
 
 /* MEDIA CSS */

.s-pageheader {
	background-image: url("../images/opera-pic.jpg");
	background-size : cover;
	background-position-x: center;
    background-position-y: 7%;
	background-repeat: no-repeat;
    padding-top: 16rem !important;
    opacity: 99%;
}

.s-header__menu-links a {
    display: inline-block;
    font-family: var(--font-1);
    font-weight: 400;
    font-size: 1.85rem;
    line-height: var(--vspace-1);
    color: rgba(255, 255, 255, 0.805);
    padding: 0 1.7rem;
    border-radius: 6px;
    text-decoration: none;
    position: relative;
    transition: color 0.2s;
    z-index: 1;
}

.s-header__menu-links a::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 85%; /* Match this value for both hover and current */
    height: 100%;
    background: rgb(213, 213, 213);
    border-radius: 6px;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.25s;
}


.s-header__menu-links a:hover::before,
.s-header__menu-links a:focus::before,
.s-header__menu-links .current a::before {
    opacity: 1;
}

.s-header__menu-links .current a {
    color: #222 !important;
    position: relative;
    border-bottom: none !important;
    box-shadow: none !important;
    background: none !important;
}
.s-header__menu-links a:hover,
.s-header__menu-links a:focus {
    color: #222;
}

.s-header__menu-links a:hover::before,
.s-header__menu-links a:focus::before {
    opacity: 1;
    transform: translateX(-50%) scaleX(1);
}

.s-header__menu-links .current a {
    color: #222 !important;
    position: relative;
    border-bottom: none !important; /* Remove underline */
    box-shadow: none !important;    /* Remove any shadow underline */
}

.s-header__menu-links .current a::before {
    opacity: 1;
    transform: translateX(-50%) scaleX(1);
    background: rgb(213, 213, 213);
}


.logo-text {
    font-family: serif;         /* or your .intro-big-title font-family */
    font-size: 2.5rem;          /* adjust as needed */
    font-weight: bold;
    color: #fff;                /* or your preferred color */
    letter-spacing: 2px;
    text-shadow: 0 2px 16px rgba(0,0,0,0.25);
    display: inline-block;
}

.pagemain .lead h2.spacer {
    margin-top: 2rem;
}

.s-pageheader.page-title {
    color: white;
    font-size: 48px;
    text-align: center;
    margin-top: 0px !important;
    margin-bottom: 50px;
}
.caption {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem; /* optional spacing between items */
    width: 100%;
}
.caption > * {
    float: none;
    width: auto;
}

.row .pagemedia {
    margin-bottom: 1rem;

}

.row .pageintro p {
  font-size: 24px;

}