@charset "UTF-8";
/* Reset */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,time,mark,audio,video,main{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}

@font-face {
    font-family: 'Bodoni';
    src: url('../fonts/bodoni.woff2') format('woff2');
    font-display: swap;
}

/* Global */
html,
body {
    margin: 0;
    padding: 0;
    color: black;
    background-color: whitesmoke;
    font-family: "Helvetica Neue", sans-serif;
    font-size: 15px;
    line-height: 1.5;
}

html,
body,
.fancy,
.info {
    min-height: 686px;
}

/* Layout */
body {
    width: calc(100% - 64px);
    height: calc(100vh - 64px);
    display: flex;
    align-items: center;
    padding: 32px;
    background: url('../img/darkforest.webp') center/cover no-repeat;
}

.fancy {
    width: 100%;
    height: calc(100vh - 64px);
    border: 2px solid whitesmoke;
    display: flex;
    justify-content: center;
    align-items: center;
}

.info {
    max-width: 896px;
    padding: 64px;
    box-sizing: border-box;
}

/* Typography */
.displayfont {
    font-family: "Bodoni", serif;
    font-optical-sizing: auto;
    font-size: 2.5em;
    font-weight: 400;
}

.small {
    font-size: 1em;
    letter-spacing: 1px;
    line-height: 2;
}

.logo {
    margin: 32px 0;
}

/* Links */
a {
    color: black;
    transition: color 0.3s ease;
    text-underline-offset: .15rem;
    text-decoration-thickness: .15rem;
}

a:hover,
a:focus {
    color: darkred;
}

/* Accessibility */
.visually-hidden {
    position: absolute;
    clip: rect(0 0 0 0);
    width: 1px;
    height: 1px;
    overflow: hidden;
    white-space: nowrap;
}

/* Medium screens */
@media (max-width: 1024px), (max-height: 768px) {
    .displayfont {
        font-size: 1.5em;
    }
    .small {
        font-size: 0.8em;
    }
    .info {
        padding: 32px;
    }
}

/* Very small screens */
@media (max-width: 374px) {

    html {
        min-width: 256px;
    }

    body,
    .fancy {
        display: block;
        height: auto;
        width: auto;
    }

    html,
    body,
    .fancy,
    .info {
        min-height: 0;
    }

    body,
    .info {
        padding: 16px;
    }
}
