@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');

html{ height:100%; }
body {
    min-height: 100%;
    padding:0;
    margin:0;
    display: grid;
    grid-template-rows: 1fr auto;

    background-color: rgba(20,20,20,1);
    color:rgba(200,200,200,1);
    font-family: "DM Sans", sans-serif;
    font-weight: 300;

}
@media (max-width:767px) {
    body {
        display: block;
    }
}

p {
    font-weight: 100;
    letter-spacing: 1px;
}

main {
    padding:0 2em;
}

footer {
    padding: 2em;
    text-align: center;
    font-size: .6em;
}

a {
    text-decoration: none;
    color: inherit;
    border-bottom: 1px dotted;
}

.breadcrumb {
    text-align: center;
    margin-top:8em;
    margin-bottom:2em;
}

.title {
    /*width: 40ch;
    max-width:100%;*/
    text-align: center;
    margin-left:auto;
    margin-right:auto;
}
.title .subtitle {
    font-size: .9em;
    font-weight: 200;
    letter-spacing: 2px;
    opacity: .4;
    margin-top: -1em;
}

.opener {
    width: 40ch;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
}

.list {
    background-color: rgba(17,17,17,1);
    margin:2em -2em;
    /*border:1px solid rgba(255,255,255,.5);
    border-radius: 6em;*/
    text-align: center;
    padding:2em 4em;
    padding-bottom: 4.5em;

    border-top:1em solid rgba(15,15,15,1);
    border-bottom:1em solid rgba(25,25,25,1);
}
.list ul {
    padding:0em;
    margin:0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap:4em;
    list-style: none;
    flex-wrap: wrap;
}
.list ul li {
    text-align: center;
}
.list ul li a {
    display: grid;
    grid-template-rows:1fr auto;
    text-decoration: none;
    color: inherit;
    border-bottom: none;
}
.list ul li img {
    max-height:4em;
    width:100%;
    max-width:4em;
    margin-left:auto;
    margin-right:auto;
}
.list ul li .subtitle {
    font-size: .8em;
    font-weight: 200;
    letter-spacing: 1px;
    opacity: .4;
}
.list h3 {
    margin-bottom: 2em;
    color: rgba(255,255,255,1);
}

.bridge {
    
}

.repo {
    margin:2em auto;
    width:fit-content;
}
.repo .repoLink,.list .repoLink {
    background-color: rgba(255,255,255,1);
    border:none;
    display: block;
    padding:.5em 1em;
    width:fit-content;
    color:rgba(20,20,20,1);
    animation:repoLink 4s infinite;
}

@keyframes repoLink {
    0% {
        transform: scale(1) rotate(0);
    }
    90% {
        transform: scale(1) rotate(0);
    }
    92% {
        transform: scale(1.05) rotate(-1deg);
    }
    94% {
        transform: scale(1.1) rotate(1deg);
    }
    96% {
        transform: scale(1.05) rotate(-1deg);
    }
    98% {
        transform: scale(1) rotate(1deg);
    }
    100% {
        transform: scale(1) rotate(0);
    }
}

.video {
    max-width:80ch;
    width: 100%;
    margin-left:auto;
    margin-right:auto;
    margin-top:2em;
}


/* youtube embeds */
.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }