@sitemargin: 2vw; @sidemargin: 20vw; @red: #DF2722; @xtrasmall: 0.8125rem; @small: 0.875rem; @normal: 1rem; @medium: 1.125rem; @large: 2rem; @spaced: 0.15em; .bodyType() { font-family: Gotham; } .displayType() { font-family: Gotham; text-transform: uppercase; font-size: @medium; letter-spacing: 0.06em; } .button() { border: 1px solid @red; padding: 0.5rem 1rem; font-size: @xtrasmall; letter-spacing: 0.1rem; text-transform: uppercase; &:hover { background: @red; color: white; } } .flexbox() { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; } .invert(@val) { filter: invert(@val); -webkit-filter: invert(@val); -ms-filter: invert(@val); } /* Structure */ body { .bodyType(); } a { color: black; } @media(min-width:801px) { #branding { position: fixed; z-index: 2; } } #branding { margin: @sitemargin; display: inline-block; a { .flexbox(); align-items: center; } img#logo { width: 8vw; max-width: 4em; min-width: 3em; } h1#site-title { margin-left: @sitemargin; max-width: 20em; line-height: 1.75; .displayType(); color: black; } &.dark { h1#site-title { color: white; } } } #site-description { display: none; } a#menutog { z-index: 2; position: fixed; top:~"calc(@{sitemargin} / 2)"; right:~"calc(@{sitemargin} / 2)"; padding:~"calc(@{sitemargin} / 2)"; padding-left: 0; cursor: pointer; font-size: 1.5rem; align-items: center; .flexbox(); color: black; &.dark { color: white; i { .invert(1); } } i { width: 1em; height: 1em; background: transparent url(img/nav.png) 50% 50% no-repeat; background-size: contain; transform: rotate(-90deg); -webkit-transform: rotate(-90deg); -moz-transform: rotate(-90deg); .invert(0); } &.off i { transform: rotate(0deg); -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); } &:before { content: "MENU"; font-size: @small; margin-right: 1em; letter-spacing: 0.1em; font-weight: bold; } } html.svg #menutog i { background-image: url(img/nav.svg); } nav#menu { .flexbox(); flex-direction: column; height: 100%; position: fixed; top: 0; left: 0; width: 40%; align-items: left; justify-content: space-between; text-align: left; padding: 10vh 10%; box-sizing: border-box; background: @red; z-index: 4; overflow-y: auto; transition: left 180ms ease-out; -webkit-transition: left 180ms ease-out; -moz-transition: left 180ms ease-out; &.off { left: -50%; transition: left 180ms ease-in; -webkit-transition: left 180ms ease-in; -moz-transition: left 180ms ease-in; } .menu-paavalikko-container { display: block; width: 100%; } img.logo { width: 40px; height: auto; } li.menu-item { line-height: 2; text-transform: uppercase; font-weight: bold; letter-spacing: @spaced; display: block; @media(min-width: 801px) { white-space: nowrap; } a { display: block; } a:hover, &.current-menu-item a { color: white; } } div#flags { img { width: 30px; height: auto; margin-top: 1rem; display: block; } a:hover img { .invert(1); } } } div#menufade { z-index: 1; position: fixed; top: 0; left: 0; width: 100%; height: 100%; cursor: pointer; pointer-events: none; background-color: rgba(255, 255, 255, 0.0); transition: all 300ms; -webkit-transition: all 300ms; -moz-transition: all 300ms; &:not(.off) { background-color: rgba(255, 255, 255, 0.7); pointer-events: auto; } } @media(max-width:800px) { div#menufade { display: none; } } @media(min-width: 801px) { body:not(.home) { div#container { min-height: 80vh; align-items: center; .flexbox(); justify-content: center; } section#content { width: 100%; } } } a.post-edit-link { position: absolute; left: @sitemargin; z-index: 0; .button(); } .entry-image.image-as-bg { height: 50vh; overflow: hidden; background-repeat: no-repeat; background-size: cover; background-position: 50%; width: 100%; position: relative; display: block; margin-bottom: 4rem; } .entry-image.image-as-bg img { visibility: hidden; } .entry-image.image-as-bg.no-image { background-color: @red; background-image: none; background-size: cover; display: none; } body.single, body.page-template-page-tapahtumat { section#content { margin-bottom: 20vh; } #content>article { margin: @sitemargin @sidemargin; } } body:not(.home) article { &>* { max-width: 800px; margin-left: auto; margin-right: auto; } header.header { text-align: center; .displayType(); .entry-title { display: none; } } h1, h2, h3, h4, h5 { margin: 4rem 0; text-align: center; font-weight: bold; letter-spacing: @spaced; line-height: 1.25; } h1+h2, h2+h3 { margin-top: -3rem; } h1 { font-size: 2.5rem; } &.tapahtuma, &.post { h1, h2, h3 { margin-bottom: 0rem; text-transform: uppercase; } padding-bottom: 5rem; margin-bottom: 5rem !important; border-bottom: 1px solid @red; a.post-edit-link { position: absolute; } } .entry-meta { text-align: center; margin-bottom: 4rem; } section.entry-content { font-size: @small; line-height: 1.75; letter-spacing: 0.015em; a { border-bottom: 1px solid @red; } p { margin-bottom: 1rem; } img { max-width: 100%; height: auto; } div.wp-caption { display: inline-block; text-align: center; max-width: 100%; } .gallery-item { margin-top: 2rem !important; box-sizing: border-box; position: relative; padding: 0; img { border: 0 !important; } a { border-bottom: 0; } span.credit { font-size: 0.75em; display: block; line-height: 1.35; opacity: 0.35; letter-spacing: 0.06em; } } .gallery-columns-2 { .gallery-item { width: ~"calc(50% - 1rem)" !important; } .gallery-item:nth-of-type(2n) { margin-left: 1rem; } .gallery-item:nth-of-type(2n - 1) { margin-right: 1rem; } } li { list-style-type: circle; margin-left: 1.25em; } } &:not(.has-post-thumbnail) { padding: 5rem @sitemargin 20vh; } &.has-post-thumbnail { margin: 70vh 0 0; padding: 5rem 20% 20vh; background: white; .entry-image { top: 0; left: 0; position: fixed; width: 100%; height: 70vh; z-index: -1; background-position: center center; background-repeat: no-repeat; background-size: cover; margin: 0; } } } body.blog { .blog-image { margin-bottom: 0; } h1.entry-title.news-title { font-size: 2.5rem; text-align: center; color: white; position: absolute; top: 50%; left: 50%; width: 12rem; margin-left: -6rem; text-transform: uppercase; } div#container { display: block; min-height: 0; } article { padding: 0 !important; margin-bottom: 0 !important; border-bottom: 0 !important; .entry-header { .wrap { @media (max-width: 849px) { padding-top: 2rem; margin-left: auto; margin-right: auto; } max-width: 40rem; padding: 4rem 2rem; box-sizing: border-box; .entry-meta { text-align: left; margin-bottom: 1rem; } h2.entry-title { margin: 2rem 0; line-height: 1.125; text-align: left; font-size: 1.75rem; @media (max-width: 600px) { font-size: 1.25rem; } } .the-excerpt { line-height: 1.375; } .readmore { color: @red; text-transform: uppercase; margin: 2rem 0; display: inline-block; } .the-author { font-size: 0.8rem; } } } .entry-image { margin-bottom: 0; } } #content { @media (min-width: 850px) { article { .flexbox(); align-items: center; position: relative; margin-bottom: 0 !important; &>* { flex-basis: 50%; } .image-link, .image-link * { height: 100%; } .entry-image { margin-bottom: 0; min-height: 50vh; height: auto; img { display: none; } position: absolute; width: 50%; height: 100%; top: 0; bottom: 0; left: 0; right: 50%; } } } } } body.single-post { .entry-meta { margin-bottom: 2rem !important; } header.entry-header { text-align: center; margin-bottom: 4rem; h1, h2, h3 { .displayType(); font-size: 2.5rem; margin-top: 2rem; @media (max-width: 600px) { font-size: 1.25rem; } } .the-excerpt { margin: 2rem auto; line-height: 1.5; } .the-author { font-size: 0.8rem; } } section#content { margin-bottom: 10vh; } article.post { margin-bottom: 0; border-bottom: 0; padding: 5rem 0 0 !important; @media (max-width: 800px) { padding-left: 0 !important; padding-right: 0 !important; margin-left: 2rem !important; margin-right: 2rem !important; } } } /* ------ Front page galleries / split scroll ------- */ #menutog, #branding h1#site-title { transition: color 400ms 0ms ease-out; -webkit-transition: color 400ms 0ms ease-out; -moz-transition: color 400ms 0ms ease-out; } #menutog i { transition: filter 400ms 0ms ease-out, transform 80ms ease-out, width 80ms ease-out; -webkit-transition: filter 400ms 0ms ease-out, transform 80ms ease-out, width 80ms ease-out; -moz-transition: filter 400ms 0ms ease-out, transform 80ms ease-out, width 80ms ease-out; } body.home { #menutog, #branding h1#site-title { transition-delay: 500ms; -webkit-transition-delay: 500ms; -moz-transition-delay: 500ms; } #menutog i { transition: filter 400ms 500ms ease-out, transform 80ms ease-out, width 80ms ease-out; -webkit-transition: filter 400ms 500ms ease-out, transform 80ms ease-out, width 80ms ease-out; -moz-transition: filter 400ms 500ms ease-out, transform 80ms ease-out, width 80ms ease-out; } div.set { opacity: 0.4; transition: opacity 300ms; } } content#galleries { display: none; } section.entry.front { display: block; width: 100%; height: 100vh; overflow: hidden; position: fixed; z-index: -1; top: 0; bottom: 0; article { width: ~"calc(50% + 17px)"; position: absolute; box-sizing: border-box; height: 100vh; top: 0; left: 0; vertical-align: middle; background: black; z-index: 1; &.right { left: 50%; z-index: 2; } &.infinite .wrap { position: absolute; top: 0; left: 0; height: 100vh; width: 100%; overflow-y: auto; overflow-x: hidden; background-color: white; div.set { .imk { height: 100vh; display: block; background-size: cover; background-position: 50% 50%; background-repeat: no-repeat; width: 100%; img { display: none; } &[alt="tapio"] { background-position-x: 0%; } &[alt="rut"] { background-position-x: 100%; } } } } a.link { position: absolute; left: 0; top: 0; z-index: 3; width: 100%; .flexbox(); justify-content: center; align-items: center; text-align: center; height: 100%; text-transform: uppercase; opacity: 0; transition: all 300ms ease-in-out; color: @red; font-size: @large; letter-spacing: 0.05em; &:hover { opacity: 1; } } &.hide-link { a.link { opacity: 0 !important; pointer-events: none; } .imk { pointer-events: none; } } } } html.windows section.entry.front article { width: ~"calc(50% + 17px)"; } html.mac section.entry.front article { width: ~"calc(50% + 1px)"; } section.entry.front .post-edit-link { top: 50%; opacity: 0.5; } /* ----- Viewer ----- */ #view { position: fixed; top: 0; left: 0; width: 100%; height: 100%; box-sizing: border-box; z-index: 20; .flexbox(); opacity: 0; pointer-events: none; transition: opacity 300ms ease-out; padding: 5rem; &.on { opacity: 1; pointer-events: auto; } content { flex: 1; background-size: contain; background-repeat: no-repeat; background-position: 50%; pointer-events: none; position: relative; opacity: 1; transition: opacity 100ms, left 200ms 100ms; &.moving { transition: opacity 100ms !important; } &.changing { opacity: 0; } } .fade { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.9); z-index: -1; } .close { font-size: 1.5rem; margin-bottom: 0.5rem; cursor: pointer; position: fixed; left: 40%; top: 1em; width: 20%; text-align: center; &:before { content: "×"; } } p#caption { position: absolute; bottom: 2em; width: 100%; text-align: center; left: 0; } } body.vwr { overflow-y: hidden; } @media(max-width: 800px) { nav#menu { width: 100%; padding: ~"calc(1em + 2vw)" 10%; &.off { left: -100%; } } #branding { position: absolute; top: 1vw; h1#site-title { font-size: @normal; max-width: 12em; line-height: 1; letter-spacing: 0.02em; } } a#menutog { &:before { letter-spacing: 0.02em; margin-right: 0.5em; transition: margin-right 300ms ease-out; } i { height: 2em; } &:not(.off) { color: white !important; &:before { margin-right: 1em; } i { .invert(1); width: 2em; } } } div.set .imk { height: 50vh !important; &[alt="rut"] { height: 100vh !important; background-position-x: 60% !important; } &[alt="tapio"] { height: 100vh !important; } } #wpadminbar { display: none !important; } section.entry.front article a.link { font-size: 6.5vw; opacity: 1; word-spacing: 50vw; } body:not(.home) #content article { padding-left: 10%; padding-right: 10%; &.has-post-thumbnail { padding-top: 0.5rem; } &.tapahtuma { margin-left: 0; margin-right: 0; h1 { font-size: 1.5rem; } } div.wp-caption { width: 100% !important; } } #view { padding: @sitemargin; } } html.edge #menutog i { background-size: 100% 100%; } html.mobile.landscape #view { p#caption { width: auto; left: 1em; bottom: 1em; } span.close { left: auto; right: 1em; width: auto; } } ::-webkit-scrollbar { width: 0px; background: transparent; } ::-webkit-scrollbar-thumb { background: transparent; } /* ---- Post specifics ---- */ #post-14 .entry-image, #post-18 .entry-image { background-position-y: 30%; } a.somelink { border-bottom: 0 !important; &:hover { opacity: 0.5; } } nav#menu #museovirasto img.logo { width: auto; height: 1.75rem; }