You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

348 lines
6.0 KiB

@font-face {
src: url("/inc/fonts/HKGrotesk-Regular.woff");
font-family: hkg;
}
:root {
--c1: #fefefe;
--c2: #0e0e0e;
--c3: #d2b2ec;
--c4: #eeaeca;
--c5: #e9bd94;
--h-header: 8vh; /* + 2 * 2.5vh margin (12.5)*/
--h-info: 67.5vh; /* 100 - 32.5 */
--h-ex: 15vh; /* + 2 * 2.5vh bottom (20.0)*/
--h-ex-thumb: 15.0vh;
}
* {
font-family: hkg, sans-serif;
color: var(--c2);
padding: 0;
margin: 0;
text-decoration: none;
}
html, body {
position: relative;
height: 100%;
max-width: 100%;
max-height: 100%;
overflow: hidden;
}
body {
background: radial-gradient(ellipse, var(--c3) 0%, var(--c4) 63%, var(--c5) 100%);
}
header, #bg-box, #exhibition, .flying-text {
border-radius: 5px;
}
.hidden {
visibility: hidden;
}
/******************* HEADER *******************/
header {
box-sizing: border-box;
position: relative;
font-size: 1.5vmax;
background-color: var(--c1);
width: 60%;
height: var(--h-header);
max-height: var(--h-header);
margin: 2.5vh auto;
text-align: center;
z-index: 1;
}
nav a {
display: inline-block;
min-width: 16%;
vertical-align: middle;
}
a:hover {
color: var(--c3);
}
nav {
position: absolute;
height: 100%;
width: 100%;
margin-top: -1.5vh;
}
#logo {
position: relative;
height: auto%;
}
#logo img {
filter: grayscale(1);
width: calc(var(--h-header) + 3vh);
}
#logo img:hover {
filter: grayscale(0);
}
@media only screen and (max-width: 800px) {
header {
width: 95%;
}
}
/******************* EXHIBITION *******************/
/* Remove scrollbar in webkit */
::-webkit-scrollbar{width:0px; height:0px;}
::-webkit-scrollbar-button{width:0px; height:0px;}
#exhibition {
/* Remove scrollbar in FF */
scrollbar-width: none;
transform-origin: bottom left;
overflow-y: auto;
overflow-x: hidden;
position: absolute;
background-color: var(--c1);
/* because of the transform width and height are switched */
bottom: 2.5vh;
left: 97.5vw;
width: var(--h-ex);
height: 95vw;
transform: rotate(-90deg);
}
.thumb-box {
transform-origin: bottom left;
/* keep the ~ratio of a photo
(spacing should be the same all the time) */
width: calc(var(--h-ex-thumb) * 1.49);
height: var(--h-ex-thumb);
margin-top: calc(var(--h-ex-thumb) * 0.53);
/* shift the thumbs 1.49*width to the left */
transform: rotate(90deg) translateX(calc(var(--h-ex-thumb) * -1.49));
}
.thumb-box:last-child {
margin-bottom: 0;
}
.thumb {
filter: grayscale(1);
width: 100%;
height: 100%;
}
.thumb:hover {
filter: grayscale(0);
cursor: pointer;
}
/******************* SCROLL INDICATOR *******************/
#overlay-arrow {
position: absolute;
width: 95vw;
height: 5vh;
left: 2.5vw;
bottom: calc((var(--h-ex) - 5vh) / 2 + 2.5vh);
visibility: hidden;
}
.arrow {
position: absolute;
line-height: 5vh;
font-size: 12vh;
top: -0.5vh;
color: var(--c1);
background-color: var(--c3);
opacity: 0.7;
width: 6vh;
height: 6vh;
border-radius: 50%;
text-align: center;
visibility: hidden;
animation: notice 3s;
animation-delay: 2s;
}
.arrow:first-child {
left: 1vw;
}
.arrow:last-child {
right: 1vw;
}
@keyframes notice {
0% {
visibility: visible;
opacity: 0;
}
50% {
visibility: visible;
opacity: 0.9;
}
100% {
visibility: visible;
opacity: 0;
}
}
/******************* INFO *******************/
#info-box {
position: relative;
width: 95%;
height: var(--h-info);
margin: auto;
}
#bg-box {
background-color: var(--c1);
width: 100%;
height: 100%;
overflow: hidden;
}
#info-box table {
display: inline-block;
position: absolute;
top: 0;
bottom: 0;
height: auto;
padding: 5vh;
margin-bottom: 2.5vh;
}
#info-box table * {
font-size: 1.35vw;
}
#info-box th {
text-align: left;
}
#info-box img {
height: 100%;
max-width: 100%;
}
#btn-close {
position: absolute;
font-size: 4.5vw;
color: var(--c2);
top: 1.6vw;
right: 1.6vw;
/* I made this a bit smaller to make alignment easier */
line-height: 2.0vw;
z-index: 1;
}
#btn-close:hover {
color: var(--c3);
cursor: pointer;
}
/******************* ZOOM *******************/
#zoom {
background-size: contain;
background-clip: content-box;
display: inline-block;
background-repeat: no-repeat;
background-position: center;
max-width: 60%;
height: 100%;
}
@media only screen and (max-width: 800px) {
#bg-box {
background-color: var(--c1);
width: 100%;
height: 100%;
overflow: hidden;
}
#info-box table {
box-sizing: border-box;
display: block;
position: relative;
padding: 0 2.5%;
margin-top: 7.5vh;
}
#info-box table * {
font-size: 2.0vw;
}
#info-box img {
max-height: 100%;
}
#zoom {
position: relative;
top: 5vh;
left: 2.5%;
max-width: 95%;
height: 50%;
}
}
/******************* HEADER *******************/
#welcome {
position: absolute;
top: 12.5vh;
width: 100%;
height: var(--h-info);
}
#welcome img {
position: relative;
top: 17vh;
left: 50vw;
height: calc(var(--h-info) * 0.5);
margin-left: calc(var(--h-info) * 0.25 * -0.70);
}
.flying-text {
display: inline-block;
position: absolute;
font-size: 0.01vw;
color: var(--c2);
background-color: var(--c1);
top: 50%;
left: 50%;
padding: 0.5vw;
text-align: center;
z-index: -1;
}
/******************* COMING SOON *******************/
.coming-soon {
text-align: center;
}
.coming-soon p{
position: relative;
display: inline-block;
font-size: 8vmin;
color: var(--c2);
top: 30vh;
background-color: var(--c1);
border-radius: 1vh;
padding: 20px;
}