@font-face {
    font-family: 'Josefin Sans';
    font-style: normal;
    font-weight: 300;
    src: local("Josefin Sans Light"), local("JosefinSans-Light"), 
    url(josefinsans-1.woff) format("woff");
}

@font-face {
    font-family: 'Josefin Sans';
    font-style: normal;
    font-weight: 400;
    src: local("Josefin Sans"), local("JosefinSans"), 
    url(josefinsans-2.woff) format("woff");
}

@font-face {
    font-family: 'Josefin Sans';
    font-style: normal;
    font-weight: 700;
    src: local("Josefin Sans Bold"), local("JosefinSans-Bold"), 
    url(josefinsans-3.woff) format("woff");
}

#topic-list {
    padding-left: max(10vw, 10px);
    padding-right: max(10vw, 10px);
}

body {
    color: var(--text-color);
    background-color: var(--background-color);
}

body > h1 {
    text-align: center;
    font-family: 'Josefin Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: max(5vw, 5vh);
    font-weight: 500;
    line-height: 1.1;
    color: inherit;
    transition: 0.5s all cubic-bezier(0.075, 0.82, 0.165, 1);
}

body > h1:hover {
    transform: translateY(-20px);
}

body > #moto {
    text-align: center;
    font-family: 'Josefin Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-style: italic;
    font-weight: 200;
    color: var(--faint-color);
    font-size: max(max(1vw, 1vh), 32px);
    margin: 20px;
    transition: 0.5s all cubic-bezier(0.075, 0.82, 0.165, 1);
}

body > #moto:hover {
    transform: translateY(-10px);
}

#navi {
    margin: 10px;
    padding-left: max(10vw, 10px);
    padding-right: max(10vw, 10px);
    text-align: center;
}

#navi > * {
    display: inline;
}

#navi > div > button {
    color: var(--text-color);
    padding: 15px 32px;
    margin-left: 10px;
    margin-right: 10px;
    margin-top: 2px;
    margin-bottom: 2px;
    border: 2px dashed var(--theme-color);
    background-color: inherit;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    transition: all 0.5s;
}

#navi > div > button:hover {
    transform: scale(1.05);
    box-shadow: 5px -5px var(--faint-theme-color);
}

div.topic-item {
    padding-top: 15px;
    margin-top: 20px;
    margin-bottom: 20px;
    border-top: var(--text-color) dashed 2px !important;
    display: block;
}

div.topic-item h2:hover, 
div.topic-item div.artic-item:hover {
    transform: scale(1.05) translateX(10px);
}

div.topic-item > h2 {
    display: block;
    font-family: 'Josefin Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.1;
    color: inherit;
    transition: all 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
}

div.artic-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: min-content;
    height: min-content;
    gap: 10px;
}

div.artic-item p,
div.artic-item li,
div.artic-item ul,
div.artic-item ol {
    margin: 0 0 9px;
    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
    font-weight: 100;
}

div.artic-item {
    grid-column: auto;
    grid-row: auto;
    border-left: 2px var(--theme-color) solid;
    margin-left: 2%;
    margin-top: 1%;
    padding-bottom: 3%;
    margin-right: 5%;
    padding-left: 3%;
    transition: all 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
}

div.artic-item h3 {
    font-family: 'Josefin Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.1;
    color: inherit;
    transition: all 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
}

div.artic-item h3:hover {
    color: var(--faint-theme-color);
}

div.artic-item small.tag-item {
    margin-right: 15px;
    display: inline-block;
    border-bottom: 0.5px var(--theme-color) dashed;
    transition: all 0.5s;
}

div.artic-item small.tag-item:hover {
    color: var(--faint-theme-color);
    border-bottom: 0.75px var(--faint-theme-color) solid;
}

div.artic-item p.artic-abstr {
    transition: all 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
}

div.artic-item p.artic-abstr:hover {
    color: var(--faint-theme-color);
}