

@charset "UTF-8";

@font-face {
    font-family: VanCond;
    src:url("/assets/fonts/VanCondensedPro-Light.eot");
    src:url("/assets/fonts/VanCondensedPro-Light.eot?#iefix") format("embedded-opentype"),
    url("/assets/fonts/VanCondensedPro-Light.woff2") format("woff2"),
    url("/assets/fonts/VanCondensedPro-Light.woff") format("woff"),
    url("/assets/fonts/VanCondensedPro-Light.ttf") format("truetype"),
    url("/assets/fonts/VanCondensedPro-Light.svg#van_condensed_light_prolight") format("svg");
    font-weight: 300;
    font-style: normal
}

@font-face {
    font-family: VanCond;
    src:url("/assets/fonts/VanCondensedPro-LightItalic.eot");
    src:url("/assets/fonts/VanCondensedPro-LightItalic.eot?#iefix") format("embedded-opentype"),
    url("/assets/fonts/VanCondensedPro-LightItalic.woff2") format("woff"),
    url("/assets/fonts/VanCondensedPro-LightItalic.woff") format("woff"),
    url("/assets/fonts/VanCondensedPro-LightItalic.ttf") format("truetype"),
    url("/assets/fonts/VanCondensedPro-LightItalic.svg#van_condensed_light_proLtIt") format("svg");
    font-weight: 300;
    font-style: italic
}

@font-face {
    font-family: VanCond;
    src:url("/assets/fonts/VanCondensedPro-Regular.eot");
    src:url("/assets/fonts/VanCondensedPro-Regular.eot?#iefix") format("embedded-opentype"),
    url("/assets/fonts/VanCondensedPro-Regular.woff2") format("woff"),
    url("/assets/fonts/VanCondensedPro-Regular.woff") format("woff"),
    url("/assets/fonts/VanCondensedPro-Regular.ttf") format("truetype"),
    url("/assets/fonts/VanCondensedPro-Regular.svg#van_condensed_proregular") format("svg");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: VanCond;
    src:url("/assets/fonts/VanCondensedPro-Italic.eot");
    src:url("/assets/fonts/VanCondensedPro-Italic.eot?#iefix") format("embedded-opentype"),
    url("/assets/fonts/VanCondensedPro-Italic.woff2") format("woff"),
    url("/assets/fonts/VanCondensedPro-Italic.woff") format("woff"),
    url("/assets/fonts/VanCondensedPro-Italic.ttf") format("truetype"),
    url("/assets/fonts/VanCondensedPro-Italic.svg#van_condensed_proitalic") format("svg");
    font-weight: 400;
    font-style: italic
}

@font-face {
    font-family: VanCond;
    src:url("/assets/fonts/VanCondensedPro-Bold.eot");
    src:url("/assets/fonts/VanCondensedPro-Bold.eot?#iefix") format("embedded-opentype"),
    url("/assets/fonts/VanCondensedPro-Bold.woff2") format("woff"),
    url("/assets/fonts/VanCondensedPro-Bold.woff") format("woff"),
    url("/assets/fonts/VanCondensedPro-Bold.ttf") format("truetype"),
    url("/assets/fonts/VanCondensedPro-Bold.svg#van_condensed_probold") format("svg");
    font-weight: 700;
    font-style: normal
}

@font-face {
    font-family: VanCond;
    src:url("/assets/fonts/VanCondensedPro-BoldItalic.eot");
    src:url("/assets/fonts/VanCondensedPro-BoldItalic.eot?#iefix") format("embedded-opentype"),
    url("/assets/fonts/VanCondensedPro-BoldItalic.woff2") format("woff"),
    url("/assets/fonts/VanCondensedPro-BoldItalic.woff") format("woff"),
    url("/assets/fonts/VanCondensedPro-BoldItalic.ttf") format("truetype"),
    url("/assets/fonts/VanCondensedPro-BoldItalic.svg#van_condensed_probold_italic") format("svg");
    font-weight: 700;
    font-style: italic
}

html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block
}

audio,
canvas,
progress,
video {
    display: inline-block;
    vertical-align: baseline
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden],
template {
    display: none
}

a {
    background-color: transparent
}

a:active,
a:hover {
    outline: 0
}

abbr[title] {
    border-bottom: 1px dotted
}

b,
strong {
    font-weight: 700
}

dfn {
    font-style: italic
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

mark {
    background: #ff0;
    color: #000
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

img {
    border: 0
}

svg:not(:root) {
    overflow: hidden
}

figure {
    margin: 1em 40px
}

hr {
    box-sizing: content-box;
    height: 0
}

pre {
    overflow: auto
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

button,
input,
optgroup,
select,
textarea {
    color: inherit;
    font: inherit;
    margin: 0
}

button {
    overflow: visible
}

button,
select {
    text-transform: none
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
    -webkit-appearance: button;
    appearance: button;
    cursor: pointer
}

button[disabled],
html input[disabled] {
    cursor: default
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0
}

input {
    line-height: normal
}

input[type=checkbox],
input[type=radio] {
    box-sizing: border-box;
    padding: 0
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    height: auto
}

input[type=search] {
    -webkit-appearance: textfield;
    
    appearance: textfield;
    box-sizing: content-box
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    border: 0;
    padding: 0
}

textarea {
    overflow: auto
}

optgroup {
    font-weight: 700
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

td,
th {
    padding: 0
}

html {
    box-sizing: border-box
}

*,
::after,
::before {
    box-sizing: inherit
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    -webkit-font-smoothing: antialiased;

    border-radius:.25em;
    border:none;
    color:#fff;
    cursor:pointer;
    display:inline-block;
    font-family:VanCond, "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size:1em;
    font-weight:600;
    line-height:1;
    padding:.75em 1em;
    text-decoration:none;
    user-select:none;
    vertical-align:middle;
    white-space:nowrap;
    background-color: #ed1c24
}

button:focus,
button:hover,
input[type=button]:focus,
input[type=button]:hover,
input[type=reset]:focus,
input[type=reset]:hover,
input[type=submit]:focus,
input[type=submit]:hover {
    color: #fff;
    background-color: rgb(190,22,29)
}

button:disabled,
input[type=button]:disabled,
input[type=reset]:disabled,
input[type=submit]:disabled {
    cursor: not-allowed;
    opacity: .5
}

fieldset {
    margin:0 0 .75em;
    padding:1.5em;
    border:1px solid #ed1c24
}

input,
label,
select {
    display: block;
    font-family: VanCond, "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 1em
}

label {
    font-weight: 600;
    margin-bottom: .375em
}

label.required::after {
    content: "*"
}

label abbr {
    display: none
}

input:not([type]),
input[type=number],
input[type=search],
input[type=color],
input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=password],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],
select[multiple=multiple],
textarea {
    background-color: #fff;
    border-radius:.25em;
    box-shadow:inset 0 1px 3px rgba(0, 0, 0, .06);
    box-sizing:border-box;
    font-family:VanCond,
    "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size:1em;
    margin-bottom:.75em;
    padding:.5em;
    transition:border-color;
    width:100%;
    border:1px solid #ed1c24
}

input:not([type]):hover,
input[type=number]:hover,
input[type=search]:hover,
input[type=color]:hover,
input[type=date]:hover,
input[type=datetime]:hover,
input[type=datetime-local]:hover,
input[type=email]:hover,
input[type=month]:hover,
input[type=password]:hover,
input[type=tel]:hover,
input[type=text]:hover,
input[type=time]:hover,
input[type=url]:hover,
input[type=week]:hover,
select[multiple=multiple]:hover,
textarea:hover {
    border-color: rgb(190,22,29)
}

input:not([type]):focus,
input[type=number]:focus,
input[type=search]:focus,
input[type=color]:focus,
input[type=date]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=email]:focus,
input[type=month]:focus,
input[type=password]:focus,
input[type=tel]:focus,
input[type=text]:focus,
input[type=time]:focus,
input[type=url]:focus,
input[type=week]:focus,
select[multiple=multiple]:focus,
textarea:focus {
    
    box-shadow:inset 0 1px 3px rgba(0, 0, 0, .06),
    0 0 5px rgba(71, 125, 202, .7);
    outline:0;
    border-color: #ed1c24
}

textarea {
    resize: vertical
}

input[type=search] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none
}

input[type=checkbox],
input[type=radio] {
    display: inline;
    margin-right: .375em
}

input[type=file] {
    padding-bottom: .75em;
    width: 100%
}

select {
    margin-bottom: 1.5em;
    max-width: 100%;
    width: auto
}

ol,
ul {
    list-style-type: none;
    margin: 0;
    padding: 0
}

.default-text-content ul {
    list-style-type: disc;
    margin-bottom: .75em;
    padding-left: 1.5em
}

.default-text-content ol {
    list-style-type: decimal;
    margin-bottom: .75em;
    padding-left: 1.5em
}

dl {
    margin-bottom: .75em
}

dl dt {
    font-weight: 700;
    margin-top: .75em
}

dl dd {
    margin: 0
}

table {
    -webkit-font-feature-settings: "kern", "liga", "tnum";
    -moz-font-feature-settings: "kern", "liga", "tnum";
    -ms-font-feature-settings: "kern", "liga", "tnum";
    font-feature-settings: "kern", "liga", "tnum";
    border-collapse: collapse;
    margin: .75em 0;
    table-layout: fixed;
    width: 100%
}

th {
    
    font-weight:600;
    padding:.75em 0;
    text-align:left;
    border-bottom:2px solid #ed1c24
}

td {
    padding:.75em 0;
    border-bottom:1px solid #ed1c24
}

td,
th,
tr {
    vertical-align: middle
}

body {
    -webkit-font-feature-settings: "kern", "liga", "pnum";
    -moz-font-feature-settings: "kern", "liga", "pnum";
    -ms-font-feature-settings: "kern", "liga", "pnum";
    font-feature-settings: "kern", "liga", "pnum";
    -webkit-font-smoothing: antialiased;

    font-family:VanCond, "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size:1em;
    line-height:1.5;
    color: #000
}

@media print {
    body {
        font-size: 9px
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: VanCond, "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 1em;
    line-height: 1.25;
    margin: 0 0 .75em
}

p {
    margin: 0 0 .75em
}

a {
    
    text-decoration:none;
    transition:color .1s linear;
    color: #ed1c24
}

a:active,
a:focus,
a:hover {
    color: rgb(190,22,29)
}

hr {
    
    border-left:none;
    border-right:none;
    border-top:none;
    margin:1.5em 0;
    border-bottom:1px solid #ed1c24
}

img,
picture {
    margin: 0;
    max-width: 100%;
    height: auto
}

body,
html {
    height: 100%
}

html {
    box-sizing: border-box
}

*,
:after,
:before {
    box-sizing: inherit
}

::-moz-selection {
    color:#fff;
    text-shadow:none;
    background: #ed1c24
}

::selection {
    color:#fff;
    text-shadow:none;
    background: #ed1c24
}

body {
    /* PS Alteração para 2026*/
    /*background-color: #ed1c24*/ 
    background-color: #FFF;
        
}

hr {
    border: none;
    height: 2px;
    color: #ed1c24;
    background-color: #ed1c24
}

blockquote {
    font-style: italic
}

@media all and (min-width:40em) {

    .page-content,
    .site-footer {
        padding: 0 2em
    }
}

.video-embed {
    width: 100%;
    max-width: 48em;
    margin: 1.5em auto;
    position: relative
}

.video-embed:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 56.25%
}

.video-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.video-embed>:not(iframe),
.video-embed>p {
    display: none
}

.page {
    background-color: #fff;
    /* max-width: 71em;
    /* PS OHP2026*/
    max-width: 100em;
    margin: 0 auto;
    padding: 2em 2em 0
}

.page::after {
    clear: both;
    content: "";
    display: table
}

@media all and (max-width:34em) {
    .page {
        padding: 1.5em 1.5em 0
    }
}

.page a {
    border-bottom:2px solid #ed1c24
}

.page a:hover {
    transition:all .1s linear;
    border-bottom-color: rgb(190,22,29);
}

.page>* {
    /* PS OHP2026
    max-width: 67em;*/
    max-width: 98em;*/
    margin-left: auto;
    margin-right: auto
}

.page>::after {
    clear: both;
    content: "";
    display: table
}

.header-page {
    padding: 1.25em 2em;
    color:#fff;
    background-color: #003884
}

@media all and (max-width:34em) {
    .header-page {
        padding: 1em 1.5em
    }
}

.header-page h2 {
    float: left;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 1.5em;
    line-height: 1em;
    margin-bottom: .25em
}

@media all and (min-width:40em) {
    .header-page h2 {
        font-size: 1.75em;
        line-height: 1.1428571429em;
        margin-bottom: 0;
        margin-right: 1.5em
    }
}

.header-page .sub-nav {
    float: left;
    clear: left;
    line-height: 1.5em
}

@media all and (min-width:40em) {
    .header-page .sub-nav {
        line-height: 2em
    }
}

@media all and (min-width:57em) {
    .header-page .sub-nav {
        float: right;
        clear: none
    }
}

.header-page .sub-nav li {
    float: left;
    margin-right: 1em
}

.header-page .sub-nav li:last-child {
    margin-right: 0
}

.header-page .sub-nav a {
    vertical-align: 20%
}

@media all and (min-width:40em) {
    .header-page .sub-nav a {
        vertical-align: middle
    }
}

.header-page a {
    color: #fff;
    border-color: #fff
}

.header-page a:active,
.header-page a:focus,
.header-page a:hover {
    color: #ed1c24;
    border-color: #ed1c24
}

.header-page i {
    width: 1em;
    height: 1em;
    display: inline-block;
    background-size: contain;
    background-position: center center;
    vertical-align: -7%
}

.header-image-page {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: #fff;
    height: 12em
}

.activity.header-page .sub-nav,
.place.header-page .sub-nav {
    float: right;
    clear: none
}

.about.partners-banner,
.default-text-content {
    display: block
}

.about.partners-banner::after,
.default-text-content::after {
    clear: both;
    content: "";
    display: table
}

.about.partners-banner h2,
.default-text-content h2 {
    font-weight: 700;
    margin-bottom: .75em;
    margin-top: 1.5em
}

.about.partners-banner h2:first-child,
.default-text-content h2:first-child {
    margin-top: 0
}

@media all and (min-width:40em) {
    .default-text-content {
        font-size: 1.25em
    }
}

.about.partners-banner,
.default-text-content {
    margin-bottom: 2em
}

.about.partners-banner h3,
.default-text-content h3 {
    text-transform: uppercase;
    margin: 1em 0 1em;
    padding-top: 1em;
    font-weight: 400;
    font-size: 1.75em;
    line-height: 1.1428571429em;
    color: #ed1c24
}

.about.partners-banner h3:first-child,
.default-text-content h3:first-child {
    margin-top: 0;
    padding-top: 0
}

.about.partners-banner h4,
.default-text-content h4 {
    font-size: 1.25em;
    margin: 2em 0 1em
}

@media all and (min-width:57em) {
    .default-text-content {
        float: left;
        display: block;
        margin-right: 2.9850746269%;
        width: 65.671641791%;
        margin-left: 17.1641791045%
    }

    .default-text-content:last-child {
        margin-right: 0
    }

    .about.default-text-content {
        margin-left: 0
    }

    .get-involved.default-text-content {
        float: left;
        display: block;
        margin-right: 2.9850746269%;
        width: 100%;
        margin-left: 0
    }

    .get-involved.default-text-content:last-child {
        margin-right: 0
    }

    .get-involved.default-text-content>* {
        /*PS2026 
        max-width: 48rem*/
        max-width: 100rem
    }

    .about.partners-banner {
        float: left;
        display: block;
        margin-right: 2.9850746269%;
        width: 31.3432835821%
    }

    .about.partners-banner:last-child {
        margin-right: 0
    }
}

.not-found {
    padding-bottom: 2em
}

.not-found h3 {
    font-size: 2em;
    margin-bottom: .25em
}

.not-found p {
    margin: 0
}

.activity-list+.not-found {
    padding-top: 0
}

.gallery-header {
    padding: 1rem 0;
    margin: 0 auto 2rem
}

@media all and (min-width:40em) {
    .gallery-header {
        padding: 2rem 0;
        font-size: 1.25em;
        text-align: center;
        max-width: 32rem
    }
}

.gallery-header p:last-child {
    margin-bottom: 0
}

.gallery-header h1 {
    text-transform:uppercase;
    font-weight:400;
    font-size:2em;
    line-height:1.25;
    margin:0;
    color: #003884
}

.gallery-header h1+p {
    margin-top: .5em
}

.gallery-page {
    padding-bottom: 2em
}

.gallery-page figure {
    margin: 0 0 1.5em
}

.gallery-page figure:last-child {
    margin-bottom: 0
}

.gallery-page figcaption {
    margin-top: .5em;
    font-style: italic
}

.gallery-page img {
    display: block
}

.gallery-page video {
    display: block;
    width: 100%
}

.embed-container {
    position: relative;
    padding-top: 0;
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%
}

.embed-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.embed-container>:not(iframe),
.embed-container>p {
    display: none
}

.activity-list-description {
    margin-left: 0
}

.activity-list-description p:last-child {
    margin: 0
}

.photo-gallery::after {
    clear: both;
    content: "";
    display: table
}

.photo-gallery .photo-thumbnail {
    display: block;
    position: relative;
    border: 0 !important;
    background-color: #000;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    overflow: hidden;
    float: left;
    width: 47.5%;
    margin-bottom: 5%
}

.photo-gallery .photo-thumbnail img {
    opacity: 0;
    position: absolute;
    top: 0
}

.photo-gallery .photo-thumbnail:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 100%
}

.photo-gallery .photo-thumbnail:nth-child(2n+1) {
    margin-right: 5%
}

@media all and (min-width:40em) {
    .photo-gallery .photo-thumbnail {
        width: 31%;
        margin-bottom: 3.5%
    }

    .photo-gallery .photo-thumbnail:nth-child(2n+1) {
        margin-right: 0
    }

    .photo-gallery .photo-thumbnail:nth-child(3n+1),
    .photo-gallery .photo-thumbnail:nth-child(3n+2) {
        margin-right: 3.5%
    }
}

@media all and (min-width:57em) {
    .photo-gallery .photo-thumbnail {
        width: 23.5%;
        margin-bottom: 2%
    }

    .photo-gallery .photo-thumbnail:nth-child(3n+1),
    .photo-gallery .photo-thumbnail:nth-child(3n+2) {
        margin-right: 0
    }

    .photo-gallery .photo-thumbnail:nth-child(4n+1),
    .photo-gallery .photo-thumbnail:nth-child(4n+2),
    .photo-gallery .photo-thumbnail:nth-child(4n+3) {
        margin-right: 2%
    }
}

.gallery+.photo-gallery {
    margin-top: 1.5em
}

a.link-highlight {
    padding: .125em .25em;
    word-break:break-word;

    color: #ed1c24;
    border-color: #ed1c24
}

a.link-highlight.white {
    color: #fff;
    border-color: #fff
}

a.link-highlight.black {
    color: #000;
    border-color: #000
}

a.link-highlight:focus,
a.link-highlight:hover {
    color: #fff;
    background-color: #ed1c24;
    border-color: #ed1c24
}

a.link-button {
    padding:.5em;
    display:inline-block;
    margin:.2352941176em 0;
    transition:all .1s linear;
    word-break:break-word;
    border:2px solid #ed1c24
}

a.link-button:focus,
a.link-button:hover {
    color:#fff;
    text-shadow:none;
    
    background-color: #ed1c24;
    border-color: #ed1c24
}

a.link-button.disabled {
    color:#fff;
    cursor:not-allowed;
    text-shadow:none;
    background-color: rgb(190,22,29);
    border-color: rgb(190,22,29)
}

a.link-button.white {
    border-color: #fff;
    color: #fff
}

a.link-button.white:hover {
    background-color: #fff;

    color: #ed1c24
}

a.link-button.black {
    border-color: #000;
    color: #000
}

a.link-button.black:hover {
    background-color: #000;

    color: #ed1c24
}

a.link-share {
    
    padding:.125em .375em;
    border:2px solid #ed1c24 !important
}

a.link-share i {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: .375em;
    background-size: contain;
    background-position: center center;
    vertical-align: -6%
}

a.link-share i[class$=white] {
    display: none
}

a.link-share:hover {
    color:#fff !important;
    background: #ed1c24
}

a.link-share:hover i[class$=green] {
    display: none
}

a.link-share:hover i[class$=white] {
    display: inline-block
}

.site-header {
    color: #003884
}

.site-header a {
    color: #ffffff
}

.site-header .menu-toggle button {
    color: #ffffff
}

.site-header .site-nav a:active,
.site-header .site-nav a:hover {
    border-color: #003884
}

.site-header .language-switcher a {
    color: #003884
}

.site-header .site-nav {
    border-color: #003884
}

.site-header.home-header .openhouse-date,
.site-header.home-header .openhouse-free {
    color: #ffffff
}

.site-header {
    padding: 0 2em;
    text-transform: uppercase;
    min-height: 4.5em;
    position: relative
}

@media all and (max-width:34em) {
    .site-header {
        padding: 0 1.5em
    }
}

.site-header.home-header {
    padding: 0
}

@media all and (min-width:40em) {
    .site-header.home-header {
        padding: 0 2em
    }
}

.site-header::after {
    clear: both;
    content: "";
    display: table
}











.site-header-2026 {
    color: #003884
}

.site-header-2026 a {
    color: #ed1c24


}

.site-header-2026 .menu-toggle button {
    color: #ffffff
}

.site-header-2026 .site-nav a:active,
.site-header-2026 .site-nav a:hover {
    border-color: #003884
}

.site-header-2026 .language-switcher a {
    color: #003884
}

.site-header-2026 .site-nav {
    /*PS2026
    border-color: #003884*/
    border-color: #ed1c24
}

.site-header-2026.home-header-2026 .openhouse-date-2026,
.site-header-2026.home-header-2026 .openhouse-free-2026 {
    color: #ffffff
}

.site-header-2026 {
    padding: 0 0em;
    text-transform: uppercase;
    min-height: 4.5em;
    position: relative
}

@media all and (max-width:34em) {
    .site-header-2026 {
        padding: 0 1.5em
    }
}

.site-header-2026.home-header {
    padding: 0
}

@media all and (min-width:40em) {
    .site-header-2026.home-header {
        padding: 0 2em
    }
}

.site-header-2026::after {
    clear: both;
    content: "";
    display: table
}





.header-wrapper {
    max-width: 71em;
    margin: 0 auto;
}


.header-wrapper-2026 {
    /*margin: 0 auto;
    background-color: #ed1c24*/
    background-color:#FFF;
}




.openhouse-title {
    font-size: 1em;
    margin: 0;
    display: inline-block;
    position: relative
}

@media all and (max-width:34em) {
    .openhouse-title {
        line-height: 1.5em
    }
}

.openhouse-title.openhouse-logo {
    display: block;
    font-size: 1em;
    height: 10.625em;
    width: 46.25em;
    margin: 0 auto 3em;
    background-size: contain;
    background-position: center center
}

@media all and (max-width:34em) {
    .openhouse-title.openhouse-logo {
        font-size: .75em;
        width: 90%
    }
}

.openhouse-title.openhouse-logo a {
    display: block;
    width: 100%;
    height: 100%;
    text-indent: -99999px;
    overflow: hidden;
    display: block;
    width: 100%;
    height: 100%
}








.openhouse-title-2026 {
    font-size: 1em;
    margin: 0;
    display: inline-block;
    position: relative
}

@media all and (max-width:34em) {
    .openhouse-title-2026 {
        line-height: 1.5em
    }
}

.openhouse-title-2026.openhouse-logo-2026 {
    display: block;
    font-size: 1em;
    height: 11.0em;
    margin: 1em auto 1em;
    background-size: contain;
    background-position: center center
}

@media all and (max-width:34em) {
    .openhouse-title-2026.openhouse-logo-2026 {
        font-size: .75em;
        width: 90%
    }
}

.openhouse-title-2026.openhouse-logo-2026 a {
    display: block;
    width: 100%;
    height: 100%;
    text-indent: -99999px;
    overflow: hidden;
    display: block;
    width: 100%;
    height: 100%
}








.openhouse-datas-2026.openhouse-datas-2026 {
    display: block;
    font-size: 1em;
    height: 2.0em;
    margin: 1em auto 1em;
    background-size: contain;
    background-position: right
}

@media all and (max-width:34em) {
    .openhouse-datas-2026.openhouse-datas-2026 {
        font-size: .75em;
        width: 90%
    }
}

.openhouse-datas-2026.openhouse-datas-2026 a {
    display: block;
    width: 100%;
    height: 100%;
    text-indent: -99999px;
    overflow: hidden;
    display: block;
    width: 100%;
    height: 100%
}















.openhouse-date {
    margin: 0 0 0 .5em;
    display: inline-block
}

@media all and (max-width:34em) {
    .openhouse-date {
        margin: 0
    }
}







openhouse-date-2026 {
    margin: 0 0 0 .5em;
    display: inline-block
}

@media all and (max-width:34em) {
    .openhouse-date-2026 {
        margin: 0
    }
}










.site-header-title i {
    width: .8888888889em;
    height: .8888888889em;
    background-size: cover;
    background-position: center center;
    display: inline-block;
    vertical-align: -6%;
    margin: .125em .25em 0
}

@media all and (max-width:34em) {
    .site-header-title i {
        margin: .125em 0 0
    }
}



.site-header-title-2026 i {
    width: .8888888889em;
    height: .8888888889em;
    background-size: cover;
    background-position: center center;
    display: inline-block;
    vertical-align: -6%;
    margin: .125em .25em 0
}

@media all and (max-width:34em) {
    .site-header-title-2026 i {
        margin: .125em 0 0
    }
}









.openhouse-date,
.openhouse-free {
    font-weight: 700
}

.openhouse-free {
    display: none
}




.openhouse-date-2026,
.openhouse-free-2026 {
    font-weight: 700
}

.openhouse-free-2026 {
    display: none
}


















.home-header .openhouse-date,
.home-header .openhouse-free {
    font-size: 1.5em;
    display: block;
    text-align: center;
    margin: 0 auto
}

@media all and (min-width:54em) {

    .home-header .openhouse-date,
    .home-header .openhouse-free {
        position: relative;
        top: -1.5em
    }
}

.home-header .openhouse-date {
    margin-top: .5em
}

.home-header .openhouse-date i {
    display: none
}

@media all and (min-width:54em) {
    .home-header .openhouse-date {
        float: left;
        margin-top: 0
    }
}

@media all and (min-width:54em) {
    .home-header .openhouse-free {
        float: right;
        text-align: right
    }
}


.home-header .openhouse-date-2026,
.home-header .openhouse-free-2026 {
    font-size: 1.5em;
    display: block;
    text-align: center;
    margin: 0 auto
}

@media all and (min-width:54em) {

    .home-header .openhouse-date-2026,
    .home-header .openhouse-free-2026 {
        position: relative;
        top: -1.5em
    }
}

.home-header .openhouse-date-2026 {
    margin-top: .5em
}

.home-header .openhouse-date-2026 i {
    display: none
}

@media all and (min-width:54em) {
    .home-header .openhouse-date-2026 {
        float: left;
        margin-top: 0
    }
}

@media all and (min-width:54em) {
    .home-header .openhouse-free-2026 {
        float: right;
        text-align: right
    }
}






















.site-header-title {
    float: left;
    padding: 1.5em 0;
    position: relative
}

@media all and (min-width:57em) {
    .site-header-title {
        padding-bottom: .375em
    }
}

@media all and (min-width:72em) {
    .site-header-title {
        padding-bottom: 1.5em
    }
}

.site-header-title>* {
    font-size: 1.125em;
    line-height: 1.3333333333em
}

@media all and (max-width:34em) {
    .site-header-title {
        height: auto;
        padding: 1.25em 0 1.4375em
    }

    .site-header-title>* {
        float: left;
        clear: left
    }

    .site-header-title .openhouse-date {
        font-size: 1em;
        line-height: 1em
    }
}

.home-header .site-header-title {
    float: none;
    padding: 2em 0
}

@media all and (max-width:34em) {
    .home-header .site-header-title>* {
        float: none;
        clear: none
    }

    .home-header .site-header-title .openhouse-date,
    .home-header .site-header-title .openhouse-free {
        font-size: 1.25em;
        float: none
    }

    .home-header .site-header-title .openhouse-date {
        margin-top: .75em !important
    }
}






.site-header-title-2026 {
    padding: 0 0;
    position: relative
}

@media all and (min-width:57em) {
    .site-header-title-2026 {

        padding-top: .375em;
        padding-bottom: .375em;
        padding-left: 1.5em

    }
}

@media all and (min-width:72em) {
    .site-header-title-2026 {
        /*padding-top: 1.5em;
        padding-bottom: 1.5em*/
        padding-left: 1.5em
    }
}

.site-header-title-2026>* {
    font-size: 1.125em;
    line-height: 1.3333333333em
}

@media all and (max-width:34em) {
    .site-header-title-2026 {
        height: auto;
        padding: 1.25em 0 1.4375em
    }

    .site-header-title-2026>* {
        float: left;
        clear: left
    }

    .site-header-title-2026 .openhouse-date-2026 {
        font-size: 1em;
        line-height: 1em
    }
}

.home-header .site-header-title-2026 {
    float: none;
    padding: 2em 0
}

@media all and (max-width:34em) {
    .home-header .site-header-title-2026>* {
        float: none;
        clear: none
    }

    .home-header .site-header-title-2026 .openhouse-date-2026,
    .home-header .site-header-title-2026 .openhouse-free-2026 {
        font-size: 1.25em;
        float: none
    }

    .home-header .site-header-title-2026 .openhouse-date-2026 {
        margin-top: .75em !important
    }
}

































.host-header-logo {
    display: none;
    position: relative;
    background-size: contain;
    background-position: center center;
    height: 2em;
    width: 1.9em;
    margin: 0 auto 1em;
}

.host-header-logo a {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    text-indent: -99999px;
    text-decoration: none;
    border: none
}

@media all and (min-width:40em) {
    .host-header-logo {
        font-size: 5em
    }
}

@media all and (min-width:66em) {
    .host-header-logo {
        display: block;
        position: absolute;
        margin: 0;
        top: 0.36em;
        left: 0
    }
}











.host-header-logo-2026 {
    display: none;
    position: relative;
    background-size: contain;
    /*background-position: center center;*/
    height: 1em;
    /*width: 1.9em;
    margin: 0 auto 1em;
    padding: 1em 1em;*/
}

.host-header-logo-2026 a {
    display: block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    text-indent: -99999px;
    text-decoration: none;
    border: none
}

@media all and (min-width:40em) {
    .host-header-logo-2026 {
        font-size: 5em
    }
}

@media all and (min-width:66em) {
    .host-header-logo-2026 {
        display: block;
        margin: 0.2em;
        /*top: 0em;
        left: 0*/
    }
}


























.newsletter-top {
    display: none;
    text-align: center
}

@media all and (min-width:54em) {
    .newsletter-top {
        display: block;
        position: absolute;
        margin: 0;
        top: 1.5em;
        right: 0
    }
}

.site-nav {
    border-top-style: solid;
    border-top-width: 2px;
    letter-spacing: 1px;
    font-weight: 400;
    padding: .25em 0;
    display: block;
    /*PS2026 
    width: 100%;
    */
    width: 95%;
    float: right;
    clear: left;
    line-height: 1.5;
    padding: 1.5em 0
}

@media all and (min-width:57em) {
    .site-nav {
        width: auto;
        border: none;
        float: left;
        clear: left;
        padding-top: .375em
    }
}

@media all and (min-width:72em) {
    .site-nav {
        float: right;
        clear: none;
        padding-top: 1.5em
    }
}

.site-nav a {
    border-bottom: 2px solid transparent;
    transition: border-color .2s ease;
    display: inline-block
}

.site-nav ul li {
    display: inline-block;
    text-align: right
}

.site-nav ul li+li {
    margin: 0 0 0 1em
}

.site-nav .language-switcher {
    float: right
}

@media all and (max-width:34em) {
    .site-nav ul li {
        display: block;
        text-align: left
    }

    .site-nav ul li+li {
        margin: .5em 0 0
    }

    .site-nav .language-switcher {
        float: none
    }
}

@media all and (min-width:57em) {
    .site-nav ul li {
        display: inline-block
    }

    .site-nav ul li+li {
        margin: 0 0 0 1em
    }

    .site-nav .language-switcher {
        float: none
    }
}

.home-header .site-nav {
    float: none;
    text-align: center;
    display: block !important;
    border-top-style: solid !important;
    border-top-width: 2px !important;
    padding-left: 1em;
    padding-right: 1em
}

.home-header .site-nav .language-switcher {
    float: none
}

@media all and (min-width:57em) {
    .home-header .site-nav {
        padding-top: 1.5em
    }
}

@media all and (min-width:40em) {
    .home-header .site-nav {
        font-size: 1.25em
    }
}

@media all and (max-width:34em) {
    .home-header .site-nav {
        padding: 1em 0
    }

    .home-header .site-nav ul li {
        display: inline-block;
        text-align: center;
        margin: .25em .5em
    }
}

.menu-toggle {
    float: right;
    padding: 1.5em 0;
    font-size: 1em;
    line-height: 1.5em
}

@media all and (max-width:34em) {
    .menu-toggle {
        line-height: 1em;
        padding: 1.75em 0
    }
}

.menu-toggle button {
    height: 1.5em;
    font-weight: 400;
    padding: 0;
    text-transform: uppercase;
    border-radius: 0;
    display: block
}

.menu-toggle button:hover {
    background: 0 0
}

.menu-toggle span {
    padding-right: .25em;
    vertical-align: middle
}

.menu-toggle i {
    text-indent: 99999px;
    overflow: hidden;
    display: inline-block;
    width: 1.25em;
    height: 1em;
    vertical-align: middle
}

.home-header .menu-toggle {
    display: none
}

.menu-open .open-menu {
    display: none
}

.menu-open .close-menu {
    display: inline-block
}

.menu-closed .site-nav {
    display: none
}

@media all and (min-width:57em) {
    .menu-closed .site-nav {
        display: block
    }
}

.menu-closed .open-menu {
    display: inline-block
}

.menu-closed .close-menu {
    display: none
}

@media all and (min-width:57em) {
    .menu-toggle {
        display: none !important
    }
}

.site-footer {
    text-align: center
}

@media all and (min-width:40em) {
    .site-footer {
        padding-bottom: 2em !important
    }
}

@media all and (min-width:77em) {
    .site-footer {
        padding-bottom: 4em !important
    }
}

.site-footer a,
.site-footer small {
    color: #fff
}

.site-footer .footer-logo {
    background-size: contain;
    position: relative;
    width: 3em;
    height: 4em;
    overflow: hidden;
    background-position: center center
}

.site-footer .footer-logo a {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    text-indent: -99999px;
    text-decoration: none;
    border: none
}

@media all and (min-width:40em) {
    .site-footer .footer-logo {
        background-position: left center
    }
}

.site-footer .icon-casadaarquitectura-white {
    width: 3.6em
}

.site-footer .icon-trienal-white {
    width: 7em
}

.site-footer .icon-openhouseworldwide-white {
    height: 2em;
    width: 12em
}

@media all and (min-width:40em) {
    .site-footer .icon-openhouseworldwide-white {
        height: 4em
    }
}

@media all and (max-width:34em) {
    .site-footer .icon-cmmaia-white {
        margin-top: 2.3em !important
    }
}

.site-footer .icon-cmporto-white {
    width: 5em
}

.site-footer .icon-cmgaia-white {
    width: 6em
}

.site-footer .icon-cmmatosinhos-white {
    width: 8em
}

.site-footer .footer-logos p {
    margin: 0 auto 1em
}

.site-footer .footer-logos div {
    color: #fff;
    font-size: .875em
}

@media all and (min-width:40em) {
    .site-footer .footer-logos div {
        margin-bottom: -1em
    }
}

.site-footer .footer-contact {
    display: block
}

.site-footer .contact-link a {
    border-bottom: 2px solid
}

.site-footer .footer-copyright small {
    display: block
}

.site-footer .footer-bitbasement>* {
    vertical-align: middle
}

.site-footer .footer-bitbasement small {
    margin-right: .25em;
    line-height: 1em
}

.site-footer .bitbasement {
    display: inline-block;
    font-size: .8em;
    width: 10em;
    height: 2.125em;
    background-size: contain;
    background-position: center center
}

.site-footer .bitbasement a {
    text-indent: -99999px;
    overflow: hidden;
    display: block;
    width: 100%;
    height: 100%
}

@media all and (min-width:40em) {
    .site-footer {
        text-align: left
    }

    .site-footer .footer-logos {
        float: left;
        clear: left
    }

    .site-footer .footer-logos:first-child {
        margin-right: 4em
    }

    .site-footer .footer-logos:first-child p {
        margin-bottom: 0
    }

    .site-footer .footer-logos p {
        margin: 0 2em 1em 0;
        float: left
    }

    .site-footer .footer-logos p:last-child {
        margin-right: 0
    }

    .site-footer .footer-contact {
        float: left;
        clear: left
    }

    .site-footer .footer-bitbasement,
    .site-footer .footer-copyright {
        float: left;
        clear: left
    }
}

@media all and (min-width:64em) {

    .site-footer .footer-bitbasement,
    .site-footer .footer-contact,
    .site-footer .footer-copyright {
        float: right;
        clear: right
    }
}

.site-footer .wrapper {

    padding:3em 1.5em;
    /* PS OHP2026
    max-width:71em;*/
    max-width:100em;
    margin:0 auto;
    /* PS OHP
    background-color: #003884
    */
    background-color: #ed1c24
}

.site-footer .wrapper::after {
    clear: both;
    content: "";
    display: table
}

@media all and (min-width:40em) {
    .site-footer .wrapper {
        padding: 2em
    }
}

.social-links {
    margin: 4em 0 1.5em
}

.social-links li {
    display: inline-block;
    width: 2em;
    height: 2em;
    margin: 0 .5em 0 0
}

.social-links li:last-child {
    margin-right: 0
}

.social-links li a {
    text-indent: -99999px;
    overflow: hidden;
    display: block;
    width: 100%;
    height: 100%
}

@media all and (min-width:40em) {
    .social-links {
        margin-top: 1.25em
    }

    .social-links li {
        display: block;
        float: left;
        margin-bottom: 1em
    }
}

@media all and (min-width:64em) {
    .social-links {
        margin-top: 0;
        float: right;
        margin-bottom: 0
    }

    .social-links li {
        float: left;
        margin: 0 0 1em .75em
    }
}

@media all and (min-width:64em) {
    .footer-partners {
        float: left;
        display: block;
        margin-right: 2.9850746269%;
        width: 65%
    }

    .footer-partners:last-child {
        margin-right: 0
    }

    .footer-info {
        float: left;
        display: block;
        margin-right: 2.9850746269%;
        width: 32%
    }

    .footer-info:last-child {
        margin-right: 0
    }

    .footer-info .contact-link,
    .footer-info .footer-copyright {
        text-align: right
    }
}

.previous-editions {
    margin: 1em 0;
    color: #fff
}

@media all and (min-width:64em) {
    .previous-editions {
        text-align: right
    }
}

.previous-editions h4 {
    margin: 0;
    font-weight: 400
}

@media all and (min-width:40em) {
    .previous-editions h4 {
        display: inline
    }

    .previous-editions h4:after {
        content: ": "
    }
}

.previous-editions li,
.previous-editions ul {
    display: inline
}

.previous-editions li+li:before {
    content: "• "
}

.previous-editions a {
    border-bottom: 2px solid
}

.hero-page {
    padding: 0 !important;
    border-bottom: .5em solid #fff
}

.hero-page>* {
    max-width: 100% !important
}

@media all and (min-width:40em) {
    .hero-page {
        border: .5em solid #fff
    }
}

.hero-banner {
    position: relative;
    text-align: center;

    
    color:#fff;
    overflow:hidden;
    border:.5em solid #fff;
    border-left-width:1em;
    border-right-width:1em;
    background-color: #003884
}

@media all and (min-width:40em) {
    .hero-banner {
        border-left-width: .5em;
        border-right-width: .5em
    }
}

.hero-banner .link-button {
    text-transform: uppercase;
    font-size: 1em;
    margin: 0
}

@media all and (min-width:40em) {
    .hero-banner .link-button {
        font-size: 1.25em
    }
}

.hero-banner:first-child {
    border-top: none;
    border-left: none;
    border-right: none
}

@media all and (min-width:40em) {
    .hero-banner:first-child {
        border: .5em solid #fff
    }
}

.featured-section {
    width: 100%;
    min-height: 24em
}

@media all and (min-width:40em) {
    .featured-section {
        min-height: 32em
    }
}

.featured-section .hero-headline {
    font-size: 2em
}

@media all and (min-width:40em) {
    .featured-section .hero-headline {
        font-size: 3em
    }
}

.full-section,
.half-section {
    min-height: 18em;
    width: 100%
}

@media all and (min-width:57em) {

    .full-section,
    .half-section {
        min-height: 20em;
        float: left
    }
}

@media all and (min-width:57em) {
    .half-section {
        width: 50%
    }
}

.video-section {
    background: #000
}

.news-link-page {
    padding: 0;
    text-align: center;
    margin: 1.75em auto 2em;
    width:100%;
    background-color: #ed1c24
}

.news-link-page p {
    font-size: 1.25em;
    margin: 0;
    text-transform: uppercase
}

.news-link-page a {
    border:none;
    color: #003884
}

.news-link-page a:hover {
    color: #fff
}

.hero-link {
    color: inherit
}

.hero-link:active,
.hero-link:focus,
.hero-link:hover {
    color: inherit
}

.hero-link:active .hero-image-overlay,
.hero-link:focus .hero-image-overlay,
.hero-link:hover .hero-image-overlay {
    opacity: 0.5
}

.hero-image-overlay {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transition:opacity .2s ease;

    background-color: #003884;

    background-blend-mode: none;

    opacity: 0.75
    
}

.hero-text-block {
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    padding: 2em;
    text-shadow: 0 0 1em rgba(0, 0, 0, .3)
}

.hero-headline {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.5em;
    margin: 0 auto .25em
}

@media all and (min-width:40em) {
    .hero-headline {
        font-size: 2em
    }
}

.hero-tagline {
    text-indent: -99999px;
    overflow: hidden;
    display: block;
    width: 100%;
    height: 100%;
    height: 5em;
    margin-bottom: .5em
}

.hero-subhead {
    font-size: 1.25em;
    font-weight: 500;
    margin-bottom: 0
}

@media all and (min-width:40em) {
    .hero-subhead {
        font-size: 1.75em
    }
}

.hero-buttons li,
.hero-links li {
    display: inline-block;
    margin: .5em
}

.insta-list {
    display: block;
    margin-bottom: .5em
}

.insta-list a {
    border: none
}

.insta-thumb {
    width: 4em;
    height: 4em;
    margin: .25em;
    display: inline;
    opacity: .7
}

@media all and (min-width:30em) {
    .insta-thumb {
        width: 6em;
        height: 6em
    }
}

@media all and (min-width:57em) {
    .insta-thumb {
        width: 6em;
        height: 6em
    }
}

@media all and (min-width:66em) {
    .insta-thumb {
        width: 8em;
        height: 8em
    }
}

.insta-thumb:focus,
.insta-thumb:hover {
    opacity: 1
}

.places-nav>div {
    float: left;
    display: block;
    margin-right: 2.9850746269%;
    width: 100%
}

.places-nav>div:last-child {
    margin-right: 0
}

@media all and (min-width:40em) {
    .places-nav>div {
        float: left;
        display: block;
        margin-right: 2.9850746269%;
        width: 100%
    }

    .places-nav>div:last-child {
        margin-right: 0
    }
}

@media all and (min-width:57em) {
    .places-nav>div {
        float: left;
        display: block;
        margin-right: 2.9850746269%;
        width: 48.5074626866%;
        margin-bottom: 0
    }

    .places-nav>div:last-child {
        margin-right: 0
    }
}

.taxonomy-selector {
    margin-bottom: 1em
}

.taxonomy-selector li {
    float: left;
    height: 2.5em;
    width: 25%;
    position: relative
}

.taxonomy-selector li a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: .375em 0;
    border: 2px solid #fff;
    text-align: center;
    background-color: rgba(255, 255, 255, 0);
    transition: background-color .2s ease
}

.taxonomy-selector li a.selected-taxonomy,
.taxonomy-selector li a.selected-taxonomy:active,
.taxonomy-selector li a.selected-taxonomy:hover {
    background-color: #fff;
    font-weight:700;
    color: #003884
}

.taxonomy-selector li a:active,
.taxonomy-selector li a:hover {
    background-color: rgba(255, 255, 255, .2);
    transition: background-color .2s ease;
    color: #fff;
    border-color: #fff
}

.taxonomy-selector li:first-child {
    width: 25%
}

.taxonomy-selector li:first-child a {
    border-right: none
}

.taxonomy-selector li:last-child {
    width: 25%
}

.taxonomy-selector li:last-child a {
    border-left: none
}

.timeslots-selector {
    position: relative;
    color: #fff;
    margin-bottom: 1em;
    user-select: none
}

.timeslots-selector .timeslots-status {
    cursor: pointer;
    border: 2px solid #fff;
    background-color: rgba(255, 255, 255, 0);
    transition: background-color .2s ease
}

.timeslots-selector .timeslots-status:active,
.timeslots-selector .timeslots-status:hover {
    background-color: rgba(255, 255, 255, .2);
    transition: background-color .2s ease
}

.timeslots-selector .timeslots-status p {
    padding: 0 .75em;
    margin: 0;
    line-height: 2.25em;
    vertical-align: middle
}

@media all and (min-width:40em) {
    .timeslots-selector .timeslots-options {
        position: absolute;
        width: 100%;
        z-index: 1000
    }
}

.timeslots-selector fieldset {
    border:2px solid #fff;
    display:block;
    padding:0;
    margin:-2px 0 0 0;
    box-shadow:0 .25em .25em rgba(0, 0, 0, .1);
    background-color: #003884
}

.timeslots-selector fieldset p {
    margin: 0;
    background-color: rgba(255, 255, 255, 0);
    transition: background-color .2s ease
}

.timeslots-selector fieldset p::after {
    clear: both;
    content: "";
    display: table
}

.timeslots-selector fieldset p:active,
.timeslots-selector fieldset p:hover {
    background-color: rgba(255, 255, 255, .2);
    transition: background-color .2s ease
}

.timeslots-selector fieldset label {
    display: inline-block;
    float: left;
    font-weight: 400;
    margin: 0;
    padding: 0 .75em .5em;
    width: 100%;
    cursor: pointer
}

.timeslots-selector fieldset label:first-child {
    padding-top: .5em
}

.timeslots-selector fieldset input {
    display: block;
    position: absolute;
    right: 1em;
    margin: .8125em 0 0;
    cursor: pointer
}

.timeslots-status p:after {
    content: "▲";
    float: right;
    margin-right: .0625em
}

.selector-active .timeslots-status {
    font-weight:700;
    color: #003884
}

.selector-active .timeslots-status,
.selector-active .timeslots-status:active,
.selector-active .timeslots-status:hover {
    background-color: #fff
}

.dropdown-closed .timeslots-status {
    margin-bottom: 0
}

.dropdown-closed .timeslots-status p:after {
    content: "▼"
}

.dropdown-closed .timeslots-options {
    display: none
}

.search-filter {
    margin-bottom: 0
}

.search-filter p {
    margin: 0
}

.search-filter input[type=search] {
    border: 2px solid #fff;
    background-color: rgba(255, 255, 255, 0);
    transition: background-color .2s ease;
    color: #fff;
    font-size: 1em;
    padding: .5em .75em;
    margin-bottom: 0;
    border-radius: 0;
    height: 2.5em;
    -webkit-font-smoothing: antialiased
}

.search-filter input[type=search]::-webkit-input-placeholder {
    color: rgba(255, 255, 255, .5)
}

.search-filter input[type=search]:-moz-placeholder {
    color: rgba(255, 255, 255, .5)
}

.search-filter input[type=search]::-moz-placeholder {
    color: rgba(255, 255, 255, .5)
}

.search-filter input[type=search]:-ms-input-placeholder {
    color: rgba(255, 255, 255, .5)
}

.search-filter input[type=search]:active,
.search-filter input[type=search]:hover {
    background-color: rgba(255, 255, 255, .2);
    transition: background-color .2s ease;
    border-color: #fff
}

.search-filter input[type=search]:focus {
    border-color: #fff;
    background-color: rgba(255, 255, 255, 0)
}

.tag-section {
    display: block;
    margin-bottom: 2.5em
}

.tag-section::after {
    clear: both;
    content: "";
    display: table
}

.tag-section h3 {
    text-transform: uppercase;
    font-size: 1.5em;
    font-weight: 700;

    letter-spacing:.125em;
    margin-bottom:1.25em;
    color: #ed1c24
}

.place-thumb-container {
    display: block;
    position: relative;
    width: 100%;
    margin-bottom: 1em;
    overflow: hidden
}

.tag-section .place-thumb-container {
    margin-bottom: 5%;
    float: left;
    display: block;
    margin-right: 2.9850746269%;
    width: 48.5074626866%
}

.tag-section .place-thumb-container:last-child {
    margin-right: 0
}

.tag-section .place-thumb-container:nth-child(2n) {
    margin-right: 0
}

.tag-section .place-thumb-container:nth-child(2n+1) {
    clear: left
}

@media all and (min-width:35em) {
    .tag-section .place-thumb-container {
        float: left;
        display: block;
        margin-right: 2.9850746269%;
        width: 31.3432835821%
    }

    .tag-section .place-thumb-container:nth-child(2n) {
        margin-right: 2.9850746269%
    }

    .tag-section .place-thumb-container:nth-child(2n+1) {
        clear: none
    }

    .tag-section .place-thumb-container:last-child {
        margin-right: 0
    }

    .tag-section .place-thumb-container:nth-child(3n) {
        margin-right: 0
    }

    .tag-section .place-thumb-container:nth-child(3n+1) {
        clear: left
    }
}

@media all and (min-width:57em) {
    .tag-section .place-thumb-container {
        margin-bottom: 3.75%;
        float: left;
        display: block;
        margin-right: 2.9850746269%;
        width: 22.7611940299%
    }

    .tag-section .place-thumb-container:nth-child(3n) {
        margin-right: 2.9850746269%
    }

    .tag-section .place-thumb-container:nth-child(3n+1) {
        clear: none
    }

    .tag-section .place-thumb-container:last-child {
        margin-right: 0
    }

    .tag-section .place-thumb-container:nth-child(4n) {
        margin-right: 0
    }

    .tag-section .place-thumb-container:nth-child(4n+1) {
        clear: left
    }
}

.activity-list .tag-section .place-thumb-container {
    margin-bottom: 5%;
    float: left;
    display: block;
    margin-right: 2.9850746269%;
    width: 100%
}

.activity-list .tag-section .place-thumb-container:last-child {
    margin-right: 0
}

.activity-list .tag-section .place-thumb-container:nth-child(n) {
    margin-right: 0
}

@media all and (min-width:57em) {
    .activity-list .tag-section .place-thumb-container {
        margin-bottom: 3.25%;
        float: left;
        display: block;
        margin-right: 2.9850746269%;
        width: 48.5074626866%
    }

    .activity-list .tag-section .place-thumb-container:nth-child(n) {
        margin-right: 2.9850746269%
    }

    .activity-list .tag-section .place-thumb-container:nth-child(n+1) {
        clear: none
    }

    .activity-list .tag-section .place-thumb-container:last-child {
        margin-right: 0
    }

    .activity-list .tag-section .place-thumb-container:nth-child(2n) {
        margin-right: 0
    }

    .activity-list .tag-section .place-thumb-container:nth-child(2n+1) {
        clear: left
    }
}

.place-thumb-container:before {
    content: "";
    display: block;
    padding-top: 50%
}

.tag-section .place-thumb-container:before {
    padding-top: 100%
}

@media all and (min-width:30em) {
    .tag-section .place-thumb-container:before {
        padding-top: 75%
    }
}

@media all and (min-width:35em) {
    .tag-section .place-thumb-container:before {
        padding-top: 100%
    }
}

@media all and (min-width:45em) {
    .tag-section .place-thumb-container:before {
        padding-top: 75%
    }
}

@media all and (min-width:57em) {
    .tag-section .place-thumb-container:before {
        padding-top: 100%
    }
}

@media all and (min-width:64em) {
    .tag-section .place-thumb-container:before {
        padding-top: 75%
    }
}

.activity-list .tag-section .place-thumb-container:before {
    padding-top: 66.66666667%
}

.hidden {
    display: none !important
}

.place-thumb {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;

    background-color: #003884
}

.place-thumb a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .2);
    transition: background .2s ease;
    border: 0
}

.place-thumb a:active,
.place-thumb a:focus,
.place-thumb a:hover {
    background: rgba(0, 0, 0, .5);
    transition: background .2s ease
}

.place-thumb a:active .place-number,
.place-thumb a:focus .place-number,
.place-thumb a:hover .place-number {
    margin-top: 4.5%;
    transition: all .2s ease
}

.place-thumb .place-number {
    vertical-align: middle;
    font-size: 1.125em;
    margin-top: 6%;
    transition: all .2s ease
}

.place-thumb .place-name {
    position: absolute;
    bottom: 0;
    margin-bottom: 6%;
    color: #fff;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 700;
    font-size: 1.125em
}

.place-thumb .place-name .place-address {
    font-weight: 400;
    font-size: .75em
}

.place-thumb .activity-name {
    position: absolute;
    top: 0;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0;
    font-weight: 700;
    font-size: 1.125em;
    margin: .5em .625em;
    max-width: 88%;
    font-size: 2em;
    text-shadow: 0 0 16px rgba(0, 0, 0, .3)
}

@media all and (max-width:34em) {
    .place-thumb .activity-name {
        font-size: 1.5em;
        text-shadow: 0 0 12px rgba(0, 0, 0, .3)
    }
}

@media all and (min-width:40em) {
    .place-thumb .activity-name {
        font-size: 2.5em
    }
}

@media all and (min-width:57em) {
    .place-thumb .activity-name {
        font-size: 2em
    }
}

@media all and (min-width:72em) {
    .place-thumb .activity-name {
        font-size: 2.25em
    }
}

.place-thumb .place-name,
.place-thumb .place-number {
    position: absolute;
    max-width: 88%;
    margin-left: 6%
}

.activity-list .place-thumb {
    background-blend-mode: none
}

section.time-section {
    position: relative;
    margin: 0;
    padding: 3em 0
}

section.time-section.main-time {
    border-top:1px solid #ed1c24
}

section.time-section::after {
    clear: both;
    content: "";
    display: table
}

section.time-section h2 {
    float: left;
    width: 19%;
    position: -webkit-sticky;
    position: sticky;
    top: 3em;
    margin: 0;
    left: 0;
    font-weight: 700;
    font-size: 1em
}

section.time-section h2::after {
    clear: both;
    content: "";
    display: table
}

@media all and (min-width:57em) {
    section.time-section h2 {
        font-size: 1.5em;
        width: 14%;
        top: 2em
    }
}

section.time-section h2 span.grayed-out {
    opacity: .3
}

section.time-section .timetable-list {
    float: right;
    width: 78%
}

@media all and (min-width:57em) {
    section.time-section .timetable-list {
        width: 85%
    }
}

section.time-section .timetable-list li {
    display: block;
    width: 100%;
    padding: .125em 0
}

section.time-section .timetable-list li::after {
    clear: both;
    content: "";
    display: table
}

section.time-section .timetable-list ul div {
    display: inline;
    vertical-align: baseline;
    line-height: 1.25
}

section.time-section .timetable-visit-type {
    display: none;
    width: 100%;
    margin-bottom: 1em
}

@media all and (min-width:64em) {
    section.time-section .timetable-visit-type {
        width: 33.3333333%;
        float: left;
        padding-right: 1em
    }
}

section.time-section .timetable-visit-type::after {
    clear: both;
    content: "";
    display: table
}

section.time-section .timetable-visit-type:last-child {
    margin-bottom: 0
}

section.time-section .timetable-visit-type.visible {
    display: block
}

section.time-section h3 {
    margin: 0 0 .25em;
    text-transform: uppercase;

    color: #ed1c24
}

section.time-section li a {
    border: none;
    display: flex;
    align-items: baseline;

    color: #000
}

section.time-section li a:hover {
    color: rgb(190,22,29)
}

section.time-section li a .place-number {
    margin-right: .5em
}

.timetable-notes {
    opacity: .6
}

.place-number.small {
    display: inline-block;
    font-size: 1em;
    margin: 0 .25em 0 0;
    min-width: 2em;
    width: auto;
    padding: 0 .375em;
    vertical-align: baseline;
    height: 1.25em;
    line-height: 1.125em
}

.place-number.small:after {
    content: none
}

.timetable .taxonomy-selector li:first-child,
.timetable .taxonomy-selector li:last-child {
    width: 50%
}

.header-page.sticky-header {
    padding: .75em 2em;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 101
}

@media all and (max-width:34em) {
    .header-page.sticky-header {
        padding: .75em 1.5em
    }
}

.header-page.sticky-header h2 {
    font-size: 1em
}

.header-page.sticky-header .sub-nav {
    display: none
}

a.top-link {
    border: none;
    display: block;
    float: right;
    width: 1em;
    height: 1em
}

a.top-link i {
    display: block
}

.header-page.timetable h2 {
    margin-bottom: .75em
}

@media all and (min-width:64em) {
    .header-page.timetable h2 {
        margin-bottom: 0
    }
}

.timetable-index {
    float: left;
    clear: left
}

.timetable-index>ul>li {
    clear: both;
    margin-bottom: .5em
}

.timetable-index>ul>li::after {
    clear: both;
    content: "";
    display: table
}

@media all and (min-width:68em) {
    .timetable-index>ul>li {
        margin-bottom: 0;
        margin-left: 2em;
        display: inline-block
    }
}

@media all and (min-width:57em) {
    .timetable-index {
        float: right;
        clear: none
    }
}

.timetable-index>ul>li>div {
    width: 5em;
    float: left
}

.timetable-index>ul>li>div a {
    display: inline-block;
    font-weight: 700
}

.timetable-index>ul>li>ul {
    float: left
}

.timetable-index>ul>li>ul li {
    display: inline;
    margin-right: .5em
}

.timetable-index>ul>li>ul li:last-child {
    margin-right: 0
}

.timetable-index>ul>li>ul li a {
    display: inline-block
}

.timetable-filter {
    padding-top: 1em;
    padding-bottom: 1em
}

@media all and (min-width:30em) {
    .timetable-filter {
        columns: 2
    }
}

@media all and (min-width:57em) {
    .timetable-filter {
        display: flex;
        flex-direction: row;
        justify-content: space-between
    }
}

.timetable-filter label {
    margin: 0
}

.timetable-filter input[type=checkbox]:not(:checked)~span {
    opacity: .6
}

.timetable-filter h4 {
    display: none
}

.day-label {
    display: none
}

@media print {
    section.time-section {
        padding: 1em 0;

        border-top:1px solid #ed1c24
    }

    section.time-section:last-child {
        margin-bottom: 4em
    }

    section.time-section h2 {
        font-size: 1.5em;
        width: 14%
    }

    section.time-section .timetable-list {
        width: 85%
    }

    section.time-section .timetable-list li {
        page-break-inside: avoid;
        padding: 0
    }

    section.time-section .timetable-visit-type {
        width: 33.3333333%;
        float: left;
        padding-right: 1em
    }

    .timetable-layout {
        background: 0 0
    }

    .timetable-layout .site-header {
        padding: 0 !important
    }


    .timetable-layout .site-header-2026 {
        padding: 0 !important
    }






    .timetable-layout .header-wrapper {
        max-width: none !important
    }


    .timetable-layout .header-wrapper-2026 {
        max-width: none !important
    }



    .timetable-layout .openhouse-title a {
        font-size: 1.5em;

        color: #003884 !important
    }




    .timetable-layout .openhouse-title-2026 a {
        font-size: 1.5em;

        color: #003884 !important
    }









    .timetable-layout .openhouse-date {
        font-size: 1.5em;

        color: #ed1c24 !important
    }



    .timetable-layout .openhouse-date-2026 {
        font-size: 1.5em;

        color: #ed1c24 !important
    }








    .timetable-layout .page-content {
        padding: 0
    }

    .timetable-layout .top-link {
        display: none
    }

    .timetable-layout .menu-toggle,
    .timetable-layout .site-footer,
    .timetable-layout .site-nav,
    .timetable-layout .timetable,
    .timetable-layout .timetable-filter {
        display: none
    }

    .timetable-layout .sticky {
        position: static !important;
        top: auto !important
    }

    .timetable-layout .place-number {
        padding: 0 !important;
        text-align: left !important;
        background: 0 0 !important;
        min-width:1.25em !important;

        color: #003884 !important
    }

    .timetable-layout #sat,
    .timetable-layout #sun {
        padding-top: 0
    }

    .timetable-day .page {
        max-width: none;
        padding-left: 0;
        padding-right: 0
    }

    .timetable-day .page>* {
        max-width: none
    }

    .timetable-day .header-page {
        background: 0 0;
        font-size:1.5em;

        color: #003884;
        border-top:2px solid #003884
    }

    .day-label {
        display: inline;
        text-transform: uppercase;
        font-weight: 400;

        color: #ed1c24
    }
}

.timetable-download {
    float: left;
    clear: both;
    margin-top: .75em
}

@media all and (min-width:57em) {
    .timetable-download {
        float: right
    }
}

.place-content,
.place-footer,
.place-header {
    margin-bottom: 1em
}

.place-content {
    padding-top: 1em
}

.place-header {
    display: block
}

.place-header::after {
    clear: both;
    content: "";
    display: table
}

@media all and (min-width:40em) {
    .place-content {
        float: left;
        display: block;
        margin-right: 2.9850746269%;
        width: 65.671641791%;
        border-bottom: 0
    }

    .place-content:last-child {
        margin-right: 0
    }
}

@media all and (min-width:57em) {
    .place-content {
        display: block;
        float: left;
        display: block;
        margin-right: 2.9850746269%;
        width: 100%
    }

    .place-content::after {
        clear: both;
        content: "";
        display: table
    }

    .place-content:last-child {
        margin-right: 0
    }
}

@media all and (min-width:40em) {
    .place-footer {
        float: left;
        display: block;
        margin-right: 2.9850746269%;
        width: 31.3432835821%
    }

    .place-footer:last-child {
        margin-right: 0
    }
}

@media all and (min-width:57em) {
    .place-footer {
        display: block;
        float: left;
        display: block;
        margin-right: 2.9850746269%;
        width: 100%
    }

    .place-footer::after {
        clear: both;
        content: "";
        display: table
    }

    .place-footer:last-child {
        margin-right: 0
    }
}

@media all and (min-width:57em) {
    .place-footer .place-info:first-child {
        float: left;
        display: block;
        margin-right: 2.9850746269%;
        width: 31.3432835821%
    }

    .place-footer .place-info:first-child:last-child {
        margin-right: 0
    }
}

@media all and (min-width:57em) {
    .place-footer .place-info:nth-child(2) {
        float: left;
        display: block;
        margin-right: 2.9850746269%;
        width: 65.671641791%
    }

    .place-footer .place-info:nth-child(2):last-child {
        margin-right: 0
    }
}

.place-header-info {
    float: left;
    display: block;
    margin-right: 2.9850746269%;
    width: 100%;
    text-align: left
}

.place-header-info:last-child {
    margin-right: 0
}

@media all and (min-width:57em) {
    .place-header-info {
        text-align: left;
        float: left;
        display: block;
        margin-right: 2.9850746269%;
        width: 31.3432835821%
    }

    .place-header-info:last-child {
        margin-right: 0
    }
}

.place-header-info p {
    font-size: .875em !important;
    margin: 0 !important;
    font-weight: 700;
    text-transform:uppercase;
    color: #003884
}

@media all and (min-width:40em) {
    .place-header-info p {
        font-size: 1em !important
    }
}

.place-header-info p.activity-subtitle {
    color: #ed1c24
}

.place-header-info p.schedule-overview {
    margin-top:.75em !important;
    color: #ed1c24
}

.place-header-info p:last-of-type {
    margin-bottom: 1.5em !important
}

.activity-name,
.place-name {
    text-transform: uppercase;
    font-size: 1.5em;
    font-weight: 700;
    letter-spacing: .0625em;
    margin-bottom: .5em
}

.place-number {
    display: inline-block;
    position: relative;
    text-align: center;
    color: #fff;
    font-size:1.5em;
    font-weight:700;
    line-height:1.125em;
    font-weight:700;
    width:1.75em;
    height:1.125em;
    margin-bottom:1.5em;
    background-color: #003884
}

@media all and (max-width:34em) {
    .place-number {
        font-size: 1em
    }
}

.place-number:after {
    
    border-left:.875em solid transparent;
    border-right:.875em solid transparent;
    content:"";
    height:0;
    left:0;
    position:absolute;
    top:1.125em;
    width:0;
    border-top:.875em solid #003884
}

.place-header-image {
    position: relative;
    width: 100%;
    background-color: #eee;
    float: left;
    display: block;
    margin-right: 2.9850746269%;
    width: 100%
}

.place-header-image:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 66.66666667%
}

.place-header-image:last-child {
    margin-right: 0
}

@media all and (min-width:57em) {
    .place-header-image {
        float: left;
        display: block;
        margin-right: 2.9850746269%;
        width: 65.671641791%
    }

    .place-header-image:last-child {
        margin-right: 0
    }
}

.place-header-image img {
    display: block;
    position: absolute;
    top: 0;
    height: 100%
}

.place-header-image small {
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    font-size: .75em;
    padding: .375em .75em;
    text-align: right;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .8);
    background-color: #000;
    background-color: rgba(0, 0, 0, .5)
}

.activity h3,
.place h3 {
    text-transform: uppercase;
    font-size: 1em;
    font-weight: 700;
    letter-spacing: .0625em;
    margin-bottom: .5em
}

.activity p,
.place p {
    font-size: 1.0625em;
    margin-bottom: .3529411765em
}

.place-info {
    margin-bottom: 2.5em
}

.place-info>:last-child {
    margin-bottom: 0
}

@media all and (min-width:40em) {
    .place-info-group {
        float: left;
        display: block;
        margin-right: 4.5454545455%;
        width: 100%
    }

    .place-info-group:last-child {
        margin-right: 0
    }
}

@media all and (min-width:57em) {
    .place-info-group {
        float: left;
        display: block;
        margin-right: 2.9850746269%;
        width: 31.3432835821%
    }

    .place-info-group:nth-child(2n) {
        margin-right: 2.9850746269%
    }

    .place-info-group:nth-child(2n+1) {
        clear: none
    }

    .place-info-group:last-child {
        margin-right: 0
    }

    .place-info-group:nth-child(3n) {
        margin-right: 0
    }

    .place-info-group:nth-child(3n+1) {
        clear: left
    }
}

#place-meta li,
#place-share li {
    display: inline-block;
    margin: 0 .5em .5em 0
}

#place-share li {
    margin-bottom: 1em
}

.picto {
    clear: both;
    position: relative
}

.picto i {
    width: 1.5em;
    height: 1.5em;
    background-size: contain;
    display: block;
    position: absolute;
    top: 0;
    left: 0
}

.picto span {
    display: block;
    margin-left: 2em
}

.scroll-chevron {
    border: none !important;
    display: inline-block;
    position: relative;
    width: 2.625em;
    height: 1.75em
}

.scroll-chevron i {
    display: block;
    position: absolute;
    width: inherit;
    height: inherit;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transition: opacity .1s ease
}

.scroll-chevron i.icon-chevron-down {
    opacity: 1
}

.scroll-chevron i.icon-chevron-down-hover {
    opacity: 0
}

.scroll-chevron:hover i {
    transition: opacity .1s ease
}

.scroll-chevron:hover i.icon-chevron-down {
    opacity: 0
}

.scroll-chevron:hover i.icon-chevron-down-hover {
    opacity: 1
}

.place-header-info {
    position: relative
}

.place-header-info .scroll-chevron {
    position: absolute;
    right: 0;
    bottom: 1.5em
}

@media all and (min-width:57em) {
    .place-header-info .scroll-chevron {
        position: static
    }
}

@media all and (max-width:34em) {
    .place-header-info .scroll-chevron {
        font-size: .5em;
        bottom: 3em
    }
}

.place-header-info p {
    padding-right: 4em
}

@media all and (max-width:34em) {
    .place-header-info p {
        padding-right: 3em
    }
}

@media all and (min-width:57em) {
    .place-header-info p {
        padding-right: 0
    }
}

#place-location .map-link {
    display: inline-block;
    border-bottom: 0;
    line-height: 0;
    position: relative
}

#place-location .map-link img {
    width: 100%;
    max-width: 360px
}

#place-location .map-link .place-number {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -.875em;
    margin-top: -1em;
    font-size: 1.25em
}

@media all and (min-width:57em) {
    #place-location .map-link .place-number {
        font-size: 1.125em
    }
}

#place-location a {
    border-bottom: 0
}

.visit-timetable {
    margin-bottom: 1em
}

.visit-timetable::after {
    clear: both;
    content: "";
    display: table
}

.visit-timetable dd,
.visit-timetable dt {
    margin: 0;
    display: inline-block;
    position: relative;
    float: left;
    width: 25%;
    height:auto;
    text-align:center;
    
    border-bottom:1px solid #ed1c24;
    border-right:1px solid #ed1c24
}

.visit-timetable dd:nth-child(4n+1),
.visit-timetable dt:nth-child(4n+1) {
    border-left:1px solid #ed1c24
}

.visit-timetable dd:nth-child(1),
.visit-timetable dd:nth-child(2),
.visit-timetable dd:nth-child(3),
.visit-timetable dd:nth-child(4),
.visit-timetable dt:nth-child(1),
.visit-timetable dt:nth-child(2),
.visit-timetable dt:nth-child(3),
.visit-timetable dt:nth-child(4) {
    border-top:1px solid #ed1c24
}

.visit-timetable dd a,
.visit-timetable dt a {
    display: block;
    width: 100%;
    line-height: 1.375em;
    padding: .0625em .25em;
    border:none;
    color: #000;
    
}

.visit-timetable dd a:hover,
.visit-timetable dt a:hover {
    color:#fff;
    background-color: #ed1c24
}

#place-open-visits .visit-timetable dd {
    width: auto;
    min-width: 25%
}

.place-info {
    position: relative
}

.tooltip {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 1.25em;
    height: 1.25em;
    padding: 0;
    color:#fff;
    border-radius:50%;
    background-color: #003884;
    border:1px solid #003884
}

.tooltip.tooltip-hidden {
    background-color: transparent;
    color: #ddd;
    border-color: #ddd
}

.tooltip:active,
.tooltip:focus,
.tooltip:hover {
    color:#fff;
    background-color: #003884
}

.tooltip.tooltip-hidden:active,
.tooltip.tooltip-hidden:focus,
.tooltip.tooltip-hidden:hover {
    background-color: transparent;

    color: #003884;
    border-color: #003884
}

.tooltip abbr {
    border: none;
    width: 100%;
    height: 100%;
    display: block;
    line-height: 1.0625em
}

.tooltip-content {
    font-size: .875em;
    font-style: italic;
    line-height:1.25em;
    color: #ed1c24
}

.tooltip-hidden+.tooltip-content {
    display: none
}

h3 .soldout {
    font-weight: 400;
    text-decoration: underline
}

.link-button.soldout {
    color: #ddd;
    border-color: #ddd;
    background: 0 0
}

.link-button.soldout:active,
.link-button.soldout:focus,
.link-button.soldout:hover {
    color: #ddd;
    border-color: #ddd;
    background: 0 0
}

.activity-author {
    font-weight: 400
}

.partners-page {
    padding: 1em 0 0
}

.partners-page>* {
    max-width: none
}

.partners {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap
}

.partners>div {
    margin: 1em
}

@media all and (max-width:34em) {
    .partners>div {
        display: flex;
        flex-direction: column;
        width: 100%;
        align-items: center
    }
}

.partners dt {
    margin:1em;
    color: #222222
    
}

.partners dd {
    display: inline-block;
    vertical-align: middle;
    margin: 1em
}

.partners dd a {
    display: block;
    border: 0;
    height: 3.5em;
    display: flex;
    align-items: center
}

.partners dd img {
    display: block;
    height: 100%;
    max-height: 100%
}

.partners-block {
    padding-bottom: 3em
}

.partner-list {
    display: block;
    width: 100%;
    padding: 0
}

.partner-list::after {
    clear: both;
    content: "";
    display: table
}

.partner-list>li {
    display: block
}

@media all and (min-width:40em) {
    .partner-list>li {
        float: left;
        margin-right: 4em
    }
}

.partner-list p {
    
    font-weight:700;
    text-align:center;
    margin-top:2em;
    color: #003884
}

@media all and (min-width:40em) {
    .partner-list p {
        text-align: left
    }
}

.partner-text {
    font-weight: 400 !important;
    margin-top: 0
}

.partner-logo {
    display: block;
    position: relative;
    float: none;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    height: 4em;
    width: 6em;
    margin: 0 auto 1em
}

.partner-logo a {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    text-indent: -99999px;
    text-decoration: none;
    border: none !important
}

@media all and (min-width:40em) {
    .partner-logo {
        float: left;
        background-position: left center;
        margin-right: 2em
    }
}

.staff-block abbr {
    border-bottom: none
}

.staff-block dt {
    font-weight: 700 !important;
    margin: .75em 0 0 !important
}

.map-page {
    padding-bottom: 1.5em
}

.map-download {
    margin-top: 1.5em;
    margin-right: 1em;
    display: inline-block
}

.gmnoprint img,
div#map img {
    max-width: none
}

div#map .place-number {
    font-family: VanCond, "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif
}

.custom-info-window {
    font-family: VanCond, "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    line-height: 1.35;
    overflow: hidden;
    white-space: nowrap
}

.info-window-title {
    font-size: 1.5em;
    color: #000;
    font-weight: 400
}

#map {
    height: 22em
}

@media all and (min-width:40em) {
    #map {
        height: 35em
    }
}

article.post {
    margin-bottom: 6em
}

article.post .post-header .post-date {
    margin-bottom:0;
    color: #ed1c24
}

article.post .post-header .post-title {
    font-size: 2.25em !important;
    font-weight: 400 !important;
    margin: 0 0 .5em !important
}

article.post .post-header .post-title a {
    border:none;
    color: #000
}

article.post .post-header .post-title a:active,
article.post .post-header .post-title a:focus,
article.post .post-header .post-title a:hover {
    color: #ed1c24
}

article.post .post-image {
    max-width: 100%;
    margin-bottom: 1.5em
}

article.post .post-content {
    margin-bottom: 2em
}

article.post .post-share ul {
    list-style-type: none;
    padding-left: 0;
    font-size: 1em
}

article.post .post-share li,
article.post .post-share ul {
    display: inline
}

#now-button {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center
}

@media all and (min-width:40em) {
    #now-button {
        bottom: 1em;
        right: 1em;
        left: auto
    }
}

#now-button a {
    padding: .75em 1.25em;
    display:block;
    font-weight:700;
    text-transform:uppercase;
    color:#fff;
    background: #003884
}

@media all and (min-width:40em) {
    #now-button a {
        border: 4px solid #fff
    }
}

#now-button.now-timetable {
    left: 2em;
    right: auto;
    bottom: 2em
}

@media all and (max-width:34em) {
    #now-button.now-timetable {
        left: 1.5em;
        bottom: 1.5em
    }
}

@media all and (min-width:40em) {
    #now-button.now-timetable {
        left: auto;
        right: 1em;
        bottom: 1em
    }
}

#now-button.now-timetable a {
    padding: .5em;
    font-size: .875em
}

@media all and (min-width:40em) {
    #now-button.now-timetable a {
        font-size: 1em;
        padding: .75em 1.25em
    }
}

.mfp-bg {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1042;
    overflow: hidden;
    position: fixed;
    background: #000;
    opacity: 1
}

.mfp-wrap {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1043;
    position: fixed;
    outline: 0 !important;
    -webkit-backface-visibility: hidden;
    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-ajax-holder .mfp-content,
.mfp-inline-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-arrow,
.mfp-close,
.mfp-counter,
.mfp-preloader {
    -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: -.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-arrow,
button.mfp-close {
    overflow: visible;
    cursor: pointer;
    background: 0 0;
    border: 0;
    -webkit-appearance: none;
    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:focus,
.mfp-close:hover {
    opacity: 1
}

.mfp-close:active {
    top: 1px
}

.mfp-close-btn-in .mfp-close {
    color: #333
}

.mfp-iframe-holder .mfp-close,
.mfp-image-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:focus,
.mfp-arrow:hover {
    opacity: 1
}

.mfp-arrow:after,
.mfp-arrow:before {
    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: .5
}

.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, .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;
    background: #444
}

.mfp-figure small {
    color: #BDBDBD;
    display: block;
    font-size: 12px;
    line-height: 14px
}

.mfp-figure figure {
    margin: 0
}

.mfp-bottom-bar {
    margin-top: -36px;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    cursor: auto
}

.mfp-title {
    text-align: left;
    line-height: 18px;
    color: #F3F3F3;
    word-wrap: break-word;
    padding-right: 36px
}

.mfp-image-holder .mfp-content {
    max-width: 100%
}

.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-bottom-bar {
        background: rgba(0, 0, 0, .6);
        bottom: 0;
        margin: 0;
        top: auto;
        padding: 3px 5px;
        position: fixed;
        box-sizing: border-box
    }

    .mfp-img-mobile .mfp-bottom-bar:empty {
        padding: 0
    }

    .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, .6);
        position: fixed;
        text-align: center;
        padding: 0
    }
}

@media all and (max-width:900px) {
    .mfp-arrow {
        -webkit-transform: scale(.75);
        transform: scale(.75)
    }

    .mfp-arrow-left {
        -webkit-transform-origin: 0;
        transform-origin: 0
    }

    .mfp-arrow-right {
        -webkit-transform-origin: 100%;
        transform-origin: 100%
    }

    .mfp-container {
        padding-left: 6px;
        padding-right: 6px
    }
}

#header-logo-ca{
    background-color: #ed1c24
}

#header-logo-ohp{
    background-color: white
}

#nav-2026{
    margin-right: 1em
}