@font-face { src: url("/inc/fonts/HKGrotesk-Regular.woff"); font-family: hkg; } :root { --c1: #fefefe; --c2: #0e0e0e; --c3: #d2b2ec; --c4: #eeaeca; --c5: #e9bd94; --c6: #bfbfbf; --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; } body { background: radial-gradient(ellipse, var(--c3) 0%, var(--c4) 63%, var(--c5) 100%); } header, #bg-box, #exhibition, .flying-text, #content-wrapper { border-radius: 5px; } .hidden { visibility: hidden; } #content-wrapper { box-sizing: border-box; background: white; width: 95%; margin: auto; padding: 25px; } .text-only { white-space: pre-line; } /******************* SPACER LINES *******************/ .line { border-bottom: 2px solid var(--c6); width: 69%; margin: 5px auto 5px auto; } .cv-line { border-bottom: 2px solid var(--c6); width: 69%; margin: 25px auto 25px auto; } /******************* 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 *******************/ #gallery-wrapper { position: relative; height: 100vh; max-width: 100vw; max-height: 100vh; overflow: hidden; } /* 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 *******************/ .arrow { position: absolute; line-height: 5vh; font-size: 12vh; bottom: calc((var(--h-ex) - 5vh) / 2 + 2.0vh); color: var(--c1); background-color: var(--c3); width: 6vh; height: 6vh; border-radius: 50%; text-align: center; visibility: hidden; animation: notice 4s; animation-delay: 2s; } .arrow:last-child { right: 0; } @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); } #avatar:hover { cursor: pointer; } .wobble { animation: wob 1s infinite; } @keyframes wob { 0% { transform: scale(1.0) rotate(0deg); } 50% { transform: scale(0.8); } 100% { transform: scale(1.0) rotate(360deg); } } .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; } /******************* ABOUT *******************/ .cv-column { display: flex; flex-direction: column; flex-basis: 100%; flex: 40% 0; } .cv-row { display: flex; flex-direction: row; flex-wrap: wrap; width: 100%; } .cv-label { color: var(--c6); text-align: right; font-weight: bold; text-transform: uppercase; padding: 5px 25px 0 0; } .cv-content { padding: 5px 0 0 0; } .cv-space { margin-top: 20px; } .cv-heading { color: var(--c4); text-align: center; margin-bottom: 10px; font-size: 30px; } .cv-sub-heading { color: var(--c4); text-align: center; margin: 10px 0 10px 0; font-size: 20px; }