:root {
    /* Brand colours (--color-peach, --color-pale-peach and their -rgb
       channels) are defined in a palette file loaded after this one:
       palette-original-*.css or palette-red-earth-*.css. See
       docs/todos/2026-10-19-normalizingDifferentColourCss.md. */
    --color-warm-brown: rgb(67, 59, 58);
    --color-grey: #808080;
    --bg-pattern: url(../../images/a/bg-pattern.png);

    /* Website semantic roles */
    --color-background: var(--bg-pattern);
    --color-text: var(--color-warm-brown);
    --color-primary: var(--color-peach);
    --color-surface: var(--color-pale-peach);

    /* Shared section spacing, copied from the gap under the contact
       form's "Send" button (.section-main bottom 25px + .content-wrap
       bottom 5rem). Client reference - change here only. */
    --myra-section-gap: 105px;
}

@font-face {
    font-family: 'estilo_probook';
    src: url('../../fonts/a/estilopro-book-webfont.woff2') format('woff2'),
    url('../../fonts/a/estilopro-book-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

.content-wrap p {
    line-height: var(--cnvs-line-height-content);
}
.content-wrap {
    padding-bottom: 5rem;
}


h1, h2, h3, h4, h5, h6 {
    font-weight: 400;
    letter-spacing: 0.66px;
    color: var(--cnvs-body-text-color);
    margin: 0 0 10px 0;
}

:root {
    --cnvs-link-color: var(--color-primary);
    --cnvs-link-hover-color: grey;
    --cnvs-themecolor: var(--color-primary);
    /* R,G,B channels of --color-peach, for vendor rules that build
       rgba()/hsla() colours from this var. Previously 26, 188, 156 (an
       unrelated teal, a pre-existing mismatch against
       --cnvs-themecolor) — corrected so translucent accents track the
       solid colour. */
    --cnvs-themecolor-rgb: var(--color-peach-rgb);
    --bs-link-color: var(--cnvs-themecolor);
    --bs-link-color-rgb: var(--cnvs-themecolor-rgb);
    --bs-link-hover-color: var(--cnvs-heading-color);
    --cnvs-white: #fff;
    --cnvs-black: #000;
    --cnvs-headings-font-weight: 600;
    /* Font Families */
    --cnvs-body-font: "estilo_probook", Century Gothic, sans-serif;
    --cnvs-primary-font: "estilo_probook", Century Gothic, sans-serif;
    --cnvs-gotoTop-hover-color: var(--color-primary);
    --cnvs-font-size-h1:	2.25rem;
    --cnvs-font-size-h2:	24px;
    --cnvs-font-size-h3:	1.625rem;
    --cnvs-font-size-h4:	1.375rem;
    --cnvs-font-size-h5:	1.125rem;
    --cnvs-font-size-h6:	0.875rem;

    /* Local roles introduced during cleanup so repeated colour values
       below resolve through one place; now mapped to the new palette. */
    --cnvs-body-text-color: var(--color-text);
    --cnvs-soft-bg: var(--color-surface);
}

/* caused issues with kenzo */
h1 > span:not(.nocolor):not(.badge), .h1 > span:not(.nocolor):not(.badge), h2 > span:not(.nocolor):not(.badge), .h2 > span:not(.nocolor):not(.badge), h3 > span:not(.nocolor):not(.badge), .h3 > span:not(.nocolor):not(.badge), h4 > span:not(.nocolor):not(.badge), .h4 > span:not(.nocolor):not(.badge), h5 > span:not(.nocolor):not(.badge), .h5 > span:not(.nocolor):not(.badge), h6 > span:not(.nocolor):not(.badge), .h6 > span:not(.nocolor):not(.badge) {
    color: var(--cnvs-black);
}

.pull-left {
    float: left;
}
.pull-right {
    float: right;
}

.maxWidth {
    max-width: 100%!important;
}

.noBreak {
    white-space: nowrap;
}

html, body,
#wrapper,
#content,
#header-wrap {
    background: var(--color-background) !important;
}

#wrapper {
    background-color: unset!important;
}

#content {
    position: relative;
}

#header-wrap {
    border-bottom: 0px;
    background-color: unset;
    /* 41px + 100px logo + 41px = 182px header; the smaller logo gets more canvas around it */
    padding-top: 41px;
    padding-bottom: 41px;
}

em {
    font-family: var(--cnvs-body-font);
}

p {
    margin-bottom: 0px;
    margin-top: 0px;
    font-size: 18px;
    line-height: 30px;
    color: var(--cnvs-body-text-color);
}

p a {
    color: var(--cnvs-themecolor);
    text-decoration: underline;
}

/* top bar */
.is-expanded-menu .full-header #logo {
    padding-right: 0px;
    border-right: 0px;
}

/********* menu *********************/
.cnvs-hamburger .cnvs-hamburger-inner, .cnvs-hamburger .cnvs-hamburger-inner::before, .cnvs-hamburger .cnvs-hamburger-inner::after {
    background-color: var(--cnvs-themecolor);
}
.cnvs-hamburger {
    --cnvs-hamburger-size: 2rem;
}

.main-nav .category-section .category {
    float: left;
    width: 50%;
    max-width: 200px;
    margin: 0px;
    text-transform: uppercase;
}
.main-nav .category-section ul {
    float: left;
    width: 50%;
}
.main-nav .category-section {
    margin-bottom: 40px;
}
.main-nav .category-section ul {
    padding: 0px;
    margin: 5px 0px 0px;
    list-style: none;
}

/* mobile menu offset */
.primary-menu ul {
    margin-top: 15px;
}

.press-icon {
    width: 150px;
    height: 150px;
    transform: rotate(45deg);
    border: 1px solid var(--cnvs-themecolor);
    position: relative;
    display: block;
    top: 100px;
}

/* Centred by its own size (translate -50%), so it stays centred at any
   diamond size or word length; rotate undoes the diamond's 45deg. */
.press-icon span {
    top: 50%;
    left: 50%;
    position: absolute;
    font-size: 28px;
    line-height: 1;
    white-space: nowrap;
    transform: translate(-50%, -50%) rotate(-45deg);
    /* Optical nudge: the font's letter spacing/baseline make the
       mathematically centred word look slightly high-left. Margins act
       in the diamond's rotated axes (net on screen: ~2px right, ~3.5px down). */
    margin-top: 1px;
    margin-left: 4px;
}

#logoSVG {
    height: 100px;
    transition: all 0.3s ease;
}

/* Banner */
.slider-element .video-wrap, .section .video-wrap, .swiper-slide .yt-bg-player, .section .yt-bg-player, .swiper-slide-bg {
    background-position: top;
}

@media only screen and (min-width: 1000px) {
    .slider-element .video-wrap, .section .video-wrap, .swiper-slide .yt-bg-player, .section .yt-bg-player, .swiper-slide-bg {
        background-position-y: 100px;
    }
}

/* scroll down */
.sticky-header-shrink #header-wrap {
    padding-top: 0px;
    padding-bottom: 0px;
}
.sticky-header-shrink #header-wrap #logoSVG {
    height: 70px;
    padding: 10px;
    transition: all 0.3s ease;
}
/* sub pages (projects, Press, Terms, ...): the live logo (90px with 10px padding),
   with 20px more canvas above and below it than live */
.isSubPage #header-wrap {
    padding-top: 20px;
    padding-bottom: 20px;
}
.isSubPage #logoSVG {
    height: 90px;
    padding: 10px;
}
.isSubPage .sticky-header-shrink #header-wrap {
    padding-top: 0px;
    padding-bottom: 0px;
}
/* Slider info on top of banner */
.slider-caption h2, .slider-caption .h2 {
    color: var(--cnvs-body-text-color);
    text-shadow: none;
    font-size: 4.5rem;
    letter-spacing: 0;
    text-transform: none;
    font-weight: 400;
}
.slider-caption.slider-caption-center {
    position: relative;
    max-width: 100%;
}
.slider-caption h2 {
    font-size: 2em;
}
.slider .slide .info {
    left: 35px;
    width: calc(100% - 70px);
    position: absolute;
    bottom: 43px;
    right: 0px;
    height: 4.5em;
    background-color: rgba(var(--color-pale-peach-rgb), 0.8);
    text-align: center;
    overflow: hidden;
}
/* No salmon bar: white text straight on the picture */
.slider-wrap {
    position: absolute;
    bottom: 50px;
    width: 100%;
    padding: 20px 0 20px 0;
}
/* project title only (no project type): white, centred above VIEW, not bold, no shadow */
.slider-wrap h2 {
    color: var(--cnvs-white);
    text-shadow: none;
    font-weight: 400;
    text-align: center;
}
/* the aligned "ō" (.charO, e.g. Kenzō): white like the title.
   "h2 > span..." is needed to outrank the black "h2 > span:not(.nocolor):not(.badge)" rule above. */
.slider-wrap h2 > span.charO {
    color: var(--cnvs-white);
}
/* VIEW: light salmon text link (no button, no shadow), underlined on hover */
.slider-wrap .banner-view-text {
    display: inline-block;
    margin-top: 10px;
    color: var(--color-pale-peach);
    text-shadow: none;
}
/* Canvas removes every link underline with "a:not(...):not(...):not(...) { text-decoration: none !important }",
   so this needs !important and a higher specificity to win */
.slider-caption .slider-wrap a.banner-view-text:hover {
    color: var(--color-pale-peach);
    text-decoration: underline !important;
}

/* Left slider icon */
.slider-arrow-left {
    transform: rotate(45deg);
}
.uil-angle-left-b::before {
    content: '\ec49';
    transform: rotate(-45deg);
}
.slider-arrow-left, .slider-element .owl-next, .flex-next {
    left: 40px;
    border: 1px solid var(--cnvs-white);
}

/* Right slider icon */
.slider-arrow-right {
    transform: rotate(45deg);
}
.uil-angle-right-b::before {
    content: '\eb9f';
    transform: rotate(-45deg);
}
.slider-arrow-right, .slider-element .owl-next, .flex-next {
    right: 40px;
    border: 1px solid var(--cnvs-white);
}

.swiper-pagination span {
    display: inline-block;
    cursor: pointer;
    width: var(--cnvs-canvas-slider-dots-size);
    height: var(--cnvs-canvas-slider-dots-size);
    margin: 0 var(--cnvs-slider-pagination-gutters);
    opacity: 1;
    background-color: transparent;
    border: 1px solid var(--cnvs-slider-arrow-color);
    border-radius:0;
    transform: rotate(45deg);
    transition: all 0.3s ease;
}

.slide-number {
    position: absolute;
    opacity: 0;
    top: auto;
    right: 20px;
    bottom: 0px;
    z-index: 20;
    width: 36px;
    height: 40px;
    text-align: center;
    color: rgba(var(--cnvs-invert-contrast-rgb), 0.8);
    font-size: 1.125rem;
    font-weight: 300;
    transition: all 0.3s linear;
}

.readmore {
    position: relative;
    max-height: 100px;
    overflow: hidden;
    width:200px;
    padding: 10px;
    margin-bottom: 20px;
    transition:max-height 0.15s ease-out;
}
.readmore.expand{
    max-height: 5000px !important;
    transition:max-height 0.35s ease-in-out;
}
.readmore-link{
    position: absolute;
    bottom: 0;
    right: 0;
    display: block;
    width:100%;
    height: 60px;
    text-align: center;
    color: blue;
    font-weight:bold;
    font-size:16px;
    padding-top:40px;
    background-image: linear-gradient(to bottom, transparent, var(--cnvs-white));
    cursor: pointer;
}
.readmore-link.expand {
    position: relative;
    background-image: none;
    padding-top:10px;
    height:20px;
}
.readmore-link:after {
    content:"Read more";
}
.readmore-link.expand:after{
    content:"Read less";
}

.projects-header {
    position: relative;
    width: 100%;
    padding: 20px;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    background-position: top;
}

@media only screen and (max-width: 1099px) {
    .desktopOnly {
        display: none;
    }
}
@media only screen and (min-width: 1100px) {
    .mobileOnly {
        display: none;
    }
}

@media only screen and (max-width: 1099px) {
    .picInfo {
        margin-top: 150px;
        background-color: #ffffff7d;
        display: flex;
        align-items: center;
    }
    .picInfo .title {
        width: 50%;
        text-align: center;
        float: right;
    }

    .projects-header {
        background-position: center 40px;
        background-size: contain;
    }

    .projects-header .poster-card {
        width: 50%!important;
    }
}

@media only screen and (min-width: 749px) and (max-width: 1099px) {
    .picInfo {
        margin-top: 270px !important;
    }
}

@media only screen and (min-width: 768px) {
    .projects-header {
        padding: 40px
    }
}

@media only screen and (min-width: 1024px) {
    .projects-header {
        padding: 60px
    }
}

@media only screen and (min-width: 1200px) {
    .projects-header {
        /* top 90px (was 144px): back up now the project-page logo is smaller again;
           bottom 16px: evens out the space under the thumbnail */
        padding: 90px 90px 16px;
    }
}

.projects-header .poster-card {
    position: relative;
    width: 60%;
    max-width: 350px;
    max-height: 100%;
    padding: 15px;
    word-wrap: break-word;
    background: #f7f7f7
}

.projects-header .poster-card h1 {
    margin-bottom: 5px;
    font-size: 30px;
    line-height: 28px
}

.projects-header .poster-card h2 {
    margin-top: 0;
    font-size: 18px
}

.projects-header .poster-card .content {
    padding: 15px 15px 0
}

.header-wrap-clone {
    height: 54px;
}

/************** home page ***********/

@media only screen and (max-width: 767px) {
    .home-video-section video {
        padding: 0px;
        width: 100%;
    }

    .content-wrap {
        padding: 20px 0 0px 0;
    }
}
@media only screen and (min-width: 768px) {
    .home-video-section video {
        width: 370px; height: 208px; float: left; margin:0 20px 30px 0; padding-right: 50px; padding-bottom: 30px;
    }
}

.section-twitter-feed, .section-border {
    position: relative;
    padding: 30px 25px;
    margin-bottom: 40px;
    border: 1px solid var(--cnvs-themecolor);
}
.section-border::before {
    top: -15px;
    left: -15px;
    display: inline-block;
    padding: 10px;
    font-size: inherit;
    text-rendering: auto;
    content: "M.Y.R.A.'s MISSION";
    position: absolute;
    color: var(--cnvs-themecolor);
    background: var(--color-background);
}
.section-border li::before {
    content: "◆";
    color: var(--cnvs-themecolor);
    display: inline-block;
    width: 2em;
    margin-left: 2em;
    font-size: 10px;
}
.section-border ul {
    padding-left: 10px;
    list-style: none;
}

.homepage-mission-column {
    display: flex;
}
/* mobile: the columns stack, so add a small gap under the mission box */
@media (max-width: 767.98px) {
    .homepage-mission-column {
        margin-bottom: 20px;
    }
}

.homepage-mission-column .section-border {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 0px;
}

h3 {
    margin-bottom: 5px;
    font-size: 22px;
    color: var(--cnvs-themecolor);
}

.synopsis-content h3 {
    margin-bottom: 20px;
}
/* room for the large first letter (64px on a 30px line) so it isn't cut or too close to "Synopsis" */
.synopsis-content p:first-of-type {
    padding-top: 20px;
}

.alternate-row {
    background: var(--color-surface);
    padding: var(--myra-section-gap) 0px;
}

/* base */
.about-header {
    min-height: 320px;
    background-attachment: scroll;
    background-size: 100%;
    background-repeat: no-repeat;
    background-color: #b3d2f0;
    background-position-x: center;
    background-position-y: top;
}

@media screen and (min-width: 800px) {
    .about-header {
        background-attachment: scroll;
        background-size: 100%;
        min-height: 525px;
    }
}

@media screen and (min-width: 1212px) {
    .about-header {
        background-attachment: fixed;
        background-size: cover;
    }
}

@media screen and (min-width: 1500px) {
    .about-header {
        background-attachment: fixed;
        background-size: cover;
        background-position-y: top;
    }
}

/* iPhone portrait */
@media only screen
and (min-width: 300px)
and (max-width: 600px)
and (min-height: 650px)
and (max-height: 950px)
and (-webkit-min-device-pixel-ratio: 1) {

    .about-header {
        min-height: 241px;
        background-repeat: no-repeat;
        background-size: cover;
        background-position-x: center;
        background-position-y: top;
        background-color: #b3d2f0;
        background-attachment: scroll;
    }

}

/* iPad Portrait */
@media only screen
and (min-width: 700px)
and (max-width: 999px)
and (min-height: 800px)
and (max-height: 1200px)
and (-webkit-min-device-pixel-ratio: 1) {

    .about-header {
        min-height: 606px;
        background-repeat: no-repeat;
        background-size: contain;
        background-position-x: center;
        background-position-y: top;
        background-color: #b3d2f0;
        background-attachment: scroll;
    }

}

/* iPad Landscape */
@media only screen
and (min-width: 800px)
and (max-width: 1400px)
and (min-height: 700px)
and (max-height: 1150px)
and (-webkit-min-device-pixel-ratio: 1) {

    .about-header {
        min-height: 706px;
        background-repeat: no-repeat;
        background-size: cover;
        background-position-x: center;
        background-position-y: top;
        background-color: #b3d2f0;
        background-attachment: scroll;
    }

}

img.pull-left.about-image {
    margin: 0px 20px 0px 0px;
    float: left;
}
img.pull-right.about-image {
    margin: 0px 0px 0px 20px;
    float: right;
}

.bio-row {
    margin: 0px 10px;
    display: inline-block;
    width: calc(33.333% - 24px);
    vertical-align: top;
}

.alternate-row .bio-row .about-image {
    display: block;
    width: 100%;
    float: none;
    margin: 0 0 15px 0;
}

.alternate-row .bio-row h2,
.alternate-row .bio-row h3 {
    text-align: left;
}

.alternate-row .bio-row .about-image {
    width: 50%;
    margin: 0 auto 15px auto;
}

.alternate-row.team-v2-row .bio-row-v2 {
    display: block;
    width: 100%;
    margin: 20px 0;
}

.alternate-row.team-v2-row .team-v2-content-split {
    display: flex;
    align-items: flex-start;
    gap: 24px;
}

.alternate-row.team-v2-row .team-v2-image-col {
    flex: 0 0 30%;
    max-width: 30%;
}

.alternate-row.team-v2-row .team-v2-text-col {
    flex: 0 0 70%;
    max-width: 70%;
}

.alternate-row.team-v2-row .team-v2-image-col .about-image {
    width: 65%;
    display: block;
    margin: 13px auto 0 auto;
}

.alternate-row.team-v2-row .team-v2-image-col .photoCredit {
    width: 65%;
    margin: 0 auto 15px auto;
    text-align: right;
}

.team-v2-image-col h2 {
    font-size: 22px;
    /* one line of body text between "Behind the Scenes" and the name */
    margin-top: calc(1rem * var(--cnvs-line-height-content));
}

/* Contact: one line of text between the policy phrase and the Send button */
.policy-phrase {
    margin-bottom: calc(1em * var(--cnvs-line-height-content));
    margin-top: 14px;
}

@media only screen and (max-width: 767px) {
    .bio-row {
        width: 100%;
        margin: 20px 0;
    }

    .alternate-row .bio-row .about-image {
        width: 50%;
        margin: 0 auto 15px auto;
    }

    .alternate-row .bio-row .layoutArea h2,
    .alternate-row .bio-row .layoutArea h3,
    .alternate-row .bio-row .layoutArea h4 {
        width: 75%;
        margin-left: auto;
        margin-right: auto;
    }

    .alternate-row.team-v2-row .team-v2-content-split {
        display: block;
    }

    .alternate-row.team-v2-row .team-v2-image-col,
    .alternate-row.team-v2-row .team-v2-text-col {
        max-width: 100%;
    }

    .alternate-row.team-v2-row .team-v2-image-col {
        text-align: center;
    }

    .alternate-row.team-v2-row .team-v2-image-col .about-image {
        display: block;
        margin: 0 auto 0 auto;
        width: 50%;
    }

    .alternate-row.team-v2-row .team-v2-image-col .photoCredit {
        width: 50%;
    }
}

/* form */
.section-contact-form .form-control  {
    margin: 0 0 10px 0;
}

.section-contact-form textarea.form-control {
    min-height: 183px;
}

.pr-1 {
    padding-right: 5px;
}
.pl-1 {
    padding-left: 5px;
}

@media only screen and (max-width: 767px) {
    .section-main {
        padding: 10px;
    }
}

@media only screen and (min-width: 768px) {
    .section-main {
        /* top 50px (was 30px): clears the full-size top logo */
        padding: 50px 120px 25px;
    }
}

.section-news h2, .section-news h2 p {
    margin-top: 0px;
    color: var(--cnvs-themecolor);
}

.bottomSocial .left {
    background: var(--cnvs-soft-bg);
    text-align: center;
}
.bottomSocial .left img {
    max-height: 200px;
}

.bottomSocial .center {
    background: var(--cnvs-white);
}

@media only screen and (max-width: 991px) {
    .bottomSocial .center {
        height: 280px;
    }
}

.bottomSocial .right {
    background: var(--cnvs-soft-bg);
    text-align: center;
}
.bottomSocial .right img {
    max-height: 200px;
}

.height100 {
    height: 100%;
}

.vAlign{
    top: 50%;
    position: relative;
    transform: translateY(-50%);
}

.bottomSocial .diamond {
    width: 70px;
    height: 70px;
}

.diamond::after {
    content: '';
    display: block;
    border: 1px solid var(--cnvs-soft-bg);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
}

@media only screen and (max-width: 767px) {
    .diamond::after {
        width: 45px;
        height: 45px;
    }
}
@media only screen and (min-width: 768px) {
    .diamond::after {
        width: 70px;
        height: 70px;
    }
}

.diamond:hover::after {
    background-color: var(--cnvs-soft-bg);
}

.diamond-container {
    height: 100%;
    position: relative;
    margin-top: -20px;
}
.bottomSocialContainerFullWidth .diamond-container {
    margin-top: 0px;
}
.bottomSocialContainerFullWidth .diamond-container .socialRow {
    top: 29%;
    position: relative;
}

@media only screen and (max-width: 768px) {
    .diamond-container {
        margin-top: -35px!important;
    }
}

.diamond-container .socialRow {
    top: 36%;
    position: relative;
}

.bottomSocial .icon {
    z-index: 9;
    position: relative;
    font-size: 29px;
}

.bottomSocialContainer {
    height: 465px;
}

/* taller banner (was 165px), same icon size; icons centred so the space above and below stays even */
.socialDesktop {
    height: 225px;
}
.socialDesktop > .center {
    display: flex;
    align-items: center;
}
.socialDesktop .diamond-container {
    width: 100%;
    height: auto;
}
.socialDesktop .diamond-container .socialRow {
    top: 0;
}
.paddingBottomSquares {
    padding-top: 60px;
    padding-bottom: 60px;
}

@media only screen and (min-width: 992px) {
    .footerNewSquares {
        --bs-gutter-x: 0;
        justify-content: space-evenly;
        background-color: var(--cnvs-soft-bg);
    }

    .footerNewSquares > .paddingBottomSquares {
        flex: 0 0 28%;
        max-width: 28%;
        width: 28%;
        /* more salmon above and below the 3 logos */
        padding-top: var(--myra-section-gap);
        padding-bottom: var(--myra-section-gap);
    }
}

.footerNewMobile {
    display: none;
}

.footerNewDesktop {
    display: block;
}

@media only screen and (max-width: 991px) {
    .footerNewMobile {
        display: block;
    }

    .footerNewDesktop {
        display: none;
    }

    .isHmoePage #footer .footerNewBottomBar #copyrights {
        top: 0;
    }
}

.bottomSocialContainerFullWidth > .center:first-child .socialRow {
    --bs-gutter-x: 0;
    flex-wrap: nowrap;
    justify-content: space-evenly;
    margin-left: 0;
    margin-right: 0;
}

.bottomSocialContainerFullWidth > .center:first-child .socialRow > [class*="col-"] {
    flex: 0 0 auto;
    max-width: none;
    width: auto;
    padding-left: 0;
    padding-right: 0;
    text-align: center;
}

.bottomSocialContainerFullWidth > .center:first-child .diamond {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.bottomSocialContainerFullWidth > .center:first-child .socialRow svg {
    margin-top: 0;
}

@media only screen and (max-width: 767px) {
    .bottomSocialContainerFullWidth > .center:first-child .diamond {
        width: 45px;
        height: 45px;
    }
}

.socialRow {
    margin: 0 10px 0 10px;
}

.socialRow svg {
    width: 34px;
    margin-top: 10px;
    color: var(--color-primary);
    /* same as the icon-font icons (.bottomSocial .icon), so the menu overlay covers it */
    z-index: 9;
    position: relative;
}

/* Bluesky and IMDb are raw SVGs with fill="#e18d7b" hardcoded on every
   path/polygon/rect in the footer templates, so `color` above doesn't
   reach them — override fill directly so they track the swapped
   colour too. The other icons are icon-font glyphs (no path/polygon/
   rect), so this rule doesn't touch them. */
.socialRow svg path,
.socialRow svg polygon,
.socialRow svg rect {
    fill: var(--color-primary);
}

.socialRow .diamond:hover svg path,
.socialRow .diamond:hover svg polygon,
.socialRow .diamond:hover svg rect {
    fill: var(--color-grey);
}

.socialRowAdjust {
    margin-top: 60px;
}

/***** form ******/
.form-control::placeholder {
    color: var(--cnvs-themecolor)!important;
    opacity: 1;
}

/***** sub pages **********/
.text-page-content .header {
    margin-bottom: 40px;
    text-align: center;
    border-bottom: 1px solid var(--cnvs-themecolor);
}

/**** feature page *****/
.intro-paragraph:first-letter, .synopsis-content p:first-of-type:first-letter {
    color: var(--cnvs-themecolor);
    font-size: 64px;
    line-height: 30px;
    padding-top: 0;
    padding-right: 5px;
    padding-left: 0;
    margin-left: -4px;
}

.homepage-intro-content .section-representation p {
    line-height: 30px;
}

.homepage-intro-content .section-representation p::first-letter {
    color: var(--cnvs-black);
    font-size: 25px;
    line-height: 30px;
    padding: 0;
    margin: 0;
}

.homepage-intro-content .myraDocFund p::first-letter {
    font-size: unset;
}
.homepage-intro-content .myraInitSection p::first-letter {
    font-size: unset;
}

#copyrights {
    padding: 20px 20px 20px 20px;
    font-size: 14px;
    letter-spacing: .66px;
    color: var(--cnvs-white)!important;
    text-align: center;
    background-color: var(--color-primary)!important;
}
#copyrights a {
    color: var(--cnvs-white);
}
#copyrights a:hover {
    color: #c2c2c2;
}

#copyrights .rightSide a {
    border-right: 1px solid var(--cnvs-white);
    padding: 0 15px;
}
#copyrights .rightSide a:last-child {
    border-right: none; /* or border-right: 0; */
}

@media only screen and (max-width: 500px) {
    #copyrights .name {

    }
}
@media only screen and (min-width: 501px) {
    #copyrights .name {
        padding-right: 15px;
        border-right: 1px solid var(--cnvs-white);
    }
}

#footer {
    --cnvs-footer-top-border: 0px solid rgba(var(--cnvs-contrast-rgb), 0.15);
    border-top: 0px;
    background: var(--color-background) !important;
}

#footer .footer-widgets-wrap {
    position: relative;
    padding: 0;
}

@media only screen and (max-width: 991px) {
    #footer #copyrights {
        position: relative;
    }

    .isHmoePage #footer #copyrights {
        top: 247px;
    }
}

.fullWidthImages img {
    width: 100%;
}

.roundedCorners {
    border-radius: 20px;
}
.radius-20{
    border-radius: 20px;
}

@media (min-width: 1400px) {
    .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
        max-width: 1200px;
    }
}

.btn-primary {
    --bs-btn-color: var(--cnvs-white);
    --bs-btn-bg: var(--cnvs-themecolor);
    --bs-btn-border-color: var(--cnvs-themecolor);
    --bs-btn-hover-color: var(--cnvs-white);
    --bs-btn-hover-bg: #868686;
    --bs-btn-hover-border-color: var(--cnvs-themecolor);

    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: var(--cnvs-white);
    --bs-btn-active-bg: var(--cnvs-themecolor);
    --bs-btn-active-border-color: var(--cnvs-themecolor);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--cnvs-white);
    --bs-btn-disabled-bg: var(--cnvs-themecolor);
    --bs-btn-disabled-border-color: var(--cnvs-themecolor);
}

.charO {
    display: inline-block;
    transform: scale(0.8);
    transform-origin: center;
    margin-left: -1px;
    bottom: 2px;
    position: relative;
    margin-left: -2px !important;
}
h1 .charO {
    bottom: 3px;
}
li .charO {
    bottom: 1px;
}

#team h3 {
    font-size: 30px;
    margin-bottom: 15px;
}

/* Flash Messages */
.style-msg .sb-msg, .style-msg2 .msgtitle, .style-msg2 .sb-msg {
    font-size: 1.575rem;
    text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6);
}

.bootstrap-title {
    color: var(--cnvs-link-color);
    font-family: var(--cnvs-primary-font);
}

.tooltip,
.tooltip .tooltip-inner {
    font-family: var(--cnvs-primary-font);
}

.docFundPage .main-header, .myraInitiativePage .main-header {
    margin-bottom: 30px;
}

#slider span {
    margin-left: 10px;
}

.vimeo-modal-link {
    position: relative;
    display: block;
}

.vimeo-modal-link::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 64px;
    height: 64px;
    background: rgba(0, 0, 0, 0.45);
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.85);
    transition: background 0.3s ease, border-color 0.3s ease;
    z-index: 1;
}

.vimeo-modal-link::after {
    content: '';
    position: absolute;
    top: 50%;
    left: calc(50% + 3px);
    transform: translate(-50%, -50%);
    border-top: 11px solid transparent;
    border-bottom: 11px solid transparent;
    border-left: 19px solid rgba(255, 255, 255, 0.9);
    z-index: 2;
    transition: border-left-color 0.3s ease;
}

.vimeo-modal-link:hover::before {
    background: rgba(var(--color-peach-rgb), 0.7);
    border-color: var(--cnvs-white);
}

.vimeo-modal-link:hover::after {
    border-left-color: var(--cnvs-white);
}

.myraInitSection {
    margin-top: 34px;
}

/***** Home page section spacing (client negative-space request) *****
   Every gap uses --myra-section-gap (see :root). */
/* Intro block (trailer + text, mission box, Doc Fund / Initiative, news):
   equal space above (after the carousel) and below (before the map).
   The theme's own top/bottom padding is removed on the home page so only
   the section gaps count (the bottom 5rem moves to .home-contact). */
.isHmoePage .content-wrap {
    padding-top: 0;
    padding-bottom: 0;
}

.home-intro-section {
    padding-top: var(--myra-section-gap);
    padding-bottom: var(--myra-section-gap);
}

.home-main,
.home-intro {
    margin-bottom: 0 !important;
}

/* trailer + text -> mission box (Doc Fund / Initiative move with it).
   Same gap as .home-intro-section's top padding; the trailer's own bottom
   spacing is removed so this margin is the only space between them.
   flow-root contains the floated video (replaces the old <br class="clearfix">)
   without "clear", which would swallow the margin when the video is taller. */
.home-mission-row {
    margin-top: var(--myra-section-gap);
}
.homepage-intro-content .inline-block1 {
    display: flow-root;
}
.homepage-intro-content .inline-block1 > :last-child {
    margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
    .homepage-intro-content .home-video-section video {
        margin-bottom: 0;
        padding-bottom: 0;
    }
}

/* news line sits inside the intro block; only a gap above it when it has text */
.home-news:has(h2:not(:empty)) {
    padding-top: var(--myra-section-gap);
}

/* Contact: equal canvas above and below. The gap under "Send" is the
   client's reference, so .section-main's own vertical padding is dropped
   here to keep it at exactly --myra-section-gap. */
.home-contact {
    padding-top: var(--myra-section-gap);
    padding-bottom: var(--myra-section-gap);
}
.home-contact .section-main {
    padding-top: 0;
    padding-bottom: 0;
}

/***** Home page Press button (moved from the burger menu) *****/
.home-press-bar {
    background: var(--color-background);
    padding: var(--myra-section-gap) 0;
    text-align: center;
}

/* Same text as the menu version, smaller diamond, centred */
.press-icon.home-press-icon {
    width: 100px;
    height: 100px;
    top: 0;
    margin: 0 auto;
}

/* Default version: diamond on the left, newest article beside it (?PRESS_HIDE_RECENT=1 shows the centred one) */
.home-press-bar--recent {
    text-align: left;
}
@media only screen and (min-width: 768px) {
    /* 21px = room for the rotated diamond's corners ((141px - 100px) / 2) */
    .home-press-bar--recent .press-icon.home-press-icon {
        margin: 21px 0 21px 21px;
    }
}
.home-press-bar--recent .home-press-recent {
    padding-top: 30px;
}
@media only screen and (min-width: 768px) {
    .home-press-bar--recent .home-press-recent {
        padding-top: 0;
    }
}
.home-press-recent h2 {
    margin-bottom: 2px;
    font-size: 20px;
}
.home-press-recent-date {
    margin-bottom: 10px;
}

/***** Project pages: synopsis stays in view while the images column scrolls (desktop only) *****/
@media only screen and (min-width: 992px) {
    /* Canvas sets .content-wrap { overflow: hidden }, which disables sticky
       for everything inside it. "clip" still clips (e.g. slide-in animations)
       but doesn't block sticky; flow-root keeps containing floats like hidden did. */
    .isSubPage .content-wrap {
        overflow: clip;
        display: flow-root;
    }

    /* ".isSubPage .row >" matches the specificity of Canvas's
       [class*=col-]:not([class*=sticky-]):not([class*=position-]) { position: relative }
       and wins by loading later - no !important needed. */
    .isSubPage .row > .synopsis-content {
        position: sticky;
        top: 100px; /* clears the shrunk sticky header */
        align-self: flex-start; /* .row stretches columns; a full-height column can't stick */
    }
}

/***** Press page pagination (replaces "Load All") *****/
.press-pagination {
    margin-top: 30px;
    --bs-pagination-color: var(--color-primary);
    --bs-pagination-hover-color: var(--color-primary);
    --bs-pagination-focus-color: var(--color-primary);
    --bs-pagination-active-bg: var(--color-primary);
    --bs-pagination-active-border-color: var(--color-primary);
}

/***** Press page search bar *****/
.press-search {
    max-width: 640px;
    margin: 25px auto 0;
}

/* One pill: icon + input + button share a single rounded border */
.press-search-field {
    display: flex;
    align-items: center;
    background: var(--cnvs-white);
    border: 1px solid var(--color-primary);
    border-radius: 50px;
    padding: 4px 4px 4px 20px;
    transition: box-shadow 0.2s ease;
}
.press-search-field:focus-within {
    box-shadow: 0 0 0 4px rgba(var(--color-peach-rgb), 0.2);
}

.press-search-icon {
    color: var(--color-primary);
    font-size: 18px;
    margin-right: 10px;
}

.press-search .press-search-input {
    flex: 1;
    min-width: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    padding: 8px 0;
    font-family: var(--cnvs-body-font);
    font-size: 17px;
    letter-spacing: 0.66px;
    color: var(--color-text);
}
.press-search .press-search-input:focus {
    outline: 0;
    box-shadow: none;
}
/* hide the browser's own clear "x" so the pill stays clean */
.press-search-input::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

.press-search-button {
    padding: 8px 24px;
    border-radius: 50px;
    letter-spacing: 0.66px;
}

.press-search-summary {
    margin-top: 12px;
    text-align: center;
    font-size: 15px;
}
.press-search-summary a {
    margin-left: 10px;
    border-bottom: 1px solid var(--color-primary);
}
