@font-face {
    font-family: Yuki-CC;
    src: url('res/fonts/Yuki-CCMarianChurchlandJournal.ttf');
}

html {
    background-color: #111;
}

body {
    margin: 0;
    font-family: Yuki-CC;
}

a {
    text-decoration: none;
    color: inherit;
}

header {
    background-image: url("res/backgrounds/night2.png");
    position: relative;
    background-size: cover;
    background-position: 50% 20%;
    padding: 1em 2em;
    z-index: 10;
}
header::before {
    content: "";
    background: linear-gradient(90deg,
        #0bd calc(var(--coloroffset) - 50%),
        #f69 var(--coloroffset), 
        #0bd var(--coloroffset));
    position: absolute;
    display: block;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    top: 2px;
    clip-path: polygon(0% 95%, 0% 100%, 100% 100%, 100% 95%);
    transition: 0.2s background-color;
}

header #timer{
    font-size: 3em;
    line-height: 0;
    height: 1em;
    color: #fff;
    text-shadow: 0 2px #000;
    float: right;
    margin-top: .5em;
}

header .logo {
    position: relative;
    height: 2.5em;
}

main {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-left: 5vw;
    margin-right: 5vw;
    margin-top: 7em;
}
main>div {
    flex-shrink: 0;
    flex-grow: 1;
    width: 300px;
}

section {
    --fg: #f69;
    --bg: #0bd;
    margin-left: 1em;
    margin-right: 1em;
    background: #0004;
    border-radius: 3px;
    border-left: 3px solid var(--fg);
    border-right: 3px solid var(--fg);
    box-shadow: 0px 2px 4px #0004;
    padding: 1em;
    vertical-align: top;
    text-align: left;
    color: #FFF;
    position: relative;
    margin-bottom: 2em;
}

section h1 {
    margin: 0;
    font-size: 2em;
    position: relative;
    z-index: 1;
}

section .tb {
	position: absolute;
	right: 12px;
	top: 0.25em;
	display: inline-block;
	padding: 0.2em 0.7em;
	color: #000;
	background-color: var(--fg);
	font-size: 1.2em;
	font-weight: 900;
	z-index: 10;
}
section .tb:hover {
	background-color: var(--bg);
}
section .tb:active {
	transform: translate(1px, 1px);
}

section .item {
	margin-bottom: 0.5em;
	position: relative;
}
section .item h2 {
	margin-top: 0.7em;
	margin-bottom: 0;
	font-size: 1.5em;
}
section .item p {
	margin-top: 0.25em;
	margin-bottom: 0.25em;
}
section .item .tag {
	display: inline-block;
	padding: 0.1em 0.6em;
    margin-right: 0.5em;
	border: 1px solid var(--bg);
	color: var(--fg);
}
section .item:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -0.8em;
    width: 6em;
    height: 4px;
    background: repeating-linear-gradient(120deg, 
        var(--bg) var(--coloroffset), 
        var(--bg) calc(var(--coloroffset) + 12.5%), 
        var(--fg) calc(var(--coloroffset) + 12.5%), 
        var(--fg) calc(var(--coloroffset) + 25%));
    pointer-events: none;
}

section .sns {
    position: relative;
    display: block;
    margin-top: 1em;
    padding: 0.5em;
    border: 1px solid var(--fg);
    margin-right: -5px;
    padding-left: 3.5em;
    z-index: 1;
}
section .sns img {
	position: absolute;
	left: 0.5em;
	top: 0.40em;
	height: 2.5em;
}
section .sns h2 {
	margin: 0;
	font-size: 1.3em;
}
section .sns p {
	margin: 0;
	margin-top: -0.2em;
	font-weight: 900;
}

section .sns:hover {
	background-color: var(--fg);
	color: #000;
}
section .sns:hover img {
	filter: invert(1);
}
section .sns:active {
	background-color: var(--bg);
	border-color: var(--bg);
	transform: translate(1px, 1px);
}

section .sns span.hidden {
	opacity: 0;
}
section .sns:hover span.hidden {
	opacity: 1;
}

section hr {
    border: none;
    height: 3px;
    background: var(--bg)
}

footer {
    text-align: center;
    color: #666;
}